migrate to vite (#16)

This commit is contained in:
Brian Beck 2026-03-13 23:00:08 -07:00 committed by GitHub
parent 1373f12ab4
commit 5025065188
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
165 changed files with 56708 additions and 8931 deletions

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View file

@ -1,10 +0,0 @@
1:"$Sreact.fragment"
2:I[47257,["/t2-mapper/_next/static/chunks/2f236954d6a65e12.js"],"ClientPageRoot"]
3:I[31713,["/t2-mapper/_next/static/chunks/89fcb9c19e93d0ef.js","/t2-mapper/_next/static/chunks/628df86be2b8074c.js","/t2-mapper/_next/static/chunks/5dae6153cf1240b6.js","/t2-mapper/_next/static/chunks/779e069cb2cf814f.js","/t2-mapper/_next/static/chunks/b30d580062e7b044.js","/t2-mapper/_next/static/chunks/e01e6e76b521dd3c.js","/t2-mapper/_next/static/chunks/21659079be7af0ab.js","/t2-mapper/_next/static/chunks/6e8ac7c28fb34400.js","/t2-mapper/_next/static/chunks/9a99559140e82f06.js","/t2-mapper/_next/static/chunks/727710e55f003daf.js","/t2-mapper/_next/static/chunks/af18e4f3fa33de6b.js","/t2-mapper/_next/static/chunks/048c0e679979d576.js","/t2-mapper/_next/static/chunks/153d5796298dee1e.js"],"default"]
6:I[97367,["/t2-mapper/_next/static/chunks/2f236954d6a65e12.js"],"OutletBoundary"]
7:"$Sreact.suspense"
:HL["/t2-mapper/_next/static/chunks/aabc2b89bca559ab.css","style"]
0:{"buildId":"6Rbtt13_hS5V8nXPFgNnq","rsc":["$","$1","c",{"children":[["$","$L2",null,{"Component":"$3","serverProvidedParams":{"searchParams":{},"params":{},"promises":["$@4","$@5"]}}],[["$","link","0",{"rel":"stylesheet","href":"/t2-mapper/_next/static/chunks/aabc2b89bca559ab.css","precedence":"next"}],["$","script","script-0",{"src":"/t2-mapper/_next/static/chunks/628df86be2b8074c.js","async":true}],["$","script","script-1",{"src":"/t2-mapper/_next/static/chunks/5dae6153cf1240b6.js","async":true}],["$","script","script-2",{"src":"/t2-mapper/_next/static/chunks/779e069cb2cf814f.js","async":true}],["$","script","script-3",{"src":"/t2-mapper/_next/static/chunks/b30d580062e7b044.js","async":true}],["$","script","script-4",{"src":"/t2-mapper/_next/static/chunks/e01e6e76b521dd3c.js","async":true}],["$","script","script-5",{"src":"/t2-mapper/_next/static/chunks/21659079be7af0ab.js","async":true}],["$","script","script-6",{"src":"/t2-mapper/_next/static/chunks/6e8ac7c28fb34400.js","async":true}],["$","script","script-7",{"src":"/t2-mapper/_next/static/chunks/9a99559140e82f06.js","async":true}],["$","script","script-8",{"src":"/t2-mapper/_next/static/chunks/727710e55f003daf.js","async":true}],["$","script","script-9",{"src":"/t2-mapper/_next/static/chunks/af18e4f3fa33de6b.js","async":true}],["$","script","script-10",{"src":"/t2-mapper/_next/static/chunks/048c0e679979d576.js","async":true}],["$","script","script-11",{"src":"/t2-mapper/_next/static/chunks/153d5796298dee1e.js","async":true}]],["$","$L6",null,{"children":["$","$7",null,{"name":"Next.MetadataOutlet","children":"$@8"}]}]]}],"loading":null,"isPartial":false}
4:{}
5:"$0:rsc:props:children:0:props:serverProvidedParams:params"
8:null

View file

@ -1,20 +0,0 @@
1:"$Sreact.fragment"
2:I[12985,["/t2-mapper/_next/static/chunks/89fcb9c19e93d0ef.js"],"NuqsAdapter"]
3:I[39756,["/t2-mapper/_next/static/chunks/2f236954d6a65e12.js"],"default"]
4:I[37457,["/t2-mapper/_next/static/chunks/2f236954d6a65e12.js"],"default"]
5:I[47257,["/t2-mapper/_next/static/chunks/2f236954d6a65e12.js"],"ClientPageRoot"]
6:I[31713,["/t2-mapper/_next/static/chunks/89fcb9c19e93d0ef.js","/t2-mapper/_next/static/chunks/628df86be2b8074c.js","/t2-mapper/_next/static/chunks/5dae6153cf1240b6.js","/t2-mapper/_next/static/chunks/779e069cb2cf814f.js","/t2-mapper/_next/static/chunks/b30d580062e7b044.js","/t2-mapper/_next/static/chunks/e01e6e76b521dd3c.js","/t2-mapper/_next/static/chunks/21659079be7af0ab.js","/t2-mapper/_next/static/chunks/6e8ac7c28fb34400.js","/t2-mapper/_next/static/chunks/9a99559140e82f06.js","/t2-mapper/_next/static/chunks/727710e55f003daf.js","/t2-mapper/_next/static/chunks/af18e4f3fa33de6b.js","/t2-mapper/_next/static/chunks/048c0e679979d576.js","/t2-mapper/_next/static/chunks/153d5796298dee1e.js"],"default"]
9:I[97367,["/t2-mapper/_next/static/chunks/2f236954d6a65e12.js"],"OutletBoundary"]
a:"$Sreact.suspense"
c:I[97367,["/t2-mapper/_next/static/chunks/2f236954d6a65e12.js"],"ViewportBoundary"]
e:I[97367,["/t2-mapper/_next/static/chunks/2f236954d6a65e12.js"],"MetadataBoundary"]
10:I[68027,[],"default"]
:HL["/t2-mapper/_next/static/chunks/ad52ebedad251428.css","style"]
:HL["/t2-mapper/_next/static/chunks/aabc2b89bca559ab.css","style"]
0:{"P":null,"b":"6Rbtt13_hS5V8nXPFgNnq","c":["",""],"q":"","i":false,"f":[[["",{"children":["__PAGE__",{}]},"$undefined","$undefined",true],[["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/t2-mapper/_next/static/chunks/ad52ebedad251428.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}],["$","script","script-0",{"src":"/t2-mapper/_next/static/chunks/89fcb9c19e93d0ef.js","async":true,"nonce":"$undefined"}]],["$","html",null,{"lang":"en","children":["$","body",null,{"children":["$","$L2",null,{"defaultOptions":{"clearOnDefault":false},"children":["$","$L3",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L4",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]],"forbidden":"$undefined","unauthorized":"$undefined"}]}]}]}]]}],{"children":[["$","$1","c",{"children":[["$","$L5",null,{"Component":"$6","serverProvidedParams":{"searchParams":{},"params":{},"promises":["$@7","$@8"]}}],[["$","link","0",{"rel":"stylesheet","href":"/t2-mapper/_next/static/chunks/aabc2b89bca559ab.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}],["$","script","script-0",{"src":"/t2-mapper/_next/static/chunks/628df86be2b8074c.js","async":true,"nonce":"$undefined"}],["$","script","script-1",{"src":"/t2-mapper/_next/static/chunks/5dae6153cf1240b6.js","async":true,"nonce":"$undefined"}],["$","script","script-2",{"src":"/t2-mapper/_next/static/chunks/779e069cb2cf814f.js","async":true,"nonce":"$undefined"}],["$","script","script-3",{"src":"/t2-mapper/_next/static/chunks/b30d580062e7b044.js","async":true,"nonce":"$undefined"}],["$","script","script-4",{"src":"/t2-mapper/_next/static/chunks/e01e6e76b521dd3c.js","async":true,"nonce":"$undefined"}],["$","script","script-5",{"src":"/t2-mapper/_next/static/chunks/21659079be7af0ab.js","async":true,"nonce":"$undefined"}],["$","script","script-6",{"src":"/t2-mapper/_next/static/chunks/6e8ac7c28fb34400.js","async":true,"nonce":"$undefined"}],["$","script","script-7",{"src":"/t2-mapper/_next/static/chunks/9a99559140e82f06.js","async":true,"nonce":"$undefined"}],["$","script","script-8",{"src":"/t2-mapper/_next/static/chunks/727710e55f003daf.js","async":true,"nonce":"$undefined"}],["$","script","script-9",{"src":"/t2-mapper/_next/static/chunks/af18e4f3fa33de6b.js","async":true,"nonce":"$undefined"}],["$","script","script-10",{"src":"/t2-mapper/_next/static/chunks/048c0e679979d576.js","async":true,"nonce":"$undefined"}],["$","script","script-11",{"src":"/t2-mapper/_next/static/chunks/153d5796298dee1e.js","async":true,"nonce":"$undefined"}]],["$","$L9",null,{"children":["$","$a",null,{"name":"Next.MetadataOutlet","children":"$@b"}]}]]}],{},null,false,false]},null,false,false],["$","$1","h",{"children":[null,["$","$Lc",null,{"children":"$Ld"}],["$","div",null,{"hidden":true,"children":["$","$Le",null,{"children":["$","$a",null,{"name":"Next.Metadata","children":"$Lf"}]}]}],null]}],false]],"m":"$undefined","G":["$10",[]],"S":true}
7:{}
8:"$0:f:0:1:1:children:0:props:children:0:props:serverProvidedParams:params"
d:[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no"}]]
11:I[27201,["/t2-mapper/_next/static/chunks/2f236954d6a65e12.js"],"IconMark"]
b:null
f:[["$","title","0",{"children":"MapGenius  Explore maps for Tribes 2"}],["$","meta","1",{"name":"description","content":"Tribes 2 forever."}],["$","link","2",{"rel":"icon","href":"/t2-mapper/icon.png?icon.2911bba1.png","sizes":"108x128","type":"image/png"}],["$","$L11","3",{}]]

View file

@ -1,6 +0,0 @@
1:"$Sreact.fragment"
2:I[97367,["/t2-mapper/_next/static/chunks/2f236954d6a65e12.js"],"ViewportBoundary"]
3:I[97367,["/t2-mapper/_next/static/chunks/2f236954d6a65e12.js"],"MetadataBoundary"]
4:"$Sreact.suspense"
5:I[27201,["/t2-mapper/_next/static/chunks/2f236954d6a65e12.js"],"IconMark"]
0:{"buildId":"6Rbtt13_hS5V8nXPFgNnq","rsc":["$","$1","h",{"children":[null,["$","$L2",null,{"children":[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no"}]]}],["$","div",null,{"hidden":true,"children":["$","$L3",null,{"children":["$","$4",null,{"name":"Next.Metadata","children":[["$","title","0",{"children":"MapGenius  Explore maps for Tribes 2"}],["$","meta","1",{"name":"description","content":"Tribes 2 forever."}],["$","link","2",{"rel":"icon","href":"/t2-mapper/icon.png?icon.2911bba1.png","sizes":"108x128","type":"image/png"}],["$","$L5","3",{}]]}]}]}],null]}],"loading":null,"isPartial":false}

View file

@ -1,6 +0,0 @@
1:"$Sreact.fragment"
2:I[12985,["/t2-mapper/_next/static/chunks/89fcb9c19e93d0ef.js"],"NuqsAdapter"]
3:I[39756,["/t2-mapper/_next/static/chunks/2f236954d6a65e12.js"],"default"]
4:I[37457,["/t2-mapper/_next/static/chunks/2f236954d6a65e12.js"],"default"]
:HL["/t2-mapper/_next/static/chunks/ad52ebedad251428.css","style"]
0:{"buildId":"6Rbtt13_hS5V8nXPFgNnq","rsc":["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/t2-mapper/_next/static/chunks/ad52ebedad251428.css","precedence":"next"}],["$","script","script-0",{"src":"/t2-mapper/_next/static/chunks/89fcb9c19e93d0ef.js","async":true}]],["$","html",null,{"lang":"en","children":["$","body",null,{"children":["$","$L2",null,{"defaultOptions":{"clearOnDefault":false},"children":["$","$L3",null,{"parallelRouterKey":"children","template":["$","$L4",null,{}],"notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]]}]}]}]}]]}],"loading":null,"isPartial":false}

View file

@ -1,3 +0,0 @@
:HL["/t2-mapper/_next/static/chunks/ad52ebedad251428.css","style"]
:HL["/t2-mapper/_next/static/chunks/aabc2b89bca559ab.css","style"]
0:{"buildId":"6Rbtt13_hS5V8nXPFgNnq","tree":{"name":"","paramType":null,"paramKey":"","hasRuntimePrefetch":false,"slots":{"children":{"name":"__PAGE__","paramType":null,"paramKey":"__PAGE__","hasRuntimePrefetch":false,"slots":null,"isRootLayout":false}},"isRootLayout":true},"staleTime":300}

View file

@ -1,16 +0,0 @@
self.__BUILD_MANIFEST = {
"__rewrites": {
"afterFiles": [],
"beforeFiles": [
{
"source": "/t2-mapper//_next/:path+",
"destination": "/t2-mapper/_next/:path+"
}
],
"fallback": []
},
"sortedPages": [
"/_app",
"/_error"
]
};self.__BUILD_MANIFEST_CB && self.__BUILD_MANIFEST_CB()

View file

@ -1 +0,0 @@
self.__SSG_MANIFEST=new Set([]);self.__SSG_MANIFEST_CB&&self.__SSG_MANIFEST_CB()

View file

@ -1 +0,0 @@
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,81405,(e,t,l)=>{var n;e.e,(n=function(){function e(e){return a.appendChild(e.dom),e}function t(e){for(var t=0;t<a.children.length;t++)a.children[t].style.display=t===e?"block":"none";l=e}var l=0,a=document.createElement("div");a.style.cssText="position:fixed;top:0;left:0;cursor:pointer;opacity:0.9;z-index:10000",a.addEventListener("click",function(e){e.preventDefault(),t(++l%a.children.length)},!1);var i=(performance||Date).now(),r=i,o=0,c=e(new n.Panel("FPS","#0ff","#002")),s=e(new n.Panel("MS","#0f0","#020"));if(self.performance&&self.performance.memory)var m=e(new n.Panel("MB","#f08","#201"));return t(0),{REVISION:16,dom:a,addPanel:e,showPanel:t,begin:function(){i=(performance||Date).now()},end:function(){o++;var e=(performance||Date).now();if(s.update(e-i,200),e>r+1e3&&(c.update(1e3*o/(e-r),100),r=e,o=0,m)){var t=performance.memory;m.update(t.usedJSHeapSize/1048576,t.jsHeapSizeLimit/1048576)}return e},update:function(){i=this.end()},domElement:a,setMode:t}}).Panel=function(e,t,l){var n=1/0,a=0,i=Math.round,r=i(window.devicePixelRatio||1),o=80*r,c=48*r,s=3*r,m=2*r,f=3*r,d=15*r,u=74*r,h=30*r,p=document.createElement("canvas");p.width=o,p.height=c,p.style.cssText="width:80px;height:48px";var x=p.getContext("2d");return x.font="bold "+9*r+"px Helvetica,Arial,sans-serif",x.textBaseline="top",x.fillStyle=l,x.fillRect(0,0,o,c),x.fillStyle=t,x.fillText(e,s,m),x.fillRect(f,d,u,h),x.fillStyle=l,x.globalAlpha=.9,x.fillRect(f,d,u,h),{dom:p,update:function(c,b){n=Math.min(n,c),a=Math.max(a,c),x.fillStyle=l,x.globalAlpha=1,x.fillRect(0,0,o,d),x.fillStyle=t,x.fillText(i(c)+" "+e+" ("+i(n)+"-"+i(a)+")",s,m),x.drawImage(p,f+r,d,u-r,h,f,d,u-r,h),x.fillRect(f+u-r,d,r,h),x.fillStyle=l,x.globalAlpha=.9,x.fillRect(f+u-r,d,r,i((1-c/b)*h))}}},t.exports=n},55141,e=>{e.v({AxisLabel:"DebugElements-module__Cmeo9W__AxisLabel",StatsPanel:"DebugElements-module__Cmeo9W__StatsPanel"})},86855,e=>{"use strict";var t=e.i(43476),l=e.i(932),n=e.i(71645),a=e.i(40859),a=a,i=a,r=e.i(81405);function o(e,t){"function"==typeof e?e(t):null!=e&&(e.current=t)}function c({showPanel:e=0,className:t,parent:l}){let c=function(e,t=[],l){let[a,i]=n.useState();return n.useLayoutEffect(()=>{let t=e();return i(t),o(void 0,t),()=>o(void 0,null)},t),a}(()=>new r.default,[]);return n.useEffect(()=>{if(c){let n=l&&l.current||document.body;c.showPanel(e),null==n||n.appendChild(c.dom);let r=(null!=t?t:"").split(" ").filter(e=>e);r.length&&c.dom.classList.add(...r);let o=(0,a.j)(()=>c.begin()),s=(0,i.k)(()=>c.end());return()=>{r.length&&c.dom.classList.remove(...r),null==n||n.removeChild(c.dom),o(),s()}}},[l,c,t,e]),null}var s=e.i(60099),m=e.i(55141);function f(){let e,a,i,r,o,f,d,u,h,p,x=(0,l.c)(10),b=(0,n.useRef)(null);return x[0]===Symbol.for("react.memo_cache_sentinel")?(e=()=>{let e=b.current;e&&e.setColors("rgb(153, 255, 0)","rgb(0, 153, 255)","rgb(255, 153, 0)")},x[0]=e):e=x[0],(0,n.useEffect)(e),x[1]===Symbol.for("react.memo_cache_sentinel")?(a=(0,t.jsx)(c,{className:m.default.StatsPanel}),x[1]=a):a=x[1],x[2]===Symbol.for("react.memo_cache_sentinel")?(i=[70],x[2]=i):i=x[2],x[3]===Symbol.for("react.memo_cache_sentinel")?(r=(0,t.jsx)("axesHelper",{ref:b,args:i,renderOrder:999,children:(0,t.jsx)("lineBasicMaterial",{depthTest:!1,depthWrite:!1,fog:!1,vertexColors:!0})}),x[3]=r):r=x[3],x[4]===Symbol.for("react.memo_cache_sentinel")?(o=[80,0,0],x[4]=o):o=x[4],x[5]===Symbol.for("react.memo_cache_sentinel")?(f=(0,t.jsx)(s.Html,{position:o,center:!0,children:(0,t.jsx)("span",{className:m.default.AxisLabel,"data-axis":"y",children:"Y"})}),x[5]=f):f=x[5],x[6]===Symbol.for("react.memo_cache_sentinel")?(d=[0,80,0],x[6]=d):d=x[6],x[7]===Symbol.for("react.memo_cache_sentinel")?(u=(0,t.jsx)(s.Html,{position:d,center:!0,children:(0,t.jsx)("span",{className:m.default.AxisLabel,"data-axis":"z",children:"Z"})}),x[7]=u):u=x[7],x[8]===Symbol.for("react.memo_cache_sentinel")?(h=[0,0,80],x[8]=h):h=x[8],x[9]===Symbol.for("react.memo_cache_sentinel")?(p=(0,t.jsxs)(t.Fragment,{children:[a,r,f,u,(0,t.jsx)(s.Html,{position:h,center:!0,children:(0,t.jsx)("span",{className:m.default.AxisLabel,"data-axis":"x",children:"X"})})]}),x[9]=p):p=x[9],p}e.s(["DebugElements",()=>f],86855)}]);

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View file

@ -1 +0,0 @@
.DemoPlaybackControls-module__A_AHSq__Root{z-index:2;align-items:center;gap:10px;padding:8px 12px;font-size:13px;display:flex}.DemoPlaybackControls-module__A_AHSq__PlayPause{color:#fff;cursor:pointer;background:#03529399;border:1px solid #ffffff4d;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;padding:0;font-size:14px;display:flex}@media (hover:hover){.DemoPlaybackControls-module__A_AHSq__PlayPause:hover{background:#0062b3cc}}.DemoPlaybackControls-module__A_AHSq__Time{font-variant-numeric:tabular-nums;white-space:nowrap;flex-shrink:0}.DemoPlaybackControls-module__A_AHSq__Seek[type=range]{flex:1 1 0;min-width:0;max-width:none}.DemoPlaybackControls-module__A_AHSq__Speed{color:#fff;background:#0009;border:1px solid #ffffff4d;border-radius:3px;flex-shrink:0;padding:2px 4px;font-size:12px}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View file

@ -1,75 +0,0 @@
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,63724,e=>{"use strict";var r=e.i(43476),o=e.i(932),a=e.i(71645),t=e.i(46325),l=e.i(47071),c=e.i(71753),n=e.i(90072),i=e.i(12979),u=e.i(79123);let s=`
#include <fog_pars_vertex>
varying vec2 vUv;
void main() {
vUv = uv;
vec4 mvPosition = modelViewMatrix * vec4(position, 1.0);
gl_Position = projectionMatrix * mvPosition;
#include <fog_vertex>
}
`,f=`
#include <fog_pars_fragment>
uniform sampler2D frame0;
uniform sampler2D frame1;
uniform sampler2D frame2;
uniform sampler2D frame3;
uniform sampler2D frame4;
uniform int currentFrame;
uniform float vScroll;
uniform vec2 uvScale;
uniform vec3 tintColor;
uniform float opacity;
uniform float opacityFactor;
varying vec2 vUv;
void main() {
// Scale and scroll UVs
vec2 scrolledUv = vec2(vUv.x * uvScale.x, vUv.y * uvScale.y + vScroll);
// Sample the current frame
vec4 texColor;
if (currentFrame == 0) {
texColor = texture2D(frame0, scrolledUv);
} else if (currentFrame == 1) {
texColor = texture2D(frame1, scrolledUv);
} else if (currentFrame == 2) {
texColor = texture2D(frame2, scrolledUv);
} else if (currentFrame == 3) {
texColor = texture2D(frame3, scrolledUv);
} else {
texColor = texture2D(frame4, scrolledUv);
}
// Tribes 2 GL_MODULATE: output = texture * vertexColor
// No gamma correction - textures use NoColorSpace and values pass through
// directly to display, matching how WaterBlock handles sRGB textures.
vec3 modulatedColor = texColor.rgb * tintColor;
float adjustedOpacity = opacity * opacityFactor;
gl_FragColor = vec4(modulatedColor, adjustedOpacity);
// Custom fog for additive blending: fade out rather than blend to fog color.
// Standard fog (mix toward fogColor) doesn't work with additive blending
// because we'd still be adding fogColor to the framebuffer.
// Uses Torque's quadratic haze formula for consistency.
#ifdef USE_FOG
float dist = vFogDepth;
float fogFactor = 0.0;
if (dist > fogNear) {
if (dist >= fogFar) {
fogFactor = 1.0;
} else {
float fogScale = 1.0 / (fogFar - fogNear);
float distFactor = (dist - fogNear) * fogScale - 1.0;
fogFactor = 1.0 - distFactor * distFactor;
}
}
gl_FragColor.a *= 1.0 - fogFactor;
#endif
}
`;function d(e){let r,t,l,c=(0,o.c)(7),[i,u,s]=e;c[0]!==i||c[1]!==u||c[2]!==s?((r=new n.BoxGeometry(i,u,s)).translate(i/2,u/2,s/2),c[0]=i,c[1]=u,c[2]=s,c[3]=r):r=c[3];let f=r;return c[4]!==f?(t=()=>()=>f.dispose(),l=[f],c[4]=f,c[5]=t,c[6]=l):(t=c[5],l=c[6]),(0,a.useEffect)(t,l),f}function m(e){let a,t,l,c=(0,o.c)(10),{scale:i,color:u,baseTranslucency:s}=e,f=d(i);c[0]!==u[0]||c[1]!==u[1]||c[2]!==u[2]?(a=new n.Color(u[0],u[1],u[2]),c[0]=u[0],c[1]=u[1],c[2]=u[2],c[3]=a):a=c[3];let m=a,v=+s;return c[4]!==m||c[5]!==v?(t=(0,r.jsx)("meshBasicMaterial",{color:m,transparent:!0,opacity:v,blending:n.AdditiveBlending,side:n.DoubleSide,depthWrite:!1,fog:!1}),c[4]=m,c[5]=v,c[6]=t):t=c[6],c[7]!==f||c[8]!==t?(l=(0,r.jsx)("mesh",{geometry:f,renderOrder:1,children:t}),c[7]=f,c[8]=t,c[9]=l):l=c[9],l}function v({scale:e,data:o}){let{animationEnabled:t}=(0,u.useSettings)(),m=d(e),v=(0,a.useMemo)(()=>o.textures.map(e=>(0,i.textureToUrl)(e)),[o.textures]),g=(0,l.useTexture)(v,e=>{e.forEach(e=>{e.wrapS=e.wrapT=n.RepeatWrapping,e.colorSpace=n.NoColorSpace,e.flipY=!1,e.needsUpdate=!0})}),p=(0,a.useMemo)(()=>(function({textures:e,scale:r,umapping:o,vmapping:a,color:t,baseTranslucency:l}){let c=[...r].sort((e,r)=>r-e),i=new n.Vector2(c[0]*o,c[1]*a),u=e[0];return new n.ShaderMaterial({uniforms:{frame0:{value:u},frame1:{value:e[1]??u},frame2:{value:e[2]??u},frame3:{value:e[3]??u},frame4:{value:e[4]??u},currentFrame:{value:0},vScroll:{value:0},uvScale:{value:i},tintColor:{value:new n.Color(...t)},opacity:{value:l},opacityFactor:{value:1},fogColor:{value:new n.Color},fogNear:{value:1},fogFar:{value:2e3}},vertexShader:s,fragmentShader:f,transparent:!0,blending:n.AdditiveBlending,side:n.DoubleSide,depthWrite:!1,fog:!0})})({textures:g,scale:e,umapping:o.umapping,vmapping:o.vmapping,color:o.color,baseTranslucency:o.baseTranslucency}),[g,e,o]);(0,a.useEffect)(()=>()=>p.dispose(),[p]);let x=(0,a.useRef)(0);return(0,c.useFrame)((e,r)=>{if(!t){x.current=0,p.uniforms.currentFrame.value=0,p.uniforms.vScroll.value=0;return}x.current+=r,p.uniforms.currentFrame.value=Math.floor(x.current*o.framesPerSec)%o.numFrames,p.uniforms.vScroll.value=x.current*o.scrollSpeed}),(0,r.jsx)("mesh",{geometry:m,material:p,renderOrder:1})}function g(e){let a,l,c,n=(0,o.c)(14),{entity:i}=e,u=i.forceFieldData,s=u.dimensions;if(0===u.textures.map(p).length){let e;return n[0]!==u.baseTranslucency||n[1]!==u.color||n[2]!==s?(e=(0,r.jsx)(m,{scale:s,color:u.color,baseTranslucency:u.baseTranslucency}),n[0]=u.baseTranslucency,n[1]=u.color,n[2]=s,n[3]=e):e=n[3],e}return n[4]!==u.baseTranslucency||n[5]!==u.color||n[6]!==s?(a=(0,r.jsx)(m,{scale:s,color:u.color,baseTranslucency:u.baseTranslucency}),n[4]=u.baseTranslucency,n[5]=u.color,n[6]=s,n[7]=a):a=n[7],n[8]!==u||n[9]!==s?(l=(0,r.jsx)(v,{scale:s,data:u}),n[8]=u,n[9]=s,n[10]=l):l=n[10],n[11]!==a||n[12]!==l?(c=(0,r.jsx)(t.DebugSuspense,{name:"ForceField",fallback:a,children:l}),n[11]=a,n[12]=l,n[13]=c):c=n[13],c}function p(e){return(0,i.textureToUrl)(e)}e.s(["ForceFieldBare",()=>g],63724)}]);

File diff suppressed because one or more lines are too long

View file

@ -1 +0,0 @@
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,13070,e=>{e.v({Arrow:"KeyboardOverlay-module__HsRBsa__Arrow",Column:"KeyboardOverlay-module__HsRBsa__Column",Key:"KeyboardOverlay-module__HsRBsa__Key",Root:"KeyboardOverlay-module__HsRBsa__Root",Row:"KeyboardOverlay-module__HsRBsa__Row",Spacer:"KeyboardOverlay-module__HsRBsa__Spacer"})},40378,e=>{"use strict";var s=e.i(43476),a=e.i(932),l=e.i(12631),r=e.i(32865),d=e.i(13070);function o(){let e,o,h,K,b,j,x,N,p,R,C,w,S,O,B,A,H,g,k,T,U,D,P,L,W=(0,a.c)(51),q=(0,r.useRecording)(),z=(0,l.useKeyboardControls)(v),E=(0,l.useKeyboardControls)(_),F=(0,l.useKeyboardControls)(y),G=(0,l.useKeyboardControls)(f),I=(0,l.useKeyboardControls)(m),J=(0,l.useKeyboardControls)(u),M=(0,l.useKeyboardControls)(i),Q=(0,l.useKeyboardControls)(n),V=(0,l.useKeyboardControls)(c),X=(0,l.useKeyboardControls)(t);return q&&"live"!==q.source?null:(W[0]===Symbol.for("react.memo_cache_sentinel")?(e=(0,s.jsx)("div",{className:d.default.Spacer}),W[0]=e):e=W[0],W[1]!==z?(o=(0,s.jsx)("div",{className:d.default.Key,"data-pressed":z,children:"W"}),W[1]=z,W[2]=o):o=W[2],W[3]===Symbol.for("react.memo_cache_sentinel")?(h=(0,s.jsx)("div",{className:d.default.Spacer}),W[3]=h):h=W[3],W[4]!==o?(K=(0,s.jsxs)("div",{className:d.default.Row,children:[e,o,h]}),W[4]=o,W[5]=K):K=W[5],W[6]!==F?(b=(0,s.jsx)("div",{className:d.default.Key,"data-pressed":F,children:"A"}),W[6]=F,W[7]=b):b=W[7],W[8]!==E?(j=(0,s.jsx)("div",{className:d.default.Key,"data-pressed":E,children:"S"}),W[8]=E,W[9]=j):j=W[9],W[10]!==G?(x=(0,s.jsx)("div",{className:d.default.Key,"data-pressed":G,children:"D"}),W[10]=G,W[11]=x):x=W[11],W[12]!==b||W[13]!==j||W[14]!==x?(N=(0,s.jsxs)("div",{className:d.default.Row,children:[b,j,x]}),W[12]=b,W[13]=j,W[14]=x,W[15]=N):N=W[15],W[16]!==K||W[17]!==N?(p=(0,s.jsxs)("div",{className:d.default.Column,children:[K,N]}),W[16]=K,W[17]=N,W[18]=p):p=W[18],W[19]===Symbol.for("react.memo_cache_sentinel")?(R=(0,s.jsx)("span",{className:d.default.Arrow,children:"↑"}),W[19]=R):R=W[19],W[20]!==I?(C=(0,s.jsx)("div",{className:d.default.Row,children:(0,s.jsxs)("div",{className:d.default.Key,"data-pressed":I,children:[R," Space"]})}),W[20]=I,W[21]=C):C=W[21],W[22]===Symbol.for("react.memo_cache_sentinel")?(w=(0,s.jsx)("span",{className:d.default.Arrow,children:"↓"}),W[22]=w):w=W[22],W[23]!==J?(S=(0,s.jsx)("div",{className:d.default.Row,children:(0,s.jsxs)("div",{className:d.default.Key,"data-pressed":J,children:[w," Shift"]})}),W[23]=J,W[24]=S):S=W[24],W[25]!==C||W[26]!==S?(O=(0,s.jsxs)("div",{className:d.default.Column,children:[C,S]}),W[25]=C,W[26]=S,W[27]=O):O=W[27],W[28]===Symbol.for("react.memo_cache_sentinel")?(B=(0,s.jsx)("div",{className:d.default.Spacer}),W[28]=B):B=W[28],W[29]!==M?(A=(0,s.jsx)("div",{className:d.default.Key,"data-pressed":M,children:"↑"}),W[29]=M,W[30]=A):A=W[30],W[31]===Symbol.for("react.memo_cache_sentinel")?(H=(0,s.jsx)("div",{className:d.default.Spacer}),W[31]=H):H=W[31],W[32]!==A?(g=(0,s.jsxs)("div",{className:d.default.Row,children:[B,A,H]}),W[32]=A,W[33]=g):g=W[33],W[34]!==V?(k=(0,s.jsx)("div",{className:d.default.Key,"data-pressed":V,children:"←"}),W[34]=V,W[35]=k):k=W[35],W[36]!==Q?(T=(0,s.jsx)("div",{className:d.default.Key,"data-pressed":Q,children:"↓"}),W[36]=Q,W[37]=T):T=W[37],W[38]!==X?(U=(0,s.jsx)("div",{className:d.default.Key,"data-pressed":X,children:"→"}),W[38]=X,W[39]=U):U=W[39],W[40]!==k||W[41]!==T||W[42]!==U?(D=(0,s.jsxs)("div",{className:d.default.Row,children:[k,T,U]}),W[40]=k,W[41]=T,W[42]=U,W[43]=D):D=W[43],W[44]!==g||W[45]!==D?(P=(0,s.jsxs)("div",{className:d.default.Column,children:[g,D]}),W[44]=g,W[45]=D,W[46]=P):P=W[46],W[47]!==O||W[48]!==P||W[49]!==p?(L=(0,s.jsxs)("div",{className:d.default.Root,children:[p,O,P]}),W[47]=O,W[48]=P,W[49]=p,W[50]=L):L=W[50],L)}function t(e){return e.lookRight}function c(e){return e.lookLeft}function n(e){return e.lookDown}function i(e){return e.lookUp}function u(e){return e.down}function m(e){return e.up}function f(e){return e.right}function y(e){return e.left}function _(e){return e.backward}function v(e){return e.forward}e.s(["KeyboardOverlay",()=>o])}]);

View file

@ -1 +0,0 @@
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,78462,e=>{e.v({PlayPause:"DemoPlaybackControls-module__A_AHSq__PlayPause",Root:"DemoPlaybackControls-module__A_AHSq__Root",Seek:"DemoPlaybackControls-module__A_AHSq__Seek",Speed:"DemoPlaybackControls-module__A_AHSq__Speed",Time:"DemoPlaybackControls-module__A_AHSq__Time"})},94737,e=>{"use strict";var t=e.i(43476),a=e.i(932),o=e.i(71645),n=e.i(32865),l=e.i(78462);let r=[.25,.5,1,2,4];function s(e){let t=Math.floor(e/60),a=Math.floor(e%60);return`${t}:${a.toString().padStart(2,"0")}`}function u(){let e,u,_,p,P,f,g,y,S,b,A,C,k=(0,a.c)(33),T=(0,n.useRecording)(),h=(0,n.useIsPlaying)(),v=(0,n.useCurrentTime)(),N=(0,n.useDuration)(),D=(0,n.useSpeed)(),{play:w,pause:x,seek:E,setSpeed:j}=(0,n.usePlaybackActions)();k[0]!==h||k[1]!==x||k[2]!==w||k[3]!==T?(e=()=>{if(!T)return;let e=e=>{if("Space"!==e.code)return;let t=e.target;"INPUT"===t.tagName||"TEXTAREA"===t.tagName||"SELECT"===t.tagName||"BUTTON"===t.tagName||t.isContentEditable||(e.preventDefault(),h?x():w())};return window.addEventListener("keydown",e),()=>window.removeEventListener("keydown",e)},u=[T,h,w,x],k[0]=h,k[1]=x,k[2]=w,k[3]=T,k[4]=e,k[5]=u):(e=k[4],u=k[5]),(0,o.useEffect)(e,u),k[6]!==E?(_=e=>{E(parseFloat(e.target.value))},k[6]=E,k[7]=_):_=k[7];let R=_;k[8]!==j?(p=e=>{j(parseFloat(e.target.value))},k[8]=j,k[9]=p):p=k[9];let q=p;if(!T||!Number.isFinite(T.duration))return null;let H=h?x:w,F=h?"Pause":"Play",U=h?"❚❚":"▶";k[10]!==H||k[11]!==F||k[12]!==U?(P=(0,t.jsx)("button",{className:l.default.PlayPause,onClick:H,"aria-label":F,autoFocus:!0,children:U}),k[10]=H,k[11]=F,k[12]=U,k[13]=P):P=k[13],k[14]!==v?(f=s(v),k[14]=v,k[15]=f):f=k[15],k[16]!==N?(g=s(N),k[16]=N,k[17]=g):g=k[17];let $=`${f} / ${g}`;return k[18]!==$?(y=(0,t.jsx)("span",{className:l.default.Time,children:$}),k[18]=$,k[19]=y):y=k[19],k[20]!==v||k[21]!==N||k[22]!==R?(S=(0,t.jsx)("input",{className:l.default.Seek,type:"range",min:0,max:N,step:.01,value:v,onChange:R}),k[20]=v,k[21]=N,k[22]=R,k[23]=S):S=k[23],k[24]===Symbol.for("react.memo_cache_sentinel")?(b=r.map(i),k[24]=b):b=k[24],k[25]!==q||k[26]!==D?(A=(0,t.jsx)("select",{className:l.default.Speed,value:D,onChange:q,children:b}),k[25]=q,k[26]=D,k[27]=A):A=k[27],k[28]!==y||k[29]!==S||k[30]!==A||k[31]!==P?(C=(0,t.jsxs)("div",{className:l.default.Root,onKeyDown:m,onPointerDown:d,onClick:c,children:[P,y,S,A]}),k[28]=y,k[29]=S,k[30]=A,k[31]=P,k[32]=C):C=k[32],C}function i(e){return(0,t.jsxs)("option",{value:e,children:[e,"x"]},e)}function c(e){return e.stopPropagation()}function d(e){return e.stopPropagation()}function m(e){return e.stopPropagation()}e.s(["DemoPlaybackControls",()=>u])}]);

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View file

@ -1 +0,0 @@
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,90963,t=>{t.v({Input:"ChatInput-module__mZgxEG__Input",InputForm:"ChatInput-module__mZgxEG__InputForm"})},52728,t=>{"use strict";var e=t.i(43476),n=t.i(932),o=t.i(71645),a=t.i(98755),u=t.i(90963);function r(){let t,r,m,p,s=(0,n.c)(8),[c,g]=(0,o.useState)("");s[0]!==c?(t=t=>{t.preventDefault();let e=c.trim();e&&(a.liveConnectionStore.getState().sendCommand("messageSent",e),g(""))},s[0]=c,s[1]=t):t=s[1];let h=t;return s[2]===Symbol.for("react.memo_cache_sentinel")?(r=t=>g(t.target.value),s[2]=r):r=s[2],s[3]!==c?(m=(0,e.jsx)("input",{className:u.default.Input,type:"text",placeholder:"Say something…",value:c,onChange:r,onKeyDown:l,onKeyUp:i,maxLength:255}),s[3]=c,s[4]=m):m=s[4],s[5]!==h||s[6]!==m?(p=(0,e.jsx)("form",{className:u.default.InputForm,onSubmit:h,children:m}),s[5]=h,s[6]=m,s[7]=p):p=s[7],p}function i(t){return t.stopPropagation()}function l(t){return t.stopPropagation()}t.s(["ChatInput",()=>r])}]);

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View file

@ -1 +0,0 @@
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,29055,e=>{"use strict";var t=e.i(43476),r=e.i(71645),n=e.i(15080),o=e.i(71753),i=e.i(90072),u=e.i(25645),c=e.i(12979),a=e.i(51434),s=e.i(79123),l=e.i(89887),f=e.i(58647);let d=(0,u.createLogger)("AudioEmitter"),p=new Map,m=new Map;function h(e,t=1){m.set(e,t)}function y(e){m.delete(e)}let g=0;function D(){return g}function v(){for(let[e]of(g++,m)){try{e.stop()}catch{}try{e.disconnect()}catch{}}m.clear()}function R(e,t){let r=t(e),n=r?.filename;if(!n)return null;let o=n.endsWith(".wav")?n:`${n}.wav`,i=r.description,u=null!=i?t(i):void 0,c=u?.is3D??!0,a=u?.isLooping??!1,s=u?.referenceDistance??20;return{filename:o,is3D:c,isLooping:a,refDist:s,maxDist:u?.maxDistance??100,volume:u?.volume??1}}function M(e,t,r,n,o){let u;try{u=(0,c.audioToUrl)(e.filename)}catch{return}let a=f.engineStore.getState().playback.rate,s=g;T(u,r,r=>{if(s===g)try{if(e.is3D&&o){let u=new i.PositionalAudio(t);u.setBuffer(r),u.setDistanceModel("inverse"),u.setRefDistance(e.refDist),u.setMaxDistance(e.maxDist),u.setRolloffFactor(1),u.setVolume(e.volume),u.setPlaybackRate(a),n&&u.position.copy(n),o.add(u),m.set(u,1),u.play(),u.source.onended=()=>{m.delete(u);try{u.disconnect()}catch{}o.remove(u)}}else{let n=new i.Audio(t);n.setBuffer(r),n.setVolume(e.volume),n.setPlaybackRate(a),m.set(n,1),n.play(),n.source.onended=()=>{m.delete(n);try{n.disconnect()}catch{}}}}catch{}})}function T(e,t,r){p.has(e)?r(p.get(e)):t.load(e,t=>{p.set(e,t),r(t)},void 0,t=>{d.error("Audio load error %s: %o",e,t)})}f.engineStore.subscribe(e=>e.playback.rate,e=>{for(let[t,r]of m)try{t.setPlaybackRate(r*e)}catch{}});let b=(0,r.memo)(function({entity:e}){let{debugMode:u}=(0,s.useDebug)(),f=e.audioFileName??"",d=e.audioVolume??1,p=e.audioMinDistance??1,m=e.audioMaxDistance??1,h=e.audioMinLoopGap??0,y=e.audioMaxLoopGap??0,g=e.audioIs3D??!0?1:0,D=e.audioIsLooping??!0,[v,R,M]=e.position??[0,0,0],b=(0,n.useThree)(e=>e.scene),x=(0,n.useThree)(e=>e.camera),{audioLoader:A,audioListener:S}=(0,a.useAudio)(),{audioEnabled:w}=(0,s.useSettings)(),P=(0,r.useRef)(null),k=(0,r.useRef)(null),B=(0,r.useRef)(null),E=(0,r.useRef)(!1),L=(0,r.useRef)(!1),V=(0,r.useRef)(new i.Vector3(v,R,M)),j=(0,r.useRef)(0),F=()=>{null!=k.current&&(clearTimeout(k.current),k.current=null),null!=B.current&&(clearTimeout(B.current),B.current=null)},[C]=(0,r.useState)(()=>Math.random());(0,r.useEffect)(()=>{let e;if(A&&S){if(j.current++,g){let t=new i.PositionalAudio(S);t.position.copy(V.current),t.setDistanceModel("inverse"),t.setRefDistance(p),t.setMaxDistance(m),t.setRolloffFactor(1),t.setVolume(d),e=t,b.add(e)}else(e=new i.Audio(S)).setVolume(d);return P.current=e,()=>{F();try{e.stop()}catch{}try{e.disconnect()}catch{}g&&b.remove(e),P.current=null,E.current=!1,L.current=!1}}},[A,S,g,p,m,d,b]);let G=(e,t)=>{if(D)if(h>0||y>0){let r=Math.max(0,h),n=Math.max(r,y),o=r===n?r:C*(n-r)+r;e.loop=!1;let i=()=>{t===j.current&&(!1===e.isPlaying?k.current=setTimeout(()=>{if(t===j.current)try{e.play(),G(e,t)}catch{}},o):B.current=setTimeout(i,100))};B.current=setTimeout(i,100)}else e.setLoop(!0)},U=(0,r.useEffectEvent)(e=>{if(!A)return;let t=j.current;if(E.current)try{e.isPlaying||(e.play(),G(e,t))}catch{}else{let r;try{r=(0,c.audioToUrl)(f)}catch{return}T(r,A,r=>{if(t===j.current&&!e.buffer){e.setBuffer(r),E.current=!0;try{e.play(),G(e,t)}catch{}}})}});return(0,r.useEffect)(()=>{let e=P.current;e&&!g&&w&&f&&U(e)},[w,g,f,A,S]),(0,o.useFrame)(()=>{let e=P.current;if(!e||!g||!w||!f)return;let t=x.position.distanceTo(V.current),r=L.current,n=t<=m;if(n&&!r)L.current=!0,U(e);else if(!n&&r){L.current=!1,F();try{e.stop()}catch{}}}),(0,r.useEffect)(()=>{let e=P.current;if(e&&!w){F();try{e.stop()}catch{}L.current=!1}},[w]),u?(0,t.jsxs)("mesh",{position:V.current,children:[(0,t.jsx)("sphereGeometry",{args:[p,12,12]}),(0,t.jsx)("meshBasicMaterial",{color:"#00ff00",wireframe:!0,opacity:.05,transparent:!0,toneMapped:!1}),(0,t.jsx)(l.FloatingLabel,{color:"#00ff00",position:[0,p+1,0],children:f})]}):null});e.s(["AudioEmitter",0,b,"audioBufferCache",0,p,"getCachedAudioBuffer",()=>T,"getSoundGeneration",()=>D,"playOneShotSound",()=>M,"resolveAudioProfile",()=>R,"stopAllTrackedSounds",()=>v,"trackSound",()=>h,"untrackSound",()=>y])}]);

View file

@ -1 +0,0 @@
.ChatInput-module__mZgxEG__InputForm{display:flex}.ChatInput-module__mZgxEG__Input{color:#28e7f0;background:#00323ccc;border:0;border-top:1px solid #4eb3a733;border-radius:0;outline:none;width:100%;margin:0;padding:6px;font-family:inherit;font-size:12px;line-height:1.25}.ChatInput-module__mZgxEG__Input::placeholder{color:#2cacb580}.ChatInput-module__mZgxEG__Input:focus{background:#00323ce6}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View file

@ -1 +0,0 @@
.TouchJoystick-module__tcddlW__Joystick{z-index:1;width:140px;height:140px;position:absolute;bottom:20px;left:50%;transform:translate(-50%)}.TouchJoystick-module__tcddlW__Left{left:20px;transform:none;}.TouchJoystick-module__tcddlW__Right{left:auto;right:20px;transform:none;}

View file

@ -1 +0,0 @@
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,64972,e=>{"use strict";var r=e.i(43476),t=e.i(932),i=e.i(71645),s=e.i(71753),o=e.i(47071),n=e.i(90072),a=e.i(85557),c=e.i(12979);let l=new n.Vector3,u=new n.Vector3,d=new n.Vector3,f=new n.Vector3,y=new n.Vector3,b=new n.Vector3,x=new n.Vector3(0,1,0);function h(e){let i,s,a,l,u,d=(0,t.c)(14),{entity:f}=e,{visual:y}=f;d[0]!==y.texture?(i=(0,c.textureToUrl)(y.texture),d[0]=y.texture,d[1]=i):i=d[1];let b=i,x=(0,o.useTexture)(b,p),h=Array.isArray(x)?x[0]:x;d[2]!==y.color.b||d[3]!==y.color.g||d[4]!==y.color.r?(s=new n.Color().setRGB(y.color.r,y.color.g,y.color.b,n.SRGBColorSpace),d[2]=y.color.b,d[3]=y.color.g,d[4]=y.color.r,d[5]=s):s=d[5];let m=s;return d[6]!==y.size?(a=[y.size,y.size,1],d[6]=y.size,d[7]=a):a=d[7],d[8]!==m||d[9]!==h?(l=(0,r.jsx)("spriteMaterial",{map:h,color:m,transparent:!0,blending:n.AdditiveBlending,depthWrite:!1,toneMapped:!1}),d[8]=m,d[9]=h,d[10]=l):l=d[10],d[11]!==a||d[12]!==l?(u=(0,r.jsx)("sprite",{scale:a,children:l}),d[11]=a,d[12]=l,d[13]=u):u=d[13],u}function p(e){let r=Array.isArray(e)?e[0]:e;(0,a.setupEffectTexture)(r)}function m(e){let h,p,m,g,S,w,j,z,T,V,v,C,B=(0,t.c)(29),{entity:R}=e,{visual:U}=R,_=(0,i.useRef)(null),F=(0,i.useRef)(null),q=(0,i.useRef)(null);B[0]===Symbol.for("react.memo_cache_sentinel")?(h=new n.Quaternion,B[0]=h):h=B[0];let M=(0,i.useRef)(h);B[1]!==U.texture?(p=(0,c.textureToUrl)(U.texture),B[1]=U.texture,B[2]=p):p=B[2];let W=U.crossTexture??U.texture;B[3]!==W?(m=(0,c.textureToUrl)(W),B[3]=W,B[4]=m):m=B[4],B[5]!==p||B[6]!==m?(g=[p,m],B[5]=p,B[6]=m,B[7]=g):g=B[7];let G=g,P=(0,o.useTexture)(G,A);B[8]!==P?(S=Array.isArray(P)?P:[P,P],B[8]=P,B[9]=S):S=B[9];let[k,D]=S;return B[10]!==R.direction||B[11]!==R.keyframes?.[0]||B[12]!==U.crossSize||B[13]!==U.crossViewAng||B[14]!==U.renderCross||B[15]!==U.tracerLength||B[16]!==U.tracerWidth?(w=e=>{let{camera:r}=e,t=_.current,i=F.current;if(!t||!i)return;let s=R.keyframes?.[0],o=s?.position,n=R.direction??s?.velocity;if(!o||!n||((0,a.torqueVecToThree)(n,l),1e-8>l.lengthSq())){t.visible=!1,q.current&&(q.current.visible=!1);return}l.normalize(),t.visible=!0,(0,a.torqueVecToThree)(o,b),u.copy(b).sub(r.position),d.crossVectors(u,l),1e-8>d.lengthSq()&&(d.crossVectors(x,l),1e-8>d.lengthSq()&&d.set(1,0,0)),d.normalize().multiplyScalar(U.tracerWidth);let c=.5*U.tracerLength;f.copy(l).multiplyScalar(-c),y.copy(l).multiplyScalar(c);let h=i.array;h[0]=f.x+d.x,h[1]=f.y+d.y,h[2]=f.z+d.z,h[3]=f.x-d.x,h[4]=f.y-d.y,h[5]=f.z-d.z,h[6]=y.x-d.x,h[7]=y.y-d.y,h[8]=y.z-d.z,h[9]=y.x+d.x,h[10]=y.y+d.y,h[11]=y.z+d.z,i.needsUpdate=!0;let p=q.current;if(!p)return;if(!U.renderCross){p.visible=!1;return}u.normalize();let m=l.dot(u);if(m>-U.crossViewAng&&m<U.crossViewAng){p.visible=!1;return}p.visible=!0,(0,a.setQuaternionFromDir)(l,M.current),p.quaternion.copy(M.current),p.scale.setScalar(U.crossSize)},B[10]=R.direction,B[11]=R.keyframes?.[0],B[12]=U.crossSize,B[13]=U.crossViewAng,B[14]=U.renderCross,B[15]=U.tracerLength,B[16]=U.tracerWidth,B[17]=w):w=B[17],(0,s.useFrame)(w),B[18]===Symbol.for("react.memo_cache_sentinel")?(j=(0,r.jsx)("bufferAttribute",{ref:F,attach:"attributes-position",args:[new Float32Array(12),3]}),B[18]=j):j=B[18],B[19]===Symbol.for("react.memo_cache_sentinel")?(z=(0,r.jsx)("bufferAttribute",{attach:"attributes-uv",args:[new Float32Array([0,0,0,1,1,1,1,0]),2]}),B[19]=z):z=B[19],B[20]===Symbol.for("react.memo_cache_sentinel")?(T=(0,r.jsxs)("bufferGeometry",{children:[j,z,(0,r.jsx)("bufferAttribute",{attach:"index",args:[new Uint16Array([0,1,2,0,2,3]),1]})]}),B[20]=T):T=B[20],B[21]!==k?(V=(0,r.jsxs)("mesh",{ref:_,children:[T,(0,r.jsx)("meshBasicMaterial",{map:k,transparent:!0,blending:n.AdditiveBlending,side:n.DoubleSide,depthWrite:!1,toneMapped:!1})]}),B[21]=k,B[22]=V):V=B[22],B[23]!==D||B[24]!==U.renderCross?(v=U.renderCross?(0,r.jsxs)("mesh",{ref:q,children:[(0,r.jsxs)("bufferGeometry",{children:[(0,r.jsx)("bufferAttribute",{attach:"attributes-position",args:[new Float32Array([-.5,0,-.5,.5,0,-.5,.5,0,.5,-.5,0,.5]),3]}),(0,r.jsx)("bufferAttribute",{attach:"attributes-uv",args:[new Float32Array([0,0,0,1,1,1,1,0]),2]}),(0,r.jsx)("bufferAttribute",{attach:"index",args:[new Uint16Array([0,1,2,0,2,3]),1]})]}),(0,r.jsx)("meshBasicMaterial",{map:D,transparent:!0,blending:n.AdditiveBlending,side:n.DoubleSide,depthWrite:!1,toneMapped:!1})]}):null,B[23]=D,B[24]=U.renderCross,B[25]=v):v=B[25],B[26]!==V||B[27]!==v?(C=(0,r.jsxs)(r.Fragment,{children:[V,v]}),B[26]=V,B[27]=v,B[28]=C):C=B[28],C}function A(e){for(let r of Array.isArray(e)?e:[e])(0,a.setupEffectTexture)(r)}e.s(["SpriteProjectile",()=>h,"TracerProjectile",()=>m])}]);

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View file

@ -1,4 +0,0 @@
.GuiMarkup-module__CLgNnq__GuiMarkup{white-space:pre-wrap;font-size:14px;line-height:1.5}.GuiMarkup-module__CLgNnq__GuiMarkup a{color:inherit;text-decoration:underline}.GuiMarkup-module__CLgNnq__Bullet{margin-left:.5em;margin-right:.5em}
.GameDialog-module__C6hZDW__Dialog{color:#b0d5c9;-webkit-user-select:text;user-select:text;-webkit-touch-callout:default;background:#142526cc;border:1px solid #41838b99;border-radius:4px;outline:none;max-width:calc(100dvw - 40px);max-height:calc(100dvh - 40px);font-size:14px;line-height:1.5;position:relative;overflow:hidden;box-shadow:0 0 50px #0006,inset 0 0 60px #01070d99}.GameDialog-module__C6hZDW__Overlay{z-index:10;background:#000000b3;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.GameDialog-module__C6hZDW__DialogButton{color:#99fff1;text-shadow:0 -1px 1px #0006;cursor:pointer;background:linear-gradient(#30a497cc,#1f9688cc 33%,#218377cc 67%,#046564cc);border:1px solid #387c74cc;border-top-color:#57b7b9cc;border-radius:4px;padding:4px 18px;font-family:inherit;font-size:14px;font-weight:500;box-shadow:inset 0 0 4px #02808e80}.GameDialog-module__C6hZDW__DialogButton:hover:not(:disabled){color:#b1fff5;border:1px solid #409188e6;border-top-color:#5ac6c2e6;box-shadow:inset 0 0 4px #02808e80,0 0 5px #3effbf80}.GameDialog-module__C6hZDW__DialogButton:active:not(:disabled){transform:translateY(1px)}.GameDialog-module__C6hZDW__DialogButton:disabled{opacity:.4;cursor:not-allowed}.GameDialog-module__C6hZDW__Secondary{box-shadow:none;color:#a2e2cfcc;text-shadow:none;background:0 0;border:1px solid #387c74cc;}.GameDialog-module__C6hZDW__Secondary:hover:not(:disabled){color:#a9ffe5cc;border:1px solid #3f9087e6}.GameDialog-module__C6hZDW__Actions{align-items:center;gap:10px;display:flex}@media (max-width:719px){.GameDialog-module__C6hZDW__Dialog{border-radius:0;max-width:calc(100dvw - 20px);max-height:calc(100dvh - 20px)}}@media (max-width:639px){.GameDialog-module__C6hZDW__Overlay{padding:10px}}
.MapInfoDialog-module__m0lXla__Dialog{grid-template-rows:1fr auto;grid-template-columns:100%;width:800px;height:600px;display:grid;}.MapInfoDialog-module__m0lXla__Overlay{}.MapInfoDialog-module__m0lXla__Body{grid-template-rows:100%;grid-template-columns:1fr auto;min-height:0;display:grid;overflow:hidden}.MapInfoDialog-module__m0lXla__Left{padding:24px 28px;overflow-y:auto}.MapInfoDialog-module__m0lXla__PreviewImage{border-left:1px solid #00bedc40;height:100%;display:block}.MapInfoDialog-module__m0lXla__PreviewImageFloating{float:right;clear:right;width:auto;max-width:30%;max-height:260px;margin:0 0 16px 20px;display:block}.MapInfoDialog-module__m0lXla__Title{color:#7dffff;text-shadow:0 1px 6px #0006;margin:0;font-size:26px;font-weight:500}.MapInfoDialog-module__m0lXla__MapMeta{flex-wrap:wrap;gap:8px 16px;margin-bottom:4px;font-size:15px;font-weight:400;display:flex}.MapInfoDialog-module__m0lXla__MapPlanet{color:#dbcaa8b3}.MapInfoDialog-module__m0lXla__MapQuote{border-left:2px solid #00bedc59;margin:16px 0;padding:0 0 0 14px;font-style:italic}.MapInfoDialog-module__m0lXla__MapQuote p{white-space:pre-line;margin:0 0 4px}.MapInfoDialog-module__m0lXla__MapQuote cite{color:#d7edcb80;font-size:12px;font-style:normal;display:block}.MapInfoDialog-module__m0lXla__MapBlurb{margin:0 0 16px;font-size:13px}.MapInfoDialog-module__m0lXla__Section{margin-top:20px}.MapInfoDialog-module__m0lXla__SectionTitle{color:#7dffff;letter-spacing:.04em;text-transform:uppercase;text-shadow:0 0 16px #00d2f040;margin:0 0 8px;font-size:16px;font-weight:500}.MapInfoDialog-module__m0lXla__MusicTrack{color:#d7edcb80;align-items:center;gap:6px;margin-top:16px;font-size:14px;font-style:italic;display:flex}.MapInfoDialog-module__m0lXla__MusicTrack[data-playing=true]{color:#f7fdd8b3}.MapInfoDialog-module__m0lXla__MusicButton{cursor:pointer;color:#557663;opacity:.5;background:0 0;border:0;border-radius:20px;flex-shrink:0;place-content:center;width:32px;height:32px;padding:0;font-size:20px;font-style:normal;line-height:1;display:grid}.MapInfoDialog-module__m0lXla__MusicTrack[data-playing=true] .MapInfoDialog-module__m0lXla__MusicButton{color:#6dffaa;opacity:1}.MapInfoDialog-module__m0lXla__MusicTrack[data-playing=true] .MapInfoDialog-module__m0lXla__MusicButton:hover{opacity:.7}.MapInfoDialog-module__m0lXla__Footer{background:#021415b3;border-top:1px solid #00bedc40;flex-shrink:0;align-items:center;gap:16px;padding:10px 12px;display:flex}.MapInfoDialog-module__m0lXla__CloseButton{}.MapInfoDialog-module__m0lXla__Hint{color:#c9dcd84d;margin-left:auto;font-size:12px}.MapInfoDialog-module__m0lXla__MusicTrackName{text-transform:capitalize}@media (max-width:719px){.MapInfoDialog-module__m0lXla__Body{display:block;overflow:auto}.MapInfoDialog-module__m0lXla__Hint{display:none}.MapInfoDialog-module__m0lXla__Left{width:100%;height:auto;margin:0;padding:16px 20px;overflow:auto}.MapInfoDialog-module__m0lXla__PreviewImage{width:auto;height:auto;margin:16px auto}.MapInfoDialog-module__m0lXla__CloseButton{width:220px;height:36px;margin:0 auto}}
.ServerBrowser-module__kqm3eq__Dialog{grid-template-rows:auto 1fr auto;grid-template-columns:100%;width:860px;height:560px;display:grid;}.ServerBrowser-module__kqm3eq__Overlay{}.ServerBrowser-module__kqm3eq__Header{border-bottom:1px solid #00bedc40;align-items:center;gap:12px;padding:12px 16px 10px;display:flex}.ServerBrowser-module__kqm3eq__Title{color:#7dffff;text-shadow:0 1px 6px #0006;flex:1;margin:0;font-size:18px;font-weight:500}.ServerBrowser-module__kqm3eq__HiddenRadio{opacity:0;z-index:-1;pointer-events:none;width:0;height:0;position:absolute;overflow:hidden}.ServerBrowser-module__kqm3eq__RefreshButton{padding:3px 14px;font-size:12px;}.ServerBrowser-module__kqm3eq__ServerCount{color:#c9dcd866;font-size:12px}.ServerBrowser-module__kqm3eq__TableWrapper{min-height:0;overflow-y:auto}.ServerBrowser-module__kqm3eq__Table{border-collapse:collapse;width:100%;min-height:0;font-size:13px}.ServerBrowser-module__kqm3eq__Table th{z-index:1;text-align:left;cursor:pointer;-webkit-user-select:none;user-select:none;letter-spacing:.04em;text-transform:uppercase;color:#7dffff99;background:#0a191af2;border-bottom:1px solid #00bedc33;padding:6px 12px;font-size:11px;font-weight:500;position:sticky;top:0}.ServerBrowser-module__kqm3eq__Table th:hover{color:#7dffff}.ServerBrowser-module__kqm3eq__Table th:nth-child(2),.ServerBrowser-module__kqm3eq__Table td:nth-child(2),.ServerBrowser-module__kqm3eq__Table th:nth-child(3),.ServerBrowser-module__kqm3eq__Table td:nth-child(3){text-align:right}.ServerBrowser-module__kqm3eq__Table td{z-index:0;white-space:nowrap;text-overflow:ellipsis;border-bottom:1px solid #ffffff0a;max-width:340px;padding:3px 12px;font-weight:500;position:relative;overflow:hidden}.ServerBrowser-module__kqm3eq__Table td.ServerBrowser-module__kqm3eq__EmptyServer{opacity:.4}.ServerBrowser-module__kqm3eq__Table tbody tr:not(.ServerBrowser-module__kqm3eq__Empty){cursor:pointer}.ServerBrowser-module__kqm3eq__Table tbody tr:not(.ServerBrowser-module__kqm3eq__Empty):hover{background:#41838b1f}.ServerBrowser-module__kqm3eq__Table tbody tr:has(input:checked){color:#1e2828;background:#5dffe1e6!important}.ServerBrowser-module__kqm3eq__PasswordIcon{color:#ffc83c99;margin-right:4px;font-size:11px}.ServerBrowser-module__kqm3eq__Empty td{text-align:center;color:#c9dcd84d;font-style:italic;padding:32px 12px!important}.ServerBrowser-module__kqm3eq__Footer{background:#021415b3;border-top:1px solid #00bedc40;flex-shrink:0;justify-content:space-between;align-items:center;gap:16px;padding:10px 12px;display:flex}.ServerBrowser-module__kqm3eq__JoinButton{min-width:100px;}.ServerBrowser-module__kqm3eq__CloseButton{}.ServerBrowser-module__kqm3eq__WarriorField{align-items:center;gap:8px;display:flex}.ServerBrowser-module__kqm3eq__WarriorLabel{color:#7dffff99;font-size:12px;font-weight:500}.ServerBrowser-module__kqm3eq__WarriorInput{color:#b0d5c9;background:#00323ccc;border:1px solid #41838b80;border-radius:2px;outline:none;width:130px;padding:4px 6px;font-family:inherit;font-size:13px}.ServerBrowser-module__kqm3eq__WarriorInput:focus{border-color:#7dffff99}.ServerBrowser-module__kqm3eq__WarriorInput::placeholder{color:#c9dcd84d}.ServerBrowser-module__kqm3eq__Hint{color:#c9dcd84d;margin:0 auto;font-size:12px}.ServerBrowser-module__kqm3eq__Actions{}@media (max-width:719px){.ServerBrowser-module__kqm3eq__Hint{display:none}.ServerBrowser-module__kqm3eq__Table td{max-width:200px}.ServerBrowser-module__kqm3eq__CloseButton{margin-left:auto}}@media (max-width:539px){.ServerBrowser-module__kqm3eq__Footer{flex-direction:column;gap:8px}.ServerBrowser-module__kqm3eq__Actions{width:100%}.ServerBrowser-module__kqm3eq__WarriorLabel{font-size:14px}.ServerBrowser-module__kqm3eq__WarriorInput{min-width:12em;font-size:16px}.ServerBrowser-module__kqm3eq__JoinButton,.ServerBrowser-module__kqm3eq__CloseButton{flex:1 0 auto;height:32px}}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View file

@ -1 +0,0 @@
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,66069,e=>{"use strict";var t=e.i(932),n=e.i(71645),r=e.i(71753),c=e.i(15080),u=e.i(79123),i=e.i(66093),l=e.i(65349);function o(){let e,o,a,h,m,d=(0,t.c)(17),{speedMultiplier:f,touchMode:v,invertDrag:E,invertJoystick:g}=(0,u.useControls)(),M=(0,c.useThree)(s),{moveState:T,lookState:L}=(0,i.useJoystick)(),k=(0,l.useOnInput)(),p=(0,n.useRef)(null);d[0]===Symbol.for("react.memo_cache_sentinel")?(e={x:0,y:0},d[0]=e):e=d[0];let b=(0,n.useRef)(e);d[1]!==E?(o=()=>E,d[1]=E,d[2]=o):o=d[2];let x=(0,n.useEffectEvent)(o),y=(0,n.useRef)(0),R=(0,n.useRef)(0);return d[3]!==x||d[4]!==M.domElement||d[5]!==v?(a=()=>{if("moveLookStick"!==v)return;let e=M.domElement,t=e=>{if(null===p.current)for(;0<e.changedTouches.length;){let t=e.changedTouches[0];p.current=t.identifier,b.current={x:t.clientX,y:t.clientY};break}},n=e=>{if(null!==p.current)for(let t=0;t<e.changedTouches.length;t++){let n=e.changedTouches[t];if(n.identifier===p.current){let e=n.clientX-b.current.x,t=n.clientY-b.current.y;b.current={x:n.clientX,y:n.clientY};let r=x()?-1:1;y.current=y.current+r*e*.004,R.current=R.current+r*t*.004;break}}},r=e=>{for(let t=0;t<e.changedTouches.length;t++)if(e.changedTouches[t].identifier===p.current){p.current=null;break}};return e.addEventListener("touchstart",t,{passive:!0}),e.addEventListener("touchmove",n,{passive:!0}),e.addEventListener("touchend",r,{passive:!0}),e.addEventListener("touchcancel",r,{passive:!0}),()=>{e.removeEventListener("touchstart",t),e.removeEventListener("touchmove",n),e.removeEventListener("touchend",r),e.removeEventListener("touchcancel",r),p.current=null}},d[3]=x,d[4]=M.domElement,d[5]=v,d[6]=a):a=d[6],d[7]!==M.domElement||d[8]!==v?(h=[M.domElement,v],d[7]=M.domElement,d[8]=v,d[9]=h):h=d[9],(0,n.useEffect)(a,h),d[10]!==g||d[11]!==L.current||d[12]!==T.current||d[13]!==k||d[14]!==f||d[15]!==v?(m=(e,t)=>{let{force:n,angle:r}=T.current,{force:c,angle:u}=L.current,i=y.current,l=R.current;y.current=0,R.current=0;let o=0,s=0;if("dualStick"===v){if(c>.15){let e=(c-.15)/.85,n=Math.cos(u),r=Math.sin(u),o=g?-1:1;i-=o*n*e*2.5*t,l+=o*r*e*2.5*t}if(n>.08){let e=(n-.08)/.92,t=Math.cos(r),c=Math.sin(r);o=Math.max(-1,Math.min(1,-t*e*f)),s=Math.max(-1,Math.min(1,c*e*f))}}else if("moveLookStick"===v&&n>0&&(s=Math.max(-1,Math.min(1,.5*f)),n>=.15)){let e=Math.cos(r),c=Math.sin(r),u=(n-.15)/.85,o=g?-1:1;i-=o*e*u*1.25*t,l+=o*c*u*1.25*t}let a=0!==o||0!==s;(0!==i||0!==l||a)&&k({deltaYaw:i,deltaPitch:l,x:o,y:s,z:0,triggers:[],delta:t})},d[10]=g,d[11]=L.current,d[12]=T.current,d[13]=k,d[14]=f,d[15]=v,d[16]=m):m=d[16],(0,r.useFrame)(m),null}function s(e){return e.gl}e.s(["TouchHandler",()=>o])}]);

File diff suppressed because one or more lines are too long

View file

@ -1 +0,0 @@
.KeyboardOverlay-module__HsRBsa__Root{pointer-events:none;z-index:1;align-items:flex-end;gap:10px;display:flex;position:absolute;bottom:16px;left:50%;transform:translate(-50%)}.KeyboardOverlay-module__HsRBsa__Column{flex-direction:column;justify-content:center;gap:4px;display:flex}.KeyboardOverlay-module__HsRBsa__Row{justify-content:stretch;gap:4px;display:flex}.KeyboardOverlay-module__HsRBsa__Spacer{width:32px}.KeyboardOverlay-module__HsRBsa__Key{color:#ffffff80;white-space:nowrap;background:#0006;border:1px solid #fff3;border-radius:4px;flex:1 0 0;justify-content:center;align-items:center;min-width:32px;height:32px;padding:0 8px;font-size:11px;font-weight:600;display:flex}.KeyboardOverlay-module__HsRBsa__Key[data-pressed=true]{color:#fff;background:#34bbab99;border-color:#23fddc80}.KeyboardOverlay-module__HsRBsa__Arrow{margin-right:3px}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View file

@ -1,14 +0,0 @@
.InspectorControls-module__gNRB6W__InspectorControls{z-index:2;font-size:13px;line-height:1.231;position:relative}.InspectorControls-module__gNRB6W__Dropdown{flex-direction:column;justify-content:center;align-items:stretch;gap:0;display:flex}.InspectorControls-module__gNRB6W__ButtonGroup{flex:1 0 auto;align-items:stretch;width:100%;display:flex}.InspectorControls-module__gNRB6W__ButtonGroup .InspectorControls-module__gNRB6W__IconButton{background:#1b4f87b3;flex-direction:column;flex:1 0 0;gap:1px;padding-top:8px;padding-bottom:8px;font-size:22px;box-shadow:inset 0 0 10px #04284780}.InspectorControls-module__gNRB6W__ButtonGroup .InspectorControls-module__gNRB6W__IconButton svg{margin-bottom:3px}.InspectorControls-module__gNRB6W__ButtonGroup .InspectorControls-module__gNRB6W__IconButton[data-active=true]{background:#0065cbcc;box-shadow:inset 0 2px 3px #08bdff80,inset 0 -2px 6px #00122880}.InspectorControls-module__gNRB6W__ButtonGroup .InspectorControls-module__gNRB6W__IconButton[data-active=true] svg{opacity:1}.InspectorControls-module__gNRB6W__ButtonGroup .InspectorControls-module__gNRB6W__IconButton:not(:first-child){border-left:0;border-top-left-radius:0;border-bottom-left-radius:0}.InspectorControls-module__gNRB6W__ButtonGroup .InspectorControls-module__gNRB6W__IconButton:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.InspectorControls-module__gNRB6W__Group{flex-wrap:wrap;justify-content:center;align-items:center;gap:20px;display:flex}.InspectorControls-module__gNRB6W__LabelledButton{align-items:center;gap:6px;display:flex}.InspectorControls-module__gNRB6W__CheckboxField{grid-template-rows:auto auto;grid-template-columns:auto 1fr;align-items:center;gap:0 6px;margin:0 0 8px;display:grid}.InspectorControls-module__gNRB6W__CheckboxField:has(.InspectorControls-module__gNRB6W__Description){margin:0 0 6px}.InspectorControls-module__gNRB6W__CheckboxField input[type=checkbox]{grid-area:1/1;margin-left:0}.InspectorControls-module__gNRB6W__CheckboxField .InspectorControls-module__gNRB6W__Label{grid-area:1/2;align-items:center;gap:6px;display:flex}.InspectorControls-module__gNRB6W__Description{opacity:.6;margin:2px 0 0;padding:0;font-size:12px;line-height:1.3333}.InspectorControls-module__gNRB6W__CheckboxField .InspectorControls-module__gNRB6W__Description{grid-area:2/2}.InspectorControls-module__gNRB6W__Control{align-items:center;gap:8px;display:flex}.InspectorControls-module__gNRB6W__Field select{margin-bottom:6px}.InspectorControls-module__gNRB6W__Field output{opacity:.7}.InspectorControls-module__gNRB6W__Tools{flex-wrap:wrap;align-items:center;gap:8px;padding:10px;display:flex}.InspectorControls-module__gNRB6W__Field{grid-template-rows:auto auto;grid-template-columns:1fr auto;align-items:center;margin:0 0 12px;display:grid}.InspectorControls-module__gNRB6W__Field:has(.InspectorControls-module__gNRB6W__Description){margin:0 0 10px}.InspectorControls-module__gNRB6W__Field label{grid-area:1/1}.InspectorControls-module__gNRB6W__Field .InspectorControls-module__gNRB6W__Control{grid-area:1/2}.InspectorControls-module__gNRB6W__Field .InspectorControls-module__gNRB6W__Description{grid-area:2/1/auto/-1}.InspectorControls-module__gNRB6W__IconButton{color:#fff;cursor:pointer;background:#0062b3cc;border:1px solid #fff6;border-radius:5px;flex:auto;justify-content:center;align-items:center;gap:8px;width:auto;min-width:28px;height:auto;min-height:32px;margin:0;padding:4px 8px;font-family:inherit;font-size:18px;font-weight:500;transition:background .2s,border-color .2s;display:flex;position:relative;transform:translate(0);box-shadow:0 1px 2px #0006}.InspectorControls-module__gNRB6W__IconButton svg{opacity:.8;pointer-events:none;flex:none;transition:opacity .2s}.InspectorControls-module__gNRB6W__IconButton:disabled{opacity:.6;cursor:default}@media (hover:hover){.InspectorControls-module__gNRB6W__IconButton{background:#03529399;border:1px solid #c8c8c84d;border-color:#ffffff4d #c8c8c84d #c8c8c84d #ffffff4d}.InspectorControls-module__gNRB6W__IconButton:not(:disabled):hover{background:#0062b3cc;border-color:#fff6}.InspectorControls-module__gNRB6W__IconButton svg{opacity:.6}.InspectorControls-module__gNRB6W__IconButton:not(:disabled):hover svg{opacity:1}}.InspectorControls-module__gNRB6W__IconButton:not(:disabled):active,.InspectorControls-module__gNRB6W__IconButton[aria-expanded=true]{background:#0062b3b3;border-color:#ffffff4d;transform:translateY(1px)}.InspectorControls-module__gNRB6W__IconButton[data-active=true]{background:#0075d5e6;border-color:#fff6}.InspectorControls-module__gNRB6W__ButtonLabel{font-size:14px}.InspectorControls-module__gNRB6W__ButtonHint{opacity:.7;font-size:10px}.InspectorControls-module__gNRB6W__Toggle{margin:0;}.InspectorControls-module__gNRB6W__MapInfoButton{}.InspectorControls-module__gNRB6W__ForceRenderButton{color:#4cb5ff;cursor:pointer;background:0 0;border:0;place-content:center;margin:0;padding:0 2px;font-size:16px;display:grid}
.CopyCoordinatesButton-module__BxovtG__Root{}.CopyCoordinatesButton-module__BxovtG__Root[data-copied=true]{background:#0075d5e6;border-color:#fff6}.CopyCoordinatesButton-module__BxovtG__ClipboardCheck{opacity:1;display:none}.CopyCoordinatesButton-module__BxovtG__Root[data-copied=true] .CopyCoordinatesButton-module__BxovtG__ClipboardCheck{animation:.22s linear infinite CopyCoordinatesButton-module__BxovtG__showClipboardCheck;display:block}.CopyCoordinatesButton-module__BxovtG__Root[data-copied=true] .CopyCoordinatesButton-module__BxovtG__MapPin{display:none}.CopyCoordinatesButton-module__BxovtG__ButtonLabel{}@keyframes CopyCoordinatesButton-module__BxovtG__showClipboardCheck{0%{opacity:1}to{opacity:.2}}
.LoadDemoButton-module__kGZaoW__Root{}.LoadDemoButton-module__kGZaoW__ButtonLabel{}.LoadDemoButton-module__kGZaoW__ButtonHint{}
.JoinServerButton-module__DIR70a__Root{}.JoinServerButton-module__DIR70a__TextLabel{}.JoinServerButton-module__DIR70a__PingLabel{margin-right:2px;display:flex!important;}.JoinServerButton-module__DIR70a__Pulsing{animation:1.2s ease-out infinite JoinServerButton-module__DIR70a__blink}@keyframes JoinServerButton-module__DIR70a__blink{0%{opacity:1}to{opacity:.25}}.JoinServerButton-module__DIR70a__ButtonHint{}
.Accordion-module__rN-DYq__AccordionGroup{flex-direction:column;gap:1px;display:flex}.Accordion-module__rN-DYq__Trigger{color:#fff;text-align:left;text-transform:uppercase;letter-spacing:.0417em;background:#ffffff1a;border:0;align-items:center;gap:4px;width:100%;padding:6px 8px;font-family:inherit;font-size:12px;font-weight:400;display:flex}.Accordion-module__rN-DYq__TriggerIcon{opacity:.5;font-size:12px;transition:transform .2s;transform:rotate(0)}.Accordion-module__rN-DYq__Trigger[data-state=open] .Accordion-module__rN-DYq__TriggerIcon{transform:rotate(90deg)}.Accordion-module__rN-DYq__Content{overflow:hidden}.Accordion-module__rN-DYq__Content[data-state=open]{animation:.3s Accordion-module__rN-DYq__slideDown}.Accordion-module__rN-DYq__Content[data-state=closed]{animation:.3s Accordion-module__rN-DYq__slideUp}.Accordion-module__rN-DYq__Body{padding:10px}@keyframes Accordion-module__rN-DYq__slideDown{0%{height:0}to{height:var(--radix-accordion-content-height)}}@keyframes Accordion-module__rN-DYq__slideUp{0%{height:var(--radix-accordion-content-height)}to{height:0}}
.MissionSelect-module__N_AIjG__InputWrapper{z-index:2;align-items:center;margin:10px 10px 10px 8px;display:flex;position:relative}.MissionSelect-module__N_AIjG__Shortcut{color:#fff9;pointer-events:none;background:#ffffff26;border-radius:3px;padding:1px 4px;font-family:system-ui,sans-serif;font-size:11px;position:absolute;right:7px}.MissionSelect-module__N_AIjG__Input[aria-expanded=true]~.MissionSelect-module__N_AIjG__Shortcut{display:none}.MissionSelect-module__N_AIjG__Input{color:#fff;-webkit-user-select:text;user-select:text;background:#0009;border:1px solid #ffffff4d;border-radius:3px;outline:none;width:280px;padding:6px 36px 6px 8px;font-size:14px}.MissionSelect-module__N_AIjG__Input[aria-expanded=true]{padding-right:8px}.MissionSelect-module__N_AIjG__Input:focus{border-color:#fff9}.MissionSelect-module__N_AIjG__Input::placeholder{color:#777;font-family:inherit;font-size:12px}.MissionSelect-module__N_AIjG__SelectedValue{pointer-events:none;align-items:center;gap:6px;display:flex;position:absolute;left:8px;right:36px;overflow:hidden}.MissionSelect-module__N_AIjG__Input[aria-expanded=true]~.MissionSelect-module__N_AIjG__SelectedValue{display:none}.MissionSelect-module__N_AIjG__SelectedName{color:#fff;white-space:nowrap;text-overflow:ellipsis;flex-shrink:1;min-width:0;font-size:14px;font-weight:600;line-height:1.28571;overflow:hidden}.MissionSelect-module__N_AIjG__SelectedValue>.MissionSelect-module__N_AIjG__ItemType{flex-shrink:0}.MissionSelect-module__N_AIjG__Popover{z-index:100;min-width:320px;max-height:var(--popover-available-height,90vh);overscroll-behavior:contain;background:#141414f2;border:1px solid #ffffff80;border-radius:3px;overflow-y:auto;box-shadow:0 8px 24px #0009}.MissionSelect-module__N_AIjG__List{padding:4px 0}.MissionSelect-module__N_AIjG__List:has(>.MissionSelect-module__N_AIjG__Group:first-child){padding-top:0}.MissionSelect-module__N_AIjG__Group{padding-bottom:4px}.MissionSelect-module__N_AIjG__GroupLabel{color:#c6caca;z-index:1;background:#3a4548f2;border-bottom:1px solid #ffffff4d;padding:6px 8px 6px 12px;font-size:13px;font-weight:600;position:sticky;top:0}.MissionSelect-module__N_AIjG__Group:not(:last-child){border-bottom:1px solid #ffffff4d}.MissionSelect-module__N_AIjG__Item{cursor:pointer;border-radius:4px;outline:none;flex-direction:column;gap:1px;margin:4px 4px 0;padding:6px 8px;scroll-margin-top:32px;display:flex}.MissionSelect-module__N_AIjG__List>.MissionSelect-module__N_AIjG__Item:first-child{margin-top:0}.MissionSelect-module__N_AIjG__Item[data-active-item]{background:#ffffff26}.MissionSelect-module__N_AIjG__Item[aria-selected=true]{background:#6496ff4d}.MissionSelect-module__N_AIjG__ItemHeader{align-items:center;gap:6px;display:flex}.MissionSelect-module__N_AIjG__ItemName{color:#fff;font-size:14px;font-weight:600}.MissionSelect-module__N_AIjG__ItemTypes{gap:3px;display:flex}.MissionSelect-module__N_AIjG__ItemType{color:#fff;background:#ff9d0066;border-radius:3px;padding:2px 5px;font-size:10px;font-weight:600;line-height:1.3}.MissionSelect-module__N_AIjG__ItemType:hover{background:#ff9d00b3}.MissionSelect-module__N_AIjG__ItemMissionName{color:#ffffff80;font-size:12px}.MissionSelect-module__N_AIjG__NoResults{color:#ffffff80;text-align:center;padding:12px 8px;font-size:13px}.MissionSelect-module__N_AIjG__Backdrop{z-index:1;background:#00000080;position:fixed;inset:0}@media (max-width:899px){.MissionSelect-module__N_AIjG__InputWrapper{margin-left:4px}}
.StreamingMissionInfo-module__hEaQnW__Header{flex:auto;align-items:center;display:flex}.StreamingMissionInfo-module__hEaQnW__MissionInfo{color:#fff;background:0 0;border:1px solid #fff0;border-radius:3px;align-items:center;gap:6px;margin:10px auto 10px 4px;padding:5px 8px;display:flex}.StreamingMissionInfo-module__hEaQnW__MissionName{}.StreamingMissionInfo-module__hEaQnW__MissionType{pointer-events:none;}.StreamingMissionInfo-module__hEaQnW__MissionTypeDisplayName{opacity:.5;font-size:12px}.StreamingMissionInfo-module__hEaQnW__Metadata{text-align:right;flex-direction:column;gap:2px;margin:0 0 0 auto;padding:8px 12px;font-size:12px;line-height:1.16667;display:flex}.StreamingMissionInfo-module__hEaQnW__Attribution,.StreamingMissionInfo-module__hEaQnW__ServerInfo{color:#83938b}.StreamingMissionInfo-module__hEaQnW__PlayerName,.StreamingMissionInfo-module__hEaQnW__RecordingDate,.StreamingMissionInfo-module__hEaQnW__ServerName{color:#eceae7}.StreamingMissionInfo-module__hEaQnW__ActionButton{flex:none;min-width:28px;min-height:28px;margin:0 10px 0 0;padding:2px;font-size:16px;}.StreamingMissionInfo-module__hEaQnW__EjectIcon{margin-top:-.5px;font-size:21px}.StreamingMissionInfo-module__hEaQnW__Error{color:#ff6a45}@media (max-width:899px){.StreamingMissionInfo-module__hEaQnW__Metadata{display:none}.StreamingMissionInfo-module__hEaQnW__MissionInfo{margin-left:0}}
.FloatingLabel-module__8y09Ka__Label{color:#fff;white-space:nowrap;text-align:center;background:#00000080;border-radius:1px;padding:1px 3px;font-size:11px}
.PlayerNameplate-module__zYDm0a__Root{pointer-events:none;white-space:nowrap;flex-direction:column;align-items:center;display:inline-flex}.PlayerNameplate-module__zYDm0a__Top{padding-bottom:20px;}.PlayerNameplate-module__zYDm0a__Bottom{padding-top:20px;}.PlayerNameplate-module__zYDm0a__IffArrow{width:12px;height:12px;image-rendering:pixelated;filter:drop-shadow(0 1px 2px #000000b3)}.PlayerNameplate-module__zYDm0a__Name{color:#fff;text-shadow:0 1px 3px #000000e6,0 0 1px #000000b3;font-size:11px}.PlayerNameplate-module__zYDm0a__HealthBar{background:#00000080;border:1px solid #fff3;width:60px;height:4px;margin:2px auto 0;overflow:hidden}.PlayerNameplate-module__zYDm0a__HealthFill{background:#2ecc40;height:100%}
.FlagMarker-module__INpLba__Root{pointer-events:none;white-space:nowrap;flex-direction:column;align-items:center;gap:1px;display:inline-flex}.FlagMarker-module__INpLba__Distance{color:#fff;text-shadow:0 1px 3px #000000e6,0 0 1px #000000b3;opacity:.5;font-size:10px}.FlagMarker-module__INpLba__Icon{width:16px;height:16px;image-rendering:pixelated;opacity:.5;filter:drop-shadow(0 1px 3px #000c);-webkit-mask-image:var(--flag-icon-url);mask-image:var(--flag-icon-url);-webkit-mask-position:50%;mask-position:50%;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-image:var(--flag-icon-url);-webkit-mask-position:50%;-webkit-mask-size:contain;-webkit-mask-repeat:no-repeat}
.page-module__v6zvCa__CanvasContainer{z-index:0;position:absolute;inset:0}.page-module__v6zvCa__LoadingIndicator{pointer-events:none;z-index:1;opacity:.8;flex-direction:column;align-items:center;gap:16px;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.page-module__v6zvCa__LoadingIndicator[data-complete=true]{animation:.3s ease-out forwards page-module__v6zvCa__loadingComplete}.page-module__v6zvCa__Spinner{border:4px solid #fff3;border-top-color:#fff;border-radius:50%;width:48px;height:48px;animation:1s linear infinite page-module__v6zvCa__spin}@keyframes page-module__v6zvCa__spin{to{transform:rotate(360deg)}}@keyframes page-module__v6zvCa__loadingComplete{0%{opacity:1}to{opacity:0}}.page-module__v6zvCa__Sidebar{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#fff;z-index:2;background:#000000b3;flex-direction:column;width:260px;font-size:13px;display:flex;position:fixed;top:0;bottom:0;left:0;overflow:hidden}.page-module__v6zvCa__SidebarSection{border-bottom:1px solid #ffffff1a;padding:10px 12px}.page-module__v6zvCa__SidebarSection:last-child{border-bottom:none}.page-module__v6zvCa__SectionLabel{text-transform:uppercase;letter-spacing:.05em;color:#fff6;margin-bottom:6px;font-size:10px}.page-module__v6zvCa__AnimationList{flex:1;padding:0 12px 12px;overflow-y:auto}.page-module__v6zvCa__AnimationItem{cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:4px;align-items:center;gap:6px;padding:4px 6px;display:flex}.page-module__v6zvCa__AnimationItem:hover{background:#ffffff14}.page-module__v6zvCa__AnimationItem[data-active=true]{background:#ffffff26}.page-module__v6zvCa__PlayButton{color:#fff9;cursor:pointer;background:#ffffff1a;border:none;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;padding:0;font-size:11px;display:flex}.page-module__v6zvCa__PlayButton:hover{color:#fff;background:#fff3}.page-module__v6zvCa__AnimationItem[data-active=true] .page-module__v6zvCa__PlayButton{color:#fff;background:#64b4ff4d}.page-module__v6zvCa__AnimationName{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.page-module__v6zvCa__ClipName{color:#ffffff4d;white-space:nowrap;flex-shrink:0;font-size:10px}.page-module__v6zvCa__CyclicIcon{color:#ffffff4d;title:"Cyclic (looping)";flex-shrink:0;font-size:13px}.page-module__v6zvCa__CheckboxField{align-items:center;gap:6px;display:flex}
.LoadingIndicator-module__F20Nda__LoadingIndicator{pointer-events:none;z-index:1;opacity:.8;flex-direction:column;align-items:center;gap:16px;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.LoadingIndicator-module__F20Nda__LoadingIndicator[data-complete=true]{animation:.3s ease-out forwards LoadingIndicator-module__F20Nda__loadingComplete}.LoadingIndicator-module__F20Nda__Spinner{border:4px solid #fff3;border-top-color:#fff;border-radius:50%;width:48px;height:48px;animation:1s linear infinite LoadingIndicator-module__F20Nda__spin}.LoadingIndicator-module__F20Nda__Progress{background:#fff3;border-radius:2px;width:200px;height:4px;overflow:hidden}.LoadingIndicator-module__F20Nda__ProgressBar{background:#fff;border-radius:2px;height:100%;transition:width .1s ease-out}.LoadingIndicator-module__F20Nda__ProgressText{color:#ffffffb3;font-variant-numeric:tabular-nums;font-size:14px}@keyframes LoadingIndicator-module__F20Nda__spin{to{transform:rotate(360deg)}}@keyframes LoadingIndicator-module__F20Nda__loadingComplete{0%{opacity:1}to{opacity:0}}
.DebugElements-module__Cmeo9W__StatsPanel{bottom:0;right:0;top:auto!important;left:auto!important}.DebugElements-module__Cmeo9W__AxisLabel{pointer-events:none;font-size:12px}.DebugElements-module__Cmeo9W__AxisLabel[data-axis=x]{color:#f90}.DebugElements-module__Cmeo9W__AxisLabel[data-axis=y]{color:#9f0}.DebugElements-module__Cmeo9W__AxisLabel[data-axis=z]{color:#09f}
.MapInspector-module__nU0WNq__Frame{grid-template:"sidebar toolbar""sidebar content"1fr"sidebar footer"/auto 1fr;width:100dvw;height:100dvh;display:grid;overflow:hidden}.MapInspector-module__nU0WNq__Toolbar{color:#fff;z-index:3;view-transition-class:MapInspector-module__nU0WNq__layout;background:#191f1f;border-bottom:1px solid #465555;grid-area:toolbar;align-items:center;display:flex;position:relative;box-shadow:0 0 3px 1px #0006}.MapInspector-module__nU0WNq__CancelButton{color:#ffffffb3;cursor:pointer;white-space:nowrap;z-index:1;background:#ffffff0d;border:1px solid #ffffff4d;border-radius:3px;padding:4px 6px;font-size:12px}.MapInspector-module__nU0WNq__CancelButton:hover{color:#fff;background:#ffffff1a}.MapInspector-module__nU0WNq__Sidebar{color:#fff;z-index:2;background:#191f1f;border-right:1px solid #465555;grid-area:sidebar;width:320px;height:100%;min-height:0;position:relative;overflow-y:auto;box-shadow:0 0 3px 1px #0006}.MapInspector-module__nU0WNq__Content{z-index:0;grid-area:content;min-width:0;min-height:0;position:relative;overflow:hidden}.MapInspector-module__nU0WNq__ThreeView{z-index:0;position:absolute;inset:0}.MapInspector-module__nU0WNq__PlayerBar{color:#fff;z-index:1;background:#191f1f;border-top:1px solid #465555;grid-area:footer;position:relative;box-shadow:0 0 3px 1px #0006}.MapInspector-module__nU0WNq__ToggleSidebarButton{color:#fff;cursor:pointer;opacity:.6;background:0 0;border:0;border-radius:4px;flex:none;place-content:center;min-width:30px;min-height:30px;margin:0 0 0 8px;padding:2px;font-size:24px;display:grid}.MapInspector-module__nU0WNq__ToggleSidebarButton[data-orientation=top]{min-width:48px;min-height:48px;margin:0;display:none}.MapInspector-module__nU0WNq__ToggleSidebarButton:not(:disabled):hover{opacity:1}.MapInspector-module__nU0WNq__ToggleSidebarButton svg{pointer-events:none}.MapInspector-module__nU0WNq__Backdrop{display:none}@media (max-width:899px){.MapInspector-module__nU0WNq__Frame{grid-template:"toolbar""content"1fr"footer"/1fr;display:grid}.MapInspector-module__nU0WNq__Sidebar{border:1px solid #465555;border-top:0;grid-area:content-start/content/footer-end;justify-self:center;width:auto;max-width:500px;height:calc(100% + 1px);margin:0 -1px}.MapInspector-module__nU0WNq__Toolbar{justify-content:center}.MapInspector-module__nU0WNq__ToggleSidebarButton[data-orientation=left]{display:none}.MapInspector-module__nU0WNq__ToggleSidebarButton[data-orientation=top]{display:grid}.MapInspector-module__nU0WNq__Backdrop{z-index:2;background:#000000b3;display:block;position:fixed;inset:0}}

File diff suppressed because one or more lines are too long

View file

@ -1 +0,0 @@
html{box-sizing:border-box;background:#000;margin:0;padding:0;overflow:hidden}*,:before,:after{box-sizing:inherit}body{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}html{font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif;font-size:100%}body{margin:0;padding:0;overflow:hidden}input[type=range]{max-width:80px}

View file

@ -1 +0,0 @@
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,11152,40141,t=>{"use strict";var e=t.i(71645),r={color:void 0,size:void 0,className:void 0,style:void 0,attr:void 0},c=e.default.createContext&&e.default.createContext(r),n=["attr","size","title"];function o(){return(o=Object.assign.bind()).apply(this,arguments)}function l(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var c=Object.getOwnPropertySymbols(t);e&&(c=c.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),r.push.apply(r,c)}return r}function i(t){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};e%2?l(Object(r),!0).forEach(function(e){var c,n,o;c=t,n=e,o=r[e],(n=function(t){var e=function(t,e){if("object"!=typeof t||!t)return t;var r=t[Symbol.toPrimitive];if(void 0!==r){var c=r.call(t,e||"default");if("object"!=typeof c)return c;throw TypeError("@@toPrimitive must return a primitive value.")}return("string"===e?String:Number)(t)}(t,"string");return"symbol"==typeof e?e:e+""}(n))in c?Object.defineProperty(c,n,{value:o,enumerable:!0,configurable:!0,writable:!0}):c[n]=o}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):l(Object(r)).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))})}return t}function a(t){return r=>e.default.createElement(u,o({attr:i({},t.attr)},r),function t(r){return r&&r.map((r,c)=>e.default.createElement(r.tag,i({key:c},r.attr),t(r.child)))}(t.child))}function u(t){var l=r=>{var c,{attr:l,size:a,title:u}=t,s=function(t,e){if(null==t)return{};var r,c,n=function(t,e){if(null==t)return{};var r={};for(var c in t)if(Object.prototype.hasOwnProperty.call(t,c)){if(e.indexOf(c)>=0)continue;r[c]=t[c]}return r}(t,e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);for(c=0;c<o.length;c++)r=o[c],!(e.indexOf(r)>=0)&&Object.prototype.propertyIsEnumerable.call(t,r)&&(n[r]=t[r])}return n}(t,n),f=a||r.size||"1em";return r.className&&(c=r.className),t.className&&(c=(c?c+" ":"")+t.className),e.default.createElement("svg",o({stroke:"currentColor",fill:"currentColor",strokeWidth:"0"},r.attr,l,s,{className:c,style:i(i({color:t.color||r.color},r.style),t.style),height:f,width:f,xmlns:"http://www.w3.org/2000/svg"}),u&&e.default.createElement("title",null,u),t.children)};return void 0!==c?e.default.createElement(c.Consumer,null,t=>l(t)):l(r)}function s(t){return a({tag:"svg",attr:{viewBox:"0 0 288 512"},child:[{tag:"path",attr:{d:"M112 316.94v156.69l22.02 33.02c4.75 7.12 15.22 7.12 19.97 0L176 473.63V316.94c-10.39 1.92-21.06 3.06-32 3.06s-21.61-1.14-32-3.06zM144 0C64.47 0 0 64.47 0 144s64.47 144 144 144 144-64.47 144-144S223.53 0 144 0zm0 76c-37.5 0-68 30.5-68 68 0 6.62-5.38 12-12 12s-12-5.38-12-12c0-50.73 41.28-92 92-92 6.62 0 12 5.38 12 12s-5.38 12-12 12z"},child:[]}]})(t)}function f(t){return a({tag:"svg",attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M215.03 71.05L126.06 160H24c-13.26 0-24 10.74-24 24v144c0 13.25 10.74 24 24 24h102.06l88.97 88.95c15.03 15.03 40.97 4.47 40.97-16.97V88.02c0-21.46-25.96-31.98-40.97-16.97zM461.64 256l45.64-45.64c6.3-6.3 6.3-16.52 0-22.82l-22.82-22.82c-6.3-6.3-16.52-6.3-22.82 0L416 210.36l-45.64-45.64c-6.3-6.3-16.52-6.3-22.82 0l-22.82 22.82c-6.3 6.3-6.3 16.52 0 22.82L370.36 256l-45.63 45.63c-6.3 6.3-6.3 16.52 0 22.82l22.82 22.82c6.3 6.3 16.52 6.3 22.82 0L416 301.64l45.64 45.64c6.3 6.3 16.52 6.3 22.82 0l22.82-22.82c6.3-6.3 6.3-16.52 0-22.82L461.64 256z"},child:[]}]})(t)}function p(t){return a({tag:"svg",attr:{viewBox:"0 0 576 512"},child:[{tag:"path",attr:{d:"M215.03 71.05L126.06 160H24c-13.26 0-24 10.74-24 24v144c0 13.25 10.74 24 24 24h102.06l88.97 88.95c15.03 15.03 40.97 4.47 40.97-16.97V88.02c0-21.46-25.96-31.98-40.97-16.97zm233.32-51.08c-11.17-7.33-26.18-4.24-33.51 6.95-7.34 11.17-4.22 26.18 6.95 33.51 66.27 43.49 105.82 116.6 105.82 195.58 0 78.98-39.55 152.09-105.82 195.58-11.17 7.32-14.29 22.34-6.95 33.5 7.04 10.71 21.93 14.56 33.51 6.95C528.27 439.58 576 351.33 576 256S528.27 72.43 448.35 19.97zM480 256c0-63.53-32.06-121.94-85.77-156.24-11.19-7.14-26.03-3.82-33.12 7.46s-3.78 26.21 7.41 33.36C408.27 165.97 432 209.11 432 256s-23.73 90.03-63.48 115.42c-11.19 7.14-14.5 22.07-7.41 33.36 6.51 10.36 21.12 15.14 33.12 7.46C447.94 377.94 480 319.54 480 256zm-141.77-76.87c-11.58-6.33-26.19-2.16-32.61 9.45-6.39 11.61-2.16 26.2 9.45 32.61C327.98 228.28 336 241.63 336 256c0 14.38-8.02 27.72-20.92 34.81-11.61 6.41-15.84 21-9.45 32.61 6.43 11.66 21.05 15.8 32.61 9.45 28.23-15.55 45.77-45 45.77-76.88s-17.54-61.32-45.78-76.86z"},child:[]}]})(t)}t.s(["GenIcon",()=>a],40141),t.s(["FaMapPin",()=>s,"FaVolumeMute",()=>f,"FaVolumeUp",()=>p],11152)}]);

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View file

@ -1,2 +0,0 @@
.PlayerHUD-module__-E1Scq__PlayerHUD{z-index:1;pointer-events:none;position:absolute;inset:0}.PlayerHUD-module__-E1Scq__TopRight{align-items:flex-start;gap:6px;display:flex;position:absolute;top:10px;right:10px}.PlayerHUD-module__-E1Scq__Compass{flex-shrink:0;width:64px;height:64px;position:relative}.PlayerHUD-module__-E1Scq__CompassRing{image-rendering:auto;width:100%;height:100%;position:absolute;top:0;left:0}.PlayerHUD-module__-E1Scq__CompassNSEW{width:100%;height:100%;image-rendering:pixelated;position:absolute;top:0;left:0}.PlayerHUD-module__-E1Scq__Bars{flex-direction:column;gap:3px;padding-top:10px;display:flex}.PlayerHUD-module__-E1Scq__BarTrack{background:#00000080;border:1px solid #ffffff26;width:120px;height:10px;overflow:hidden}.PlayerHUD-module__-E1Scq__BarFillHealth{background:#2ecc40;height:100%;transition:width .15s ease-out}.PlayerHUD-module__-E1Scq__BarFillEnergy{background:#0af;height:100%;transition:width .15s ease-out}.PlayerHUD-module__-E1Scq__WeaponHUD{flex-direction:column;gap:2px;display:flex;position:absolute;top:50%;right:6px;transform:translateY(-50%)}.PlayerHUD-module__-E1Scq__WeaponSeparator{height:6px}.PlayerHUD-module__-E1Scq__TeamInfo{flex-direction:column;gap:2px;display:flex}.PlayerHUD-module__-E1Scq__TeamScores{border:1px solid #80ffc826;font-size:12px;position:absolute;bottom:6px;left:6px}.PlayerHUD-module__-E1Scq__TeamRow{background:#00323ca6;flex:1 0 auto;justify-content:space-between;align-items:center;gap:6px;padding:4px 8px 4px 6px;display:flex}.PlayerHUD-module__-E1Scq__TeamRow+.PlayerHUD-module__-E1Scq__TeamRow{border-top:1px solid #80ffc826}.PlayerHUD-module__-E1Scq__TeamName{min-width:6em;font-size:12px;font-weight:500}.PlayerHUD-module__-E1Scq__TeamNameFriendly{color:#2de46a;}.PlayerHUD-module__-E1Scq__TeamNameEnemy{color:#79cbd4;}.PlayerHUD-module__-E1Scq__TeamScore{color:#fff;text-align:right;font-weight:500}.PlayerHUD-module__-E1Scq__TeamCount{color:#9ba;font-size:9px}.PlayerHUD-module__-E1Scq__PackInventoryHUD{align-items:center;gap:4px;display:flex;position:absolute;bottom:6px;right:6px}.PlayerHUD-module__-E1Scq__PackInvItem{background:#00323ca6;border:1px solid #80ffc826;flex-direction:column;justify-content:center;align-items:center;gap:1px;padding:4px;display:flex}.PlayerHUD-module__-E1Scq__PackInvItemActive{border-color:#80ffc880;box-shadow:0 0 6px #80ffc84d}.PlayerHUD-module__-E1Scq__PackInvItemDim{opacity:.5}.PlayerHUD-module__-E1Scq__PackInvIcon{image-rendering:pixelated;display:block}.PlayerHUD-module__-E1Scq__PackInvCount{color:#bfe;text-align:center;min-width:12px;font-size:11px}.PlayerHUD-module__-E1Scq__PackInvInfinity{image-rendering:pixelated;opacity:.8;display:block}.PlayerHUD-module__-E1Scq__Reticle{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.PlayerHUD-module__-E1Scq__ReticleImage{opacity:.85;width:64px;height:64px;image-rendering:pixelated}.PlayerHUD-module__-E1Scq__ReticleDot{background:#2ecc40b3;border-radius:50%;width:4px;height:4px;box-shadow:0 0 4px #2ecc4080}
.ChatWindow-module__mz35vq__ChatContainer{pointer-events:auto;border:1px solid #2cacb566;flex-direction:column;width:400px;max-width:50%;display:flex;position:absolute;top:6px;left:6px}.ChatWindow-module__mz35vq__ChatWindow{-webkit-user-select:text;user-select:text;scrollbar-width:thin;scrollbar-color:#2cacb566 transparent;background:#00323ca6;min-height:4em;max-height:12.5em;padding:6px;font-size:12px;line-height:1.25;overflow-y:auto}.ChatWindow-module__mz35vq__ChatMessage{color:#2cacb5;padding:2px 0}.ChatWindow-module__mz35vq__ChatColor0{color:#2cacb5}.ChatWindow-module__mz35vq__ChatColor1{color:#04eb69}.ChatWindow-module__mz35vq__ChatColor2{color:#dbc880}.ChatWindow-module__mz35vq__ChatColor3{color:#4dfd5f}.ChatWindow-module__mz35vq__ChatColor4{color:#28e7f0}.ChatWindow-module__mz35vq__ChatColor5{color:#c8c832}.ChatWindow-module__mz35vq__ChatColor6{color:#c8c8c8}.ChatWindow-module__mz35vq__ChatColor7{color:#dcdc14}.ChatWindow-module__mz35vq__ChatColor8{color:#9696fa}.ChatWindow-module__mz35vq__ChatColor9{color:#3cdc96}

File diff suppressed because one or more lines are too long

View file

@ -1 +0,0 @@
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,12862,e=>{e.v({Joystick:"TouchJoystick-module__tcddlW__Joystick",Left:"TouchJoystick-module__tcddlW__Left TouchJoystick-module__tcddlW__Joystick",Right:"TouchJoystick-module__tcddlW__Right TouchJoystick-module__tcddlW__Joystick"})},18339,e=>{"use strict";var t=e.i(43476),o=e.i(71645),c=e.i(79123),l=e.i(66093),n=e.i(12862);function r(e){let t=e.querySelector(".back");t&&(t.style.background="rgba(3, 79, 76, 0.6)",t.style.border="1px solid rgba(0, 219, 223, 0.5)",t.style.boxShadow="inset 0 0 10px rgba(0, 0, 0, 0.7)");let o=e.querySelector(".front");o&&(o.style.background="radial-gradient(circle at 50% 50%, rgba(23, 247, 198, 0.9) 0%, rgba(9, 184, 170, 0.95) 100%)",o.style.border="2px solid rgba(255, 255, 255, 0.4)",o.style.boxShadow="0 2px 4px rgba(0, 0, 0, 0.5), 0 1px 1px rgba(0, 0, 0, 0.3), inset 0 1px 0 rgba(255, 255, 255, 0.15), inset 0 -1px 2px rgba(0, 0, 0, 0.3)")}function a(){let{touchMode:a}=(0,c.useControls)(),[i,s]=(0,o.useState)(null),[u,d]=(0,o.useState)(null),{moveState:f,lookState:m,setMoveState:y,setLookState:b}=(0,l.useJoystick)();(0,o.useEffect)(()=>{if(!i)return;let t=null,o=!1;return e.A(84968).then(e=>{o||(t=e.default.create({zone:i,mode:"static",position:{left:"70px",bottom:"70px"},size:120,restOpacity:.9}),r(i),t.on("move",(e,t)=>{y({angle:t.angle.radian,force:Math.min(1,t.force)})}),t.on("end",()=>{y({force:0})}))}),()=>{o=!0,t?.destroy()}},[f,i,y]),(0,o.useEffect)(()=>{if(!u)return;let t=null,o=!1;return e.A(84968).then(e=>{o||(t=e.default.create({zone:u,mode:"static",position:{right:"70px",bottom:"70px"},size:120,restOpacity:.9}),r(u),t.on("move",(e,t)=>{b({angle:t.angle.radian,force:Math.min(1,t.force)})}),t.on("end",()=>{b({force:0})}))}),()=>{o=!0,t?.destroy()}},[m,u,b]);let g=()=>{document.activeElement instanceof HTMLElement&&document.activeElement.blur()};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("div",{ref:s,className:"dualStick"===a?n.default.Left:n.default.Joystick,onContextMenu:e=>e.preventDefault(),onTouchStart:g},a),"dualStick"===a?(0,t.jsx)("div",{ref:d,className:n.default.Right,onContextMenu:e=>e.preventDefault(),onTouchStart:g}):null]})}e.s(["TouchJoystick",()=>a])},84968,e=>{e.v(t=>Promise.all(["static/chunks/6e9a6efec350bf8d.js"].map(t=>e.l(t))).then(()=>t(90208)))}]);

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.2 KiB

View file

@ -1,15 +0,0 @@
1:"$Sreact.fragment"
2:I[12985,["/t2-mapper/_next/static/chunks/89fcb9c19e93d0ef.js"],"NuqsAdapter"]
3:I[39756,["/t2-mapper/_next/static/chunks/2f236954d6a65e12.js"],"default"]
4:I[37457,["/t2-mapper/_next/static/chunks/2f236954d6a65e12.js"],"default"]
5:I[97367,["/t2-mapper/_next/static/chunks/2f236954d6a65e12.js"],"OutletBoundary"]
6:"$Sreact.suspense"
8:I[97367,["/t2-mapper/_next/static/chunks/2f236954d6a65e12.js"],"ViewportBoundary"]
a:I[97367,["/t2-mapper/_next/static/chunks/2f236954d6a65e12.js"],"MetadataBoundary"]
c:I[68027,["/t2-mapper/_next/static/chunks/2f236954d6a65e12.js"],"default"]
:HL["/t2-mapper/_next/static/chunks/ad52ebedad251428.css","style"]
0:{"P":null,"b":"6Rbtt13_hS5V8nXPFgNnq","c":["","_not-found",""],"q":"","i":false,"f":[[["",{"children":["/_not-found",{"children":["__PAGE__",{}]}]},"$undefined","$undefined",true],[["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/t2-mapper/_next/static/chunks/ad52ebedad251428.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}],["$","script","script-0",{"src":"/t2-mapper/_next/static/chunks/89fcb9c19e93d0ef.js","async":true,"nonce":"$undefined"}]],["$","html",null,{"lang":"en","children":["$","body",null,{"children":["$","$L2",null,{"defaultOptions":{"clearOnDefault":false},"children":["$","$L3",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L4",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]],"forbidden":"$undefined","unauthorized":"$undefined"}]}]}]}]]}],{"children":[["$","$1","c",{"children":[null,["$","$L3",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L4",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":[["$","$1","c",{"children":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":"$0:f:0:1:0:props:children:1:props:children:props:children:props:children:props:notFound:0:1:props:style","children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":"$0:f:0:1:0:props:children:1:props:children:props:children:props:children:props:notFound:0:1:props:children:props:children:1:props:style","children":404}],["$","div",null,{"style":"$0:f:0:1:0:props:children:1:props:children:props:children:props:children:props:notFound:0:1:props:children:props:children:2:props:style","children":["$","h2",null,{"style":"$0:f:0:1:0:props:children:1:props:children:props:children:props:children:props:notFound:0:1:props:children:props:children:2:props:children:props:style","children":"This page could not be found."}]}]]}]}]],null,["$","$L5",null,{"children":["$","$6",null,{"name":"Next.MetadataOutlet","children":"$@7"}]}]]}],{},null,false,false]},null,false,false]},null,false,false],["$","$1","h",{"children":[["$","meta",null,{"name":"robots","content":"noindex"}],["$","$L8",null,{"children":"$L9"}],["$","div",null,{"hidden":true,"children":["$","$La",null,{"children":["$","$6",null,{"name":"Next.Metadata","children":"$Lb"}]}]}],null]}],false]],"m":"$undefined","G":["$c","$undefined"],"S":true}
9:[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no"}]]
d:I[27201,["/t2-mapper/_next/static/chunks/2f236954d6a65e12.js"],"IconMark"]
7:null
b:[["$","title","0",{"children":"MapGenius  Explore maps for Tribes 2"}],["$","meta","1",{"name":"description","content":"Tribes 2 forever."}],["$","link","2",{"rel":"icon","href":"/t2-mapper/icon.png?icon.2911bba1.png","sizes":"108x128","type":"image/png"}],["$","$Ld","3",{}]]

View file

@ -1,6 +0,0 @@
1:"$Sreact.fragment"
2:I[97367,["/t2-mapper/_next/static/chunks/2f236954d6a65e12.js"],"ViewportBoundary"]
3:I[97367,["/t2-mapper/_next/static/chunks/2f236954d6a65e12.js"],"MetadataBoundary"]
4:"$Sreact.suspense"
5:I[27201,["/t2-mapper/_next/static/chunks/2f236954d6a65e12.js"],"IconMark"]
0:{"buildId":"6Rbtt13_hS5V8nXPFgNnq","rsc":["$","$1","h",{"children":[["$","meta",null,{"name":"robots","content":"noindex"}],["$","$L2",null,{"children":[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no"}]]}],["$","div",null,{"hidden":true,"children":["$","$L3",null,{"children":["$","$4",null,{"name":"Next.Metadata","children":[["$","title","0",{"children":"MapGenius  Explore maps for Tribes 2"}],["$","meta","1",{"name":"description","content":"Tribes 2 forever."}],["$","link","2",{"rel":"icon","href":"/t2-mapper/icon.png?icon.2911bba1.png","sizes":"108x128","type":"image/png"}],["$","$L5","3",{}]]}]}]}],null]}],"loading":null,"isPartial":false}

View file

@ -1,6 +0,0 @@
1:"$Sreact.fragment"
2:I[12985,["/t2-mapper/_next/static/chunks/89fcb9c19e93d0ef.js"],"NuqsAdapter"]
3:I[39756,["/t2-mapper/_next/static/chunks/2f236954d6a65e12.js"],"default"]
4:I[37457,["/t2-mapper/_next/static/chunks/2f236954d6a65e12.js"],"default"]
:HL["/t2-mapper/_next/static/chunks/ad52ebedad251428.css","style"]
0:{"buildId":"6Rbtt13_hS5V8nXPFgNnq","rsc":["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/t2-mapper/_next/static/chunks/ad52ebedad251428.css","precedence":"next"}],["$","script","script-0",{"src":"/t2-mapper/_next/static/chunks/89fcb9c19e93d0ef.js","async":true}]],["$","html",null,{"lang":"en","children":["$","body",null,{"children":["$","$L2",null,{"defaultOptions":{"clearOnDefault":false},"children":["$","$L3",null,{"parallelRouterKey":"children","template":["$","$L4",null,{}],"notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]]}]}]}]}]]}],"loading":null,"isPartial":false}

View file

@ -1,5 +0,0 @@
1:"$Sreact.fragment"
2:I[97367,["/t2-mapper/_next/static/chunks/2f236954d6a65e12.js"],"OutletBoundary"]
3:"$Sreact.suspense"
0:{"buildId":"6Rbtt13_hS5V8nXPFgNnq","rsc":["$","$1","c",{"children":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],null,["$","$L2",null,{"children":["$","$3",null,{"name":"Next.MetadataOutlet","children":"$@4"}]}]]}],"loading":null,"isPartial":false}
4:null

View file

@ -1,4 +0,0 @@
1:"$Sreact.fragment"
2:I[39756,["/t2-mapper/_next/static/chunks/2f236954d6a65e12.js"],"default"]
3:I[37457,["/t2-mapper/_next/static/chunks/2f236954d6a65e12.js"],"default"]
0:{"buildId":"6Rbtt13_hS5V8nXPFgNnq","rsc":["$","$1","c",{"children":[null,["$","$L2",null,{"parallelRouterKey":"children","template":["$","$L3",null,{}]}]]}],"loading":null,"isPartial":false}

View file

@ -1,2 +0,0 @@
:HL["/t2-mapper/_next/static/chunks/ad52ebedad251428.css","style"]
0:{"buildId":"6Rbtt13_hS5V8nXPFgNnq","tree":{"name":"","paramType":null,"paramKey":"","hasRuntimePrefetch":false,"slots":{"children":{"name":"/_not-found","paramType":null,"paramKey":"/_not-found","hasRuntimePrefetch":false,"slots":{"children":{"name":"__PAGE__","paramType":null,"paramKey":"__PAGE__","hasRuntimePrefetch":false,"slots":null,"isRootLayout":false}},"isRootLayout":false}},"isRootLayout":true},"staleTime":300}

File diff suppressed because one or more lines are too long

View file

@ -1,15 +0,0 @@
1:"$Sreact.fragment"
2:I[12985,["/t2-mapper/_next/static/chunks/89fcb9c19e93d0ef.js"],"NuqsAdapter"]
3:I[39756,["/t2-mapper/_next/static/chunks/2f236954d6a65e12.js"],"default"]
4:I[37457,["/t2-mapper/_next/static/chunks/2f236954d6a65e12.js"],"default"]
5:I[97367,["/t2-mapper/_next/static/chunks/2f236954d6a65e12.js"],"OutletBoundary"]
6:"$Sreact.suspense"
8:I[97367,["/t2-mapper/_next/static/chunks/2f236954d6a65e12.js"],"ViewportBoundary"]
a:I[97367,["/t2-mapper/_next/static/chunks/2f236954d6a65e12.js"],"MetadataBoundary"]
c:I[68027,["/t2-mapper/_next/static/chunks/2f236954d6a65e12.js"],"default"]
:HL["/t2-mapper/_next/static/chunks/ad52ebedad251428.css","style"]
0:{"P":null,"b":"6Rbtt13_hS5V8nXPFgNnq","c":["","_not-found",""],"q":"","i":false,"f":[[["",{"children":["/_not-found",{"children":["__PAGE__",{}]}]},"$undefined","$undefined",true],[["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/t2-mapper/_next/static/chunks/ad52ebedad251428.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}],["$","script","script-0",{"src":"/t2-mapper/_next/static/chunks/89fcb9c19e93d0ef.js","async":true,"nonce":"$undefined"}]],["$","html",null,{"lang":"en","children":["$","body",null,{"children":["$","$L2",null,{"defaultOptions":{"clearOnDefault":false},"children":["$","$L3",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L4",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]],"forbidden":"$undefined","unauthorized":"$undefined"}]}]}]}]]}],{"children":[["$","$1","c",{"children":[null,["$","$L3",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L4",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":[["$","$1","c",{"children":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":"$0:f:0:1:0:props:children:1:props:children:props:children:props:children:props:notFound:0:1:props:style","children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":"$0:f:0:1:0:props:children:1:props:children:props:children:props:children:props:notFound:0:1:props:children:props:children:1:props:style","children":404}],["$","div",null,{"style":"$0:f:0:1:0:props:children:1:props:children:props:children:props:children:props:notFound:0:1:props:children:props:children:2:props:style","children":["$","h2",null,{"style":"$0:f:0:1:0:props:children:1:props:children:props:children:props:children:props:notFound:0:1:props:children:props:children:2:props:children:props:style","children":"This page could not be found."}]}]]}]}]],null,["$","$L5",null,{"children":["$","$6",null,{"name":"Next.MetadataOutlet","children":"$@7"}]}]]}],{},null,false,false]},null,false,false]},null,false,false],["$","$1","h",{"children":[["$","meta",null,{"name":"robots","content":"noindex"}],["$","$L8",null,{"children":"$L9"}],["$","div",null,{"hidden":true,"children":["$","$La",null,{"children":["$","$6",null,{"name":"Next.Metadata","children":"$Lb"}]}]}],null]}],false]],"m":"$undefined","G":["$c","$undefined"],"S":true}
9:[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no"}]]
d:I[27201,["/t2-mapper/_next/static/chunks/2f236954d6a65e12.js"],"IconMark"]
7:null
b:[["$","title","0",{"children":"MapGenius  Explore maps for Tribes 2"}],["$","meta","1",{"name":"description","content":"Tribes 2 forever."}],["$","link","2",{"rel":"icon","href":"/t2-mapper/icon.png?icon.2911bba1.png","sizes":"108x128","type":"image/png"}],["$","$Ld","3",{}]]

View file

@ -0,0 +1 @@
import{r as e}from"./chunk-DECur_0Z.js";import{r as t,t as n}from"./jsx-runtime-BpGWiA-R.js";import{i as r,o as i}from"./react-three-fiber.esm-1xQMUSXT.js";import"./Html-BD9DC-n9.js";import{a,i as o}from"./SettingsProvider-DlQTXm3x.js";import{t as s}from"./logger-DePRU8Hm.js";import"./traditional-DPdbI9gv.js";import{Ht as c,c as l,yt as u}from"./three.module-Bu2Gkdne.js";import"./mission-CWASMBNZ.js";import{r as d}from"./engineStore-Clbs91WD.js";import{B as f,M as p,T as m}from"./index-ClGJzuqQ.js";var h=e(t(),1),g=n(),_=s(`AudioEmitter`),v=new Map,y=new Map;function b(e,t=1){y.set(e,t)}function x(e){y.delete(e)}var S=0;function C(){return S}function w(){S++;for(let[e]of y){try{e.stop()}catch{}try{e.disconnect()}catch{}}y.clear()}d.subscribe(e=>e.playback.rate,e=>{for(let[t,n]of y)try{t.setPlaybackRate(n*e)}catch{}});function T(e,t){let n=t(e),r=n?.filename;if(!r)return null;let i=r.endsWith(`.wav`)?r:`${r}.wav`,a=n.description,o=a==null?void 0:t(a);return{filename:i,is3D:o?.is3D??!0,isLooping:o?.isLooping??!1,refDist:o?.referenceDistance??20,maxDist:o?.maxDistance??100,volume:o?.volume??1}}function E(e,t,n,r,i){let a;try{a=p(e.filename)}catch{return}let o=d.getState().playback.rate,s=S;D(a,n,n=>{if(s===S)try{if(e.is3D&&i){let a=new u(t);a.setBuffer(n),a.setDistanceModel(`inverse`),a.setRefDistance(e.refDist),a.setMaxDistance(e.maxDist),a.setRolloffFactor(1),a.setVolume(e.volume),a.setPlaybackRate(o),r&&a.position.copy(r),i.add(a),y.set(a,1),a.play(),a.source.onended=()=>{y.delete(a);try{a.disconnect()}catch{}i.remove(a)}}else{let r=new l(t);r.setBuffer(n),r.setVolume(e.volume),r.setPlaybackRate(o),y.set(r,1),r.play(),r.source.onended=()=>{y.delete(r);try{r.disconnect()}catch{}}}}catch{}})}function D(e,t,n){v.has(e)?n(v.get(e)):t.load(e,t=>{v.set(e,t),n(t)},void 0,t=>{_.error(`Audio load error %s: %o`,e,t)})}var O=(0,h.memo)(function({entity:e}){let{debugMode:t}=o(),n=e.audioFileName??``,s=e.audioVolume??1,d=e.audioMinDistance??1,_=e.audioMaxDistance??1,v=e.audioMinLoopGap??0,y=e.audioMaxLoopGap??0,b=e.audioIs3D??!0?1:0,x=e.audioIsLooping??!0,[S,C,w]=e.position??[0,0,0],T=i(e=>e.scene),E=i(e=>e.camera),{audioLoader:O,audioListener:k}=f(),{audioEnabled:A}=a(),j=(0,h.useRef)(null),M=(0,h.useRef)(null),N=(0,h.useRef)(null),P=(0,h.useRef)(!1),F=(0,h.useRef)(!1),I=(0,h.useRef)(new c(S,C,w)),L=(0,h.useRef)(0),R=()=>{M.current!=null&&(clearTimeout(M.current),M.current=null),N.current!=null&&(clearTimeout(N.current),N.current=null)},[z]=(0,h.useState)(()=>Math.random());(0,h.useEffect)(()=>{if(!O||!k)return;L.current++;let e;if(b){let t=new u(k);t.position.copy(I.current),t.setDistanceModel(`inverse`),t.setRefDistance(d),t.setMaxDistance(_),t.setRolloffFactor(1),t.setVolume(s),e=t,T.add(e)}else e=new l(k),e.setVolume(s);return j.current=e,()=>{R();try{e.stop()}catch{}try{e.disconnect()}catch{}b&&T.remove(e),j.current=null,P.current=!1,F.current=!1}},[O,k,b,d,_,s,T]);let B=(e,t)=>{if(x)if(v>0||y>0){let n=Math.max(0,v),r=Math.max(n,y),i=n===r?n:z*(r-n)+n;e.loop=!1;let a=()=>{t===L.current&&(e.isPlaying===!1?M.current=setTimeout(()=>{if(t===L.current)try{e.play(),B(e,t)}catch{}},i):N.current=setTimeout(a,100))};N.current=setTimeout(a,100)}else e.setLoop(!0)},V=(0,h.useEffectEvent)(e=>{if(!O)return;let t=L.current;if(P.current)try{e.isPlaying||(e.play(),B(e,t))}catch{}else{let r;try{r=p(n)}catch{return}D(r,O,n=>{if(t===L.current&&!e.buffer){e.setBuffer(n),P.current=!0;try{e.play(),B(e,t)}catch{}}})}});return(0,h.useEffect)(()=>{let e=j.current;!e||b||!A||!n||V(e)},[A,b,n,O,k]),r(()=>{let e=j.current;if(!e||!b||!A||!n)return;let t=E.position.distanceTo(I.current),r=F.current,i=t<=_;if(i&&!r)F.current=!0,V(e);else if(!i&&r){F.current=!1,R();try{e.stop()}catch{}}}),(0,h.useEffect)(()=>{let e=j.current;if(e&&!A){R();try{e.stop()}catch{}F.current=!1}},[A]),t?(0,g.jsxs)(`mesh`,{position:I.current,children:[(0,g.jsx)(`sphereGeometry`,{args:[d,12,12]}),(0,g.jsx)(`meshBasicMaterial`,{color:`#00ff00`,wireframe:!0,opacity:.05,transparent:!0,toneMapped:!1}),(0,g.jsx)(m,{color:`#00ff00`,position:[0,d+1,0],children:n})]}):null});export{O as AudioEmitter,v as audioBufferCache,D as getCachedAudioBuffer,C as getSoundGeneration,E as playOneShotSound,T as resolveAudioProfile,w as stopAllTrackedSounds,b as trackSound,x as untrackSound};

View file

@ -0,0 +1 @@
import{r as e}from"./chunk-DECur_0Z.js";import{n as t,r as n,t as r}from"./jsx-runtime-BpGWiA-R.js";import"./logger-DePRU8Hm.js";import"./traditional-DPdbI9gv.js";import"./mission-CWASMBNZ.js";import{X as i}from"./index-ClGJzuqQ.js";var a=t(),o=e(n(),1),s={InputForm:`_InputForm_18kom_1`,Input:`_Input_18kom_1`},c=r();function l(){let e=(0,a.c)(8),[t,n]=(0,o.useState)(``),r;e[0]===t?r=e[1]:(r=e=>{e.preventDefault();let r=t.trim();r&&(i.getState().sendCommand(`messageSent`,r),n(``))},e[0]=t,e[1]=r);let l=r,f;e[2]===Symbol.for(`react.memo_cache_sentinel`)?(f=e=>n(e.target.value),e[2]=f):f=e[2];let p;e[3]===t?p=e[4]:(p=(0,c.jsx)(`input`,{className:s.Input,type:`text`,placeholder:`Say something…`,value:t,onChange:f,onKeyDown:d,onKeyUp:u,maxLength:255}),e[3]=t,e[4]=p);let m;return e[5]!==l||e[6]!==p?(m=(0,c.jsx)(`form`,{className:s.InputForm,onSubmit:l,children:p}),e[5]=l,e[6]=p,e[7]=m):m=e[7],m}function u(e){return e.stopPropagation()}function d(e){return e.stopPropagation()}export{l as ChatInput};

View file

@ -0,0 +1 @@
._InputForm_18kom_1{display:flex}._Input_18kom_1{color:#28e7f0;background:#00323ccc;border:0;border-top:1px solid #4eb3a733;border-radius:0;outline:none;width:100%;margin:0;padding:6px;font-family:inherit;font-size:12px;line-height:1.25}._Input_18kom_1::placeholder{color:#2cacb580}._Input_18kom_1:focus{background:#00323ce6}

View file

@ -0,0 +1 @@
import{r as e}from"./chunk-DECur_0Z.js";import{r as t}from"./jsx-runtime-BpGWiA-R.js";import"./react-three-fiber.esm-1xQMUSXT.js";import"./Html-BD9DC-n9.js";import{a as n}from"./SettingsProvider-DlQTXm3x.js";import"./logger-DePRU8Hm.js";import"./traditional-DPdbI9gv.js";import{c as r}from"./three.module-Bu2Gkdne.js";import"./mission-CWASMBNZ.js";import{i,r as a}from"./engineStore-Clbs91WD.js";import{B as o,M as s}from"./index-ClGJzuqQ.js";import{getCachedAudioBuffer as c,getSoundGeneration as l,trackSound as u,untrackSound as d}from"./AudioEmitter-CpW3GMEa.js";var f=e(t(),1);function p(){let{audioLoader:e,audioListener:t}=o(),{audioEnabled:p}=n(),m=i(e=>e.playback.streamSnapshot?.chatMessages),h=i(e=>e.playback.streamSnapshot?.timeSec),g=(0,f.useRef)(new WeakSet),_=(0,f.useRef)(new Map);return(0,f.useEffect)(()=>{if(!p||!e||!t||!m?.length||h==null)return;let n=g.current,i=_.current;for(let o of m)if(!n.has(o)&&(n.add(o),o.soundPath&&!(Math.abs(h-o.timeSec)>2)))try{let n=s(o.soundPath),f=o.soundPitch??1,p=a.getState().playback.rate,m=o.sender,h=l();c(n,e,e=>{if(h!==l())return;if(m){let e=i.get(m);if(e){try{e.stop()}catch{}d(e);try{e.disconnect()}catch{}i.delete(m)}}let n=new r(t);n.setBuffer(e),n.setPlaybackRate(f*p),u(n,f),m&&i.set(m,n),n.play(),n.source.onended=()=>{d(n);try{n.disconnect()}catch{}m&&i.get(m)===n&&i.delete(m)}})}catch{}},[p,e,t,m,h]),null}export{p as ChatSoundPlayer};

View file

@ -0,0 +1 @@
._StatsPanel_10m5i_1{bottom:0;right:0;top:auto!important;left:auto!important}._AxisLabel_10m5i_8{pointer-events:none;font-size:12px}._AxisLabel_10m5i_8[data-axis=x]{color:#f90}._AxisLabel_10m5i_8[data-axis=y]{color:#9f0}._AxisLabel_10m5i_8[data-axis=z]{color:#09f}

View file

@ -0,0 +1 @@
import{r as e,t}from"./chunk-DECur_0Z.js";import{n,r,t as i}from"./jsx-runtime-BpGWiA-R.js";import{n as a,r as o}from"./react-three-fiber.esm-1xQMUSXT.js";import{t as s}from"./Html-BD9DC-n9.js";import"./traditional-DPdbI9gv.js";var c=t(((e,t)=>{(function(n,r){typeof e==`object`&&t!==void 0?t.exports=r():typeof define==`function`&&define.amd?define(r):n.Stats=r()})(e,function(){var e=function(){function t(e){return i.appendChild(e.dom),e}function n(e){for(var t=0;t<i.children.length;t++)i.children[t].style.display=t===e?`block`:`none`;r=e}var r=0,i=document.createElement(`div`);i.style.cssText=`position:fixed;top:0;left:0;cursor:pointer;opacity:0.9;z-index:10000`,i.addEventListener(`click`,function(e){e.preventDefault(),n(++r%i.children.length)},!1);var a=(performance||Date).now(),o=a,s=0,c=t(new e.Panel(`FPS`,`#0ff`,`#002`)),l=t(new e.Panel(`MS`,`#0f0`,`#020`));if(self.performance&&self.performance.memory)var u=t(new e.Panel(`MB`,`#f08`,`#201`));return n(0),{REVISION:16,dom:i,addPanel:t,showPanel:n,begin:function(){a=(performance||Date).now()},end:function(){s++;var e=(performance||Date).now();if(l.update(e-a,200),e>o+1e3&&(c.update(1e3*s/(e-o),100),o=e,s=0,u)){var t=performance.memory;u.update(t.usedJSHeapSize/1048576,t.jsHeapSizeLimit/1048576)}return e},update:function(){a=this.end()},domElement:i,setMode:n}};return e.Panel=function(e,t,n){var r=1/0,i=0,a=Math.round,o=a(window.devicePixelRatio||1),s=80*o,c=48*o,l=3*o,u=2*o,d=3*o,f=15*o,p=74*o,m=30*o,h=document.createElement(`canvas`);h.width=s,h.height=c,h.style.cssText=`width:80px;height:48px`;var g=h.getContext(`2d`);return g.font=`bold `+9*o+`px Helvetica,Arial,sans-serif`,g.textBaseline=`top`,g.fillStyle=n,g.fillRect(0,0,s,c),g.fillStyle=t,g.fillText(e,l,u),g.fillRect(d,f,p,m),g.fillStyle=n,g.globalAlpha=.9,g.fillRect(d,f,p,m),{dom:h,update:function(c,_){r=Math.min(r,c),i=Math.max(i,c),g.fillStyle=n,g.globalAlpha=1,g.fillRect(0,0,s,f),g.fillStyle=t,g.fillText(a(c)+` `+e+` (`+a(r)+`-`+a(i)+`)`,l,u),g.drawImage(h,d+o,f,p-o,m,d,f,p-o,m),g.fillRect(d+p-o,f,o,m),g.fillStyle=n,g.globalAlpha=.9,g.fillRect(d+p-o,f,o,a((1-c/_)*m))}}},e})})),l=e(r());function u(e,t){typeof e==`function`?e(t):e!=null&&(e.current=t)}function d(e,t=[],n){let[r,i]=l.useState();return l.useLayoutEffect(()=>{let t=e();return i(t),u(n,t),()=>u(n,null)},t),r}var f=e(c());function p({showPanel:e=0,className:t,parent:n}){let r=d(()=>new f.default,[]);return l.useEffect(()=>{if(r){let i=n&&n.current||document.body;r.showPanel(e),i?.appendChild(r.dom);let s=(t??``).split(` `).filter(e=>e);s.length&&r.dom.classList.add(...s);let c=o(()=>r.begin()),l=a(()=>r.end());return()=>{s.length&&r.dom.classList.remove(...s),i?.removeChild(r.dom),c(),l()}}},[n,r,t,e]),null}var m=n(),h={StatsPanel:`_StatsPanel_10m5i_1`,AxisLabel:`_AxisLabel_10m5i_8`},g=i();function _(){let e=(0,m.c)(10),t=(0,l.useRef)(null),n;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(n=()=>{let e=t.current;e&&e.setColors(`rgb(153, 255, 0)`,`rgb(0, 153, 255)`,`rgb(255, 153, 0)`)},e[0]=n):n=e[0],(0,l.useEffect)(n);let r;e[1]===Symbol.for(`react.memo_cache_sentinel`)?(r=(0,g.jsx)(p,{className:h.StatsPanel}),e[1]=r):r=e[1];let i;e[2]===Symbol.for(`react.memo_cache_sentinel`)?(i=[70],e[2]=i):i=e[2];let a;e[3]===Symbol.for(`react.memo_cache_sentinel`)?(a=(0,g.jsx)(`axesHelper`,{ref:t,args:i,renderOrder:999,children:(0,g.jsx)(`lineBasicMaterial`,{depthTest:!1,depthWrite:!1,fog:!1,vertexColors:!0})}),e[3]=a):a=e[3];let o;e[4]===Symbol.for(`react.memo_cache_sentinel`)?(o=[80,0,0],e[4]=o):o=e[4];let c;e[5]===Symbol.for(`react.memo_cache_sentinel`)?(c=(0,g.jsx)(s,{position:o,center:!0,children:(0,g.jsx)(`span`,{className:h.AxisLabel,"data-axis":`y`,children:`Y`})}),e[5]=c):c=e[5];let u;e[6]===Symbol.for(`react.memo_cache_sentinel`)?(u=[0,80,0],e[6]=u):u=e[6];let d;e[7]===Symbol.for(`react.memo_cache_sentinel`)?(d=(0,g.jsx)(s,{position:u,center:!0,children:(0,g.jsx)(`span`,{className:h.AxisLabel,"data-axis":`z`,children:`Z`})}),e[7]=d):d=e[7];let f;e[8]===Symbol.for(`react.memo_cache_sentinel`)?(f=[0,0,80],e[8]=f):f=e[8];let _;return e[9]===Symbol.for(`react.memo_cache_sentinel`)?(_=(0,g.jsxs)(g.Fragment,{children:[r,a,c,d,(0,g.jsx)(s,{position:f,center:!0,children:(0,g.jsx)(`span`,{className:h.AxisLabel,"data-axis":`x`,children:`X`})})]}),e[9]=_):_=e[9],_}export{_ as DebugElements};

View file

@ -0,0 +1 @@
._Root_16j0q_1{z-index:2;align-items:center;gap:10px;padding:8px 12px;font-size:13px;display:flex}._PlayPause_16j0q_10{color:#fff;cursor:pointer;background:#03529399;border:1px solid #ffffff4d;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;padding:0;font-size:14px;display:flex}@media (hover:hover){._PlayPause_16j0q_10:hover{background:#0062b3cc}}._Time_16j0q_32{font-variant-numeric:tabular-nums;white-space:nowrap;flex-shrink:0}._Seek_16j0q_38[type=range]{flex:1 1 0;min-width:0;max-width:none}._Speed_16j0q_44{color:#fff;background:#0009;border:1px solid #ffffff4d;border-radius:3px;flex-shrink:0;padding:2px 4px;font-size:12px}

View file

@ -0,0 +1 @@
import{r as e}from"./chunk-DECur_0Z.js";import{n as t,r as n,t as r}from"./jsx-runtime-BpGWiA-R.js";import"./traditional-DPdbI9gv.js";import"./engineStore-Clbs91WD.js";import{G as i,J as a,K as o,W as s,Y as c,q as l}from"./index-ClGJzuqQ.js";var u=t(),d=e(n(),1),f={Root:`_Root_16j0q_1`,PlayPause:`_PlayPause_16j0q_10`,Time:`_Time_16j0q_32`,Seek:`_Seek_16j0q_38`,Speed:`_Speed_16j0q_44`},p=r(),m=[.25,.5,1,2,4];function h(e){return`${Math.floor(e/60)}:${Math.floor(e%60).toString().padStart(2,`0`)}`}function g(){let e=(0,u.c)(33),t=a(),n=o(),r=s(),g=i(),x=c(),{play:S,pause:C,seek:w,setSpeed:T}=l(),E,D;e[0]!==n||e[1]!==C||e[2]!==S||e[3]!==t?(E=()=>{if(!t)return;let e=e=>{if(e.code!==`Space`)return;let t=e.target;t.tagName===`INPUT`||t.tagName===`TEXTAREA`||t.tagName===`SELECT`||t.tagName===`BUTTON`||t.isContentEditable||(e.preventDefault(),n?C():S())};return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)},D=[t,n,S,C],e[0]=n,e[1]=C,e[2]=S,e[3]=t,e[4]=E,e[5]=D):(E=e[4],D=e[5]),(0,d.useEffect)(E,D);let O;e[6]===w?O=e[7]:(O=e=>{w(parseFloat(e.target.value))},e[6]=w,e[7]=O);let k=O,A;e[8]===T?A=e[9]:(A=e=>{T(parseFloat(e.target.value))},e[8]=T,e[9]=A);let j=A;if(!t||!Number.isFinite(t.duration))return null;let M=n?C:S,N=n?`Pause`:`Play`,P=n?`❚❚`:``,F;e[10]!==M||e[11]!==N||e[12]!==P?(F=(0,p.jsx)(`button`,{className:f.PlayPause,onClick:M,"aria-label":N,autoFocus:!0,children:P}),e[10]=M,e[11]=N,e[12]=P,e[13]=F):F=e[13];let I;e[14]===r?I=e[15]:(I=h(r),e[14]=r,e[15]=I);let L;e[16]===g?L=e[17]:(L=h(g),e[16]=g,e[17]=L);let R=`${I} / ${L}`,z;e[18]===R?z=e[19]:(z=(0,p.jsx)(`span`,{className:f.Time,children:R}),e[18]=R,e[19]=z);let B;e[20]!==r||e[21]!==g||e[22]!==k?(B=(0,p.jsx)(`input`,{className:f.Seek,type:`range`,min:0,max:g,step:.01,value:r,onChange:k}),e[20]=r,e[21]=g,e[22]=k,e[23]=B):B=e[23];let V;e[24]===Symbol.for(`react.memo_cache_sentinel`)?(V=m.map(_),e[24]=V):V=e[24];let H;e[25]!==j||e[26]!==x?(H=(0,p.jsx)(`select`,{className:f.Speed,value:x,onChange:j,children:V}),e[25]=j,e[26]=x,e[27]=H):H=e[27];let U;return e[28]!==z||e[29]!==B||e[30]!==H||e[31]!==F?(U=(0,p.jsxs)(`div`,{className:f.Root,onKeyDown:b,onPointerDown:y,onClick:v,children:[F,z,B,H]}),e[28]=z,e[29]=B,e[30]=H,e[31]=F,e[32]=U):U=e[32],U}function _(e){return(0,p.jsxs)(`option`,{value:e,children:[e,`x`]},e)}function v(e){return e.stopPropagation()}function y(e){return e.stopPropagation()}function b(e){return e.stopPropagation()}export{g as DemoPlaybackControls};

View file

@ -0,0 +1,75 @@
import{r as e}from"./chunk-DECur_0Z.js";import{n as t,r as n,t as r}from"./jsx-runtime-BpGWiA-R.js";import{i}from"./react-three-fiber.esm-1xQMUSXT.js";import{a}from"./SettingsProvider-DlQTXm3x.js";import"./logger-DePRU8Hm.js";import"./traditional-DPdbI9gv.js";import{Et as o,Vt as s,kt as c,p as l,y as u}from"./three.module-Bu2Gkdne.js";import"./mission-CWASMBNZ.js";import{F as d,V as f,r as p}from"./index-ClGJzuqQ.js";var m=t(),h=e(n(),1),g=`
#include <fog_pars_vertex>
varying vec2 vUv;
void main() {
vUv = uv;
vec4 mvPosition = modelViewMatrix * vec4(position, 1.0);
gl_Position = projectionMatrix * mvPosition;
#include <fog_vertex>
}
`,_=`
#include <fog_pars_fragment>
uniform sampler2D frame0;
uniform sampler2D frame1;
uniform sampler2D frame2;
uniform sampler2D frame3;
uniform sampler2D frame4;
uniform int currentFrame;
uniform float vScroll;
uniform vec2 uvScale;
uniform vec3 tintColor;
uniform float opacity;
uniform float opacityFactor;
varying vec2 vUv;
void main() {
// Scale and scroll UVs
vec2 scrolledUv = vec2(vUv.x * uvScale.x, vUv.y * uvScale.y + vScroll);
// Sample the current frame
vec4 texColor;
if (currentFrame == 0) {
texColor = texture2D(frame0, scrolledUv);
} else if (currentFrame == 1) {
texColor = texture2D(frame1, scrolledUv);
} else if (currentFrame == 2) {
texColor = texture2D(frame2, scrolledUv);
} else if (currentFrame == 3) {
texColor = texture2D(frame3, scrolledUv);
} else {
texColor = texture2D(frame4, scrolledUv);
}
// Tribes 2 GL_MODULATE: output = texture * vertexColor
// No gamma correction - textures use NoColorSpace and values pass through
// directly to display, matching how WaterBlock handles sRGB textures.
vec3 modulatedColor = texColor.rgb * tintColor;
float adjustedOpacity = opacity * opacityFactor;
gl_FragColor = vec4(modulatedColor, adjustedOpacity);
// Custom fog for additive blending: fade out rather than blend to fog color.
// Standard fog (mix toward fogColor) doesn't work with additive blending
// because we'd still be adding fogColor to the framebuffer.
// Uses Torque's quadratic haze formula for consistency.
#ifdef USE_FOG
float dist = vFogDepth;
float fogFactor = 0.0;
if (dist > fogNear) {
if (dist >= fogFar) {
fogFactor = 1.0;
} else {
float fogScale = 1.0 / (fogFar - fogNear);
float distFactor = (dist - fogNear) * fogScale - 1.0;
fogFactor = 1.0 - distFactor * distFactor;
}
}
gl_FragColor.a *= 1.0 - fogFactor;
#endif
}
`;function v({textures:e,scale:t,umapping:n,vmapping:r,color:i,baseTranslucency:a}){let o=[...t].sort((e,t)=>t-e),l=new s(o[0]*n,o[1]*r),d=e[0];return new c({uniforms:{frame0:{value:d},frame1:{value:e[1]??d},frame2:{value:e[2]??d},frame3:{value:e[3]??d},frame4:{value:e[4]??d},currentFrame:{value:0},vScroll:{value:0},uvScale:{value:l},tintColor:{value:new u(...i)},opacity:{value:a},opacityFactor:{value:1},fogColor:{value:new u},fogNear:{value:1},fogFar:{value:2e3}},vertexShader:g,fragmentShader:_,transparent:!0,blending:2,side:2,depthWrite:!1,fog:!0})}var y=r();function b(e){e.wrapS=e.wrapT=o,e.colorSpace=``,e.flipY=!1,e.needsUpdate=!0}function x(e){let t=(0,m.c)(7),[n,r,i]=e,a;t[0]!==n||t[1]!==r||t[2]!==i?(a=new l(n,r,i),a.translate(n/2,r/2,i/2),t[0]=n,t[1]=r,t[2]=i,t[3]=a):a=t[3];let o=a,s,c;return t[4]===o?(s=t[5],c=t[6]):(s=()=>()=>o.dispose(),c=[o],t[4]=o,t[5]=s,t[6]=c),(0,h.useEffect)(s,c),o}function S(e){let t=(0,m.c)(10),{scale:n,color:r,baseTranslucency:i}=e,a=x(n),o;t[0]!==r[0]||t[1]!==r[1]||t[2]!==r[2]?(o=new u(r[0],r[1],r[2]),t[0]=r[0],t[1]=r[1],t[2]=r[2],t[3]=o):o=t[3];let s=o,c=i*1,l;t[4]!==s||t[5]!==c?(l=(0,y.jsx)(`meshBasicMaterial`,{color:s,transparent:!0,opacity:c,blending:2,side:2,depthWrite:!1,fog:!1}),t[4]=s,t[5]=c,t[6]=l):l=t[6];let d;return t[7]!==a||t[8]!==l?(d=(0,y.jsx)(`mesh`,{geometry:a,renderOrder:1,children:l}),t[7]=a,t[8]=l,t[9]=d):d=t[9],d}function C({scale:e,data:t}){let{animationEnabled:n}=a(),r=x(e),o=f((0,h.useMemo)(()=>t.textures.map(e=>d(e)),[t.textures]),e=>{e.forEach(e=>b(e))}),s=(0,h.useMemo)(()=>v({textures:o,scale:e,umapping:t.umapping,vmapping:t.vmapping,color:t.color,baseTranslucency:t.baseTranslucency}),[o,e,t]);(0,h.useEffect)(()=>()=>s.dispose(),[s]);let c=(0,h.useRef)(0);return i((e,r)=>{if(!n){c.current=0,s.uniforms.currentFrame.value=0,s.uniforms.vScroll.value=0;return}c.current+=r,s.uniforms.currentFrame.value=Math.floor(c.current*t.framesPerSec)%t.numFrames,s.uniforms.vScroll.value=c.current*t.scrollSpeed}),(0,y.jsx)(`mesh`,{geometry:r,material:s,renderOrder:1})}function w(e){let t=(0,m.c)(14),{entity:n}=e,r=n.forceFieldData,i=r.dimensions;if(r.textures.map(T).length===0){let e;return t[0]!==r.baseTranslucency||t[1]!==r.color||t[2]!==i?(e=(0,y.jsx)(S,{scale:i,color:r.color,baseTranslucency:r.baseTranslucency}),t[0]=r.baseTranslucency,t[1]=r.color,t[2]=i,t[3]=e):e=t[3],e}let a;t[4]!==r.baseTranslucency||t[5]!==r.color||t[6]!==i?(a=(0,y.jsx)(S,{scale:i,color:r.color,baseTranslucency:r.baseTranslucency}),t[4]=r.baseTranslucency,t[5]=r.color,t[6]=i,t[7]=a):a=t[7];let o;t[8]!==r||t[9]!==i?(o=(0,y.jsx)(C,{scale:i,data:r}),t[8]=r,t[9]=i,t[10]=o):o=t[10];let s;return t[11]!==a||t[12]!==o?(s=(0,y.jsx)(p,{name:`ForceField`,fallback:a,children:o}),t[11]=a,t[12]=o,t[13]=s):s=t[13],s}function T(e){return d(e)}export{w as ForceFieldBare};

File diff suppressed because one or more lines are too long

View file

@ -0,0 +1 @@
import{n as e,t}from"./jsx-runtime-BpGWiA-R.js";import"./traditional-DPdbI9gv.js";import"./engineStore-Clbs91WD.js";import{H as n,J as r}from"./index-ClGJzuqQ.js";var i=e(),a={Root:`_Root_uktvs_1`,Column:`_Column_uktvs_13`,Row:`_Row_uktvs_20`,Spacer:`_Spacer_uktvs_26`,Key:`_Key_uktvs_30`,Arrow:`_Arrow_uktvs_53`},o=t();function s(){let e=(0,i.c)(51),t=r(),s=n(_),v=n(g),y=n(h),b=n(m),x=n(p),S=n(f),C=n(d),w=n(u),T=n(l),E=n(c);if(t&&t.source!==`live`)return null;let D;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(D=(0,o.jsx)(`div`,{className:a.Spacer}),e[0]=D):D=e[0];let O;e[1]===s?O=e[2]:(O=(0,o.jsx)(`div`,{className:a.Key,"data-pressed":s,children:`W`}),e[1]=s,e[2]=O);let k;e[3]===Symbol.for(`react.memo_cache_sentinel`)?(k=(0,o.jsx)(`div`,{className:a.Spacer}),e[3]=k):k=e[3];let A;e[4]===O?A=e[5]:(A=(0,o.jsxs)(`div`,{className:a.Row,children:[D,O,k]}),e[4]=O,e[5]=A);let j;e[6]===y?j=e[7]:(j=(0,o.jsx)(`div`,{className:a.Key,"data-pressed":y,children:`A`}),e[6]=y,e[7]=j);let M;e[8]===v?M=e[9]:(M=(0,o.jsx)(`div`,{className:a.Key,"data-pressed":v,children:`S`}),e[8]=v,e[9]=M);let N;e[10]===b?N=e[11]:(N=(0,o.jsx)(`div`,{className:a.Key,"data-pressed":b,children:`D`}),e[10]=b,e[11]=N);let P;e[12]!==j||e[13]!==M||e[14]!==N?(P=(0,o.jsxs)(`div`,{className:a.Row,children:[j,M,N]}),e[12]=j,e[13]=M,e[14]=N,e[15]=P):P=e[15];let F;e[16]!==A||e[17]!==P?(F=(0,o.jsxs)(`div`,{className:a.Column,children:[A,P]}),e[16]=A,e[17]=P,e[18]=F):F=e[18];let I;e[19]===Symbol.for(`react.memo_cache_sentinel`)?(I=(0,o.jsx)(`span`,{className:a.Arrow,children:``}),e[19]=I):I=e[19];let L;e[20]===x?L=e[21]:(L=(0,o.jsx)(`div`,{className:a.Row,children:(0,o.jsxs)(`div`,{className:a.Key,"data-pressed":x,children:[I,` Space`]})}),e[20]=x,e[21]=L);let R;e[22]===Symbol.for(`react.memo_cache_sentinel`)?(R=(0,o.jsx)(`span`,{className:a.Arrow,children:``}),e[22]=R):R=e[22];let z;e[23]===S?z=e[24]:(z=(0,o.jsx)(`div`,{className:a.Row,children:(0,o.jsxs)(`div`,{className:a.Key,"data-pressed":S,children:[R,` Shift`]})}),e[23]=S,e[24]=z);let B;e[25]!==L||e[26]!==z?(B=(0,o.jsxs)(`div`,{className:a.Column,children:[L,z]}),e[25]=L,e[26]=z,e[27]=B):B=e[27];let V;e[28]===Symbol.for(`react.memo_cache_sentinel`)?(V=(0,o.jsx)(`div`,{className:a.Spacer}),e[28]=V):V=e[28];let H;e[29]===C?H=e[30]:(H=(0,o.jsx)(`div`,{className:a.Key,"data-pressed":C,children:``}),e[29]=C,e[30]=H);let U;e[31]===Symbol.for(`react.memo_cache_sentinel`)?(U=(0,o.jsx)(`div`,{className:a.Spacer}),e[31]=U):U=e[31];let W;e[32]===H?W=e[33]:(W=(0,o.jsxs)(`div`,{className:a.Row,children:[V,H,U]}),e[32]=H,e[33]=W);let G;e[34]===T?G=e[35]:(G=(0,o.jsx)(`div`,{className:a.Key,"data-pressed":T,children:``}),e[34]=T,e[35]=G);let K;e[36]===w?K=e[37]:(K=(0,o.jsx)(`div`,{className:a.Key,"data-pressed":w,children:``}),e[36]=w,e[37]=K);let q;e[38]===E?q=e[39]:(q=(0,o.jsx)(`div`,{className:a.Key,"data-pressed":E,children:``}),e[38]=E,e[39]=q);let J;e[40]!==G||e[41]!==K||e[42]!==q?(J=(0,o.jsxs)(`div`,{className:a.Row,children:[G,K,q]}),e[40]=G,e[41]=K,e[42]=q,e[43]=J):J=e[43];let Y;e[44]!==W||e[45]!==J?(Y=(0,o.jsxs)(`div`,{className:a.Column,children:[W,J]}),e[44]=W,e[45]=J,e[46]=Y):Y=e[46];let X;return e[47]!==B||e[48]!==Y||e[49]!==F?(X=(0,o.jsxs)(`div`,{className:a.Root,children:[F,B,Y]}),e[47]=B,e[48]=Y,e[49]=F,e[50]=X):X=e[50],X}function c(e){return e.lookRight}function l(e){return e.lookLeft}function u(e){return e.lookDown}function d(e){return e.lookUp}function f(e){return e.down}function p(e){return e.up}function m(e){return e.right}function h(e){return e.left}function g(e){return e.backward}function _(e){return e.forward}export{s as KeyboardOverlay};

View file

@ -0,0 +1 @@
._Root_uktvs_1{pointer-events:none;z-index:1;align-items:flex-end;gap:10px;display:flex;position:absolute;bottom:16px;left:50%;transform:translate(-50%)}._Column_uktvs_13{flex-direction:column;justify-content:center;gap:4px;display:flex}._Row_uktvs_20{justify-content:stretch;gap:4px;display:flex}._Spacer_uktvs_26{width:32px}._Key_uktvs_30{color:#ffffff80;white-space:nowrap;background:#0006;border:1px solid #fff3;border-radius:4px;flex:1 0 0;justify-content:center;align-items:center;min-width:32px;height:32px;padding:0 8px;font-size:11px;font-weight:600;display:flex}._Key_uktvs_30[data-pressed=true]{color:#fff;background:#34bbab99;border-color:#23fddc80}._Arrow_uktvs_53{margin-right:3px}

View file

@ -0,0 +1,5 @@
import{r as e}from"./chunk-DECur_0Z.js";import{n as t,r as n,t as r}from"./jsx-runtime-BpGWiA-R.js";import{c as i}from"./manifest-jQsIRiPo.js";import"./logger-DePRU8Hm.js";import"./mission-CWASMBNZ.js";import{Ct as a,N as o,P as s,Tt as c,j as l,wt as u}from"./index-ClGJzuqQ.js";var d=t(),f=e(n(),1),p={GuiMarkup:`_GuiMarkup_jg4va_1`,Bullet:`_Bullet_jg4va_12`},m=r(),h=new Set([`spop`,`spush`,`lmargin`,`font`,`color`,`bitmap`,`a`,`/a`]);function g(e){return e.split(/<([^><]+)>/g).map((e,t)=>{if(t%2==0)return e?{type:`text`,value:e}:null;{let[t,...n]=e.split(`:`);return h.has(t.toLowerCase())?{type:`tag`,name:t,args:n}:{type:`text`,value:`<${e}>`}}}).filter(e=>e!=null)}function _(e){let[t,n]=e;return{fontDescription:t,fontSize:n?Math.max(11,Math.min(parseInt(n.trim(),10),16)):void 0}}function v(e){let t=g(e),n={type:`span`,source:`root`,style:{},children:[]},r=n,i=[r],a=e=>e.children!=null&&e.children.some(e=>typeof e==`string`||a(e));for(let e of t)switch(e.type){case`text`:r.children.push(e.value);break;case`tag`:switch(e.name){case`spush`:{let e={type:`span`,source:`spush`,style:{},children:[]};r.children.push(e),r=e,i.push(r);break}case`spop`:if(r.source!==`root`){let e=i.pop();for(;e.source!==`spush`;)e=i.pop();r=i[i.length-1]}break;case`lmargin`:break;case`font`:{let t=_(e.args).fontSize;if(!a(r))r.style.fontSize=t;else{let e={type:`span`,source:`spush`,style:{fontSize:t},children:[]};r.children.push(e),r=e,i.push(r)}break}case`color`:if(!a(r))r.style.color=`#${e.args[0].trim()}`;else{let t={type:`span`,source:`spush`,style:{color:`#${e.args[0].trim()}`},children:[]};r.children.push(t),r=t,i.push(r)}break;case`bitmap`:{let t={type:`bitmap`,value:e.args[0]};r.children.push(t);break}case`a`:{let t=e.args[0].trim().split(` `),n={type:`a`,source:`a`,value:`http://${t.length===2&&t[0]===`wwwlink`?t[1]:t[0]}`,style:{},children:[]};r.children.push(n),r=n,i.push(r);break}case`/a`:{let e=i.pop();for(;e.source!==`a`;)e=i.pop();r=i[i.length-1];break}}}return y(n)}function y(e){switch(e.type){case`span`:return f.createElement(`span`,{style:Object.keys(e.style).length===0?void 0:e.style},...e.children.map(e=>typeof e==`string`?e:y(e)));case`a`:return f.createElement(`a`,{href:e.value,style:Object.keys(e.style).length===0?void 0:e.style,rel:`noopener noreferrer`,target:`_blank`},...e.children.map(e=>typeof e==`string`?e:y(e)));case`bitmap`:return(0,m.jsx)(S,{name:e.value})}}var b=new Map;function x(e){if(b.has(e))return b.get(e);let t;try{t=o(i(`textures/gui/${e}`))}catch{t=null}return b.set(e,t),t}function S(e){let t=(0,d.c)(5),{name:n}=e,r;t[0]===n?r=t[1]:(r=x(n),t[0]=n,t[1]=r);let i=r;if(i){let e;return t[2]===i?e=t[3]:(e=(0,m.jsx)(`img`,{src:i,alt:``,className:p.Bitmap}),t[2]=i,t[3]=e),e}if(/bullet/i.test(n)){let e;return t[4]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,m.jsx)(`span`,{className:p.Bullet,children:``}),t[4]=e):e=t[4],e}return null}var C=/<(?:font|color|bitmap|just|lmargin|a):/i;function w(e){return C.test(e)}function T(e,t){let n=t.toUpperCase();return e.split(`
`).flatMap(e=>{let t=e.match(/^\[([^\]]+)\]/);return t&&!t[1].toUpperCase().split(/\s+/).includes(n)?[]:[e.replace(/^\[[^\]]+\]/,``)]}).join(`
`)}function E(e){let t=(0,d.c)(4),{markup:n}=e,r;t[0]===n?r=t[1]:(r=v(n),t[0]=n,t[1]=r);let i=r,a;return t[2]===i?a=t[3]:(a=(0,m.jsx)(`div`,{className:p.GuiMarkup,children:i}),t[2]=i,t[3]=a),a}var D={Dialog:`_Dialog_1kbms_1 _Dialog_6c89x_1`,Overlay:`_Overlay_1kbms_10 _Overlay_6c89x_20`,Body:`_Body_1kbms_14`,Left:`_Left_1kbms_22`,PreviewImage:`_PreviewImage_1kbms_27`,PreviewImageFloating:`_PreviewImageFloating_1kbms_33`,Title:`_Title_1kbms_43`,MapMeta:`_MapMeta_1kbms_51`,MapPlanet:`_MapPlanet_1kbms_61`,MapQuote:`_MapQuote_1kbms_65`,MapBlurb:`_MapBlurb_1kbms_84`,Section:`_Section_1kbms_89`,SectionTitle:`_SectionTitle_1kbms_93`,MusicTrack:`_MusicTrack_1kbms_103`,MusicButton:`_MusicButton_1kbms_117`,Footer:`_Footer_1kbms_144`,CloseButton:`_CloseButton_1kbms_154 _DialogButton_6c89x_31`,Hint:`_Hint_1kbms_158`,MusicTrackName:`_MusicTrackName_1kbms_164`};function ee(e){let t=(0,d.c)(2),n;return t[0]===e?n=t[1]:(n={queryKey:[`parsedMission`,e],queryFn:()=>s(e)},t[0]=e,t[1]=n),c(n)}function te(e){for(let t of e.body){if(t.type!==`ObjectDeclaration`)continue;let{instanceName:e,body:n}=t;if(e&&e.type===`Identifier`&&e.name.toLowerCase()===`missiongroup`){let e={};for(let t of n){if(t.type!==`Assignment`)continue;let{target:n,value:r}=t;n.type===`Identifier`&&r.type===`StringLiteral`&&(e[n.name.toLowerCase()]=r.value)}return e}}return{}}function ne(e,t){if(e)try{return o(i(`textures/gui/${e}`))}catch{}try{return o(i(`textures/gui/Load_${t}`))}catch{}return null}function re(e){let t=(0,d.c)(7),{src:n,alt:r,className:i}=e,a=i===void 0?D.PreviewImage:i,[o,s]=(0,f.useState)(null),c,l;if(t[0]===n?(c=t[1],l=t[2]):(c=()=>{let e=!1,t;return fetch(n).then(j).then(A).then(k).then(n=>{e||!n||(t=URL.createObjectURL(n),s(t))}).catch(O),()=>{e=!0,t&&URL.revokeObjectURL(t)}},l=[n],t[0]=n,t[1]=c,t[2]=l),(0,f.useEffect)(c,l),!o)return null;let u;return t[3]!==r||t[4]!==a||t[5]!==o?(u=(0,m.jsx)(`img`,{src:o,alt:r,className:a}),t[3]=r,t[4]=a,t[5]=o,t[6]=u):u=t[6],u}function O(){}function k(e){return new Promise(t=>{let n=document.createElement(`canvas`);n.width=e.width,n.height=e.height,n.getContext(`2d`)?.drawImage(e,0,0),e.close(),n.toBlob(t)})}function A(e){return createImageBitmap(e,{colorSpaceConversion:`none`})}function j(e){return e.blob()}function ie(e){let t=(0,d.c)(22),{track:n}=e,[r,i]=(0,f.useState)(!1),[o,s]=(0,f.useState)(!0),c=(0,f.useRef)(null),p;t[0]===n?p=t[1]:(p=n.toLowerCase(),t[0]=n,t[1]=p);let h=`${l}music/${p}.mp3`,g,_;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(g=()=>{let e=c.current;if(e)return()=>{e.pause()}},_=[],t[2]=g,t[3]=_):(g=t[2],_=t[3]),(0,f.useEffect)(g,_);let v;t[4]===r?v=t[5]:(v=()=>{let e=c.current;e&&(r?e.pause():e.play().catch(()=>s(!1)))},t[4]=r,t[5]=v);let y=v,b,x,S;t[6]===Symbol.for(`react.memo_cache_sentinel`)?(b=()=>i(!0),x=()=>i(!1),S=()=>s(!1),t[6]=b,t[7]=x,t[8]=S):(b=t[6],x=t[7],S=t[8]);let C;t[9]===h?C=t[10]:(C=(0,m.jsx)(`audio`,{ref:c,src:h,loop:!0,onPlay:b,onPause:x,onError:S}),t[9]=h,t[10]=C);let w;t[11]===n?w=t[12]:(w=(0,m.jsx)(`span`,{className:D.MusicTrackName,children:n}),t[11]=n,t[12]=w);let T;t[13]!==o||t[14]!==r||t[15]!==y?(T=o&&(0,m.jsx)(`button`,{className:D.MusicButton,onClick:y,"aria-label":r?`Pause music`:`Play music`,children:r?(0,m.jsx)(u,{}):(0,m.jsx)(a,{})}),t[13]=o,t[14]=r,t[15]=y,t[16]=T):T=t[16];let E;return t[17]!==r||t[18]!==T||t[19]!==C||t[20]!==w?(E=(0,m.jsxs)(`div`,{className:D.MusicTrack,"data-playing":r,children:[C,w,T]}),t[17]=r,t[18]=T,t[19]=C,t[20]=w,t[21]=E):E=t[21],E}function M(e){let t=(0,d.c)(100),{onClose:n,missionName:r,missionType:i}=e,{data:a}=ee(r),o=(0,f.useRef)(null),s,c;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(s=()=>{o.current?.focus();try{document.exitPointerLock()}catch{}},c=[],t[0]=s,t[1]=c):(s=t[0],c=t[1]),(0,f.useEffect)(s,c);let l,u;t[2]===n?(l=t[3],u=t[4]):(l=()=>{let e=e=>{if(e.key===`Escape`)n();else if(e.key===`k`&&(e.metaKey||e.ctrlKey)){n();return}e.stopImmediatePropagation()},t=se;return window.addEventListener(`keydown`,e,{capture:!0}),window.addEventListener(`keyup`,t,{capture:!0}),()=>{window.removeEventListener(`keydown`,e,{capture:!0}),window.removeEventListener(`keyup`,t,{capture:!0})}},u=[n],t[2]=n,t[3]=l,t[4]=u),(0,f.useEffect)(l,u);let p;t[5]===a?p=t[6]:(p=a?te(a.ast):{},t[5]=a,t[6]=p);let h=p,g;t[7]!==r||t[8]!==a?(g=a?ne(a.bitmap,r):null,t[7]=r,t[8]=a,t[9]=g):g=t[9];let _=g,v=a?.displayName??r,y;t[10]===i?y=t[11]:(y=i.toLowerCase(),t[10]=i,t[11]=y);let b=y===`singleplayer`,x=h.musictrack,S,C,O,k,A,j,M,N,P,F,I,L,R,z,B,V,H,U;if(t[12]!==_||t[13]!==v||t[14]!==b||t[15]!==i||t[16]!==n||t[17]!==a){let e=a?.missionString?T(a.missionString,i):null,r,s,c,l;if(t[36]!==a?.missionQuote){if(l=a?.missionQuote?.trim()??``,s=w(l),c=``,r=``,!s)for(let e of l.split(`
`)){let t=e.trim();t.match(/^--[^-]/)?r=t.replace(/^-+\s*/,``).trim():t&&(c+=(c?`
`:``)+t)}t[36]=a?.missionQuote,t[37]=r,t[38]=s,t[39]=c,t[40]=l}else r=t[37],s=t[38],c=t[39],l=t[40];B=D.Overlay,V=n,M=o,N=D.Dialog,P=oe,F=ae,I=`dialog`,L=`true`,R=`Map Information`,z=-1,j=D.Body,H=D.Left,t[41]!==_||t[42]!==v||t[43]!==b?(U=_&&b&&(0,m.jsx)(re,{className:D.PreviewImageFloating,src:_,alt:`${v} preview`},_),t[41]=_,t[42]=v,t[43]=b,t[44]=U):U=t[44],t[45]===v?S=t[46]:(S=(0,m.jsx)(`h1`,{className:D.Title,children:v}),t[45]=v,t[46]=S);let u;t[47]===a?u=t[48]:(u=a?.planetName&&(0,m.jsx)(`span`,{className:D.MapPlanet,children:a.planetName}),t[47]=a,t[48]=u),t[49]===u?C=t[50]:(C=(0,m.jsx)(`div`,{className:D.MapMeta,children:u}),t[49]=u,t[50]=C),t[51]!==r||t[52]!==s||t[53]!==c||t[54]!==l?(O=s?(0,m.jsx)(`blockquote`,{className:D.MapQuote,children:(0,m.jsx)(E,{markup:l})}):c?(0,m.jsxs)(`blockquote`,{className:D.MapQuote,children:[(0,m.jsx)(`p`,{children:c}),r&&(0,m.jsxs)(`cite`,{children:[` `,r]})]}):null,t[51]=r,t[52]=s,t[53]=c,t[54]=l,t[55]=O):O=t[55],t[56]===a?k=t[57]:(k=a?.missionBlurb&&(0,m.jsx)(`div`,{className:D.MapBlurb,children:w(a.missionBlurb)?(0,m.jsx)(E,{markup:a.missionBlurb.trim()}):a.missionBlurb.trim()}),t[56]=a,t[57]=k),A=e&&e.trim()&&(0,m.jsx)(`div`,{className:D.Section,children:(0,m.jsx)(E,{markup:e})}),t[12]=_,t[13]=v,t[14]=b,t[15]=i,t[16]=n,t[17]=a,t[18]=S,t[19]=C,t[20]=O,t[21]=k,t[22]=A,t[23]=j,t[24]=M,t[25]=N,t[26]=P,t[27]=F,t[28]=I,t[29]=L,t[30]=R,t[31]=z,t[32]=B,t[33]=V,t[34]=H,t[35]=U}else S=t[18],C=t[19],O=t[20],k=t[21],A=t[22],j=t[23],M=t[24],N=t[25],P=t[26],F=t[27],I=t[28],L=t[29],R=t[30],z=t[31],B=t[32],V=t[33],H=t[34],U=t[35];let W;t[58]===a?W=t[59]:(W=a?.missionBriefing&&(0,m.jsxs)(`div`,{className:D.Section,children:[(0,m.jsx)(`h2`,{className:D.SectionTitle,children:`Mission Briefing`}),(0,m.jsx)(E,{markup:a.missionBriefing})]}),t[58]=a,t[59]=W);let G;t[60]===x?G=t[61]:(G=x&&(0,m.jsx)(ie,{track:x}),t[60]=x,t[61]=G);let K;t[62]!==S||t[63]!==C||t[64]!==O||t[65]!==k||t[66]!==A||t[67]!==W||t[68]!==G||t[69]!==H||t[70]!==U?(K=(0,m.jsxs)(`div`,{className:H,children:[U,S,C,O,k,A,W,G]}),t[62]=S,t[63]=C,t[64]=O,t[65]=k,t[66]=A,t[67]=W,t[68]=G,t[69]=H,t[70]=U,t[71]=K):K=t[71];let q;t[72]!==_||t[73]!==v||t[74]!==b?(q=_&&!b&&(0,m.jsx)(re,{src:_,alt:`${v} preview`},_),t[72]=_,t[73]=v,t[74]=b,t[75]=q):q=t[75];let J;t[76]!==j||t[77]!==K||t[78]!==q?(J=(0,m.jsxs)(`div`,{className:j,children:[K,q]}),t[76]=j,t[77]=K,t[78]=q,t[79]=J):J=t[79];let Y;t[80]===n?Y=t[81]:(Y=(0,m.jsx)(`button`,{className:D.CloseButton,onClick:n,children:`Close`}),t[80]=n,t[81]=Y);let X;t[82]===Symbol.for(`react.memo_cache_sentinel`)?(X=(0,m.jsx)(`span`,{className:D.Hint,children:`Esc to close`}),t[82]=X):X=t[82];let Z;t[83]===Y?Z=t[84]:(Z=(0,m.jsxs)(`div`,{className:D.Footer,children:[Y,X]}),t[83]=Y,t[84]=Z);let Q;t[85]!==M||t[86]!==N||t[87]!==P||t[88]!==F||t[89]!==I||t[90]!==L||t[91]!==R||t[92]!==z||t[93]!==J||t[94]!==Z?(Q=(0,m.jsxs)(`div`,{ref:M,className:N,onClick:P,onKeyDown:F,role:I,"aria-modal":L,"aria-label":R,tabIndex:z,children:[J,Z]}),t[85]=M,t[86]=N,t[87]=P,t[88]=F,t[89]=I,t[90]=L,t[91]=R,t[92]=z,t[93]=J,t[94]=Z,t[95]=Q):Q=t[95];let $;return t[96]!==B||t[97]!==V||t[98]!==Q?($=(0,m.jsx)(`div`,{className:B,onClick:V,children:Q}),t[96]=B,t[97]=V,t[98]=Q,t[99]=$):$=t[99],$}function ae(e){return e.stopPropagation()}function oe(e){return e.stopPropagation()}function se(e){e.stopImmediatePropagation()}export{M as MapInfoDialog};

View file

@ -0,0 +1 @@
._GuiMarkup_jg4va_1{white-space:pre-wrap;font-size:14px;line-height:1.5}._GuiMarkup_jg4va_1 a{color:inherit;text-decoration:underline}._Bullet_jg4va_12{margin-left:.5em;margin-right:.5em}._Dialog_6c89x_1{color:#b0d5c9;-webkit-user-select:text;user-select:text;-webkit-touch-callout:default;background:#142526cc;border:1px solid #41838b99;border-radius:4px;outline:none;max-width:calc(100dvw - 40px);max-height:calc(100dvh - 40px);font-size:14px;line-height:1.5;position:relative;overflow:hidden;box-shadow:0 0 50px #0006,inset 0 0 60px #01070d99}._Overlay_6c89x_20{z-index:10;background:#000000b3;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}._DialogButton_6c89x_31{color:#99fff1;text-shadow:0 -1px 1px #0006;cursor:pointer;background:linear-gradient(#30a497cc,#1f9688cc 33%,#218377cc 67%,#046564cc);border:1px solid #387c74cc;border-top-color:#57b7b9cc;border-radius:4px;padding:4px 18px;font-family:inherit;font-size:14px;font-weight:500;box-shadow:inset 0 0 4px #02808e80}._DialogButton_6c89x_31:hover:not(:disabled){color:#b1fff5;border:1px solid #409188e6;border-top-color:#5ac6c2e6;box-shadow:inset 0 0 4px #02808e80,0 0 5px #3effbf80}._DialogButton_6c89x_31:active:not(:disabled){transform:translateY(1px)}._DialogButton_6c89x_31:disabled{opacity:.4;cursor:not-allowed}._Secondary_6c89x_70{box-shadow:none;color:#a2e2cfcc;text-shadow:none;background:0 0;border:1px solid #387c74cc}._Secondary_6c89x_70:hover:not(:disabled){color:#a9ffe5cc;border:1px solid #3f9087e6}._Actions_6c89x_84{align-items:center;gap:10px;display:flex}@media (width<=719px){._Dialog_6c89x_1{border-radius:0;max-width:calc(100dvw - 20px);max-height:calc(100dvh - 20px)}}@media (width<=639px){._Overlay_6c89x_20{padding:10px}}._Dialog_1kbms_1{grid-template-rows:1fr auto;grid-template-columns:100%;width:800px;height:600px;display:grid}._Body_1kbms_14{grid-template-rows:100%;grid-template-columns:1fr auto;min-height:0;display:grid;overflow:hidden}._Left_1kbms_22{padding:24px 28px;overflow-y:auto}._PreviewImage_1kbms_27{border-left:1px solid #00bedc40;height:100%;display:block}._PreviewImageFloating_1kbms_33{float:right;clear:right;width:auto;max-width:30%;max-height:260px;margin:0 0 16px 20px;display:block}._Title_1kbms_43{color:#7dffff;text-shadow:0 1px 6px #0006;margin:0;font-size:26px;font-weight:500}._MapMeta_1kbms_51{flex-wrap:wrap;gap:8px 16px;margin-bottom:4px;font-size:15px;font-weight:400;display:flex}._MapPlanet_1kbms_61{color:#dbcaa8b3}._MapQuote_1kbms_65{border-left:2px solid #00bedc59;margin:16px 0;padding:0 0 0 14px;font-style:italic}._MapQuote_1kbms_65 p{white-space:pre-line;margin:0 0 4px}._MapQuote_1kbms_65 cite{color:#d7edcb80;font-size:12px;font-style:normal;display:block}._MapBlurb_1kbms_84{margin:0 0 16px;font-size:13px}._Section_1kbms_89{margin-top:20px}._SectionTitle_1kbms_93{color:#7dffff;letter-spacing:.04em;text-transform:uppercase;text-shadow:0 0 16px #00d2f040;margin:0 0 8px;font-size:16px;font-weight:500}._MusicTrack_1kbms_103{color:#d7edcb80;align-items:center;gap:6px;margin-top:16px;font-size:14px;font-style:italic;display:flex}._MusicTrack_1kbms_103[data-playing=true]{color:#f7fdd8b3}._MusicButton_1kbms_117{cursor:pointer;color:#557663;opacity:.5;background:0 0;border:0;border-radius:20px;flex-shrink:0;place-content:center;width:32px;height:32px;padding:0;font-size:20px;font-style:normal;line-height:1;display:grid}._MusicTrack_1kbms_103[data-playing=true] ._MusicButton_1kbms_117{color:#6dffaa;opacity:1}._MusicTrack_1kbms_103[data-playing=true] ._MusicButton_1kbms_117:hover{opacity:.7}._Footer_1kbms_144{background:#021415b3;border-top:1px solid #00bedc40;flex-shrink:0;align-items:center;gap:16px;padding:10px 12px;display:flex}._Hint_1kbms_158{color:#c9dcd84d;margin-left:auto;font-size:12px}._MusicTrackName_1kbms_164{text-transform:capitalize}@media (width<=719px){._Body_1kbms_14{display:block;overflow:auto}._Hint_1kbms_158{display:none}._Left_1kbms_22{width:100%;height:auto;margin:0;padding:16px 20px;overflow:auto}._PreviewImage_1kbms_27{width:auto;height:auto;margin:16px auto}._CloseButton_1kbms_154{width:220px;height:36px;margin:0 auto}}

File diff suppressed because one or more lines are too long

View file

@ -0,0 +1 @@
._PlayerHUD_snsba_1{z-index:1;pointer-events:none;position:absolute;inset:0}._TopRight_snsba_11{align-items:flex-start;gap:6px;display:flex;position:absolute;top:10px;right:10px}._Compass_snsba_20{flex-shrink:0;width:64px;height:64px;position:relative}._CompassRing_snsba_27{image-rendering:auto;width:100%;height:100%;position:absolute;top:0;left:0}._CompassNSEW_snsba_36{width:100%;height:100%;image-rendering:pixelated;position:absolute;top:0;left:0}._Bars_snsba_45{flex-direction:column;gap:3px;padding-top:10px;display:flex}._BarTrack_snsba_52{background:#00000080;border:1px solid #ffffff26;width:120px;height:10px;overflow:hidden}._BarFillHealth_snsba_60{background:#2ecc40;height:100%;transition:width .15s ease-out}._BarFillEnergy_snsba_66{background:#0af;height:100%;transition:width .15s ease-out}._WeaponHUD_snsba_74{flex-direction:column;gap:2px;display:flex;position:absolute;top:50%;right:6px;transform:translateY(-50%)}._WeaponSeparator_snsba_84{height:6px}._TeamInfo_snsba_90{flex-direction:column;gap:2px;display:flex}._TeamScores_snsba_96{border:1px solid #80ffc826;font-size:12px;position:absolute;bottom:6px;left:6px}._TeamRow_snsba_104{background:#00323ca6;flex:1 0 auto;justify-content:space-between;align-items:center;gap:6px;padding:4px 8px 4px 6px;display:flex}._TeamRow_snsba_104+._TeamRow_snsba_104{border-top:1px solid #80ffc826}._TeamName_snsba_118{min-width:6em;font-size:12px;font-weight:500}._TeamNameFriendly_snsba_124{color:#2de46a}._TeamNameEnemy_snsba_129{color:#79cbd4}._TeamScore_snsba_96{color:#fff;text-align:right;font-weight:500}._TeamCount_snsba_140{color:#9ba;font-size:9px}._PackInventoryHUD_snsba_147{align-items:center;gap:4px;display:flex;position:absolute;bottom:6px;right:6px}._PackInvItem_snsba_156{background:#00323ca6;border:1px solid #80ffc826;flex-direction:column;justify-content:center;align-items:center;gap:1px;padding:4px;display:flex}._PackInvItemActive_snsba_167{border-color:#80ffc880;box-shadow:0 0 6px #80ffc84d}._PackInvItemDim_snsba_172{opacity:.5}._PackInvIcon_snsba_176{image-rendering:pixelated;display:block}._PackInvCount_snsba_181{color:#bfe;text-align:center;min-width:12px;font-size:11px}._PackInvInfinity_snsba_188{image-rendering:pixelated;opacity:.8;display:block}._Reticle_snsba_196{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}._ReticleImage_snsba_203{opacity:.85;width:64px;height:64px;image-rendering:pixelated}._ReticleDot_snsba_210{background:#2ecc40b3;border-radius:50%;width:4px;height:4px;box-shadow:0 0 4px #2ecc4080}._ChatContainer_1rpo2_1{pointer-events:auto;border:1px solid #2cacb566;flex-direction:column;width:400px;max-width:50%;display:flex;position:absolute;top:6px;left:6px}._ChatWindow_1rpo2_13{-webkit-user-select:text;user-select:text;scrollbar-width:thin;scrollbar-color:#2cacb566 transparent;background:#00323ca6;min-height:4em;max-height:12.5em;padding:6px;font-size:12px;line-height:1.25;overflow-y:auto}._ChatMessage_1rpo2_27{color:#2cacb5;padding:2px 0}._ChatColor0_1rpo2_34{color:#2cacb5}._ChatColor1_1rpo2_37{color:#04eb69}._ChatColor2_1rpo2_40{color:#dbc880}._ChatColor3_1rpo2_43{color:#4dfd5f}._ChatColor4_1rpo2_46{color:#28e7f0}._ChatColor5_1rpo2_49{color:#c8c832}._ChatColor6_1rpo2_52{color:#c8c8c8}._ChatColor7_1rpo2_55{color:#dcdc14}._ChatColor8_1rpo2_58{color:#9696fa}._ChatColor9_1rpo2_61{color:#3cdc96}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View file

@ -0,0 +1 @@
import{r as e}from"./chunk-DECur_0Z.js";import{n as t,r as n,t as r}from"./jsx-runtime-BpGWiA-R.js";import{i}from"./react-three-fiber.esm-1xQMUSXT.js";import"./Html-BD9DC-n9.js";import"./SettingsProvider-DlQTXm3x.js";import"./logger-DePRU8Hm.js";import"./traditional-DPdbI9gv.js";import{Dt as a,Ht as o,xt as s,y as c}from"./three.module-Bu2Gkdne.js";import"./mission-CWASMBNZ.js";import"./engineStore-Clbs91WD.js";import{F as l,V as u,_ as d,g as f,y as p}from"./index-ClGJzuqQ.js";var m=t(),h=e(n(),1),g=r(),_=new o,v=new o,y=new o,b=new o,x=new o,S=new o,C=new o(0,1,0);function w(e){let t=(0,m.c)(14),{entity:n}=e,{visual:r}=n,i;t[0]===r.texture?i=t[1]:(i=l(r.texture),t[0]=r.texture,t[1]=i);let o=u(i,T),s=Array.isArray(o)?o[0]:o,d;t[2]!==r.color.b||t[3]!==r.color.g||t[4]!==r.color.r?(d=new c().setRGB(r.color.r,r.color.g,r.color.b,a),t[2]=r.color.b,t[3]=r.color.g,t[4]=r.color.r,t[5]=d):d=t[5];let f=d,p;t[6]===r.size?p=t[7]:(p=[r.size,r.size,1],t[6]=r.size,t[7]=p);let h;t[8]!==f||t[9]!==s?(h=(0,g.jsx)(`spriteMaterial`,{map:s,color:f,transparent:!0,blending:2,depthWrite:!1,toneMapped:!1}),t[8]=f,t[9]=s,t[10]=h):h=t[10];let _;return t[11]!==p||t[12]!==h?(_=(0,g.jsx)(`sprite`,{scale:p,children:h}),t[11]=p,t[12]=h,t[13]=_):_=t[13],_}function T(e){d(Array.isArray(e)?e[0]:e)}function E(e){let t=(0,m.c)(29),{entity:n}=e,{visual:r}=n,a=(0,h.useRef)(null),o=(0,h.useRef)(null),c=(0,h.useRef)(null),d;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(d=new s,t[0]=d):d=t[0];let w=(0,h.useRef)(d),T;t[1]===r.texture?T=t[2]:(T=l(r.texture),t[1]=r.texture,t[2]=T);let E=r.crossTexture??r.texture,O;t[3]===E?O=t[4]:(O=l(E),t[3]=E,t[4]=O);let k;t[5]!==T||t[6]!==O?(k=[T,O],t[5]=T,t[6]=O,t[7]=k):k=t[7];let A=u(k,D),j;t[8]===A?j=t[9]:(j=Array.isArray(A)?A:[A,A],t[8]=A,t[9]=j);let[M,N]=j,P;t[10]!==n.direction||t[11]!==n.keyframes?.[0]||t[12]!==r.crossSize||t[13]!==r.crossViewAng||t[14]!==r.renderCross||t[15]!==r.tracerLength||t[16]!==r.tracerWidth?(P=e=>{let{camera:t}=e,i=a.current,s=o.current;if(!i||!s)return;let l=n.keyframes?.[0],u=l?.position,d=n.direction??l?.velocity;if(!u||!d){i.visible=!1,c.current&&(c.current.visible=!1);return}if(p(d,_),_.lengthSq()<1e-8){i.visible=!1,c.current&&(c.current.visible=!1);return}_.normalize(),i.visible=!0,p(u,S),v.copy(S).sub(t.position),y.crossVectors(v,_),y.lengthSq()<1e-8&&(y.crossVectors(C,_),y.lengthSq()<1e-8&&y.set(1,0,0)),y.normalize().multiplyScalar(r.tracerWidth);let m=r.tracerLength*.5;b.copy(_).multiplyScalar(-m),x.copy(_).multiplyScalar(m);let h=s.array;h[0]=b.x+y.x,h[1]=b.y+y.y,h[2]=b.z+y.z,h[3]=b.x-y.x,h[4]=b.y-y.y,h[5]=b.z-y.z,h[6]=x.x-y.x,h[7]=x.y-y.y,h[8]=x.z-y.z,h[9]=x.x+y.x,h[10]=x.y+y.y,h[11]=x.z+y.z,s.needsUpdate=!0;let g=c.current;if(!g)return;if(!r.renderCross){g.visible=!1;return}v.normalize();let T=_.dot(v);if(T>-r.crossViewAng&&T<r.crossViewAng){g.visible=!1;return}g.visible=!0,f(_,w.current),g.quaternion.copy(w.current),g.scale.setScalar(r.crossSize)},t[10]=n.direction,t[11]=n.keyframes?.[0],t[12]=r.crossSize,t[13]=r.crossViewAng,t[14]=r.renderCross,t[15]=r.tracerLength,t[16]=r.tracerWidth,t[17]=P):P=t[17],i(P);let F;t[18]===Symbol.for(`react.memo_cache_sentinel`)?(F=(0,g.jsx)(`bufferAttribute`,{ref:o,attach:`attributes-position`,args:[new Float32Array(12),3]}),t[18]=F):F=t[18];let I;t[19]===Symbol.for(`react.memo_cache_sentinel`)?(I=(0,g.jsx)(`bufferAttribute`,{attach:`attributes-uv`,args:[new Float32Array([0,0,0,1,1,1,1,0]),2]}),t[19]=I):I=t[19];let L;t[20]===Symbol.for(`react.memo_cache_sentinel`)?(L=(0,g.jsxs)(`bufferGeometry`,{children:[F,I,(0,g.jsx)(`bufferAttribute`,{attach:`index`,args:[new Uint16Array([0,1,2,0,2,3]),1]})]}),t[20]=L):L=t[20];let R;t[21]===M?R=t[22]:(R=(0,g.jsxs)(`mesh`,{ref:a,children:[L,(0,g.jsx)(`meshBasicMaterial`,{map:M,transparent:!0,blending:2,side:2,depthWrite:!1,toneMapped:!1})]}),t[21]=M,t[22]=R);let z;t[23]!==N||t[24]!==r.renderCross?(z=r.renderCross?(0,g.jsxs)(`mesh`,{ref:c,children:[(0,g.jsxs)(`bufferGeometry`,{children:[(0,g.jsx)(`bufferAttribute`,{attach:`attributes-position`,args:[new Float32Array([-.5,0,-.5,.5,0,-.5,.5,0,.5,-.5,0,.5]),3]}),(0,g.jsx)(`bufferAttribute`,{attach:`attributes-uv`,args:[new Float32Array([0,0,0,1,1,1,1,0]),2]}),(0,g.jsx)(`bufferAttribute`,{attach:`index`,args:[new Uint16Array([0,1,2,0,2,3]),1]})]}),(0,g.jsx)(`meshBasicMaterial`,{map:N,transparent:!0,blending:2,side:2,depthWrite:!1,toneMapped:!1})]}):null,t[23]=N,t[24]=r.renderCross,t[25]=z):z=t[25];let B;return t[26]!==R||t[27]!==z?(B=(0,g.jsxs)(g.Fragment,{children:[R,z]}),t[26]=R,t[27]=z,t[28]=B):B=t[28],B}function D(e){let t=Array.isArray(e)?e:[e];for(let e of t)d(e)}export{w as SpriteProjectile,E as TracerProjectile};

View file

@ -0,0 +1 @@
._Dialog_6c89x_1{color:#b0d5c9;-webkit-user-select:text;user-select:text;-webkit-touch-callout:default;background:#142526cc;border:1px solid #41838b99;border-radius:4px;outline:none;max-width:calc(100dvw - 40px);max-height:calc(100dvh - 40px);font-size:14px;line-height:1.5;position:relative;overflow:hidden;box-shadow:0 0 50px #0006,inset 0 0 60px #01070d99}._Overlay_6c89x_20{z-index:10;background:#000000b3;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}._DialogButton_6c89x_31{color:#99fff1;text-shadow:0 -1px 1px #0006;cursor:pointer;background:linear-gradient(#30a497cc,#1f9688cc 33%,#218377cc 67%,#046564cc);border:1px solid #387c74cc;border-top-color:#57b7b9cc;border-radius:4px;padding:4px 18px;font-family:inherit;font-size:14px;font-weight:500;box-shadow:inset 0 0 4px #02808e80}._DialogButton_6c89x_31:hover:not(:disabled){color:#b1fff5;border:1px solid #409188e6;border-top-color:#5ac6c2e6;box-shadow:inset 0 0 4px #02808e80,0 0 5px #3effbf80}._DialogButton_6c89x_31:active:not(:disabled){transform:translateY(1px)}._DialogButton_6c89x_31:disabled{opacity:.4;cursor:not-allowed}._Secondary_6c89x_70{box-shadow:none;color:#a2e2cfcc;text-shadow:none;background:0 0;border:1px solid #387c74cc}._Secondary_6c89x_70:hover:not(:disabled){color:#a9ffe5cc;border:1px solid #3f9087e6}._Actions_6c89x_84{align-items:center;gap:10px;display:flex}@media (width<=719px){._Dialog_6c89x_1{border-radius:0;max-width:calc(100dvw - 20px);max-height:calc(100dvh - 20px)}}@media (width<=639px){._Overlay_6c89x_20{padding:10px}}._Dialog_tsmc0_1{grid-template-rows:auto 1fr auto;grid-template-columns:100%;width:860px;height:560px;display:grid}._Header_tsmc0_14{border-bottom:1px solid #00bedc40;align-items:center;gap:12px;padding:12px 16px 10px;display:flex}._Title_tsmc0_22{color:#7dffff;text-shadow:0 1px 6px #0006;flex:1;margin:0;font-size:18px;font-weight:500}._HiddenRadio_tsmc0_31{opacity:0;z-index:-1;pointer-events:none;width:0;height:0;position:absolute;overflow:hidden}._RefreshButton_tsmc0_41{padding:3px 14px;font-size:12px}._ServerCount_tsmc0_47{color:#c9dcd866;font-size:12px}._TableWrapper_tsmc0_52{min-height:0;overflow-y:auto}._Table_tsmc0_52{border-collapse:collapse;width:100%;min-height:0;font-size:13px}._Table_tsmc0_52 th{z-index:1;text-align:left;cursor:pointer;-webkit-user-select:none;user-select:none;letter-spacing:.04em;text-transform:uppercase;color:#7dffff99;background:#0a191af2;border-bottom:1px solid #00bedc33;padding:6px 12px;font-size:11px;font-weight:500;position:sticky;top:0}._Table_tsmc0_52 th:hover{color:#7dffff}._Table_tsmc0_52 th:nth-child(2),._Table_tsmc0_52 td:nth-child(2),._Table_tsmc0_52 th:nth-child(3),._Table_tsmc0_52 td:nth-child(3){text-align:right}._Table_tsmc0_52 td{z-index:0;white-space:nowrap;text-overflow:ellipsis;border-bottom:1px solid #ffffff0a;max-width:340px;padding:3px 12px;font-weight:500;position:relative;overflow:hidden}._Table_tsmc0_52 td._EmptyServer_tsmc0_104{opacity:.4}._Table_tsmc0_52 tbody tr:not(._Empty_tsmc0_104){cursor:pointer}._Table_tsmc0_52 tbody tr:not(._Empty_tsmc0_104):hover{background:#41838b1f}._Table_tsmc0_52 tbody tr:has(input:checked){color:#1e2828;background:#5dffe1e6!important}._PasswordIcon_tsmc0_121{color:#ffc83c99;margin-right:4px;font-size:11px}._Empty_tsmc0_104 td{text-align:center;color:#c9dcd84d;font-style:italic;padding:32px 12px!important}._Footer_tsmc0_134{background:#021415b3;border-top:1px solid #00bedc40;flex-shrink:0;justify-content:space-between;align-items:center;gap:16px;padding:10px 12px;display:flex}._JoinButton_tsmc0_145{min-width:100px}._WarriorField_tsmc0_154{align-items:center;gap:8px;display:flex}._WarriorLabel_tsmc0_160{color:#7dffff99;font-size:12px;font-weight:500}._WarriorInput_tsmc0_166{color:#b0d5c9;background:#00323ccc;border:1px solid #41838b80;border-radius:2px;outline:none;width:130px;padding:4px 6px;font-family:inherit;font-size:13px}._WarriorInput_tsmc0_166:focus{border-color:#7dffff99}._WarriorInput_tsmc0_166::placeholder{color:#c9dcd84d}._Hint_tsmc0_186{color:#c9dcd84d;margin:0 auto;font-size:12px}@media (width<=719px){._Hint_tsmc0_186{display:none}._Table_tsmc0_52 td{max-width:200px}._CloseButton_tsmc0_150{margin-left:auto}}@media (width<=539px){._Footer_tsmc0_134{flex-direction:column;gap:8px}._Actions_tsmc0_192{width:100%}._WarriorLabel_tsmc0_160{font-size:14px}._WarriorInput_tsmc0_166{min-width:12em;font-size:16px}._JoinButton_tsmc0_145,._CloseButton_tsmc0_150{flex:1 0 auto;height:32px}}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View file

@ -0,0 +1 @@
import{r as e}from"./chunk-DECur_0Z.js";import{n as t,r as n}from"./jsx-runtime-BpGWiA-R.js";import{i as r,o as i}from"./react-three-fiber.esm-1xQMUSXT.js";import{r as a}from"./SettingsProvider-DlQTXm3x.js";import"./traditional-DPdbI9gv.js";import{L as o,t as s}from"./index-ClGJzuqQ.js";var c=t(),l=e(n(),1),u=.004,d=2.5,f=.08,p=.15,m=.15;function h(){let e=(0,c.c)(17),{speedMultiplier:t,touchMode:n,invertDrag:h,invertJoystick:_}=a(),v=i(g),{moveState:y,lookState:b}=s(),x=o(),S=(0,l.useRef)(null),C;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(C={x:0,y:0},e[0]=C):C=e[0];let w=(0,l.useRef)(C),T;e[1]===h?T=e[2]:(T=()=>h,e[1]=h,e[2]=T);let E=(0,l.useEffectEvent)(T),D=(0,l.useRef)(0),O=(0,l.useRef)(0),k;e[3]!==E||e[4]!==v.domElement||e[5]!==n?(k=()=>{if(n!==`moveLookStick`)return;let e=v.domElement,t=e=>{if(S.current===null)for(;0<e.changedTouches.length;){let t=e.changedTouches[0];S.current=t.identifier,w.current={x:t.clientX,y:t.clientY};break}},r=e=>{if(S.current!==null)for(let t=0;t<e.changedTouches.length;t++){let n=e.changedTouches[t];if(n.identifier===S.current){let e=n.clientX-w.current.x,t=n.clientY-w.current.y;w.current={x:n.clientX,y:n.clientY};let r=E()?-1:1;D.current+=r*e*u,O.current+=r*t*u;break}}},i=e=>{for(let t=0;t<e.changedTouches.length;t++)if(e.changedTouches[t].identifier===S.current){S.current=null;break}};return e.addEventListener(`touchstart`,t,{passive:!0}),e.addEventListener(`touchmove`,r,{passive:!0}),e.addEventListener(`touchend`,i,{passive:!0}),e.addEventListener(`touchcancel`,i,{passive:!0}),()=>{e.removeEventListener(`touchstart`,t),e.removeEventListener(`touchmove`,r),e.removeEventListener(`touchend`,i),e.removeEventListener(`touchcancel`,i),S.current=null}},e[3]=E,e[4]=v.domElement,e[5]=n,e[6]=k):k=e[6];let A;e[7]!==v.domElement||e[8]!==n?(A=[v.domElement,n],e[7]=v.domElement,e[8]=n,e[9]=A):A=e[9],(0,l.useEffect)(k,A);let j;return e[10]!==_||e[11]!==b.current||e[12]!==y.current||e[13]!==x||e[14]!==t||e[15]!==n?(j=(e,r)=>{let{force:i,angle:a}=y.current,{force:o,angle:s}=b.current,c=D.current,l=O.current;D.current=0,O.current=0;let u=0,h=0;if(n===`dualStick`){if(o>p){let e=(o-p)/(1-p),t=Math.cos(s),n=Math.sin(s),i=_?-1:1;c-=i*t*e*d*r,l+=i*n*e*d*r}if(i>f){let e=(i-f)/(1-f),n=Math.cos(a),r=Math.sin(a);u=Math.max(-1,Math.min(1,-n*e*t)),h=Math.max(-1,Math.min(1,r*e*t))}}else if(n===`moveLookStick`&&i>0&&(h=Math.max(-1,Math.min(1,.5*t)),i>=m)){let e=Math.cos(a),t=Math.sin(a),n=(i-m)/(1-m),o=_?-1:1;c-=o*e*n*d*.5*r,l+=o*t*n*d*.5*r}!(c!==0||l!==0)&&!(u!==0||h!==0)||x({deltaYaw:c,deltaPitch:l,x:u,y:h,z:0,triggers:[],delta:r})},e[10]=_,e[11]=b.current,e[12]=y.current,e[13]=x,e[14]=t,e[15]=n,e[16]=j):j=e[16],r(j),null}function g(e){return e.gl}export{h as TouchHandler};

View file

@ -0,0 +1,2 @@
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/nipplejs-ub19og8W.js","assets/chunk-DECur_0Z.js"])))=>i.map(i=>d[i]);
import{r as e}from"./chunk-DECur_0Z.js";import{r as t,t as n}from"./jsx-runtime-BpGWiA-R.js";import{r}from"./SettingsProvider-DlQTXm3x.js";import{U as i,t as a}from"./index-ClGJzuqQ.js";var o=e(t(),1),s={Joystick:`_Joystick_155b9_1`,Left:`_Left_155b9_11 _Joystick_155b9_1`,Right:`_Right_155b9_17 _Joystick_155b9_1`},c=n();function l(e){let t=e.querySelector(`.back`);t&&(t.style.background=`rgba(3, 79, 76, 0.6)`,t.style.border=`1px solid rgba(0, 219, 223, 0.5)`,t.style.boxShadow=`inset 0 0 10px rgba(0, 0, 0, 0.7)`);let n=e.querySelector(`.front`);n&&(n.style.background=`radial-gradient(circle at 50% 50%, rgba(23, 247, 198, 0.9) 0%, rgba(9, 184, 170, 0.95) 100%)`,n.style.border=`2px solid rgba(255, 255, 255, 0.4)`,n.style.boxShadow=`0 2px 4px rgba(0, 0, 0, 0.5), 0 1px 1px rgba(0, 0, 0, 0.3), inset 0 1px 0 rgba(255, 255, 255, 0.15), inset 0 -1px 2px rgba(0, 0, 0, 0.3)`)}function u(){let{touchMode:t}=r(),[n,u]=(0,o.useState)(null),[d,f]=(0,o.useState)(null),{moveState:p,lookState:m,setMoveState:h,setLookState:g}=a();(0,o.useEffect)(()=>{if(!n)return;let t=null,r=!1;return i(()=>import(`./nipplejs-ub19og8W.js`).then(t=>e(t.default,1)).then(e=>{r||(t=e.default.create({zone:n,mode:`static`,position:{left:`70px`,bottom:`70px`},size:120,restOpacity:.9}),l(n),t.on(`move`,(e,t)=>{h({angle:t.angle.radian,force:Math.min(1,t.force)})}),t.on(`end`,()=>{h({force:0})}))}),__vite__mapDeps([0,1])),()=>{r=!0,t?.destroy()}},[p,n,h]),(0,o.useEffect)(()=>{if(!d)return;let t=null,n=!1;return i(()=>import(`./nipplejs-ub19og8W.js`).then(t=>e(t.default,1)).then(e=>{n||(t=e.default.create({zone:d,mode:`static`,position:{right:`70px`,bottom:`70px`},size:120,restOpacity:.9}),l(d),t.on(`move`,(e,t)=>{g({angle:t.angle.radian,force:Math.min(1,t.force)})}),t.on(`end`,()=>{g({force:0})}))}),__vite__mapDeps([0,1])),()=>{n=!0,t?.destroy()}},[m,d,g]);let _=()=>{document.activeElement instanceof HTMLElement&&document.activeElement.blur()};return(0,c.jsxs)(c.Fragment,{children:[(0,c.jsx)(`div`,{ref:u,className:t===`dualStick`?s.Left:s.Joystick,onContextMenu:e=>e.preventDefault(),onTouchStart:_},t),t===`dualStick`?(0,c.jsx)(`div`,{ref:f,className:s.Right,onContextMenu:e=>e.preventDefault(),onTouchStart:_}):null]})}export{u as TouchJoystick};

View file

@ -0,0 +1 @@
._Joystick_155b9_1{z-index:1;width:140px;height:140px;position:absolute;bottom:20px;left:50%;transform:translate(-50%)}._Left_155b9_11{left:20px;transform:none}._Right_155b9_17{left:auto;right:20px;transform:none}

View file

@ -0,0 +1,166 @@
import{r as e}from"./chunk-DECur_0Z.js";import{n as t,r as n,t as r}from"./jsx-runtime-BpGWiA-R.js";import{i,o as a}from"./react-three-fiber.esm-1xQMUSXT.js";import{a as o,i as s}from"./SettingsProvider-DlQTXm3x.js";import"./logger-DePRU8Hm.js";import"./traditional-DPdbI9gv.js";import{Et as c,ht as l,kt as u,y as d}from"./three.module-Bu2Gkdne.js";import"./mission-CWASMBNZ.js";import{t as f}from"./extends-BbWS2LU5.js";import{D as p,F as m,V as h,b as g,et as _,k as v,nt as ee,tt as te,x as y}from"./index-ClGJzuqQ.js";var b=e(n());function x(e,t){let n=e+`Geometry`;return b.forwardRef(({args:e,children:r,...i},a)=>{let o=b.useRef(null);return b.useImperativeHandle(a,()=>o.current),b.useLayoutEffect(()=>void t?.(o.current)),b.createElement(`mesh`,f({ref:o},i),b.createElement(n,{attach:`geometry`,args:e}),r)})}var ne=x(`box`),S=t(),C=`
#include <fog_pars_vertex>
#ifdef USE_FOG
#define USE_FOG_WORLD_POSITION
varying vec3 vFogWorldPosition;
#endif
uniform float uTime;
uniform float uWaveMagnitude;
varying vec3 vWorldPosition;
varying vec3 vViewVector;
varying float vDistance;
// Wave function matching Tribes 2 engine
// Z = surfaceZ + (sin(X*0.05 + time) + sin(Y*0.05 + time)) * waveFactor
// waveFactor = waveAmplitude * 0.25
// Note: Using xz for Three.js Y-up (Torque uses XY with Z-up)
float getWaveHeight(vec3 worldPos) {
float waveFactor = uWaveMagnitude * 0.25;
return (sin(worldPos.x * 0.05 + uTime) + sin(worldPos.z * 0.05 + uTime)) * waveFactor;
}
void main() {
// Get world position for wave calculation
vec4 worldPos = modelMatrix * vec4(position, 1.0);
vWorldPosition = worldPos.xyz;
// Apply wave displacement to Y (vertical axis in Three.js)
vec3 displaced = position;
displaced.y += getWaveHeight(worldPos.xyz);
// Calculate final world position after displacement for fog
#ifdef USE_FOG
vec4 displacedWorldPos = modelMatrix * vec4(displaced, 1.0);
vFogWorldPosition = displacedWorldPos.xyz;
#endif
// Calculate view vector for environment mapping
vViewVector = cameraPosition - worldPos.xyz;
vDistance = length(vViewVector);
vec4 mvPosition = viewMatrix * modelMatrix * vec4(displaced, 1.0);
gl_Position = projectionMatrix * mvPosition;
// Set fog depth (distance from camera) - normally done by fog_vertex include
// but we can't use that include because it references 'transformed' which we don't have
#ifdef USE_FOG
vFogDepth = length(mvPosition.xyz);
#endif
}
`,re=`
#include <fog_pars_fragment>
// Enable volumetric fog (must be defined before fog uniforms)
#ifdef USE_FOG
#define USE_VOLUMETRIC_FOG
#define USE_FOG_WORLD_POSITION
#endif
uniform float uTime;
uniform float uOpacity;
uniform float uEnvMapIntensity;
uniform sampler2D uBaseTexture;
uniform sampler2D uEnvMapTexture;
// Volumetric fog uniforms
#ifdef USE_FOG
uniform float fogVolumeData[12];
uniform float cameraHeight;
uniform bool fogEnabled;
varying vec3 vFogWorldPosition;
#endif
varying vec3 vWorldPosition;
varying vec3 vViewVector;
varying float vDistance;
#define TWO_PI 6.283185307179586
// Constants from Tribes 2 engine
#define BASE_DRIFT_CYCLE_TIME 8.0
#define BASE_DRIFT_RATE 0.02
#define BASE_DRIFT_SCALAR 0.03
#define TEXTURE_SCALE (1.0 / 48.0)
// Environment map UV wobble constants
#define Q1 150.0
#define Q2 2.0
#define Q3 0.01
// Rotate UV coordinates
vec2 rotateUV(vec2 uv, float angle) {
float c = cos(angle);
float s = sin(angle);
return vec2(
uv.x * c - uv.y * s,
uv.x * s + uv.y * c
);
}
void main() {
// Calculate base texture UVs using world position (1/48 tiling)
vec2 baseUV = vWorldPosition.xz * TEXTURE_SCALE;
// Phase (time in radians for drift cycle)
float phase = mod(uTime * (TWO_PI / BASE_DRIFT_CYCLE_TIME), TWO_PI);
// Base texture drift
float baseDriftX = uTime * BASE_DRIFT_RATE;
float baseDriftY = cos(phase) * BASE_DRIFT_SCALAR;
// === Phase 1a: First base texture pass (rotated 30 degrees) ===
vec2 uv1a = rotateUV(baseUV, radians(30.0));
// === Phase 1b: Second base texture pass (rotated 60 degrees total, with drift) ===
vec2 uv1b = rotateUV(baseUV + vec2(baseDriftX, baseDriftY), radians(60.0));
// Calculate cross-fade swing value
float A1 = cos(((vWorldPosition.x / Q1) + (uTime / Q2)) * 6.0);
float A2 = sin(((vWorldPosition.z / Q1) + (uTime / Q2)) * TWO_PI);
float swing = (A1 + A2) * 0.15 + 0.5;
// Cross-fade alpha calculation from engine
float alpha1a = ((1.0 - swing) * uOpacity) / max(1.0 - (swing * uOpacity), 0.001);
float alpha1b = swing * uOpacity;
// Sample base texture for both passes
vec4 texColor1a = texture2D(uBaseTexture, uv1a);
vec4 texColor1b = texture2D(uBaseTexture, uv1b);
// Combined alpha and color
float combinedAlpha = 1.0 - (1.0 - alpha1a) * (1.0 - alpha1b);
vec3 baseColor = (texColor1a.rgb * alpha1a * (1.0 - alpha1b) + texColor1b.rgb * alpha1b) / max(combinedAlpha, 0.001);
// === Phase 3: Environment map / specular ===
vec3 reflectVec = -vViewVector;
reflectVec.y = abs(reflectVec.y);
if (reflectVec.y < 0.001) reflectVec.y = 0.001;
vec2 envUV;
if (vDistance < 0.001) {
envUV = vec2(0.0);
} else {
float value = (vDistance - reflectVec.y) / (vDistance * vDistance);
envUV.x = reflectVec.x * value;
envUV.y = reflectVec.z * value;
}
envUV = envUV * 0.5 + 0.5;
envUV.x += A1 * Q3;
envUV.y += A2 * Q3;
vec4 envColor = texture2D(uEnvMapTexture, envUV);
vec3 finalColor = baseColor + envColor.rgb * envColor.a * uEnvMapIntensity;
// Note: Tribes 2 water does NOT use lighting - Phase 2 (lightmap) is disabled
// in the original engine. Water colors come directly from textures.
gl_FragColor = vec4(finalColor, combinedAlpha);
// Apply volumetric fog using shared Torque-style fog shader
${y}
}
`;function w(e){return new u({uniforms:{uTime:{value:0},uOpacity:{value:e?.opacity??.75},uWaveMagnitude:{value:e?.waveMagnitude??1},uEnvMapIntensity:{value:e?.envMapIntensity??1},uBaseTexture:{value:e?.baseTexture??null},uEnvMapTexture:{value:e?.envMapTexture??null},fogColor:{value:new d},fogNear:{value:1},fogFar:{value:2e3},fogVolumeData:g.fogVolumeData,cameraHeight:g.cameraHeight,fogEnabled:g.fogEnabled},vertexShader:C,fragmentShader:re,transparent:!0,side:2,depthWrite:!0,fog:!0})}function ie(){let e=(0,S.c)(1),t=(0,b.useRef)(null),n;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(n=e=>{if(!t.current)return t.current=e.clone(),!0;let n=t.current.x===e.x&&t.current.y===e.y&&t.current.z===e.z;return n||t.current.copy(e),n},e[0]=n):n=e[0],n}var T=r(),E=2048,D=1024;function ae(e,t){let n=e<=1024&&t<=1024?8:16;return[Math.max(4,Math.ceil(e/n)),Math.max(4,Math.ceil(t/n))]}function oe(e){let t=(0,S.c)(7),{surfaceTexture:n,attach:r}=e,i;t[0]===n?i=t[1]:(i=m(n),t[0]=n,t[1]=i);let a=i,o=p(),s;t[2]===o?s=t[3]:(s=e=>v(e,{anisotropy:o}),t[2]=o,t[3]=s);let c=h(a,s),l;return t[4]!==r||t[5]!==c?(l=(0,T.jsx)(`meshStandardMaterial`,{attach:r,map:c,transparent:!0,opacity:.8,side:2}),t[4]=r,t[5]=c,t[6]=l):l=t[6],l}var O=(0,b.memo)(function(e){let t=(0,S.c)(59),{entity:n}=e,r=n.waterData,{debugMode:o}=s(),c;t[0]===r.transform?c=t[1]:(c=_(r.transform),t[0]=r.transform,t[1]=c);let u=c,d;t[2]===r.transform.position?d=t[3]:(d=ee(r.transform.position),t[2]=r.transform.position,t[3]=d);let f=d,p;t[4]===r.scale?p=t[5]:(p=te(r.scale),t[4]=r.scale,t[5]=p);let m=p,[h,g,v]=m,y=a(ce),x=ie(),C=r.waveMagnitude,[re,w,oe]=f,O=re+D,k=oe+D,A;t[6]===O?A=t[7]:(A=Math.round(O/8),t[6]=O,t[7]=A);let j=A,M;t[8]===k?M=t[9]:(M=Math.round(k/8),t[8]=k,t[9]=M);let N=M;j=Math.max(0,Math.min(2040,j)),N=Math.max(0,Math.min(2040,N));let P=j*8,F=N*8,I;t[10]!==P||t[11]!==F||t[12]!==w?(I=[P,w,F],t[10]=P,t[11]=F,t[12]=w,t[13]=I):I=t[13];let L=I,ue=le,R;t[14]!==y.position.x||t[15]!==y.position.z?(R=()=>ue(y.position.x,y.position.z),t[14]=y.position.x,t[15]=y.position.z,t[16]=R):R=t[16];let[z,de]=(0,b.useState)(R),B;t[17]!==y.position||t[18]!==x?(B=()=>{if(!x(y.position))return;let e=ue(y.position.x,y.position.z);de(t=>JSON.stringify(t)===JSON.stringify(e)?t:e)},t[17]=y.position,t[18]=x,t[19]=B):B=t[19],i(B);let V=r.surfaceName||`liquidTiles/BlueWater`,H=r.envMapName||void 0,U=r.surfaceOpacity,W=r.envMapIntensity,G;if(t[20]!==h||t[21]!==g||t[22]!==v){let[e,n]=ae(h,v);G=new l(h,v,e,n),G.rotateX(-Math.PI/2),G.translate(h/2,g,v/2),t[20]=h,t[21]=g,t[22]=v,t[23]=G}else G=t[23];let K=G,q,J;t[24]===K?(q=t[25],J=t[26]):(J=()=>()=>{K.dispose()},q=[K],t[24]=K,t[25]=q,t[26]=J),(0,b.useEffect)(J,q);let Y;t[27]!==o||t[28]!==f[0]||t[29]!==f[1]||t[30]!==f[2]||t[31]!==m||t[32]!==h||t[33]!==g||t[34]!==v?(Y=o&&(0,T.jsx)(ne,{args:m,position:[f[0]+h/2,f[1]+g/2,f[2]+v/2],children:(0,T.jsx)(`meshBasicMaterial`,{color:`#00fbff`,wireframe:!0})}),t[27]=o,t[28]=f[0],t[29]=f[1],t[30]=f[2],t[31]=m,t[32]=h,t[33]=g,t[34]=v,t[35]=Y):Y=t[35];let X;if(t[36]!==L||t[37]!==z||t[38]!==K){let e;t[40]!==L||t[41]!==K?(e=e=>{let[t,n]=e,r=L[0]+t*E-D,i=L[2]+n*E-D;return(0,T.jsx)(`mesh`,{geometry:K,position:[r,L[1],i],children:(0,T.jsx)(`meshStandardMaterial`,{color:`#00fbff`,transparent:!0,opacity:.4,wireframe:!0,side:2})},`${t},${n}`)},t[40]=L,t[41]=K,t[42]=e):e=t[42],X=z.map(e),t[36]=L,t[37]=z,t[38]=K,t[39]=X}else X=t[39];let Z;t[43]!==L||t[44]!==W||t[45]!==H||t[46]!==U||t[47]!==z||t[48]!==K||t[49]!==V||t[50]!==C?(Z=(0,T.jsx)(se,{reps:z,basePosition:L,surfaceGeometry:K,surfaceTexture:V,envMapTexture:H,opacity:U,waveMagnitude:C,envMapIntensity:W}),t[43]=L,t[44]=W,t[45]=H,t[46]=U,t[47]=z,t[48]=K,t[49]=V,t[50]=C,t[51]=Z):Z=t[51];let Q;t[52]!==X||t[53]!==Z?(Q=(0,T.jsx)(b.Suspense,{fallback:X,children:Z}),t[52]=X,t[53]=Z,t[54]=Q):Q=t[54];let $;return t[55]!==u||t[56]!==Y||t[57]!==Q?($=(0,T.jsxs)(`group`,{quaternion:u,children:[Y,Q]}),t[55]=u,t[56]=Y,t[57]=Q,t[58]=$):$=t[58],$}),se=(0,b.memo)(function({reps:e,basePosition:t,surfaceGeometry:n,surfaceTexture:r,envMapTexture:a,opacity:s,waveMagnitude:l,envMapIntensity:u}){let d=m(r),f=m(a??`special/lush_env`),g=p(),[_,ee]=h([d,f],e=>{(Array.isArray(e)?e:[e]).forEach(e=>{v(e,{anisotropy:g}),e.colorSpace=``,e.wrapS=c,e.wrapT=c})}),{animationEnabled:te}=o(),y=(0,b.useMemo)(()=>w({opacity:s,waveMagnitude:l,envMapIntensity:u,baseTexture:_,envMapTexture:ee}),[s,l,u,_,ee]),x=(0,b.useRef)(0);return i((e,t)=>{te?(x.current+=t,y.uniforms.uTime.value=x.current):(x.current=0,y.uniforms.uTime.value=0)}),(0,b.useEffect)(()=>()=>{y.dispose()},[y]),(0,T.jsx)(T.Fragment,{children:e.map(([e,r])=>{let i=t[0]+e*E-D,a=t[2]+r*E-D;return(0,T.jsx)(`mesh`,{geometry:n,material:y,position:[i,t[1],a]},`${e},${r}`)})})});function ce(e){return e.camera}function le(e,t){let n=e+D,r=t+D,i=Math.trunc(n/E),a=Math.trunc(r/E);n<0&&i--,r<0&&a--;let o=[];for(let e=a-1;e<=a+1;e++)for(let t=i-1;t<=i+1;t++)o.push([t,e]);return o}export{O as WaterBlock,oe as WaterMaterial};

Some files were not shown because too many files have changed in this diff Show more