matrix-engine
Version:
basic_timeline improved, VT func setup vide html element id with name arg.- DISABLE RAYCAST DEBUG TEST [2.3.3] Fix for GUI win desktop [2.3.0] DestrucMesh solution & loading convex objs for physics BASIC, SpriteAnimation CPU/texture solution added, Improv
1 lines • 712 kB
JavaScript
!function r(i,n,a){function s(t,e){if(!n[t]){if(!i[t]){var o="function"==typeof require&&require;if(!e&&o)return o(t,!0);if(l)return l(t,!0);throw(e=new Error("Cannot find module '"+t+"'")).code="MODULE_NOT_FOUND",e}o=n[t]={exports:{}},i[t][0].call(o.exports,function(e){return s(i[t][1][e]||e)},o,o.exports,r,i,n,a)}return n[t].exports}for(var l="function"==typeof require&&require,e=0;e<a.length;e++)s(a[e]);return s}({1:[function(e,t,o){var r,i=((e,t)=>{if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};if((t=a(t))&&t.has(e))return t.get(e);var o,r,i={__proto__:null},n=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(o in e)"default"!==o&&{}.hasOwnProperty.call(e,o)&&((r=n?Object.getOwnPropertyDescriptor(e,o):null)&&(r.get||r.set)?Object.defineProperty(i,o,r):i[o]=e[o]);return i.default=e,t&&t.set(e,i),i})(e("./index.js")),n=e("./apps/basic_timeline.js");function a(e){var t,o;return"function"!=typeof WeakMap?null:(t=new WeakMap,o=new WeakMap,(a=function(e){return e?o:t})(e))}var s=i.App,s=(window.addEventListener("load",function(e){"serviceWorker"in navigator||console.warn("Matrix Engine: No webWorkers for locahost OR No support for web workers in this browser."),s.ready=!0,i.Engine.initApp(webGLStart)}),window.webGLStart=()=>{window.App=s,(r=i.matrixWorld.defineworld(canvas)).callReDraw(),(0,n.runThis)(r)},(window.matrixEngine=i).App)},{"./apps/basic_timeline.js":3,"./index.js":5}],2:[function(e,t,o){Object.defineProperty(o,"__esModule",{value:!0}),o.bvhAnimations=void 0;o.bvhAnimations=["./res/bvh/Female1_A01_Stand.bvh","./res/bvh/Female1_A02_Sway.bvh","./res/bvh/Female1_A02_SwayT2.bvh","./res/bvh/Female1_A03_Swing.bvh","./res/bvh/Female1_A03_SwingT2.bvh","./res/bvh/Female1_A04_Look.bvh","./res/bvh/Female1_A05_PickUpBox.bvh","./res/bvh/Female1_A06_LiftBox.bvh","./res/bvh/Female1_A06_LiftBoxT2.bvh","./res/bvh/Female1_A07_Crouch.bvh","./res/bvh/Female1_A08_CrouchToLie.bvh","./res/bvh/Female1_A09_LieT2.bvh","./res/bvh/Female1_A10_LieToCrouch.bvh","./res/bvh/Female1_A11_CrawlForward.bvh","./res/bvh/Female1_A12_CrawlBackwards.bvh","./res/bvh/Female1_A13_Skipping.bvh","./res/bvh/Female1_A14_StandToSkip.bvh","./res/bvh/Female1_A15_SkipToStand.bvh","./res/bvh/Female1_B01_StandToWalk.bvh","./res/bvh/Female1_B02_WalkToStand.bvh","./res/bvh/Female1_B02_WalkToStandT2.bvh","./res/bvh/Female1_B03_Walk1.bvh","./res/bvh/Female1_B04_StandToWalkBack.bvh","./res/bvh/Female1_B05_WalkBackwards.bvh","./res/bvh/Female1_B06_WalkBackwardsToStand.bvh","./res/bvh/Female1_B07_WalkBackwardsTurnForwards.bvh","./res/bvh/Female1_B08_WalkBackwardsStopForwards.bvh","./res/bvh/Female1_B09_WalkTurnLeft90.bvh","./res/bvh/Female1_B10_WalkTurnLeft45.bvh","./res/bvh/Female1_B11_WalkTurnLeft135.bvh","./res/bvh/Female1_B12_WalkTurnRight90.bvh","./res/bvh/Female1_B13_WalkTurnRight45.bvh","./res/bvh/Female1_B14_WalkTurnRight135.bvh","./res/bvh/Female1_B15_WalkTurnAround180.bvh","./res/bvh/Female1_B16_WalkTurnChangeDirection.bvh","./res/bvh/Female1_B17_WalkToHopToWalk1.bvh","./res/bvh/Female1_B18_WalkToLeapToWalk.bvh","./res/bvh/Female1_B19_WalkToPickUpBox.bvh","./res/bvh/Female1_B20_WalkWithBox.bvh","./res/bvh/Female1_B21_PutDownBoxToWalk.bvh","./res/bvh/Female1_B21_S2_PutDownBoxToWalk.bvh","./res/bvh/Female1_B21_S3_PutDownBoxToWalk.bvh","./res/bvh/Female1_B22_SideStepLeft.bvh","./res/bvh/Female1_B23_SideStepRight.bvh","./res/bvh/Female1_B24_WalkToCrouch.bvh","./res/bvh/Female1_B25_CrouchToWalk.bvh","./res/bvh/Female1_B26_WalkToSkip.bvh","./res/bvh/Female1_B27_SkipToWalk1.bvh","./res/bvh/Female1_C02_RunToStand.bvh","./res/bvh/Female1_C03_Run.bvh","./res/bvh/Female1_C04_RunToWalk1.bvh","./res/bvh/Female1_C05_WalkToRun.bvh","./res/bvh/Female1_C06_StandToRunBackwards.bvh","./res/bvh/Female1_C07_RunBackwards.bvh","./res/bvh/Female1_C08_RunBackwardsToStand.bvh","./res/bvh/Female1_C09_RunBackwardsTurnRunForward.bvh","./res/bvh/Female1_C10_RunBackwardsStopRunForward.bvh","./res/bvh/Female1_C11_RunTurnLeft90.bvh","./res/bvh/Female1_C12_RunTurnLeft45.bvh","./res/bvh/Female1_C13_RunTurnLeft135.bvh","./res/bvh/Female1_C14_RunTurnRight90.bvh","./res/bvh/Female1_C15_RunTurnRight45.bvh","./res/bvh/Female1_C16_RunTurnRight135.bvh","./res/bvh/Female1_C17_RunTurnAround.bvh","./res/bvh/Female1_C18_RunChangeDirection.bvh","./res/bvh/Female1_C19_RunToHopToWalk.bvh","./res/bvh/Female1_C20_RunToJumpToWalk.bvh","./res/bvh/Female1_C21_RunToPickUpBox.bvh","./res/bvh/Female1_C21_S2_RunToPickUpBox.bvh","./res/bvh/Female1_C22_RunWithBox.bvh","./res/bvh/Female1_C23_PutDownBoxToRun.bvh","./res/bvh/Female1_C24_SideStepLeft.bvh","./res/bvh/Female1_C25_SideStepRight.bvh","./res/bvh/Female1_C26_RunToCrouch.bvh","./res/bvh/Female1_C27_CrouchToRun1.bvh","./res/bvh/Female1_D1_Urban.bvh","./res/bvh/Female1_D2_Wait.bvh","./res/bvh/Female1_D3_ConversationGestures.bvh","./res/bvh/Female1_D4_RandomStuff.bvh","./res/bvh/Female1_D5_RandomStuff2.bvh","./res/bvh/Female1_D6_CartWheel.bvh","./res/bvh/readme.txt"]},{}],3:[function(e,t,o){Object.defineProperty(o,"__esModule",{value:!0}),o.runThis=void 0;var r,i=(r=e("../program/manifest"))&&r.__esModule?r:{default:r},n=e("./animations-list");o.runThis=t=>{i.default.camera.SceneController=!0,matrixEngine.matrixWorld.world.useAnimationLine({sequenceSize:200,totalSequence:10});var e=document.createElement("div"),e=(e.id="log",document.body.appendChild(e),e=>new matrixEngine.MEBvhAnimation(n.bvhAnimations[e],{boneNameBasePrefix:"firstAnim"+e,world:t,autoPlay:!0,showOnLoad:!1,type:"ANIMATION",loop:"playInverse",globalOffset:[0,-220,-220],skeletalBoneScale:3,speed:5,boneTex:{source:["res/images/sky/blue.jpg"],mix_operation:"multiply"},drawTypeBone:"triangle"})),e=(window.createAnimation=e,canvas.addEventListener("mousedown",e=>{matrixEngine.raycaster.checkingProcedure(e)}),addEventListener("ray.hit.event",function(e){console.info(e.detail.hitObject),e.detail.hitObject.glBlend.blendParamSrc=matrixEngine.utility.ENUMERATORS.glBlend.param[2],e.detail.hitObject.glBlend.blendParamDest=matrixEngine.utility.ENUMERATORS.glBlend.param[7]}),console.log("<GLOBALS>"),e(1));window.character1=e,window.App=i.default,window.matrixEngine=matrixEngine,console.log(e+"<"),matrixEngine.matrixWorld.world.addCommandAtSeqIndex(function(){console.log("WHAT EVER HERE 5")},5),matrixEngine.matrixWorld.world.addCommandAtSeqIndex(function(){console.log("WHAT EVER HERE 10 ")},10),matrixEngine.matrixWorld.world.addSubCommand(function(){console.log("do it for only 100 frame on 3 seq FRAMEID!")},100,3)}},{"../program/manifest":45,"./animations-list":2}],4:[function(e,t,o){Object.defineProperty(o,"__esModule",{value:!0}),o.default=void 0;o.default=class{recordCanvasOption={injectCanvas:()=>document.getElementsByTagName("canvas")[0],frameRequestRate:30,videoDuration:20,outputFilename:"record-gameplay.mp4",mineType:"video/mp4",resolutions:"800x600"};domain="maximumroulette.com";showBroadcasterOnInt=!1;networkDeepLogs=!1;masterServerKey="maximumroulette.matrix-engine";runBroadcasterOnInt=!1;broadcastAutoConnect=!1;broadcasterPort=999;broadcasterSessionDefaults={sessionAudio:!0,sessionVideo:!1,sessionData:!0,enableFileSharing:!0};stunList=["stun:stun.l.google.com:19302","stun:stun1.l.google.com:19302","stun:stun.l.google.com:19302?transport=udp"];networking2={active:!0,domain:"maximumroulette.com",port:2020};constructor(){}getRecordCanvasOptions(){return this.recordCanvasOption}getRunBroadcasterOnInt(){return this.runBroadcasterOnInt}didAppUseBroadcast(){return this.appUseBroadcaster}getStunList(){return this.stunList}getBroadcastSockRoute(){return this.getProtocolFromAddressBar()+this.getDomain()+":"+this.broadcasterPort+"/"}getDomain(){return"localhost"===window.location.hostname||"127.0.0.1"===window.location.hostname?window.location.hostname:this.domain}getBroadcastAutoConnect(){return this.broadcastAutoConnect}getShowBroadcasterOnInt(){return this.showBroadcasterOnInt}getBroadcasterPort(){return this.broadcasterPort}getBroadcasterSessionDefaults(){return this.broadcasterSessionDefaults}getProtocolFromAddressBar(){return"https:"===location.protocol?"https://":"http://"}setNetworkDeepLog(e){this.networkDeepLogs=e}getNetworkDeepLog(){return this.networkDeepLogs}getMasterServerKey(){return this.masterServerKey}}},{}],5:[function(e,t,o){Object.defineProperty(o,"__esModule",{value:!0}),Object.defineProperty(o,"App",{enumerable:!0,get:function(){return r.default}}),o.Events=o.Engine=void 0,Object.defineProperty(o,"MEBvhAnimation",{enumerable:!0,get:function(){return s.default}}),Object.defineProperty(o,"defineShader",{enumerable:!0,get:function(){return c.defineShader}}),Object.defineProperty(o,"freeShadersToy",{enumerable:!0,get:function(){return l.freeShadersToy}}),o.matrixWorld=o.matrixRender=o.matrixGeometry=void 0,Object.defineProperty(o,"meMapLoader",{enumerable:!0,get:function(){return u.meMapLoader}}),o.objLoader=void 0,Object.defineProperty(o,"operation",{enumerable:!0,get:function(){return n.default}}),o.raycaster=void 0,Object.defineProperty(o,"standardMEShaderDrawer",{enumerable:!0,get:function(){return l.standardMEShaderDrawer}}),Object.defineProperty(o,"texTools",{enumerable:!0,get:function(){return a.default}}),Object.defineProperty(o,"toyShaderHeader",{enumerable:!0,get:function(){return l.toyShaderHeader}}),o.utility=void 0;var r=p(e("./program/manifest")),i=h(e("./lib/matrix-world")),i=(o.matrixWorld=i,h(e("./lib/matrix-geometry"))),i=(o.matrixGeometry=i,h(e("./lib/matrix-render"))),i=(o.matrixRender=i,h(e("./lib/engine"))),i=(o.Engine=i,h(e("./lib/events"))),i=(o.Events=i,h(e("./lib/loader-obj"))),n=(o.objLoader=i,p(e("./lib/matrix-buffers"))),a=p(e("./lib/matrix-textures")),i=h(e("./lib/utility")),i=(o.utility=i,h(e("./lib/raycast"))),s=(o.raycaster=i,p(e("./lib/matrix-bvh"))),l=e("./lib/optimizer/buildin-shaders"),c=e("./lib/optimizer/buildin-my-shaders"),u=e("./lib/map-loader");function d(e){var t,o;return"function"!=typeof WeakMap?null:(t=new WeakMap,o=new WeakMap,(d=function(e){return e?o:t})(e))}function h(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};t=d(t);if(t&&t.has(e))return t.get(e);var o,r,i={__proto__:null},n=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(o in e)"default"!==o&&{}.hasOwnProperty.call(e,o)&&((r=n?Object.getOwnPropertyDescriptor(e,o):null)&&(r.get||r.set)?Object.defineProperty(i,o,r):i[o]=e[o]);return i.default=e,t&&t.set(e,i),i}function p(e){return e&&e.__esModule?e:{default:e}}},{"./lib/engine":6,"./lib/events":7,"./lib/loader-obj":8,"./lib/map-loader":9,"./lib/matrix-buffers":10,"./lib/matrix-bvh":11,"./lib/matrix-geometry":13,"./lib/matrix-render":16,"./lib/matrix-textures":21,"./lib/matrix-world":22,"./lib/optimizer/buildin-my-shaders":24,"./lib/optimizer/buildin-shaders":25,"./lib/raycast":28,"./lib/utility":34,"./program/manifest":45}],6:[function(e,t,r){Object.defineProperty(r,"__esModule",{value:!0}),r.ACCESS_CAMERA=function(e){var t=this,o=(console.log("ACCESS_CAMERA"),t.video=document.getElementById(e),A(t.video),document.getElementById("HOLDER_STREAMS"));t.videoImage=document.createElement("canvas"),t.videoImage.id=e+"IMAGE_",t.videoImage.setAttribute("width","512px"),t.videoImage.setAttribute("height","512px"),o.appendChild(t.videoImage),t.videoImageContext=t.videoImage.getContext("2d"),t.videoImageContext.fillStyle="#0000FF",t.videoImageContext.fillRect(0,0,t.videoImage.width,t.videoImage.height),t.texture=a.default.tools.loadVideoTexture("glVideoTexture",t.videoImage),t.UPDATE=function(){t.video.readyState===t.video.HAVE_ENOUGH_DATA&&(t.videoImageContext.drawImage(t.video,0,0,t.videoImage.width,t.videoImage.height),t.videoImageContext.font="30px Georgia",t.videoImageContext.fillStyle="black",t.videoImageContext.fillText(" Visual-JS game engine -webGL 2 part",0,85),t.videoImageContext.fillText("Video texture example ",20,50))},a.default.updateBeforeDraw.push(t)},r.DOM_VT=function(e,t,o){void 0===t&&(t="vtex"+(0,s.randomIntFromTo)(1,999999));void 0===o&&(o={mixWithCanvas2d:!1});function r(){i.video.play().then(()=>{console.info("Autoplay fixed."),window.removeEventListener("click",r)}).catch(()=>{console.warn("Autoplay error.")})}var i=this;console.log("input ",e),i.video=e;function n(e){i.videoImage=document.createElement("canvas"),i.videoImage.id="vtex-"+t,i.videoImage.setAttribute("width","512px"),i.videoImage.setAttribute("height","512px"),i.video.mute=!0,i.video.autoplay=!0,i.video.loop=!0,i.video.crossOrigin="anonymous",document.getElementById("HOLDER_STREAMS").appendChild(i.videoImage),1==(i.options=o).mixWithCanvas2d?(i.videoImageContext=i.videoImage.getContext("2d"),i.videoImageContext.fillStyle="#00003F",i.videoImageContext.fillRect(0,0,i.videoImage.width,i.videoImage.height),console.log("CCCCCCCC 1"),i.texture=a.default.tools.loadVideoTexture("glVideoTexture"+t,i.videoImage)):(console.log("CCCCCCCC 2"),void 0!==i.video.video?i.texture=a.default.tools.loadVideoTexture("glVideoTexture"+t,i.video.video):i.texture=a.default.tools.loadVideoTexture("glVideoTexture"+t,i.video));try{i.video.play().catch(()=>{console.log("Autoplay fixing...? ",i.video),window.addEventListener("click",r,{passive:!1})})}catch(e){}a.default.updateBeforeDraw.push(i),console.info("Video 2dcanvas texture created!!!.",i.video)}n(),(i.video.addEventListener?(i.video.addEventListener("loadeddata",i.video.READY,!1),i):(i.video.video.addEventListener("loadeddata",i.video.READY,!1),i.video)).video.load();return i.UPDATE=function(){0!=i.options.mixWithCanvas2d&&i.video.readyState===i.video.HAVE_ENOUGH_DATA&&(i.videoImageContext.drawImage(i.video,0,0,i.videoImage.width,i.videoImage.height),i.videoImageContext.font="30px Georgia",i.videoImageContext.fillStyle="black",i.videoImageContext.fillText("Matrix-Engine [1.8.10] ",0,85),i.videoImageContext.fillText("Video texture",20,50))},{video:e}},r.RegenerateShader=r.RegenerateCustomShader=r.RegenerateCubeMapShader=void 0,r.SET_STREAM=A,r.VIDEO_TEXTURE=function(e){var t=this,o=document.getElementById("HOLDER_STREAMS");t.video=document.getElementById("webcam_beta"),t.video.READY=function(e){t.videoImage=document.createElement("canvas"),t.videoImage.id="webcam_betaIMAGE_",t.videoImage.setAttribute("width","512px"),t.videoImage.setAttribute("height","512px"),o.appendChild(t.videoImage),t.videoImageContext=t.videoImage.getContext("2d"),t.videoImageContext.fillStyle="#00003F",t.videoImageContext.fillRect(0,0,t.videoImage.width,t.videoImage.height),t.texture=a.default.tools.loadVideoTexture("glVideoTexture",t.videoImage),a.default.updateBeforeDraw.push(t)},t.video.addEventListener("loadeddata",t.video.READY,!1),t.video.src="res/videos/"+e,t.UPDATE=function(){t.video.readyState===t.video.HAVE_ENOUGH_DATA&&(t.videoImageContext.drawImage(t.video,0,0,t.videoImage.width,t.videoImage.height),t.videoImageContext.font="30px Georgia",t.videoImageContext.fillStyle="black",t.videoImageContext.fillText(" Visual-JS game engine -webGL 2 part",0,85),t.videoImageContext.fillText("Video texture example ",20,50))}},r.VT=function(e,t,o){void 0===t&&(t="vtex"+(0,s.randomIntFromTo)(1,999999));void 0===o&&(o={mixWithCanvas2d:!1});function r(){i.video.play().then(()=>{console.info("Autoplay fixed."),window.removeEventListener("click",r)}).catch(()=>{console.warn("Autoplay error.")})}var i=this,n=document.getElementById("HOLDER_STREAMS");i.video=document.createElement("video"),n.appendChild(i.video),i.video.READY=function(e){i.videoImage=document.createElement("canvas"),i.videoImage.id="vtex-"+t,i.videoImage.setAttribute("width","512px"),i.videoImage.setAttribute("height","512px"),i.video.mute=!0,i.video.autoplay=!0,i.video.loop=!0,n.appendChild(i.videoImage),1==(i.options=o).mixWithCanvas2d?(i.videoImageContext=i.videoImage.getContext("2d"),i.videoImageContext.fillStyle="#00003F",i.videoImageContext.fillRect(0,0,i.videoImage.width,i.videoImage.height),i.texture=a.default.tools.loadVideoTexture("glVideoTexture"+t,i.videoImage)):i.texture=a.default.tools.loadVideoTexture("glVideoTexture"+t,i.video);try{i.video.play().catch(()=>{console.log("Autoplay fixing...? ",i.video),window.addEventListener("click",r,{passive:!1})})}catch(e){}a.default.updateBeforeDraw.push(i),console.info("Video 2dcanvas texture created.",i.video)},i.video.addEventListener("loadeddata",i.video.READY,!1),i.video.src=e,i.video.id=t,i.video.load(),i.UPDATE=function(){0!=i.options.mixWithCanvas2d&&i.video.readyState===i.video.HAVE_ENOUGH_DATA&&(i.videoImageContext.drawImage(i.video,0,0,i.videoImage.width,i.videoImage.height),i.videoImageContext.font="30px Georgia",i.videoImageContext.fillStyle="black",i.videoImageContext.fillText("Matrix-Engine [1.8.10] ",0,85),i.videoImageContext.fillText("Video texture",20,50))}},r.Vjs3=function(e,t){var o=this,r=(o.iframe=document.createElement("iframe"),o.iframe.id=t,o.iframe.setAttribute("width","512"),o.iframe.setAttribute("height","512"),document.getElementById("HOLDER_STREAMS"));o.iframe.data=e,o.iframe.src=e,r.appendChild(o.iframe),document.getElementById(o.iframe.id).onload=function(e){o.videoImage=o.iframe.contentDocument.getElementById(t),o.canvasTexture=o.videoImage.getContext("2d"),a.default.scene.outsideBox.streamTextures.iframe.contentWindow.runTextureEditor(t),o.texture=a.default.tools.loadVideoTexture("glVideoTexture",o.videoImage)},o.showTextureEditor=function(){var e=(0,s.E)("HOLDER_STREAMS").style;e.display="block",e.left="0"}},r.activateNet2=r.activateNet=void 0,r.anyCanvas=function(e,t){var o=this;o.iframe=document.createElement("object"),o.iframe.id="canvas2dTextureSurface"+document.getElementsByTagName("object").length,o.iframe.setAttribute("width","512"),o.iframe.setAttribute("height","512"),document.getElementById("HOLDER_STREAMS").appendChild(o.iframe),document.getElementById(o.iframe.id).onload=e=>{o.videoImage=o.iframe.contentDocument.getElementById(t),void 0!==o.iframe.contentWindow.runTextureEditor&&a.default.scene.outsideBox.streamTextures.iframe.contentWindow.runTextureEditor(t),o.canvasTexture=o.videoImage.getContext("2d"),o.texture=a.default.tools.loadVideoTexture("glVideoTexture",o.videoImage)},o.showTextureEditor=function(){var e=(0,s.E)("HOLDER_STREAMS").style;(0,s.E)("webcam_beta").style.display="none",e.display="block",e.left="0"},o.iframe.data=e},r.defineWebGLWorld=function(e){var t=new Object;try{var o,r=l.WebGLUtils.setupWebGL(canvas),i=(r.viewportWidth=canvas.width,r.viewportHeight=canvas.height,(t.gl=r).getSupportedExtensions()),n=(r.getExtension("WEBGL_depth_texture")||console.info("%cNo support for WEBGL_depth_texture!",c.CS4),console.info("%cAvailable_extensions: "+i,c.CS4),console.info("%cMAX ELEMENT INDEX : "+r.getParameter(r.MAX_ELEMENT_INDEX),c.CS4),console.info("%cMAX VERTICES : "+r.getParameter(r.MAX_ELEMENTS_VERTICES),c.CS4),console.info("%cMAX INDICES : "+r.getParameter(r.MAX_ELEMENTS_INDICES),c.CS4),console.info("%cApp.limitations: "+a.default.limitations,c.CS4),r.getExtension("EXT_texture_filter_anisotropic")||r.getExtension("MOZ_EXT_texture_filter_anisotropic")||r.getExtension("WEBKIT_EXT_texture_filter_anisotropic"));n&&(o=r.getParameter(n.MAX_TEXTURE_MAX_ANISOTROPY_EXT),t.MAX_TEXTURE_MAX_ANISOTROPY_EXT=o,t.extTFAnisotropic=n)}catch(e){console.error("Exception in WEBGL base pocket: "+e)}return t.destroy=function(){delete this.gl},t},r.degToRad=function(e){return e*Math.PI/180},r.drawCanvas=E,r.ht=void 0,r.initApp=function(e){L(),E(),a.default.canvas=document.getElementById("canvas"),1==a.default.events&&(a.default.events=new i.EVENTS((0,s.E)("canvas")));1==a.default.sounds&&(a.default.sounds=new p.MatrixSounds);void 0!==e&&(window.webGLStartCallBack=e)()},r.initShaders=function(e,t,o){t=this.getShader(e,t),o=this.getShader(e,o);{var r;return 0==t||0==o?(console.warn("Failed to Load shader"),0):(r=e.createProgram(),e.attachShader(r,o),e.attachShader(r,t),e.linkProgram(r),e.getProgramParameter(r,e.LINK_STATUS)?(e.useProgram(r),r.vertexPositionAttribute=e.getAttribLocation(r,"aVertexPosition"),e.enableVertexAttribArray(r.vertexPositionAttribute),0<=e.getAttribLocation(r,"aVertexColor")&&(r.vertexColorAttribute=e.getAttribLocation(r,"aVertexColor"),e.enableVertexAttribArray(r.vertexColorAttribute)),0<=e.getAttribLocation(r,"aTextureCoord")&&(r.textureCoordAttribute=e.getAttribLocation(r,"aTextureCoord"),e.enableVertexAttribArray(r.textureCoordAttribute),r.samplerUniform=e.getUniformLocation(r,"uSampler")),0<=e.getAttribLocation(r,"aVertexNormal")&&(r.vertexNormalAttribute=e.getAttribLocation(r,"aVertexNormal"),e.enableVertexAttribArray(r.vertexNormalAttribute)),null!==e.getUniformLocation(r,"uNMatrix")&&(r.nMatrixUniform=e.getUniformLocation(r,"uNMatrix")),null!==e.getUniformLocation(r,"layer")&&(r.layerLocation=e.getUniformLocation(r,"layer")),null!==e.getUniformLocation(r,"numberOfsamplers")&&(r.numberOfsamplers=e.getUniformLocation(r,"numberOfsamplers")),null!==e.getUniformLocation(r,"TimeFor")&&(r.uniformTime=e.getUniformLocation(r,"TimeFor")),null!==e.getUniformLocation(r,"uSampler")&&(r.samplerUniform=e.getUniformLocation(r,"uSampler")),null!==e.getUniformLocation(r,"uSampler1")&&(r.samplerUniform1=e.getUniformLocation(r,"uSampler1")),null!==e.getUniformLocation(r,"uSampler2")&&(r.samplerUniform2=e.getUniformLocation(r,"uSampler2")),null!==e.getUniformLocation(r,"uSampler3")&&(r.samplerUniform3=e.getUniformLocation(r,"uSampler3")),null!==e.getUniformLocation(r,"uSampler4")&&(r.samplerUniform4=e.getUniformLocation(r,"uSampler4")),null!==e.getUniformLocation(r,"uSampler5")&&(r.samplerUniform5=e.getUniformLocation(r,"uSampler5")),null!==e.getUniformLocation(r,"uSampler6")&&(r.samplerUniform6=e.getUniformLocation(r,"uSampler6")),null!==e.getUniformLocation(r,"uSampler7")&&(r.samplerUniform7=e.getUniformLocation(r,"uSampler7")),null!==e.getUniformLocation(r,"uUseLighting")&&(r.useLightingUniform=e.getUniformLocation(r,"uUseLighting")),null!==e.getUniformLocation(r,"uAmbientColor")&&(r.ambientColorUniform=e.getUniformLocation(r,"uAmbientColor")),null!==e.getUniformLocation(r,"uLightingDirection")&&(r.lightingDirectionUniform=e.getUniformLocation(r,"uLightingDirection")),null!==e.getUniformLocation(r,"uDirectionalColor")&&(r.directionalColorUniform=e.getUniformLocation(r,"uDirectionalColor")),null!==e.getUniformLocation(r,"u_reverseLightDirection")&&(r.u_reverseLightDirection=e.getUniformLocation(r,"u_reverseLightDirection")),null!==e.getUniformLocation(r,"u_shininess")&&(r.shininessLocation=e.getUniformLocation(r,"u_shininess")),null!==e.getUniformLocation(r,"u_lightDirection")&&(r.lightDirectionLocation=e.getUniformLocation(r,"u_lightDirection")),null!==e.getUniformLocation(r,"u_innerLimit")&&(r.innerLimitLocation=e.getUniformLocation(r,"u_innerLimit")),null!==e.getUniformLocation(r,"u_outerLimit")&&(r.outerLimitLocation=e.getUniformLocation(r,"u_outerLimit")),null!==e.getUniformLocation(r,"u_lightWorldPosition")&&(r.lightWorldPositionLocation=e.getUniformLocation(r,"u_lightWorldPosition")),null!==e.getUniformLocation(r,"u_textureMatrix")&&(r.u_textureMatrix=e.getUniformLocation(r,"u_textureMatrix")),null!==e.getUniformLocation(r,"u_projectedTexture")&&(r.u_projectedTexture=e.getUniformLocation(r,"u_projectedTexture")),null!==e.getUniformLocation(r,"u_bias")&&(r.u_bias=e.getUniformLocation(r,"u_bias")),null!==e.getUniformLocation(r,"u_texture")&&(r.uCubeMapSampler=e.getUniformLocation(r,"u_texture")),null!==e.getUniformLocation(r,"specularColor")&&(r.specularColor=e.getUniformLocation(r,"specularColor")),null!==e.getUniformLocation(r,"uLightPosition")&&(r.uLightPosition=e.getUniformLocation(r,"uLightPosition")),null!==e.getUniformLocation(r,"uResolution")&&(r.uResolution=e.getUniformLocation(r,"uResolution")),null!==e.getUniformLocation(r,"uControl")&&(r.uControl=e.getUniformLocation(r,"uControl")),null!==e.getUniformLocation(r,"iResolution")&&(r.positionAttributeLocation=e.getAttribLocation(r,"a_position"),r.resolutionLocation=e.getUniformLocation(r,"iResolution"),r.mouseLocation=e.getUniformLocation(r,"iMouse"),r.timeLocation=e.getUniformLocation(r,"iTime")),null!==e.getUniformLocation(r,"matrixSkyRad")&&(r.matrixSkyRad=e.getUniformLocation(r,"matrixSkyRad")),r.pMatrixUniform=e.getUniformLocation(r,"uPMatrix"),r.mvMatrixUniform=e.getUniformLocation(r,"uMVMatrix"),r.fragmentShader=t,r.vertexShader=o,r):(console.warn("Returning Shader fragment failed! \n ",e.getProgramInfoLog(r)),0))}},r.initiateFPS=function(){r.lastTime=g=(new Date).getTime()},r.isReady=function(){return 0!=world},r.lastTime=void 0,r.loadHtmlPowerAsset=function(e,t){var o=new XMLHttpRequest;o.onload=function(){200==this.status&&null!=this.responseText&&(document.getElementById("media-holder").innerHTML=this.responseText,void 0!==t)&&t()},o.open("GET",e,!0),o.send()},r.loadShaders=function(e,t){var o,r=document.getElementById(t),i="";{if(r){for(var n=r.firstChild;n;)3==n.nodeType&&(i+=n.textContent),n=n.nextSibling;if("x-shader/x-fragment"==r.type)o=e.createShader(e.FRAGMENT_SHADER);else{if("x-shader/x-vertex"!=r.type)return 0;o=e.createShader(e.VERTEX_SHADER)}return e.shaderSource(o,i),e.compileShader(o),e.getShaderParameter(o,e.COMPILE_STATUS)?o:(console.warn("Shader Program compile failed:"+e.getShaderInfoLog(o)),console.warn("Shader Program name :"+t),0)}return console.warn("Shader Program creation failed",e.getShaderInfoLog(o)),0}},r.load_shaders=async function(r){new Promise((e,t)=>{var o=new XMLHttpRequest;o.onload=function(){200==this.status&&null!=this.responseText?(document.getElementById("shaders").innerHTML=this.responseText,e()):(t(),console.warn("Something went wrong on shaders load procces! => ",r))},o.open("GET",r,!0),o.send()})},r.looper=void 0,r.modifyLooper=function(e){r.looper=b=e},r.net=void 0,r.onExit=T,r.resizeView=L,r.totalTime=void 0,r.updateFPS=function(e){var t=(new Date).getTime(),o=t-g;r.lastTime=g=t,r.totalTime=v+=o,r.updateTime=w+=o,(0,c.modifyFrames)(c.frames+1),r.updateFrames=x+=1,1e3<w&&(document.getElementById("fps").innerHTML="FPS AVG:"+Math.floor(1e3*c.frames/v/e)+" CUR:"+Math.floor(1e3*x/w/e),r.updateTime=w=0,r.updateFrames=x=0)},r.webcamError=r.wd=r.updateTime=r.updateFrames=void 0;var o=e("./net"),i=e("./events"),a=f(e("../program/manifest")),s=e("./utility"),l=e("./webgl-utils"),n=e("./matrix-render"),c=e("./matrix-world"),u=e("./matrix-shaders3"),d=e("./matrix-shaders1"),h=f(e("../client-config")),p=e("./sounds"),m=e("../networking2/app");function f(e){return e&&e.__esModule?e:{default:e}}void 0===s.QueryString.offScreen||1!=a.default.offScreenCanvas&&"true"!=s.QueryString.offScreen?a.default.offScreenCanvas=!1:(a.default.offScreenCanvas=!0,console.log("[matrix-engine] offScreenCanvas activated =>",a.default.offScreenCanvas),s.scriptManager.LOAD("./hacker-timer/hack-timer.js"));r.wd=0,r.ht=0;var g=r.lastTime=0,v=r.totalTime=0,w=r.updateTime=0,x=r.updateFrames=0;let y=r.net=null,b=r.looper=0;function L(){r.wd=document.body.clientWidth-4,document.body.clientHeight>document.documentElement.clientHeight?r.ht=document.body.clientHeight-10:r.ht=document.documentElement.clientHeight-4}r.activateNet=e=>{void 0!==a.default.net&&!0===a.default.net&&(e=new(void 0!==e?e:h.default),r.net=y=new o.Broadcaster(e),a.default.network=y,console.info("Networking is active.",y))};function E(){var e=document.createElement("canvas");e.id="canvas","full-screen"==a.default.resize.canvas?(e.width=window.innerWidth,e.height=window.innerHeight):(e.width=window.innerHeight*a.default.resize.aspectRatio,e.height=window.innerHeight,i.SYS.DEBUG.LOG("SYS: aspect ration resize is active. ")),document.body.append(e)}function T(){for(r.looper=b=0;b<=c.objListToDispose.length-1;)c.objListToDispose[b].destroy(),r.looper=b+=1;c.objListToDispose.length=0}r.activateNet2=(e,t)=>{void 0!==a.default.net&&!0===a.default.net&&(e=new(void 0!==e?e:h.default),void 0===t&&(t={sessionName:"matrix-engine-random",resolution:"160x240"}),r.net=y=new m.MatrixStream({domain:e.networking2.domain,port:e.networking2.port,sessionName:t.sessionName,resolution:t.resolution}),addEventListener("onTitle",e=>{document.title=e.detail}),window.matrixStream=y,console.info("%c Networking2 params: "+e.networking2,c.CS3))},window.onbeforeunload=T,window.cancelRequestAnimFrame=window.cancelAnimationFrame||window.webkitCancelRequestAnimationFrame||window.mozCancelRequestAnimationFrame||window.oCancelRequestAnimationFrame||window.msCancelRequestAnimationFrame||function(e){window.clearTimeout(e)},a.default.operation.destroyWorld=function(){for(cancelRequestAnimFrame(n.reDrawID),delete this.pMatrix,delete this.mvMatrixStack,r.looper=b=0;b<=this.contentList.length-1;){if(delete this.contentList[b].type,delete this.contentList[b].size,delete this.contentList[b].sides,this.contentList[b].shaderProgram.fragmentShader&&(this.GL.gl.deleteShader(this.contentList[b].shaderProgram.fragmentShader),delete this.contentList[b].shaderProgram.fragmentShader),this.contentList[b].shaderProgram.vertexShader&&(this.GL.gl.deleteShader(this.contentList[b].shaderProgram.vertexShader),delete this.contentList[b].shaderProgram.vertexShader),this.contentList[b].texture){try{this.GL.gl.deleteTexture(this.contentList[b].texture)}catch(e){console.warn("Problem in destroying function : This is e log : "+e)}delete this.contentList[b].texture}this.contentList[b].shaderProgram&&(this.GL.gl.deleteProgram(this.contentList[b].shaderProgram),delete this.contentList[b].shaderProgram),this.contentList[b].vertexPositionBuffer&&(this.GL.gl.deleteBuffer(this.contentList[b].vertexPositionBuffer),delete this.contentList[b].vertexPositionBuffer),this.contentList[b].vertexTexCoordBuffer&&(this.GL.gl.deleteBuffer(this.contentList[b].vertexTexCoordBuffer),delete this.contentList[b].vertexTexCoordBuffer),this.contentList[b].vertexColorBuffer&&(this.GL.gl.deleteBuffer(this.contentList[b].vertexColorBuffer),delete this.contentList[b].vertexColorBuffer),this.contentList[b].vertexIndexBuffer&&(this.GL.gl.deleteBuffer(this.contentList[b].vertexIndexBuffer),delete this.contentList[b].vertexIndexBuffer),delete this.contentList[b].rotation,delete this.contentList[b].color,delete this.contentList[b].mvMatrix,r.looper=b+=1}this.contentList.length=0,this.GL.destroy()},a.default.operation.PUSH_MATRIX=function(e,t){var o=mat4.create();mat4.copy(e,o),t.push(o)},a.default.operation.POP_MATRIX=function(e,t){if(0==t.length)throw"Invalid popMatrix!";t.pop()},a.default.operation.SET_MATRIX_UNIFORMS=function(e,t){this.GL.gl.uniformMatrix4fv(e.shaderProgram.pMatrixUniform,!1,t),this.GL.gl.uniformMatrix4fv(e.shaderProgram.mvMatrixUniform,!1,e.mvMatrix)};r.RegenerateShader=function(e,t,o,r){e=document.getElementById(e);"multiply"==o?o=0:"divide"==o&&(o=1),1.3==a.default.openglesShaderVersion?e.innerHTML=(0,u.generateShaderSrc3)(t,o,r):e.innerHTML=(0,d.generateShaderSrc)(t,o,r)},r.RegenerateCubeMapShader=function(e,t,o,r){e=document.getElementById(e);"multiply"==o?o=0:"divide"==o&&(o=1),1.3==a.default.openglesShaderVersion?e.innerHTML=(0,u.generateCubeMapShaderSrc3)(t,o,r):e.innerHTML=(0,d.generateCubeMapShaderSrc1)(t,o)},r.RegenerateCustomShader=function(e,t,o,r){"multiply"==o?o=0:"divide"==o&&(o=1),document.getElementById(e).innerHTML=(0,u.generateCustomShaderSrc)(t,o,r)};function A(o){let e;e=((0,s.isMobile)(),!0),navigator.mediaDevices.getUserMedia({audio:!1,video:e}).then(t=>{try{o.srcObject=t,console.log("[me][new-gen-device]",t)}catch(e){o.src=window.URL.createObjectURL(t),console.log("[me][old-gen-device]",t)}navigator.mediaDevices.enumerateDevices().then(e=>{e.forEach(e=>{1==a.default.printDevicesInfo&&console.log("device.label :",e.label)})})}).catch(e=>{console.log("Error :",e)})}r.webcamError=function(e){alert("Webcam error!"+e)}},{"../client-config":4,"../networking2/app":36,"../program/manifest":45,"./events":7,"./matrix-render":16,"./matrix-shaders1":17,"./matrix-shaders3":18,"./matrix-world":22,"./net":23,"./sounds":33,"./utility":34,"./webgl-utils":35}],7:[function(e,t,o){Object.defineProperty(o,"__esModule",{value:!0}),o.EVENTS=function(t){var o=this;1==(0,a.isMobile)()?(t.addEventListener("touchstart",function(e){e.preventDefault();var t=e.changedTouches;s.MOUSE.PRESS=!0,s.MOUSE.x=t[0].pageX,s.MOUSE.y=t[0].pageY,o.CALCULATE_TOUCH_OR_CLICK(),o.CALCULATE_TOUCH_DOWN_OR_MOUSE_DOWN(e,s.MOUSE),o.multiTouch(e,t)},{passive:!1}),t.addEventListener("touchend",function(e){e.preventDefault();e=e.changedTouches;s.MOUSE.PRESS=!1,s.MOUSE.x=e[0].pageX,s.MOUSE.y=e[0].pageY,o.CALCULATE_TOUCH_UP_OR_MOUSE_UP()},{passive:!1}),t.addEventListener("touchcancel",function(e){e.preventDefault();e=e.changedTouches;s.MOUSE.PRESS=!1,s.MOUSE.x=e[0].pageX,s.MOUSE.y=e[0].pageY,o.CALCULATE_TOUCH_UP_OR_MOUSE_UP()},{passive:!1}),t.addEventListener("touchmove",function(e){e.preventDefault();e=e.changedTouches;s.MOUSE.x=e[0].pageX,s.MOUSE.y=e[0].pageY,o.CALCULATE_TOUCH_MOVE_OR_MOUSE_MOVE({x:e[0].pageX,y:e[0].pageY})},{passive:!1})):(t.addEventListener("click",function(e){s.MOUSE.x=e.layerX,s.MOUSE.y=e.layerY,o.CALCULATE_TOUCH_OR_CLICK(),s.DEBUG.LOG("SYS : CLICK EVENT "+t)},{passive:!0}),t.addEventListener("mouseup",function(e){s.MOUSE.PRESS=!1,s.MOUSE.BUTTON_PRESSED=null,s.MOUSE.x=e.layerX,s.MOUSE.y=e.layerY,o.CALCULATE_TOUCH_UP_OR_MOUSE_UP()},{passive:!0}),t.onmousemove=function(e){s.MOUSE.MOUSE_MOVING=!0,s.MOUSE.x=e.layerX,s.MOUSE.y=e.layerY,o.CALCULATE_TOUCH_MOVE_OR_MOUSE_MOVE({x:e.layerX,y:e.layerY})},t.onmousedown=function(e){s.MOUSE.PRESS=!0,3==e.which?(s.MOUSE.BUTTON_PRESSED="RIGHT",s.MOUSE.ON_RIGHT_BTN_PRESSED(),s.DEBUG.LOG("Right button clicked")):2==e.which?(s.MOUSE.BUTTON_PRESSED="MID",s.MOUSE.ON_MID_BTN_PRESSED(),s.DEBUG.LOG("Mid button clicked")):1==e.which&&(s.MOUSE.BUTTON_PRESSED="LEFT",s.MOUSE.ON_LEFT_BTN_PRESSED(),s.DEBUG.LOG("Left button clicked")),s.MOUSE.x=e.layerX,s.MOUSE.y=e.layerY,o.CALCULATE_TOUCH_DOWN_OR_MOUSE_DOWN(e,s.MOUSE)});window.addEventListener("resize",function(e){"false"!=n.default.resize.canvas&&0!=n.default.resize.canvas&&("full-screen"==n.default.resize.canvas?(n.default.canvas.width=window.innerWidth,n.default.canvas.height=window.innerHeight):(n.default.canvas.width=window.innerHeight*n.default.resize.aspectRatio,n.default.canvas.height=window.innerHeight,s.DEBUG.LOG("SYS: aspect ration resize is active. "+i.world)),1==n.default.resize.reloadWorldOnResize)&&"undefined"!==window.resizeGlPort&&window.resizeGlPort()},{passive:!0}),this.CALCULATE_TOUCH_OR_CLICK=function(){},this.multiTouch=function(e){s.DEBUG.LOG("EVENT: MOUSE/TOUCH CLICK",e)},this.virtualUpDownScene=0,this.virtualLeftRightScene=0,this.CALCULATE_TOUCH_MOVE_OR_MOUSE_MOVE=function(e){var t,o,r=window.innerWidth/2,i=window.innerHeight/2;s.MOUSE.x=e.x-r,s.MOUSE.y=e.y-i,void 0!==s.MOUSE.LAST_POSITION.x&&(t=s.MOUSE.LAST_POSITION.x-s.MOUSE.x,o=s.MOUSE.LAST_POSITION.y-s.MOUSE.y),(!0===n.default.camera.SceneController&&d.getKeyStatus(16)||!0===n.default.camera.FirstPersonController)&&(u.pitchRate+=10*o,u.yawRate+=+t,s.MOUSE.x<n.default.camera.edgeMarginValue-r?(n.default.camera.leftEdge=!0,s.DEBUG.LOG("Mouse on edge!")):n.default.camera.leftEdge=!1,s.MOUSE.x>r-n.default.camera.edgeMarginValue?(n.default.camera.rightEdge=!0,s.DEBUG.LOG("Mouse on edge!")):n.default.camera.rightEdge=!1),!0===n.default.camera.SceneController&&"MID"==s.MOUSE.BUTTON_PRESSED&&(Math.abs(t)>Math.abs(o)&&0<t||Math.abs(t)>Math.abs(o)&&t<0?s.MOUSE.LAST_POSITION.x<s.MOUSE.x?this.virtualLeftRightScene-=n.default.camera.sceneControllerDragAmp:s.MOUSE.LAST_POSITION.x>s.MOUSE.x&&(this.virtualLeftRightScene+=n.default.camera.sceneControllerDragAmp):(Math.abs(o)>Math.abs(t)&&0<o||Math.abs(o)>Math.abs(t)&&o<0)&&(s.MOUSE.LAST_POSITION.y<s.MOUSE.y?this.virtualUpDownScene+=n.default.camera.sceneControllerDragAmp:s.MOUSE.LAST_POSITION.y>s.MOUSE.y&&(this.virtualUpDownScene-=n.default.camera.sceneControllerDragAmp)),u.yPos=this.virtualUpDownScene,u.xPos=this.virtualLeftRightScene),s.MOUSE.LAST_POSITION.x=s.MOUSE.x,s.MOUSE.LAST_POSITION.y=s.MOUSE.y},this.CALCULATE_TOUCH_UP_OR_MOUSE_UP=function(){s.DEBUG.LOG(" EVENT : MOUSE/TOUCH UP ")},this.CALCULATE_TOUCH_DOWN_OR_MOUSE_DOWN=function(e,t){s.DEBUG.LOG(" EVENT : MOUSE/TOUCH DOWN ")}},o.camera=o.SYS=void 0,o.defineKeyBoardObject=l,o.keyboardPress=void 0;var r,n=(r=e("../program/manifest"))&&r.__esModule?r:{default:r},i=e("./matrix-world"),a=e("./utility");var s=o.SYS={};function l(){var t=new Object;return t.keyArr=new Array,document.onkeydown=function(e){t.handleKeyDown(e)},document.onkeyup=function(e){t.handleKeyUp(e)},t.getKeyStatus=function(e){return this.keyArr[e]},t.setKeyStatus=function(e,t){this.keyArr[e]=t},t.handleKeyDown=function(e){e=e||window.event||"";var t=new CustomEvent("hit.keyDown",{detail:{keyCode:e.keyCode,origin:e}});dispatchEvent(t),this.setKeyStatus(e.keyCode,!0)},t.handleKeyUp=function(e){e=e||window.event||"";var t=new CustomEvent("hit.keyUp",{detail:{keyCode:e.keyCode,origin:e}});dispatchEvent(t),this.setKeyStatus(e.keyCode,!1)},t.destroy=function(){printLog("Destroy Key Press object"),document.onkeydown=null,document.onkeyup=null,delete this.keyArr},t}s.MOUSE={x:0,y:0,LAST_POSITION:{x:0,y:0},PRESS:!1,BUTTON_PRESSED:"",ON_LEFT_BTN_PRESSED:function(){},ON_RIGHT_BTN_PRESSED:function(){},ON_MID_BTN_PRESSED:function(){},MOUSE_MOVING:!1},s.DEBUG=new a.LOG,n.default.sys=s;let c=!1;window.onwheel=e=>{e.deltaY;!1===c&&(c=!0,0<e.wheelDelta&&(u.speed=.1*n.default.camera.speedAmp),e.wheelDelta<0&&(u.speed=.1*-n.default.camera.speedAmp),setTimeout(()=>{c=!1,u.speed=0},50))};var u=o.camera={roll:0,rollRate:0,rallAmp:.05,fly:!0,pitch:0,pitchRate:0,yaw:0,yawRate:0,xPos:0,yPos:0,zPos:0,speed:0,yawAmp:.077,pitchAmp:.017,virtualJumpY:2,virtualJumpActive:!1,moveLeft:!1,preventSpeedZero:!1},d=o.keyboardPress=l();u.setCamera=function(e){d.getKeyStatus(65)||1==n.default.camera.leftEdge?(u.yawRate=n.default.camera.yawRate,1==n.default.camera.leftEdge&&(u.yawRate=n.default.camera.yawRateOnEdge)):d.getKeyStatus(68)||1==n.default.camera.rightEdge?(u.yawRate=-n.default.camera.yawRate,1==n.default.camera.rightEdge&&(u.yawRate=-n.default.camera.yawRateOnEdge)):d.getKeyStatus(32)&&1!=this.virtualJumpActive&&(this.virtualJumpActive=!0),d.getKeyStatus(37)?(u.moveLeft=!0,u.speed=n.default.camera.speedAmp):d.getKeyStatus(39)?(u.moveRight=!0,u.speed=n.default.camera.speedAmp):d.getKeyStatus(38)||d.getKeyStatus(87)?u.speed=n.default.camera.speedAmp:(d.getKeyStatus(40)||d.getKeyStatus(83))&&(u.speed=-n.default.camera.speedAmp),0!=u.speed&&0==u.moveLeft&&0==u.moveRight?(u.xPos-=Math.sin(degToRad(u.yaw))*u.speed,1==u.fly&&(u.yPos+=Math.sin(degToRad(u.pitch))*u.speed),u.zPos-=Math.cos(degToRad(u.yaw))*u.speed):1==u.moveLeft?(u.xPos-=Math.sin(degToRad(u.yaw+90))*u.speed,u.zPos-=Math.cos(degToRad(u.yaw+90))*u.speed):1==u.moveRight&&(u.xPos-=Math.sin(degToRad(u.yaw-90))*u.speed,u.zPos-=Math.cos(degToRad(u.yaw-90))*u.speed),u.yaw+=u.yawRate*u.yawAmp,u.pitch+=u.pitchRate*u.pitchAmp,mat4.rotate(e.mvMatrix,e.mvMatrix,degToRad(-u.pitch),[1,0,0]),mat4.rotate(e.mvMatrix,e.mvMatrix,degToRad(-u.yaw),[0,1,0]),mat4.translate(e.mvMatrix,e.mvMatrix,[-u.xPos,-u.yPos,-u.zPos]),u.yawRate=0,u.pitchRate=0,u.moveLeft=!1,u.moveRight=!1,0==u.preventSpeedZero&&(u.speed=0)},u.setSceneCamera=function(e){d.getKeyStatus(37)||d.getKeyStatus(65)||1==n.default.camera.leftEdge?(u.yawRate=n.default.camera.sceneControllerWASDKeysAmp,1==n.default.camera.leftEdge&&(u.yawRate=n.default.camera.sceneControllerEdgeCameraYawRate)):(d.getKeyStatus(39)||d.getKeyStatus(68)||1==n.default.camera.rightEdge)&&(u.yawRate=-n.default.camera.sceneControllerWASDKeysAmp,1==n.default.camera.rightEdge)&&(u.yawRate=-n.default.camera.sceneControllerEdgeCameraYawRate),d.getKeyStatus(38)||d.getKeyStatus(87)?u.speed=n.default.camera.speedAmp:d.getKeyStatus(40)||d.getKeyStatus(83)?u.speed=-n.default.camera.speedAmp:d.getKeyStatus(16)||(u.speed=0),0!=u.speed&&(u.xPos-=Math.sin(degToRad(u.yaw))*u.speed,u.yPos+=Math.sin(degToRad(u.pitch))*u.speed,u.zPos-=Math.cos(degToRad(u.yaw))*u.speed),u.yaw+=u.yawRate*u.yawAmp,u.pitch+=u.pitchRate*u.pitchAmp,mat4.rotate(e.mvMatrix,e.mvMatrix,degToRad(-u.pitch),[1,0,0]),mat4.rotate(e.mvMatrix,e.mvMatrix,degToRad(-u.yaw),[0,1,0]),mat4.translate(e.mvMatrix,e.mvMatrix,[-u.xPos,-u.yPos,-u.zPos]),u.yawRate=0,u.pitchRate=0};let h=document.querySelector(".button1"),p=document.querySelector(".button2");if(p.addEventListener("click",()=>{p.parentElement.classList.add("hideMe"),setTimeout(()=>{h.style.display="none",p.style.display="none"},950)}),document.addEventListener("appinstalled",e=>{console.log("PWA app installed by user! Hurray...")}),!0===n.default.pwa.addToHomePage){let t;window.addEventListener("beforeinstallprompt",e=>{e.preventDefault(),t=e,h.style.display="block",p.style.display="block",h.addEventListener("click",()=>{h.style.display="none",t.prompt(),t.userChoice.then(e=>{"accepted"===e.outcome?(console.log("User accepted the A2HS prompt"),h.style.display="none",p.style.display="none"):(console.log("User dismissed the A2HS prompt"),h.style.display="none"),t=null})})})}else try{h.style.display="none",p.style.display="none"}catch(e){}},{"../program/manifest":45,"./matrix-world":22,"./utility":34}],8:[function(e,t,o){Object.defineProperty(o,"__esModule",{value:!0}),o.makeObjSeqArg=o.initMeshBuffers=o.downloadMeshes=o.deleteMeshBuffers=o.constructMesh=void 0,o.play=function(e){this.animation.anims.active=e,this.animation.currentAni=this.animation.anims[this.animation.anims.active].from};var r=e("./matrix-world");class l{constructor(e,t){this.name="",this.inputArg=t,this.objectData=e,this.create(e,t),this.setScale=e=>{this.inputArg.scale=e,n(r.world.GL.gl,this.create(this.objectData,this.inputArg,void 0,this))},this.updateBuffers=()=>{this.inputArg.scale=1,n(r.world.GL.gl,this.create(this.objectData,this.inputArg,void 0,this))}}create=(e,t,o,r)=>{void 0===o&&(o=function(){});for(var i=[0,1,2],n=[],a=[],s=[],l={verts:[],norms:[],textures:[],hashindices:{},indices:[],index:0},c=[],u=e.split("\n"),d=[],h=(null!==t.swap[0]&&swap(t.swap[0],t.swap[1],i),/^v\s/),p=/^vn\s/,m=/^vt\s/,f=/^f\s/,g=/\s+/,v=0;v<u.length;v++){var w=u[v].trim(),x=w.split(g);if(x.shift(),h.test(w))n.push.apply(n,x),0<d.length&&d[d.length-1].groupVert.push(x);else if(p.test(w))a.push.apply(a,x),0<d.length&&d[d.length-1].groupNorm.push(x);else if(m.test(w))s.push.apply(s,x),0<d.length&&d[d.length-1].groupTexCord.push(x);else if(f.test(w))for(var y,b=!1,L=0,E=x.length;L<E;L++)3!==L||b||(L=2,b=!0),x[L]in l.hashindices?l.indices.push(l.hashindices[x[L]]):(y=x[L].split("/"),"number"==typeof t.scale?(l.verts.push(+n[3*(y[0]-1)+i[0]]*t.scale),l.verts.push(+n[3*(y[0]-1)+i[1]]*t.scale),l.verts.push(+n[3*(y[0]-1)+i[2]]*t.scale),c.push(y[0]-1)):(l.verts.push(+n[3*(y[0]-1)+i[0]]*t.scale.x),l.verts.push(+n[3*(y[0]-1)+i[1]]*t.scale.y),l.verts.push(+n[3*(y[0]-1)+i[2]]*t.scale.z)),s.length&&(l.textures.push(+s[2*(y[1]-1)+0]),l.textures.push(+s[2*(y[1]-1)+1])),l.norms.push(+a[3*(y[2]-1)+0]),l.norms.push(+a[3*(y[2]-1)+1]),l.norms.push(+a[3*(y[2]-1)+2]),l.hashindices[x[L]]=l.index,l.indices.push(l.index),l.index+=1),3===L&&b&&l.indices.push(l.hashindices[x[0]]);else-1==w.indexOf("# ")&&-1==w.indexOf("mtllib")&&(-1!=w.indexOf("o ")?(console.log("obj loader object name:",w.split(" ")[1]),this.name=w.split(" ")[1]):-1==w.indexOf("g ")||-1==(w=w.split(" ")[1]).indexOf("COLLIDER")&&-1==w.indexOf("Destruct")||d.push({groupName:w,groupVert:[],groupNorm:[],groupTexCord:[],groupIndices:[]}))}return this.vertices=l.verts,this.vertexNormals=l.norms,this.textures=l.textures,this.indices=l.indices,n=n.map(function(e){return parseFloat(e)}),this.TEST_verts=n,this.TEST_FACES=c,this.groups=0<d.length?d:null,o(),this}}o.constructMesh=l;var c=function(){var o=this;this.xmlhttp=new XMLHttpRequest,this.get=function(e,t){o.xmlhttp.onreadystatechange=function(){4===o.xmlhttp.readyState&&t(o.xmlhttp.responseText,o.xmlhttp.status)},o.xmlhttp.open("GET",e,!0),o.xmlhttp.send()}},i=(o.downloadMeshes=function(e,r,i){var t,n=Object.keys(e).length,a=!1,s=(void 0===(i=void 0===i?{scale:1,swap:[null]}:i).scale&&(i.scale=1),void 0===i.swap&&(i.swap=[null]),{});for(t in e)e.hasOwnProperty(t)&&(new c).get(e[t],(o=>function(e,t){if(200===t?s[o]=new l(e,i):(a=!0,console.error('An error has occurred and the mesh "'+o+'" could not be downloaded.')),0===--n){if(a)throw console.error("An error has occurred and one or meshes has not been downloaded. The execution of the script has terminated."),"";r(s)}})(t))},function(e,t,o,r){var i=e.createBuffer(),n=t===e.ARRAY_BUFFER?Float32Array:Uint16Array;return e.bindBuffer(t,i),e.bufferData(t,new n(o),e.STATIC_DRAW),i.itemSize=r,i.numItems=o.length/r,i}),n=function(e,t){t.normalBuffer=i(e,e.ARRAY_BUFFER,t.vertexNormals,3),t.textureBuffer=i(e,e.ARRAY_BUFFER,t.textures,2),t.vertexBuffer=i(e,e.ARRAY_BUFFER,t.vertices,3),t.indexBuffer=i(e,e.ELEMENT_ARRAY_BUFFER,t.indices,1)};o.initMeshBuffers=n,o.deleteMeshBuffers=function(e,t){e.deleteBuffer(t.normalBuffer),e.deleteBuffer(t.textureBuffer),e.deleteBuffer(t.vertexBuffer),e.deleteBuffer(t.indexBuffer)};o.makeObjSeqArg=e=>{var o,r={};function i(o,r=!1){var i="00000",n={},a=o.from;for(let e=o.from,t=1;e<=o.to;e++)9<t&&t<99?i="0000":99<t&&t<999&&(i="000"),a==o.from&&!1===r?n[o.id]=o.path+"_"+i+t+".obj":n[o.id+(a-1)]=o.path+"_"+i+t+".obj",a++,t++;return n}if("string"==typeof e.path)r=i(e);else if(void 0===e.path)if(void 0!==e.joinMultiPahts)return console.log("ITS joinMultiPahts!"),o={},e.joinMultiPahts.forEach((e,t)=>{o=0===t?Object.assign(r,i(e)):Object.assign(r,i(e,!0))}),console.log("joinMultiPahts LOCAL => ",o),o;return r}},{"./matrix-world":22}],9:[function(e,t,o){Object.defineProperty(o,"__esModule",{value:!0}),o.meMapLoader=void 0;var a=r(e("../index")),m=r(e("cannon")),f=(e=e("../program/manifest"))&&e.__esModule?e:{default:e};function s(e){var t,o;return"function"!=typeof WeakMap?null:(t=new WeakMap,o=new WeakMap,(s=function(e){return e?o:t})(e))}function r(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};t=s(t);if(t&&t.has(e))return t.get(e);var o,r,i={__proto__:null},n=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(o in e)"default"!==o&&{}.hasOwnProperty.call(e,o)&&((r=n?Object.getOwnPropertyDescriptor(e,o):null)&&(r.get||r.set)?Object.defineProperty(i,o,r):i[o]=e[o]);return i.default=e,t&&t.set(e,i),i}o.meMapLoader={physics:{},load:function(e,o){this.physics=o,e.staticCubes.forEach(e=>{a.matrixWorld.world.Add("cubeLightTex",1,e.name,e.texture),f.default.scene[e.name].geometry.setScaleByX(e.scale[0]),f.default.scene[e.name].geometry.setScaleByY(e.scale[1]),f.default.scene[e.name].geometry.setScaleByZ(e.scale[2]);var t=new m.Body({mass:0,linearDamping:.01,position:new m.Vec3(e.position.x,e.position.z,e.position.y),shape:new m.Box(new m.Vec3(e.scaleCollider[0],e.scaleCollider[2],e.scaleCollider[1]))});o.world.addBody(t),f.default.scene[e.name].rotation.rotx=parseFloat(e.rotation.rotx),f.default.scene[e.name].rotation.roty=parseFloat(e.rotation.roty),f.default.scene[e.name].rotation.rotz=parseFloat(e.rotation.rotz),f.default.scene[e.name].rotation.rotationSpeed.x=e.activeRotation[0],f.default.scene[e.name].rotation.rotationSpeed.y=e.activeRotation[1],f.default.scene[e.name].rotation.rotationSpeed.z=e.activeRotation[2],f.default.scene[e.name].position.setPosition(e.position.x,e.position.y,e.position.z),f.default.scene[e.name].physics.currentBody=t,f.default.scene[e.name].physics.enabled=!0,f.default.scene[e.name].physics.currentBody.quaternion.setFromEuler(e.rotation.rotx,e.rotation.rotz,e.rotation.roty)}),e.staticFloors&&e.staticFloors.forEach(e=>{a.matrixWorld.world.Add("cubeLightTex",1,e.name,e.texture);var t=new m.Body({shape:new m.Box(new m.Vec3(e.scaleCollider[0],e.scaleCollider[2],.1)),type:m.Body.STATIC,position:new m.Vec3(0,0,0)});t.fixedRotation=!0,t.updateMassProperties(),f.default.scene[e.name].physics.currentBody=t,f.default.scene[e.name].physics.enabled=!0,f.default.scene[e.name].geometry.setScaleByX(e.scale[0]),f.default.scene[e.name].geometry.setScaleByZ(e.scale[2]),f.default.scene[e.name].geometry.setScaleByY(-.9),f.default.scene[e.name].position.setPosition(e.position.x,e.position.y,e.position.z),f.default.scene[e.name].physics.currentBody=t,f.default.scene[e.name].physics.enabled=!0,f.default.scene[e.name].physics.currentBody.quaternion.setFromEuler(e.rotation.rotx*Math.PI/180,0,0),o.world.addBody(t)}),e.staticObjs&&e.staticObjs.forEach(e=>{this.loadObjStatic({name:e.name,mass:0,path:e.path,position:[e.position.x,e.position.y,e.position.z],activeRotation:e.activeRotation,rotation:e.rotation,scale:e.scale,scaleCollider:e.scaleCollider,textures:e.texture.source,shadows:!1,gamePlayItem:"STATIC_rock"},o)}),e.noPhysics&&0<e.noPhysics.cubes.length&&e.noPhysics.cubes.forEach(e=>{a.matrixWorld.world.Add("cubeLightTex",e.scale[0],e.name,e.texture),f.default.scene[e.name].geometry.setScaleByX(e.scale[0]),f.default.scene[e.name].geometry.setScaleByY(e.scale[1]),f.default.scene[e.name].geometry.setScaleByZ(e.scale[2]),f.default.scene[e.name].rotation.rotx=parseFloat(e.rotation.rotx),f.default.scene[e.name].rotation.roty=parseFloat(e.rotation.roty),f.default.scene[e.name].rotation.rotz=parseFloat(e.rotation.rotz),f.default.scene[e.name].rotation.rotationSpeed.x=e.activeRotation[0],f.default.scene[e.name].rotation.rotationSpeed.y=e.activeRotation[1],f.default.scene[e.name].rotation.rotationSpeed.z=e.activeRotation[2],f.default.scene[e.name].position.setPosition(e.position.x,e.position.y,e.position.z)}),e.staticObjsGroup&&e.staticObjsGroup.forEach(e=>{this.loadObjStaticGroup({name:e.name,mass:0,path:e.path,position:[e.position.x,e.position.y,e.position.z],activeRotation:e.activeRotation,rotation:e.rotation,scale:e.scale,scaleCollider:e.scaleCollider,textures:e.texture.source,shadows:!1,gamePlayItem:"STATIC_rock"},o)})},loadObjStatic(i,n){var e={};e[i.name]=i.path,a.objLoader.downloadMeshes(e,function(e){var t,o={source:i.textures,mix_operation:"multiply"};for(t in e)a.objLoader.initMeshBuffers(a.matrixWorld.world.GL.gl,e[t]),a.matrixWorld.world.Add("obj",i.scale,i.name,o,e[t]);f.default.scene[i.name].position.x=i.position[0],f.default.scene[i.name].position.y=i.position[1],f.default.scene[