quake2ts 0.0.241 → 0.0.243
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +1 -1
- package/packages/client/dist/browser/index.global.js +11 -11
- package/packages/client/dist/browser/index.global.js.map +1 -1
- package/packages/client/dist/cjs/index.cjs +50 -13
- package/packages/client/dist/cjs/index.cjs.map +1 -1
- package/packages/client/dist/esm/index.js +50 -13
- package/packages/client/dist/esm/index.js.map +1 -1
- package/packages/client/dist/tsconfig.tsbuildinfo +1 -1
- package/packages/client/dist/types/demo/handler.d.ts +2 -1
- package/packages/client/dist/types/demo/handler.d.ts.map +1 -1
- package/packages/client/dist/types/index.d.ts.map +1 -1
- package/packages/engine/dist/browser/index.global.js +8 -8
- package/packages/engine/dist/browser/index.global.js.map +1 -1
- package/packages/engine/dist/cjs/index.cjs +37 -10
- package/packages/engine/dist/cjs/index.cjs.map +1 -1
- package/packages/engine/dist/esm/index.js +37 -10
- package/packages/engine/dist/esm/index.js.map +1 -1
- package/packages/engine/dist/tsconfig.tsbuildinfo +1 -1
- package/packages/engine/dist/types/demo/parser.d.ts +1 -1
- package/packages/engine/dist/types/demo/parser.d.ts.map +1 -1
- package/packages/engine/dist/types/demo/playback.d.ts +1 -0
- package/packages/engine/dist/types/demo/playback.d.ts.map +1 -1
- package/packages/game/dist/browser/index.global.js +2 -2
- package/packages/game/dist/browser/index.global.js.map +1 -1
- package/packages/game/dist/cjs/index.cjs +73 -4
- package/packages/game/dist/cjs/index.cjs.map +1 -1
- package/packages/game/dist/esm/index.js +73 -4
- package/packages/game/dist/esm/index.js.map +1 -1
- package/packages/game/dist/tsconfig.tsbuildinfo +1 -1
- package/packages/game/dist/types/combat/weapons/firing.d.ts.map +1 -1
- package/packages/game/dist/types/combat/weapons/rogue.d.ts +9 -0
- package/packages/game/dist/types/combat/weapons/rogue.d.ts.map +1 -0
- package/packages/game/dist/types/entities/projectiles.d.ts +1 -0
- package/packages/game/dist/types/entities/projectiles.d.ts.map +1 -1
- package/packages/game/dist/types/index.d.ts +4 -0
- package/packages/game/dist/types/index.d.ts.map +1 -1
- package/packages/game/dist/types/inventory/ammo.d.ts.map +1 -1
- package/packages/game/dist/types/inventory/items.d.ts.map +1 -1
- package/packages/game/dist/types/physics/movement.d.ts +1 -1
- package/packages/game/dist/types/physics/movement.d.ts.map +1 -1
- package/packages/shared/dist/browser/index.global.js +1 -1
- package/packages/shared/dist/browser/index.global.js.map +1 -1
- package/packages/shared/dist/cjs/index.cjs +5 -0
- package/packages/shared/dist/cjs/index.cjs.map +1 -1
- package/packages/shared/dist/esm/index.js +5 -0
- package/packages/shared/dist/esm/index.js.map +1 -1
- package/packages/shared/dist/tsconfig.tsbuildinfo +1 -1
- package/packages/shared/dist/types/items/ammo.d.ts +6 -1
- package/packages/shared/dist/types/items/ammo.d.ts.map +1 -1
- package/packages/tools/dist/tsconfig.tsbuildinfo +1 -1
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { Entity } from '../../entities/entity.js';
|
|
2
|
+
import { GameExports } from '../../index.js';
|
|
3
|
+
import { WeaponState } from './state.js';
|
|
4
|
+
import { PlayerInventory } from '../../inventory/playerInventory.js';
|
|
5
|
+
import { Vec3 } from '@quake2ts/shared';
|
|
6
|
+
export declare function firePlasmaBeam(game: GameExports, player: Entity, inventory: PlayerInventory, weaponState: WeaponState, forward: Vec3): void;
|
|
7
|
+
export declare function fireIonRipper(game: GameExports, player: Entity, inventory: PlayerInventory, weaponState: WeaponState, forward: Vec3): void;
|
|
8
|
+
export declare function firePhalanx(game: GameExports, player: Entity, inventory: PlayerInventory, weaponState: WeaponState, forward: Vec3): void;
|
|
9
|
+
//# sourceMappingURL=rogue.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rogue.d.ts","sourceRoot":"","sources":["../../../../src/combat/weapons/rogue.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAkB,WAAW,EAAE,MAAM,YAAY,CAAC;AACzD,OAAO,EAAE,eAAe,EAAY,MAAM,oCAAoC,CAAC;AAE/E,OAAO,EACqE,IAAI,EAG/E,MAAM,kBAAkB,CAAC;AAiB1B,wBAAgB,cAAc,CAAC,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,eAAe,EAAE,WAAW,EAAE,WAAW,EAAE,OAAO,EAAE,IAAI,QAkDpI;AAID,wBAAgB,aAAa,CAAC,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,eAAe,EAAE,WAAW,EAAE,WAAW,EAAE,OAAO,EAAE,IAAI,QAoBnI;AAID,wBAAgB,WAAW,CAAC,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,eAAe,EAAE,WAAW,EAAE,WAAW,EAAE,OAAO,EAAE,IAAI,QA2BjI"}
|
|
@@ -8,4 +8,5 @@ export declare function createBlasterBolt(sys: EntitySystem, owner: Entity, star
|
|
|
8
8
|
export declare function createIonRipper(sys: EntitySystem, owner: Entity, start: Vec3, dir: Vec3, damage: number, speed: number): void;
|
|
9
9
|
export declare function createBlueBlaster(sys: EntitySystem, owner: Entity, start: Vec3, dir: Vec3, damage: number, speed: number): void;
|
|
10
10
|
export declare function createBfgBall(sys: EntitySystem, owner: Entity, start: Vec3, dir: Vec3, damage: number, speed: number, damageRadius: number): void;
|
|
11
|
+
export declare function createPhalanxBall(sys: EntitySystem, owner: Entity, start: Vec3, dir: Vec3, damage: number, radiusDamage: number, speed: number): void;
|
|
11
12
|
//# sourceMappingURL=projectiles.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"projectiles.d.ts","sourceRoot":"","sources":["../../../src/entities/projectiles.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,MAAM,EAAgC,MAAM,aAAa,CAAC;AACnE,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAG3C,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACpD,OAAO,EAAsD,IAAI,EAAkJ,MAAM,kBAAkB,CAAC;AAG5O,wBAAgB,YAAY,CAAC,GAAG,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,GAAE,MAAU,QA2ChK;AAED,wBAAgB,aAAa,CAAC,GAAG,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,GAAE,MAAY,QAwDzI;AAED,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,SAAS,QA4DxI;AAED,wBAAgB,eAAe,CAAC,GAAG,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"projectiles.d.ts","sourceRoot":"","sources":["../../../src/entities/projectiles.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,MAAM,EAAgC,MAAM,aAAa,CAAC;AACnE,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAG3C,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACpD,OAAO,EAAsD,IAAI,EAAkJ,MAAM,kBAAkB,CAAC;AAG5O,wBAAgB,YAAY,CAAC,GAAG,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,GAAE,MAAU,QA2ChK;AAED,wBAAgB,aAAa,CAAC,GAAG,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,GAAE,MAAY,QAwDzI;AAED,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,SAAS,QA4DxI;AAED,wBAAgB,eAAe,CAAC,GAAG,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,QA6EtH;AAED,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,QAExH;AAkOD,wBAAgB,aAAa,CAAC,GAAG,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,QA8E1I;AAED,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,QAgD9I"}
|
|
@@ -10,6 +10,8 @@ export * from './ai/noise.js';
|
|
|
10
10
|
export interface GameCreateOptions {
|
|
11
11
|
gravity: Vec3;
|
|
12
12
|
deathmatch?: boolean;
|
|
13
|
+
rogue?: boolean;
|
|
14
|
+
xatrix?: boolean;
|
|
13
15
|
random?: RandomGenerator;
|
|
14
16
|
}
|
|
15
17
|
import { ServerCommand, EntityState } from '@quake2ts/shared';
|
|
@@ -70,6 +72,8 @@ export interface GameExports extends GameSimulation<GameStateSnapshot> {
|
|
|
70
72
|
centerprintf(entity: Entity, message: string): void;
|
|
71
73
|
readonly time: number;
|
|
72
74
|
readonly deathmatch: boolean;
|
|
75
|
+
readonly rogue: boolean;
|
|
76
|
+
readonly xatrix: boolean;
|
|
73
77
|
readonly random: RandomGenerator;
|
|
74
78
|
trace(start: Vec3, mins: Vec3 | null, maxs: Vec3 | null, end: Vec3, passent: Entity | null, contentmask: number): GameTraceResult;
|
|
75
79
|
multicast(origin: Vec3, type: MulticastType, event: ServerCommand, ...args: any[]): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ammo.d.ts","sourceRoot":"","sources":["../../../src/inventory/ammo.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAEzE,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAE,UAAU,EAAE,CAAC;AAEjD,MAAM,MAAM,QAAQ,GAAG,SAAS,MAAM,EAAE,CAAC;AAEzC,MAAM,MAAM,QAAQ,GAAG,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC;AAEzD,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IACxB,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB;AAED,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAC5B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;CAC5B;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,EAAE,EAAE,UAAU,CAAC;IACxB,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAC5B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC;CAC9B;
|
|
1
|
+
{"version":3,"file":"ammo.d.ts","sourceRoot":"","sources":["../../../src/inventory/ammo.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAEzE,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAE,UAAU,EAAE,CAAC;AAEjD,MAAM,MAAM,QAAQ,GAAG,SAAS,MAAM,EAAE,CAAC;AAEzC,MAAM,MAAM,QAAQ,GAAG,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC;AAEzD,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IACxB,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB;AAED,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAC5B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;CAC5B;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,EAAE,EAAE,UAAU,CAAC;IACxB,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAC5B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC;CAC9B;AAgBD,wBAAgB,qBAAqB,CAAC,EAAE,EAAE,UAAU,GAAG,kBAAkB,CAExE;AAED,wBAAgB,mBAAmB,CAAC,IAAI,GAAE,QAA+B,EAAE,IAAI,CAAC,EAAE,QAAQ,GAAG,aAAa,CAQzG;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,IAAI,MAAM,EAAE,CAW7C;AAED,wBAAgB,eAAe,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,GAAG,MAAM,EAAE,CAYnF;AAED,wBAAgB,OAAO,CAAC,SAAS,EAAE,aAAa,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,GAAG,oBAAoB,CAe1G;AAED,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;CACjC;AAED,wBAAgB,UAAU,CACxB,SAAS,EAAE,aAAa,EACxB,MAAM,EAAE,UAAU,EAClB,OAAO,GAAE,iBAAsB,GAC9B,oBAAoB,CAKtB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"items.d.ts","sourceRoot":"","sources":["../../../src/inventory/items.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AACrC,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAChD,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAGrD,OAAO,EAAE,QAAQ,EAAE,CAAC;AAEpB,MAAM,WAAW,QAAQ;IACrB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,UAAW,SAAQ,QAAQ;IACxC,IAAI,EAAE,QAAQ,CAAC;IACf,QAAQ,EAAE,QAAQ,CAAC;IACnB,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,YAAY,KAAK,IAAI,CAAC;IACpD,QAAQ,EAAE,QAAQ,GAAG,IAAI,CAAC;IAC1B,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,UAAW,SAAQ,QAAQ;IACxC,IAAI,EAAE,QAAQ,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,SAAU,SAAQ,QAAQ;IACvC,IAAI,EAAE,OAAO,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,WAAY,SAAQ,QAAQ;IACzC,IAAI,EAAE,SAAS,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,cAAe,SAAQ,QAAQ;IAC5C,IAAI,EAAE,aAAa,CAAC;IACpB,SAAS,EAAE,QAAQ,GAAG,QAAQ,CAAC;CAClC;AAED,MAAM,WAAW,OAAQ,SAAQ,QAAQ;IACrC,IAAI,EAAE,KAAK,CAAC;CACf;AAED,eAAO,MAAM,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,
|
|
1
|
+
{"version":3,"file":"items.d.ts","sourceRoot":"","sources":["../../../src/inventory/items.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AACrC,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAChD,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAGrD,OAAO,EAAE,QAAQ,EAAE,CAAC;AAEpB,MAAM,WAAW,QAAQ;IACrB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,UAAW,SAAQ,QAAQ;IACxC,IAAI,EAAE,QAAQ,CAAC;IACf,QAAQ,EAAE,QAAQ,CAAC;IACnB,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,YAAY,KAAK,IAAI,CAAC;IACpD,QAAQ,EAAE,QAAQ,GAAG,IAAI,CAAC;IAC1B,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,UAAW,SAAQ,QAAQ;IACxC,IAAI,EAAE,QAAQ,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,SAAU,SAAQ,QAAQ;IACvC,IAAI,EAAE,OAAO,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,WAAY,SAAQ,QAAQ;IACzC,IAAI,EAAE,SAAS,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,cAAe,SAAQ,QAAQ;IAC5C,IAAI,EAAE,aAAa,CAAC;IACpB,SAAS,EAAE,QAAQ,GAAG,QAAQ,CAAC;CAClC;AAED,MAAM,WAAW,OAAQ,SAAQ,QAAQ;IACrC,IAAI,EAAE,KAAK,CAAC;CACf;AAED,eAAO,MAAM,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAgJnD,CAAC;AAEF,eAAO,MAAM,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CA6BnD,CAAC;AAEF,eAAO,MAAM,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAyBjD,CAAC;AAEF,eAAO,MAAM,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CA+BrD,CAAC;AAEF,eAAO,MAAM,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAa5D,CAAC;AAEF,eAAO,MAAM,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAqB7C,CAAC"}
|
|
@@ -3,7 +3,7 @@ import { GameImports } from '../imports.js';
|
|
|
3
3
|
import { Vec3 } from '@quake2ts/shared';
|
|
4
4
|
import type { EntitySystem } from '../entities/system.js';
|
|
5
5
|
export declare function runGravity(ent: Entity, gravity: Vec3, frametime: number): void;
|
|
6
|
-
export declare function runBouncing(ent: Entity, imports: GameImports, frametime: number): void;
|
|
6
|
+
export declare function runBouncing(ent: Entity, system: EntitySystem, imports: GameImports, frametime: number): void;
|
|
7
7
|
export declare function runStep(ent: Entity, system: EntitySystem, imports: GameImports, gravity: Vec3, frametime: number): void;
|
|
8
8
|
export declare function runProjectileMovement(ent: Entity, imports: GameImports, frametime: number): void;
|
|
9
9
|
export declare function runPush(pusher: Entity, system: EntitySystem, imports: GameImports, frametime: number): boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"movement.d.ts","sourceRoot":"","sources":["../../../src/physics/movement.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAgC,MAAM,uBAAuB,CAAC;AAC7E,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAIL,IAAI,EAIL,MAAM,kBAAkB,CAAC;AAC1B,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAI1D,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI,CA+B9E;AAED,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI,
|
|
1
|
+
{"version":3,"file":"movement.d.ts","sourceRoot":"","sources":["../../../src/physics/movement.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAgC,MAAM,uBAAuB,CAAC;AAC7E,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAIL,IAAI,EAIL,MAAM,kBAAkB,CAAC;AAC1B,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAI1D,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI,CA+B9E;AAED,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI,CAiD5G;AAED,wBAAgB,OAAO,CACrB,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,YAAY,EACpB,OAAO,EAAE,WAAW,EACpB,OAAO,EAAE,IAAI,EACb,SAAS,EAAE,MAAM,GAChB,IAAI,CAwEN;AAED,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI,CAahG;AAYD,wBAAgB,OAAO,CACrB,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,YAAY,EACpB,OAAO,EAAE,WAAW,EACpB,SAAS,EAAE,MAAM,GAChB,OAAO,CA6MT"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";var Quake2Shared=(()=>{var Be=Object.defineProperty;var hn=Object.getOwnPropertyDescriptor;var Tn=Object.getOwnPropertyNames;var bn=Object.prototype.hasOwnProperty;var ke=(t,e)=>{for(var n in e)Be(t,n,{get:e[n],enumerable:!0})},_n=(t,e,n,o)=>{if(e&&typeof e=="object"||typeof e=="function")for(let r of Tn(e))!bn.call(t,r)&&r!==n&&Be(t,r,{get:()=>e[r],enumerable:!(o=hn(e,r))||o.enumerable});return t};var Sn=t=>_n(Be({},"__esModule",{value:!0}),t);var li={};ke(li,{AMMO_MAX:()=>Ie,AMMO_TYPE_COUNT:()=>ai,ANORMS:()=>se,AmmoItemId:()=>xn,AmmoType:()=>At,BinaryStream:()=>_t,BinaryWriter:()=>St,CGAME_EXPORT_KEYS:()=>Jo,CGAME_IMPORT_KEYS:()=>Xo,CONTENTS_AREAPORTAL:()=>Ni,CONTENTS_AUX:()=>bi,CONTENTS_CURRENT_0:()=>qn,CONTENTS_CURRENT_180:()=>Qn,CONTENTS_CURRENT_270:()=>eo,CONTENTS_CURRENT_90:()=>$n,CONTENTS_CURRENT_DOWN:()=>no,CONTENTS_CURRENT_UP:()=>to,CONTENTS_DEADMONSTER:()=>Mi,CONTENTS_DETAIL:()=>Pi,CONTENTS_LADDER:()=>Rt,CONTENTS_LAVA:()=>_i,CONTENTS_MIST:()=>Vi,CONTENTS_MONSTER:()=>gi,CONTENTS_MONSTERCLIP:()=>Oi,CONTENTS_NONE:()=>Ne,CONTENTS_NO_WATERJUMP:()=>Zn,CONTENTS_ORIGIN:()=>Ri,CONTENTS_PLAYER:()=>vi,CONTENTS_PLAYERCLIP:()=>Ci,CONTENTS_PROJECTILE:()=>zi,CONTENTS_PROJECTILECLIP:()=>Ei,CONTENTS_SLIME:()=>Si,CONTENTS_SOLID:()=>hi,CONTENTS_TRANSLUCENT:()=>Fi,CONTENTS_TRIGGER:()=>jn,CONTENTS_WATER:()=>Ai,CONTENTS_WINDOW:()=>Ti,CS_MAX_STRING_LENGTH:()=>_c,CS_MAX_STRING_LENGTH_OLD:()=>Sc,ClientCommand:()=>cn,CollisionEntityIndex:()=>Ze,ConfigStringIndex:()=>ce,CvarFlags:()=>Dt,DEFAULT_FORWARD_SPEED:()=>rs,DEFAULT_MOUSE_SENSITIVITY:()=>ls,DEFAULT_PITCH_SPEED:()=>as,DEFAULT_SIDE_SPEED:()=>ss,DEFAULT_UP_SPEED:()=>is,DEFAULT_YAW_SPEED:()=>cs,DEG2RAD:()=>Un,DIST_EPSILON:()=>Y,EntityFlags:()=>bt,GAME_EXPORT_KEYS:()=>Ko,GAME_IMPORT_KEYS:()=>Ho,G_GetAmmoStat:()=>ws,G_GetPowerupStat:()=>Is,G_SetAmmoStat:()=>Ls,G_SetPowerupStat:()=>Ds,LAST_VISIBLE_CONTENTS:()=>Li,LayoutFlags:()=>ln,MASK_ALL:()=>Zi,MASK_BLOCK_SIGHT:()=>nc,MASK_CURRENT:()=>oo,MASK_DEADSOLID:()=>$i,MASK_LADDER_NAV_SOLID:()=>rc,MASK_MONSTERSOLID:()=>Qi,MASK_NAV_SOLID:()=>oc,MASK_OPAQUE:()=>ec,MASK_PLAYERSOLID:()=>qi,MASK_PROJECTILE:()=>ic,MASK_SHOT:()=>tc,MASK_SOLID:()=>Je,MASK_WALK_NAV_SOLID:()=>sc,MASK_WATER:()=>Ce,MAX_CHALLENGES:()=>ms,MAX_CLIENTS:()=>Ro,MAX_CONFIGSTRINGS:()=>wo,MAX_EDICTS:()=>bc,MAX_GENERAL:()=>zo,MAX_IMAGES:()=>Fo,MAX_INFO_STRING:()=>ys,MAX_ITEMS:()=>vo,MAX_LIGHTSTYLES:()=>go,MAX_MODELS:()=>Mo,MAX_MSGLEN:()=>hs,MAX_OSPATH:()=>Tc,MAX_PACKET_ENTITIES:()=>ps,MAX_QPATH:()=>hc,MAX_SHADOW_LIGHTS:()=>Lo,MAX_SOUNDS:()=>Po,MAX_STRING_CHARS:()=>pc,MAX_STRING_TOKENS:()=>xc,MAX_TOKEN_CHARS:()=>yc,MAX_WHEEL_ITEMS:()=>tt,MZ_BFG:()=>Ms,MZ_BLASTER:()=>Ts,MZ_CHAINGUN1:()=>Ss,MZ_CHAINGUN2:()=>As,MZ_CHAINGUN3:()=>Vs,MZ_GRENADE:()=>Cs,MZ_HYPERBLASTER:()=>Ps,MZ_LOGIN:()=>Os,MZ_LOGOUT:()=>Rs,MZ_MACHINEGUN:()=>bs,MZ_RAILGUN:()=>Es,MZ_ROCKET:()=>Ns,MZ_SHOTGUN:()=>_s,MZ_SSHOTGUN:()=>gs,MersenneTwister19937:()=>Ve,NUM_AMMO_STATS:()=>vs,NUM_BITS_FOR_AMMO:()=>Ue,NUM_BITS_FOR_POWERUP:()=>Ge,NUM_POWERUP_STATS:()=>zs,PITCH:()=>Se,POWERUP_MAX:()=>We,PlaneSide:()=>Mt,PlayerButton:()=>ne,PlayerStat:()=>fn,PmFlag:()=>te,PmType:()=>le,PowerupId:()=>dn,RAD2DEG:()=>Wn,ROLL:()=>Ke,RandomGenerator:()=>Ee,Replay:()=>nt,SLIDEMOVE_BLOCKED_FLOOR:()=>Wt,SLIDEMOVE_BLOCKED_WALL:()=>Gt,STOP_EPSILON:()=>Z,SURF_ALPHATEST:()=>Ki,SURF_FLOWING:()=>ki,SURF_LIGHT:()=>Di,SURF_N64_SCROLL_FLIP:()=>ji,SURF_N64_SCROLL_X:()=>Ji,SURF_N64_SCROLL_Y:()=>Yi,SURF_N64_UV:()=>Xi,SURF_NODRAW:()=>Hi,SURF_NONE:()=>wi,SURF_SKY:()=>Ui,SURF_SLICK:()=>Ii,SURF_TRANS33:()=>Gi,SURF_TRANS66:()=>Bi,SURF_WARP:()=>Wi,ServerCommand:()=>sn,TempEntity:()=>an,UPDATE_BACKUP:()=>xs,WaterLevel:()=>ae,WeaponId:()=>pn,YAW:()=>Ae,ZERO_VEC3:()=>v,addBlendColor:()=>Hn,addContents:()=>io,addPmFlag:()=>G,addPointToBounds:()=>Pn,addVec3:()=>g,addViewAngles:()=>ds,angleMod:()=>me,angleVectors:()=>Xe,applyPmove:()=>ci,applyPmoveAccelerate:()=>X,applyPmoveAddCurrents:()=>ve,applyPmoveAirAccelerate:()=>st,applyPmoveAirMove:()=>Dr,applyPmoveFlyMove:()=>dr,applyPmoveFriction:()=>rt,applyPmoveWaterMove:()=>Ir,assertContract:()=>ko,boxContents:()=>So,boxOnPlaneSide:()=>yo,boxesIntersect:()=>Fn,buildAirGroundWish:()=>it,buildCollisionModel:()=>po,buildWaterWish:()=>ct,categorizePosition:()=>Lr,checkDuckState:()=>Sr,checkJump:()=>yr,checkSpecialMovement:()=>qr,clampViewAngles:()=>os,clipBoxToBrush:()=>$e,clipVelocityAgainstPlanes:()=>vn,clipVelocityVec3:()=>Q,closestPointToBox:()=>Rn,combineSurfaceFlags:()=>lo,computePlaneSignBits:()=>qe,computePlayerDimensions:()=>Le,concatRotationMatrices:()=>He,configStringSize:()=>Do,copyVec3:()=>Vn,createDefaultTrace:()=>ge,createEmptyBounds3:()=>Mn,createMat4Identity:()=>Ot,createRandomGenerator:()=>Kn,crossVec3:()=>$,currentVectorFromContents:()=>ft,degToRad:()=>be,disableTraceDebug:()=>fo,distance:()=>Cn,distanceBetweenBoxesSquared:()=>gn,dotVec3:()=>L,enableTraceDebug:()=>uo,fixStuckObjectGeneric:()=>ut,getWaterLevel:()=>he,goodPosition:()=>xt,groundCurrentVelocity:()=>qt,hasAllContents:()=>ro,hasAnyContents:()=>so,hasPmFlag:()=>w,hasSurfaceFlags:()=>ao,inPHS:()=>Vo,inPVS:()=>Ao,initialSnapPosition:()=>es,isAtLeastWaistDeep:()=>ot,isUnderwater:()=>Yo,lengthSquaredVec3:()=>re,lengthVec3:()=>U,lerpAngle:()=>Gn,mat4FromBasis:()=>Yn,mouseDeltaToViewDelta:()=>fs,multiplyMat4:()=>Xn,multiplyVec3:()=>En,negateVec3:()=>Nn,normalizeVec3:()=>z,perpendicularVec3:()=>Et,planeDistanceToPoint:()=>ee,pmoveCmdScale:()=>jo,pointContents:()=>bo,pointContentsMany:()=>_o,pointInsideBrush:()=>Pt,pointOnPlaneSide:()=>xo,projectPointOnPlane:()=>Vt,projectSourceVec3:()=>Ln,projectSourceVec3WithUp:()=>wn,radToDeg:()=>_e,removeContents:()=>co,removePmFlag:()=>K,resolveSlideMove:()=>Bt,rotatePointAroundVector:()=>In,scaleVec3:()=>M,slerpVec3:()=>Dn,slideClipVelocityVec3:()=>zn,slideMove:()=>at,snapPosition:()=>Qr,stepSlideMove:()=>oe,subtractVec3:()=>q,testBoxInBrush:()=>Ft,traceBox:()=>wt,traceDebugInfo:()=>H,transformPointMat4:()=>Jn,validateContract:()=>It,vec3Equals:()=>On,vectorToAngles:()=>kn,vectorToYaw:()=>Bn,waterCurrentVelocity:()=>Zt});var v={x:0,y:0,z:0},Z=.1,An=Math.PI/180;function Vn(t){return{x:t.x,y:t.y,z:t.z}}function g(t,e){return{x:t.x+e.x,y:t.y+e.y,z:t.z+e.z}}function q(t,e){return{x:t.x-e.x,y:t.y-e.y,z:t.z-e.z}}function En(t,e){return{x:t.x*e.x,y:t.y*e.y,z:t.z*e.z}}function M(t,e){return{x:t.x*e,y:t.y*e,z:t.z*e}}function Nn(t){return M(t,-1)}function L(t,e){return t.x*e.x+t.y*e.y+t.z*e.z}function $(t,e){return{x:t.y*e.z-t.z*e.y,y:t.z*e.x-t.x*e.z,z:t.x*e.y-t.y*e.x}}function re(t){return L(t,t)}function U(t){return Math.sqrt(re(t))}function Cn(t,e){return U(q(t,e))}function On(t,e){return t.x===e.x&&t.y===e.y&&t.z===e.z}function z(t){let e=U(t);return e===0?t:M(t,1/e)}function Vt(t,e){let n=1/L(e,e),o=L(e,t)*n;return q(t,M(e,n*o))}function Et(t){let e=0,n=Math.abs(t.x);return Math.abs(t.y)<n&&(e=1,n=Math.abs(t.y)),Math.abs(t.z)<n&&(e=2),z(Vt(e===0?{x:1,y:0,z:0}:e===1?{x:0,y:1,z:0}:{x:0,y:0,z:1},t))}function Rn(t,e,n){return{x:t.x<e.x?e.x:t.x>n.x?n.x:t.x,y:t.y<e.y?e.y:t.y>n.y?n.y:t.y,z:t.z<e.z?e.z:t.z>n.z?n.z:t.z}}function gn(t,e,n,o){let r=0;if(e.x<n.x){let s=e.x-n.x;r+=s*s}else if(t.x>o.x){let s=t.x-o.x;r+=s*s}if(e.y<n.y){let s=e.y-n.y;r+=s*s}else if(t.y>o.y){let s=t.y-o.y;r+=s*s}if(e.z<n.z){let s=e.z-n.z;r+=s*s}else if(t.z>o.z){let s=t.z-o.z;r+=s*s}return r}function Mn(){return{mins:{x:Number.POSITIVE_INFINITY,y:Number.POSITIVE_INFINITY,z:Number.POSITIVE_INFINITY},maxs:{x:Number.NEGATIVE_INFINITY,y:Number.NEGATIVE_INFINITY,z:Number.NEGATIVE_INFINITY}}}function Pn(t,e){return{mins:{x:Math.min(e.mins.x,t.x),y:Math.min(e.mins.y,t.y),z:Math.min(e.mins.z,t.z)},maxs:{x:Math.max(e.maxs.x,t.x),y:Math.max(e.maxs.y,t.y),z:Math.max(e.maxs.z,t.z)}}}function Fn(t,e){return t.mins.x<=e.maxs.x&&t.maxs.x>=e.mins.x&&t.mins.y<=e.maxs.y&&t.maxs.y>=e.mins.y&&t.mins.z<=e.maxs.z&&t.maxs.z>=e.mins.z}function Q(t,e,n){let o=L(t,e)*n,r=t.x-e.x*o,s=t.y-e.y*o,i=t.z-e.z*o;return r>-Z&&r<Z&&(r=0),s>-Z&&s<Z&&(s=0),i>-Z&&i<Z&&(i=0),{x:r,y:s,z:i}}function vn(t,e,n,o){if(e.length===0)return t;let r=t;for(let s=0;s<e.length;s++){r=Q(r,e[s],n);let i=0;for(;i<e.length&&!(i!==s&&L(r,e[i])<0);i++);if(i===e.length)return o&&L(r,o)<=0?v:r}if(e.length===2){let s=$(e[0],e[1]),i=L(s,t),c=M(s,i);return o&&L(c,o)<=0?v:c}return o&&L(r,o)<=0,v}function zn(t,e,n){return Q(t,e,n)}function Ln(t,e,n,o){return{x:t.x+n.x*e.x+o.x*e.y,y:t.y+n.y*e.x+o.y*e.y,z:t.z+n.z*e.x+o.z*e.y+e.z}}function wn(t,e,n,o,r){return{x:t.x+n.x*e.x+o.x*e.y+r.x*e.z,y:t.y+n.y*e.x+o.y*e.y+r.y*e.z,z:t.z+n.z*e.x+o.z*e.y+r.z*e.z}}function Dn(t,e,n){let o=L(t,e),r,s;if(Math.abs(o)>.9995)r=1-n,s=n;else{let i=Math.acos(o),c=Math.sin(i),l=Math.sin((1-n)*i),u=Math.sin(n*i);r=l/c,s=u/c}return{x:t.x*r+e.x*s,y:t.y*r+e.y*s,z:t.z*r+e.z*s}}function He(t,e){let n=r=>[t[r][0]*e[0][0]+t[r][1]*e[1][0]+t[r][2]*e[2][0],t[r][0]*e[0][1]+t[r][1]*e[1][1]+t[r][2]*e[2][1],t[r][0]*e[0][2]+t[r][1]*e[1][2]+t[r][2]*e[2][2]];return[n(0),n(1),n(2)]}function In(t,e,n){if(U(t)===0)return e;let r=z(t),s=Et(r),i=$(s,r),c=[[s.x,i.x,r.x],[s.y,i.y,r.y],[s.z,i.z,r.z]],l=[[c[0][0],c[1][0],c[2][0]],[c[0][1],c[1][1],c[2][1]],[c[0][2],c[1][2],c[2][2]]],u=n*An,m=Math.cos(u),a=Math.sin(u),p=[[m,a,0],[-a,m,0],[0,0,1]],x=He(He(c,p),l);return{x:x[0][0]*e.x+x[0][1]*e.y+x[0][2]*e.z,y:x[1][0]*e.x+x[1][1]*e.y+x[1][2]*e.z,z:x[2][0]*e.x+x[2][1]*e.y+x[2][2]*e.z}}var Se=0,Ae=1,Ke=2,Nt=Math.PI/180,Ct=180/Math.PI,Un=Nt,Wn=Ct;function fe(t,e){switch(e){case Se:return t.x;case Ae:return t.y;case Ke:default:return t.z}}function be(t){return t*Nt}function _e(t){return t*Ct}function Gn(t,e,n){let o=e;return o-t>180?o-=360:o-t<-180&&(o+=360),t+n*(o-t)}function me(t){let e=t%360;return e<0?360+e:e}function Xe(t){let e=be(fe(t,Ae)),n=be(fe(t,Se)),o=be(fe(t,Ke)),r=Math.sin(e),s=Math.cos(e),i=Math.sin(n),c=Math.cos(n),l=Math.sin(o),u=Math.cos(o),m={x:c*s,y:c*r,z:-i},a={x:-l*i*s-u*-r,y:-l*i*r-u*s,z:-l*c},p={x:u*i*s-l*-r,y:u*i*r-l*s,z:u*c};return{forward:m,right:a,up:p}}function Bn(t){let e=fe(t,Se),n=fe(t,Ae);if(e===0)return n===0?0:n>0?90:270;let o=_e(Math.atan2(n,e));return o<0?o+360:o}function kn(t){let e=t.x,n=t.y,o=t.z;if(n===0&&e===0)return{x:o>0?-90:-270,y:0,z:0};let r;e?r=_e(Math.atan2(n,e)):n>0?r=90:r=270,r<0&&(r+=360);let s=Math.sqrt(e*e+n*n),i=_e(Math.atan2(o,s));return i<0&&(i+=360),{x:-i,y:r,z:0}}var se=[[-.525731,0,.850651],[-.442863,.238856,.864188],[-.295242,0,.955423],[-.309017,.5,.809017],[-.16246,.262866,.951056],[0,0,1],[0,.850651,.525731],[-.147621,.716567,.681718],[.147621,.716567,.681718],[0,.525731,.850651],[.309017,.5,.809017],[.525731,0,.850651],[.295242,0,.955423],[.442863,.238856,.864188],[.16246,.262866,.951056],[-.681718,.147621,.716567],[-.809017,.309017,.5],[-.587785,.425325,.688191],[-.850651,.525731,0],[-.864188,.442863,.238856],[-.716567,.681718,.147621],[-.688191,.587785,.425325],[-.5,.809017,.309017],[-.238856,.864188,.442863],[-.425325,.688191,.587785],[-.716567,.681718,-.147621],[-.5,.809017,-.309017],[-.525731,.850651,0],[0,.850651,-.525731],[-.238856,.864188,-.442863],[0,.955423,-.295242],[-.262866,.951056,-.16246],[0,1,0],[0,.955423,.295242],[-.262866,.951056,.16246],[.238856,.864188,.442863],[.262866,.951056,.16246],[.5,.809017,.309017],[.238856,.864188,-.442863],[.262866,.951056,-.16246],[.5,.809017,-.309017],[.850651,.525731,0],[.716567,.681718,.147621],[.716567,.681718,-.147621],[.525731,.850651,0],[.425325,.688191,.587785],[.864188,.442863,.238856],[.688191,.587785,.425325],[.809017,.309017,.5],[.681718,.147621,.716567],[.587785,.425325,.688191],[.955423,.295242,0],[1,0,0],[.951056,.16246,.262866],[.850651,-.525731,0],[.955423,-.295242,0],[.864188,-.442863,.238856],[.951056,-.16246,.262866],[.809017,-.309017,.5],[.681718,-.147621,.716567],[.850651,0,.525731],[.864188,.442863,-.238856],[.809017,.309017,-.5],[.951056,.16246,-.262866],[.525731,0,-.850651],[.681718,.147621,-.716567],[.681718,-.147621,-.716567],[.850651,0,-.525731],[.809017,-.309017,-.5],[.864188,-.442863,-.238856],[.951056,-.16246,-.262866],[.147621,.716567,-.681718],[.309017,.5,-.809017],[.425325,.688191,-.587785],[.442863,.238856,-.864188],[.587785,.425325,-.688191],[.688191,.587785,-.425325],[-.147621,.716567,-.681718],[-.309017,.5,-.809017],[0,.525731,-.850651],[-.525731,0,-.850651],[-.442863,.238856,-.864188],[-.295242,0,-.955423],[-.16246,.262866,-.951056],[0,0,-1],[.295242,0,-.955423],[.16246,.262866,-.951056],[-.442863,-.238856,-.864188],[-.309017,-.5,-.809017],[-.16246,-.262866,-.951056],[0,-.850651,-.525731],[-.147621,-.716567,-.681718],[.147621,-.716567,-.681718],[0,-.525731,-.850651],[.309017,-.5,-.809017],[.442863,-.238856,-.864188],[.16246,-.262866,-.951056],[.238856,-.864188,-.442863],[.5,-.809017,-.309017],[.425325,-.688191,-.587785],[.716567,-.681718,-.147621],[.688191,-.587785,-.425325],[.587785,-.425325,-.688191],[0,-.955423,-.295242],[0,-1,0],[.262866,-.951056,-.16246],[0,-.850651,.525731],[0,-.955423,.295242],[.238856,-.864188,.442863],[.262866,-.951056,.16246],[.5,-.809017,.309017],[.716567,-.681718,.147621],[.525731,-.850651,0],[-.238856,-.864188,-.442863],[-.5,-.809017,-.309017],[-.262866,-.951056,-.16246],[-.850651,-.525731,0],[-.716567,-.681718,-.147621],[-.716567,-.681718,.147621],[-.525731,-.850651,0],[-.5,-.809017,.309017],[-.238856,-.864188,.442863],[-.262866,-.951056,.16246],[-.864188,-.442863,.238856],[-.809017,-.309017,.5],[-.688191,-.587785,.425325],[-.681718,-.147621,.716567],[-.442863,-.238856,.864188],[-.587785,-.425325,.688191],[-.309017,-.5,.809017],[-.147621,-.716567,.681718],[-.425325,-.688191,.587785],[-.16246,-.262866,.951056],[.442863,-.238856,.864188],[.16246,-.262866,.951056],[.309017,-.5,.809017],[.147621,-.716567,.681718],[0,-.525731,.850651],[.425325,-.688191,.587785],[.587785,-.425325,.688191],[.688191,-.587785,.425325],[-.955423,.295242,0],[-.951056,.16246,.262866],[-1,0,0],[-.850651,0,.525731],[-.955423,-.295242,0],[-.951056,-.16246,.262866],[-.864188,.442863,-.238856],[-.951056,.16246,-.262866],[-.809017,.309017,-.5],[-.864188,-.442863,-.238856],[-.951056,-.16246,-.262866],[-.809017,-.309017,-.5],[-.681718,.147621,-.716567],[-.681718,-.147621,-.716567],[-.850651,0,-.525731],[-.688191,.587785,-.425325],[-.587785,.425325,-.688191],[-.425325,.688191,-.587785],[-.425325,-.688191,-.587785],[-.587785,-.425325,-.688191],[-.688191,-.587785,-.425325]];function Hn(t,e,n,o,r){if(o<=0)return r;let s=r[0],i=r[1],c=r[2],l=r[3],u=l+(1-l)*o;if(u<=0)return[0,0,0,0];let m=l/u,a=s*m+t*(1-m),p=i*m+e*(1-m),x=c*m+n*(1-m);return[a,p,x,u]}var Ve=class{constructor(e=5489){this.state=new Uint32Array(624);this.index=624;this.seed(e)}seed(e){this.state[0]=e>>>0;for(let n=1;n<624;n++){let o=this.state[n-1]^this.state[n-1]>>>30,r=Math.imul(o>>>0,1812433253)+n;this.state[n]=r>>>0}this.index=624}nextUint32(){this.index>=624&&this.twist();let e=this.state[this.index++];return e^=e>>>11,e^=e<<7&2636928640,e^=e<<15&4022730752,e^=e>>>18,e>>>0}twist(){for(let e=0;e<624;e++){let n=this.state[e]&2147483648|this.state[(e+1)%624]&2147483647,o=this.state[(e+397)%624]^n>>>1;(n&1)!==0&&(o^=2567483615),this.state[e]=o>>>0}this.index=0}getState(){return{index:this.index,state:Array.from(this.state)}}setState(e){if(e.state.length!==624)throw new Error(`Expected 624 MT state values, received ${e.state.length}`);this.index=e.index,this.state=Uint32Array.from(e.state,n=>n>>>0)}},Ee=class{constructor(e={}){this.mt=new Ve(e.seed)}seed(e){this.mt.seed(e)}frandom(){return this.mt.nextUint32()/4294967296}frandomRange(e,n){return e+(n-e)*this.frandom()}frandomMax(e){return this.frandomRange(0,e)}crandom(){return this.frandomRange(-1,1)}crandomOpen(){let e=Number.EPSILON;return this.frandomRange(-1+e,1)}irandomUint32(){return this.mt.nextUint32()}irandomRange(e,n){if(n-e<=1)return e;let o=n-e,r=4294967296-4294967296%o,s;do s=this.mt.nextUint32();while(s>=r);return e+s%o}irandom(e){return e<=0?0:this.irandomRange(0,e)}randomTimeRange(e,n){return n<=e?e:this.irandomRange(e,n)}randomTime(e){return this.irandom(e)}randomIndex(e){return this.irandom(e.length)}getState(){return{mt:this.mt.getState()}}setState(e){this.mt.setState(e.mt)}};function Kn(t){return new Ee(t)}function Ot(){return new Float32Array([1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1])}function Xn(t,e){let n=new Float32Array(16);for(let o=0;o<4;o+=1)for(let r=0;r<4;r+=1)n[r*4+o]=t[0+o]*e[r*4+0]+t[4+o]*e[r*4+1]+t[8+o]*e[r*4+2]+t[12+o]*e[r*4+3];return n}function Jn(t,e){let n=e.x,o=e.y,r=e.z;return{x:t[0]*n+t[4]*o+t[8]*r+t[12],y:t[1]*n+t[5]*o+t[9]*r+t[13],z:t[2]*n+t[6]*o+t[10]*r+t[14]}}function Yn(t,e){let n=Ot();return n[0]=e[0].x,n[1]=e[0].y,n[2]=e[0].z,n[4]=e[1].x,n[5]=e[1].y,n[6]=e[1].z,n[8]=e[2].x,n[9]=e[2].y,n[10]=e[2].z,n[12]=t.x,n[13]=t.y,n[14]=t.z,n}var Ne=0,hi=1,Ti=2,bi=4,_i=8,Si=16,Ai=32,Vi=64,jn=1073741824,Zn=8192,Ei=16384,Ni=32768,Ci=65536,Oi=131072,qn=262144,$n=524288,Qn=1048576,eo=2097152,to=4194304,no=8388608,Ri=16777216,gi=33554432,Mi=67108864,Pi=134217728,Fi=268435456,Rt=536870912,vi=1073741824,zi=-2147483648,Li=64,wi=0,Di=1,Ii=2,Ui=4,Wi=8,Gi=16,Bi=32,ki=64,Hi=128,Ki=33554432,Xi=268435456,Ji=536870912,Yi=1073741824,ji=-2147483648,Zi=4294967295,Je=3,qi=1107361795,$i=65539,Qi=1107427331,Ce=56,ec=25,tc=1174405123,oo=16515072,nc=1107296281,oc=65539,rc=3,sc=196611,ic=1174421507;function ro(t,e){return(t&e)===e}function so(t,e){return(t&e)!==0}function io(t,e){return t|e}function co(t,e){return t&~e}function ao(t,e){return(t&e)===e}function lo(...t){let e=0;for(let n of t)e|=n;return e}function Oe(t=0,e={x:-8192,y:-8192,z:-8192},n={x:8192,y:8192,z:8192}){if(t>=4)return{axis:-1,dist:0,children:null,items:new Set};let o=t%2,r=.5*(o===0?e.x+n.x:e.y+n.y),s={...e},i={...n},c={...e},l={...n};o===0?(i.x=r,c.x=r):(i.y=r,c.y=r);let u=Oe(t+1,s,i),m=Oe(t+1,c,l);return{axis:o,dist:r,children:[u,m],items:new Set}}function gt(t,e,n,o){let r=t;for(;r.axis!==-1&&r.children;){let s=r.axis,i=r.dist,c=s===0?n.x:n.y,l=s===0?o.x:o.y;if(c>i)r=r.children[1];else if(l<i)r=r.children[0];else break}return r.items.add(e),r}function pe(t,e,n,o){for(let l of t.items)o.add(l);if(t.axis===-1||!t.children)return;let r=t.axis,s=t.dist,i=r===0?e.x:e.y;(r===0?n.x:n.y)>s&&pe(t.children[1],e,n,o),i<s&&pe(t.children[0],e,n,o)}var Mt=(o=>(o[o.FRONT=1]="FRONT",o[o.BACK=2]="BACK",o[o.CROSS=3]="CROSS",o))(Mt||{}),H=null;function uo(){H={nodesTraversed:0,leafsReached:0,brushesTested:0}}function fo(){H=null}var Y=.03125,mo=Number.MAX_SAFE_INTEGER-1,Re=1;function po(t){let e=t.planes.map(i=>({...i,signbits:qe(i.normal)})),n=t.nodes.map(i=>({plane:e[i.planenum],children:i.children})),o=t.brushes.map(i=>{let c=t.brushSides.slice(i.firstSide,i.firstSide+i.numSides).map(l=>({plane:e[l.planenum],surfaceFlags:l.surfaceFlags}));return{contents:i.contents,sides:c,checkcount:0}}),r=t.leaves.map(i=>({contents:i.contents,cluster:i.cluster,area:i.area,firstLeafBrush:i.firstLeafBrush,numLeafBrushes:i.numLeafBrushes})),s=t.bmodels.map(i=>({mins:i.mins,maxs:i.maxs,origin:i.origin,headnode:i.headnode}));return{planes:e,nodes:n,leaves:r,brushes:o,leafBrushes:t.leafBrushes,bmodels:s,visibility:t.visibility}}function qe(t){let e=0;return t.x<0&&(e|=1),t.y<0&&(e|=2),t.z<0&&(e|=4),e}function ee(t,e){return t.normal.x*e.x+t.normal.y*e.y+t.normal.z*e.z-t.dist}function xo(t,e,n=0){let o=ee(t,e);return o>n?1:o<-n?2:3}function yo(t,e,n,o=0){let r,s;switch(n.signbits){case 0:r=n.normal.x*e.x+n.normal.y*e.y+n.normal.z*e.z,s=n.normal.x*t.x+n.normal.y*t.y+n.normal.z*t.z;break;case 1:r=n.normal.x*t.x+n.normal.y*e.y+n.normal.z*e.z,s=n.normal.x*e.x+n.normal.y*t.y+n.normal.z*t.z;break;case 2:r=n.normal.x*e.x+n.normal.y*t.y+n.normal.z*e.z,s=n.normal.x*t.x+n.normal.y*e.y+n.normal.z*t.z;break;case 3:r=n.normal.x*t.x+n.normal.y*t.y+n.normal.z*e.z,s=n.normal.x*e.x+n.normal.y*e.y+n.normal.z*t.z;break;case 4:r=n.normal.x*e.x+n.normal.y*e.y+n.normal.z*t.z,s=n.normal.x*t.x+n.normal.y*t.y+n.normal.z*e.z;break;case 5:r=n.normal.x*t.x+n.normal.y*e.y+n.normal.z*t.z,s=n.normal.x*e.x+n.normal.y*t.y+n.normal.z*e.z;break;case 6:r=n.normal.x*e.x+n.normal.y*t.y+n.normal.z*t.z,s=n.normal.x*t.x+n.normal.y*e.y+n.normal.z*e.z;break;default:r=n.normal.x*t.x+n.normal.y*t.y+n.normal.z*t.z,s=n.normal.x*e.x+n.normal.y*e.y+n.normal.z*e.z;break}let i=0;return r-n.dist>=-o&&(i=1),s-n.dist<=o&&(i|=2),i}function Pt(t,e,n=Y){for(let o of e.sides)if(ee(o.plane,t)>n)return!1;return!0}function Ft(t,e,n,o){for(let r of o.sides){let s=r.plane.normal.x*(r.plane.normal.x<0?n.x:e.x)+r.plane.normal.y*(r.plane.normal.y<0?n.y:e.y)+r.plane.normal.z*(r.plane.normal.z<0?n.z:e.z),i=r.plane.dist-s;if(t.x*r.plane.normal.x+t.y*r.plane.normal.y+t.z*r.plane.normal.z-i>0)return{startsolid:!1,allsolid:!1,contents:0}}return{startsolid:!0,allsolid:!0,contents:o.contents}}function $e({start:t,end:e,mins:n,maxs:o,brush:r,trace:s}){if(r.sides.length===0)return;let i=n.x===0&&n.y===0&&n.z===0&&o.x===0&&o.y===0&&o.z===0,c=-1,l=1,u=null,m=null,a=!1,p=!1;for(let x of r.sides){let{plane:f}=x,V=f.dist;if(!i){let O=f.normal.x<0?o.x:n.x,b=f.normal.y<0?o.y:n.y,S=f.normal.z<0?o.z:n.z;V-=f.normal.x*O+f.normal.y*b+f.normal.z*S}let _=t.x*f.normal.x+t.y*f.normal.y+t.z*f.normal.z-V,A=e.x*f.normal.x+e.y*f.normal.y+e.z*f.normal.z-V;if(A>0&&(a=!0),_>0&&(p=!0),_>0&&A>=_)return;if(!(_<=0&&A<=0))if(_>A){let O=(_-Y)/(_-A);O>c&&(c=O,u=f,m=x)}else{let O=(_+Y)/(_-A);O<l&&(l=O)}}if(!p){s.startsolid=!0,a||(s.allsolid=!0),s.fraction=0;return}c<l&&c>-1&&c<s.fraction&&(s.fraction=c<0?0:c,s.plane=u,s.contents=r.contents,s.surfaceFlags=m?.surfaceFlags??0)}function ge(){return{fraction:1,plane:null,contents:0,surfaceFlags:0,startsolid:!1,allsolid:!1}}function Qe(t,e,n){let o=n;for(;o>=0;){let r=e.nodes[o];o=ee(r.plane,t)>=0?r.children[0]:r.children[1]}return-1-o}function vt(t,e,n){let o=t.leaves[e],r=o.contents,s=et(),i=o.firstLeafBrush,c=i+o.numLeafBrushes;for(let l=i;l<c;l+=1){let u=t.leafBrushes[l],m=t.brushes[u];m.checkcount!==s&&(m.checkcount=s,m.sides.length!==0&&Pt(n,m)&&(r|=m.contents))}return r}function et(){let t=Re;return Re+=1,Re>=mo&&(Re=1),t}function ho(t,e){return t.x===0&&t.y===0&&t.z===0&&e.x===0&&e.y===0&&e.z===0}function To(t,e,n){return ho(e,n)?0:t.normal.x*(t.normal.x<0?n.x:e.x)+t.normal.y*(t.normal.y<0?n.y:e.y)+t.normal.z*(t.normal.z<0?n.z:e.z)}function zt(t,e,n){return Math.abs(To(t,e,n))}function Ye(t,e,n){return g(t,M(q(e,t),n))}function je(t,e,n){let o=t.allsolid?0:t.fraction,r=Ye(e,n,o);return{fraction:o,endpos:r,plane:t.plane,planeNormal:t.startsolid?void 0:t.plane?.normal,contents:t.contents,surfaceFlags:t.surfaceFlags,startsolid:t.startsolid,allsolid:t.allsolid}}function Me(t,e,n){let o=Qe(t,e,n);return e.leaves[o]?.cluster??-1}function Lt(t,e,n,o){if(!t||t.numClusters===0)return!0;if(e<0||n<0||e>=t.clusters.length||n>=t.numClusters)return!1;let r=t.clusters[e],i=(o?r.phs:r.pvs)[n>>3];return i===void 0?!1:(i&1<<(n&7))!==0}function xe(t){let{model:e,nodeIndex:n,startFraction:o,endFraction:r,start:s,end:i,traceStart:c,traceEnd:l,mins:u,maxs:m,contentMask:a,trace:p,brushCheckCount:x}=t;if(p.fraction<=o)return;if(n<0){H&&H.leafsReached++;let D=-1-n,C=e.leaves[D],W=C.firstLeafBrush,J=W+C.numLeafBrushes;for(let I=W;I<J;I+=1){let k=e.leafBrushes[I],h=e.brushes[k];if((h.contents&a)!==0&&h.sides.length&&h.checkcount!==x&&(h.checkcount=x,H&&H.brushesTested++,$e({start:c,end:l,mins:u,maxs:m,brush:h,trace:p}),p.allsolid))return}return}H&&H.nodesTraversed++;let f=e.nodes[n],V=f.plane,_=zt(V,u,m),A=ee(V,s),O=ee(V,i);if(A>=_&&O>=_){xe({model:e,nodeIndex:f.children[0],startFraction:o,endFraction:r,start:s,end:i,traceStart:c,traceEnd:l,mins:u,maxs:m,contentMask:a,trace:p,brushCheckCount:x});return}if(A<-_&&O<-_){xe({model:e,nodeIndex:f.children[1],startFraction:o,endFraction:r,start:s,end:i,traceStart:c,traceEnd:l,mins:u,maxs:m,contentMask:a,trace:p,brushCheckCount:x});return}let b=0,S=1/(A-O),R,E;A<O?(b=1,E=(A+_+Y)*S,R=(A-_+Y)*S):(b=0,E=(A-_-Y)*S,R=(A+_+Y)*S),R<0?R=0:R>1&&(R=1),E<0?E=0:E>1&&(E=1);let F=o+(r-o)*R,N=Ye(s,i,R);if(xe({model:e,nodeIndex:f.children[b],startFraction:o,endFraction:F,start:s,end:N,traceStart:c,traceEnd:l,mins:u,maxs:m,contentMask:a,trace:p,brushCheckCount:x}),p.fraction<=F)return;let T=o+(r-o)*E,P=Ye(s,i,E);xe({model:e,nodeIndex:f.children[1-b],startFraction:T,endFraction:r,start:P,end:i,traceStart:c,traceEnd:l,mins:u,maxs:m,contentMask:a,trace:p,brushCheckCount:x})}function wt(t){let{model:e,start:n,end:o}=t,r=t.mins??v,s=t.maxs??v,i=t.contentMask??4294967295,c=t.headnode??0,l=ge(),u=et();return xe({model:e,nodeIndex:c,startFraction:0,endFraction:1,start:n,end:o,traceStart:n,traceEnd:o,mins:r,maxs:s,contentMask:i,trace:l,brushCheckCount:u}),je(l,n,o)}function bo(t,e,n=0){let o=Qe(t,e,n);return vt(e,o,t)}function _o(t,e,n=0){let o=new Map;return t.map(r=>{let s=Qe(r,e,n),i=e.leaves[s];if(i.numLeafBrushes===0){let c=o.get(s);return c!==void 0?c:(o.set(s,i.contents),i.contents)}return vt(e,s,r)})}function So(t,e,n,o,r=0){let s=et(),i=0;function c(l){if(l<0){H&&H.leafsReached++;let x=-1-l,f=o.leaves[x];i|=f.contents;let V=f.firstLeafBrush,_=V+f.numLeafBrushes;for(let A=V;A<_;A+=1){let O=o.leafBrushes[A],b=o.brushes[O];if(b.checkcount===s||(b.checkcount=s,b.sides.length===0))continue;let S=Ft(t,e,n,b);S.startsolid&&(i|=S.contents)}return}let u=o.nodes[l],m=u.plane,a=zt(m,e,n),p=ee(m,t);if(a===0){c(p>=0?u.children[0]:u.children[1]);return}if(p>a){c(u.children[0]);return}if(p<-a){c(u.children[1]);return}c(u.children[0]),c(u.children[1])}return c(r),i}function Ao(t,e,n,o=0){let{visibility:r}=n;if(!r)return!0;let s=Me(t,n,o),i=Me(e,n,o);return Lt(r,s,i,!1)}function Vo(t,e,n,o=0){let{visibility:r}=n;if(!r)return!0;let s=Me(t,n,o),i=Me(e,n,o);return Lt(r,s,i,!0)}function ie(t,e,n){return{normal:t,dist:e,type:n,signbits:qe(t)}}function Eo(t){let e=t.surfaceFlags??0,n=t.origin.x+t.maxs.x,o=t.origin.x+t.mins.x,r=t.origin.y+t.maxs.y,s=t.origin.y+t.mins.y,i=t.origin.z+t.maxs.z,c=t.origin.z+t.mins.z,u=[ie({x:1,y:0,z:0},n,0),ie({x:-1,y:0,z:0},-o,0),ie({x:0,y:1,z:0},r,1),ie({x:0,y:-1,z:0},-s,1),ie({x:0,y:0,z:1},i,2),ie({x:0,y:0,z:-1},-c,2)].map(m=>({plane:m,surfaceFlags:e}));return{contents:t.contents,sides:u,checkcount:0}}function No(t){let e=Eo(t);return{...t,brush:e,bounds:{mins:{x:t.origin.x+t.mins.x,y:t.origin.y+t.mins.y,z:t.origin.z+t.mins.z},maxs:{x:t.origin.x+t.maxs.x,y:t.origin.y+t.maxs.y,z:t.origin.z+t.maxs.z}}}}function Co(t,e){return!(t.mins.x>e.maxs.x||t.maxs.x<e.mins.x||t.mins.y>e.maxs.y||t.maxs.y<e.mins.y||t.mins.z>e.maxs.z||t.maxs.z<e.mins.z)}function Oo(t,e){return e.allsolid&&!t.allsolid||e.startsolid&&!t.startsolid?!0:e.fraction<t.fraction}var Ze=class{constructor(){this.entities=new Map;this.entityNodes=new Map;this.rootNode=Oe()}link(e){let n=No(e);this.entities.set(e.id,n);let o=this.entityNodes.get(e.id);o&&o.items.delete(e.id);let r=gt(this.rootNode,e.id,n.bounds.mins,n.bounds.maxs);this.entityNodes.set(e.id,r)}unlink(e){this.entities.delete(e);let n=this.entityNodes.get(e);n&&(n.items.delete(e),this.entityNodes.delete(e))}trace(e){let{passId:n}=e,o=e.mins??v,r=e.maxs??v,s=e.contentMask??4294967295,i,c=null;e.model?i=wt(e):i=je(ge(),e.start,e.end);let l={x:Math.min(e.start.x,e.end.x)+o.x,y:Math.min(e.start.y,e.end.y)+o.y,z:Math.min(e.start.z,e.end.z)+o.z},u={x:Math.max(e.start.x,e.end.x)+r.x,y:Math.max(e.start.y,e.end.y)+r.y,z:Math.max(e.start.z,e.end.z)+r.z},m=new Set;pe(this.rootNode,l,u,m);for(let a of m){if(a===n)continue;let p=this.entities.get(a);if(!p||(p.contents&s)===0)continue;let x=ge();if($e({start:e.start,end:e.end,mins:o,maxs:r,brush:p.brush,trace:x}),x.contents===0&&(x.contents=p.contents),x.startsolid||x.allsolid||x.fraction<i.fraction){let f=je(x,e.start,e.end);Oo(i,f)&&(i=f,c=p.id)}}return{...i,entityId:c}}gatherTriggerTouches(e,n,o,r=1073741824){let s=[],i={mins:g(e,n),maxs:g(e,o)},c=new Set;pe(this.rootNode,i.mins,i.maxs,c);for(let l of c){let u=this.entities.get(l);u&&(u.contents&r)!==0&&Co(i,u.bounds)&&s.push(u.id)}return s}};var Dt=(i=>(i[i.None=0]="None",i[i.Archive=1]="Archive",i[i.UserInfo=2]="UserInfo",i[i.ServerInfo=4]="ServerInfo",i[i.Latch=8]="Latch",i[i.Cheat=16]="Cheat",i))(Dt||{});var pc=1024,xc=80,yc=512,hc=64,Tc=128,Ro=256,bc=8192,go=256,Mo=8192,Po=2048,Fo=512,vo=256,zo=512,Lo=256,tt=32,_c=96,Sc=64,ce=(T=>(T[T.Name=0]="Name",T[T.CdTrack=1]="CdTrack",T[T.Sky=2]="Sky",T[T.SkyAxis=3]="SkyAxis",T[T.SkyRotate=4]="SkyRotate",T[T.StatusBar=5]="StatusBar",T[T.CONFIG_N64_PHYSICS=56]="CONFIG_N64_PHYSICS",T[T.CONFIG_CTF_TEAMS=57]="CONFIG_CTF_TEAMS",T[T.CONFIG_COOP_RESPAWN_STRING=58]="CONFIG_COOP_RESPAWN_STRING",T[T.AirAccel=59]="AirAccel",T[T.MaxClients=60]="MaxClients",T[T.MapChecksum=61]="MapChecksum",T[T.Models=62]="Models",T[T.Sounds=62+Mo]="Sounds",T[T.Images=T.Sounds+Po]="Images",T[T.Lights=T.Images+Fo]="Lights",T[T.ShadowLights=T.Lights+go]="ShadowLights",T[T.Items=T.ShadowLights+Lo]="Items",T[T.PlayerSkins=T.Items+vo]="PlayerSkins",T[T.General=T.PlayerSkins+Ro]="General",T[T.WheelWeapons=T.General+zo]="WheelWeapons",T[T.WheelAmmo=T.WheelWeapons+tt]="WheelAmmo",T[T.WheelPowerups=T.WheelAmmo+tt]="WheelPowerups",T[T.CdLoopCount=T.WheelPowerups+tt]="CdLoopCount",T[T.GameStyle=T.CdLoopCount+1]="GameStyle",T[T.MaxConfigStrings=T.GameStyle+1]="MaxConfigStrings",T))(ce||{}),wo=ce.MaxConfigStrings;function Do(t){return t>=5&&t<59?96*(59-t):t>=ce.General&&t<ce.WheelWeapons?96*(ce.MaxConfigStrings-t):96}var nt={};ke(nt,{addReplayFrame:()=>Go,createReplaySession:()=>Wo,deserializeReplay:()=>Uo,serializeReplay:()=>Io});function Io(t){return JSON.stringify(t,null,2)}function Uo(t){let e=JSON.parse(t);if(!e.metadata||!Array.isArray(e.frames))throw new Error("Invalid replay format: missing metadata or frames");return e}function Wo(t,e){return{metadata:{map:t,date:new Date().toISOString(),version:"1.0",seed:e},frames:[]}}function Go(t,e,n,o){t.frames.push({serverFrame:n,cmd:e,timestamp:Date.now()-o})}function Bo(t){return t??{}}function It(t,e,n={}){let o=Bo(t),r=[],s=[];for(let c of e){if(!(c in o)){r.push(c);continue}typeof o[c]!="function"&&s.push(c)}let i=n.allowExtra===!1?Object.keys(o).filter(c=>!e.includes(c)):[];return{missing:r,nonFunctions:s,extras:i}}function ko(t,e,n={}){let{missing:o,nonFunctions:r,extras:s}=It(t,e,n);if(o.length===0&&r.length===0&&s.length===0)return;let i=[];o.length>0&&i.push(`missing: ${o.join(", ")}`),r.length>0&&i.push(`non-functions: ${r.join(", ")}`),s.length>0&&i.push(`extras: ${s.join(", ")}`);let c=n.name??"contract";throw new Error(`${c} validation failed (${i.join("; ")})`)}var Ho=["Broadcast_Print","Com_Print","Client_Print","Center_Print","sound","positioned_sound","local_sound","configstring","get_configstring","Com_Error","modelindex","soundindex","imageindex","setmodel","trace","clip","pointcontents","inPVS","inPHS","SetAreaPortalState","AreasConnected","linkentity","unlinkentity","BoxEdicts","multicast","unicast"],Ko=["PreInit","Init","Shutdown","SpawnEntities","WriteGameJson","ReadGameJson","WriteLevelJson","ReadLevelJson","CanSave","ClientConnect","ClientThink","RunFrame","Pmove"],Xo=["Com_Print","get_configstring","Com_Error","TagMalloc","TagFree","AddCommandString","CL_FrameValid","CL_FrameTime","CL_ClientTime","CL_ServerFrame","Draw_RegisterPic","Draw_GetPicSize","SCR_DrawChar","SCR_DrawPic","SCR_DrawColorPic"],Jo=["Init","Shutdown","DrawHUD","TouchPics","LayoutFlags","GetActiveWeaponWheelWeapon","GetOwnedWeaponWheelWeapons","GetWeaponWheelAmmoCount","GetPowerupWheelCount","GetHitMarkerDamage","Pmove","ParseConfigString","ParseCenterPrint","ClearNotify","ClearCenterprint","NotifyMessage","GetMonsterFlashOffset"];var ae=(r=>(r[r.None=0]="None",r[r.Feet=1]="Feet",r[r.Waist=2]="Waist",r[r.Under=3]="Under",r))(ae||{});function ot(t){return t>=2}function Yo(t){return t===3}var te=(a=>(a[a.Ducked=1]="Ducked",a[a.JumpHeld=2]="JumpHeld",a[a.OnGround=4]="OnGround",a[a.TimeWaterJump=8]="TimeWaterJump",a[a.TimeLand=16]="TimeLand",a[a.TimeTeleport=32]="TimeTeleport",a[a.NoPositionalPrediction=64]="NoPositionalPrediction",a[a.OnLadder=128]="OnLadder",a[a.NoAngularPrediction=256]="NoAngularPrediction",a[a.IgnorePlayerCollision=512]="IgnorePlayerCollision",a[a.TimeTrick=1024]="TimeTrick",a))(te||{});function w(t,e){return(t&e)!==0}function G(t,e){return t|e}function K(t,e){return t&~e}var le=(c=>(c[c.Normal=0]="Normal",c[c.Grapple=1]="Grapple",c[c.NoClip=2]="NoClip",c[c.Spectator=3]="Spectator",c[c.Dead=4]="Dead",c[c.Gib=5]="Gib",c[c.Freeze=6]="Freeze",c))(le||{}),ne=(c=>(c[c.None=0]="None",c[c.Attack=1]="Attack",c[c.Use=2]="Use",c[c.Holster=4]="Holster",c[c.Jump=8]="Jump",c[c.Crouch=16]="Crouch",c[c.Any=128]="Any",c))(ne||{});function rt(t){let{velocity:e,frametime:n,onGround:o,groundIsSlick:r,onLadder:s,waterlevel:i,pmFriction:c,pmStopSpeed:l,pmWaterFriction:u}=t,m=U(e);if(m<1)return{x:0,y:0,z:e.z};let a=0;if(o&&!r||s){let f=m<l?l:m;a+=f*c*n}i>0&&!s&&(a+=m*u*i*n);let p=m-a;if(p<0&&(p=0),p===m)return e;let x=p/m;return M(e,x)}function X(t){let{velocity:e,wishdir:n,wishspeed:o,accel:r,frametime:s}=t,i=L(e,n),c=o-i;if(c<=0)return e;let l=r*s*o;return l>c&&(l=c),{x:e.x+n.x*l,y:e.y+n.y*l,z:e.z+n.z*l}}function st(t){let{velocity:e,wishdir:n,wishspeed:o,accel:r,frametime:s}=t,i=Math.min(o,30),c=L(e,n),l=i-c;if(l<=0)return e;let u=r*o*s;return u>l&&(u=l),{x:e.x+n.x*u,y:e.y+n.y*u,z:e.z+n.z*u}}function jo(t,e){let n=Math.abs(t.forwardmove),o=Math.abs(t.sidemove),r=Math.abs(t.upmove),s=Math.max(n,o,r);if(s===0)return 0;let i=Math.sqrt(t.forwardmove*t.forwardmove+t.sidemove*t.sidemove+t.upmove*t.upmove);return e*s/(127*i)}function it(t){let{forward:e,right:n,cmd:o,maxSpeed:r}=t,s={x:e.x*o.forwardmove+n.x*o.sidemove,y:e.y*o.forwardmove+n.y*o.sidemove,z:0},i=U(s);if(i>r){let c=r/i;s=M(s,c),i=r}return{wishdir:i===0?s:z(s),wishspeed:i}}function ct(t){let{forward:e,right:n,cmd:o,maxSpeed:r}=t,s={x:e.x*o.forwardmove+n.x*o.sidemove,y:e.y*o.forwardmove+n.y*o.sidemove,z:0};o.upmove>10?s=g(s,{x:0,y:0,z:o.upmove}):o.upmove<-10?s=g(s,{x:0,y:0,z:o.upmove}):s=g(s,{x:0,y:0,z:10});let i=U(s);if(i>r){let c=r/i;s=M(s,c),i=r}return i*=.5,{wishdir:i===0?s:z(s),wishspeed:i}}var Ut=5,Zo=4,qo=18,$o=.7,Wt=1,Gt=2;function Bt(t,e,n,o=Ut,r=t){if(e.length===0)return{velocity:t,planes:[],stopped:!1};let s=[],i=t;for(let l of e){if(s.length>=o)return{velocity:v,planes:s,stopped:!0};if(s.find(p=>L(p,l)>.99))continue;s.push(l);let m,a=0;for(;a<s.length;a++){let p=Q(i,s[a],n),x=0;for(;x<s.length&&!(x!==a&&L(p,s[x])<0);x++);if(x===s.length){m=p;break}}if(m)i=m;else{if(s.length!==2)return{velocity:v,planes:s,stopped:!0};let p=$(s[0],s[1]),x=L(p,i);i=M(p,x)}if(L(i,r)<=0)return{velocity:v,planes:s,stopped:!0}}let c=i.x===0&&i.y===0&&i.z===0;return{velocity:i,planes:s,stopped:c}}function at(t){let{origin:e,velocity:n,frametime:o,overbounce:r,trace:s,maxBumps:i=Zo,maxClipPlanes:c=Ut,mins:l,maxs:u,hasTime:m=!1}=t,a=e,p=n,x=[],f=n,V=o,_=0;for(let O=0;O<i&&!(p.x===0&&p.y===0&&p.z===0);O++){let b=g(a,M(p,V)),S=s(a,b,l,u);if(S.allsolid){let E=m?f:v;return{origin:S.endpos,velocity:E,planes:x,stopped:!0,blocked:_}}if(S.startsolid){let E=m?f:v;return{origin:S.endpos,velocity:E,planes:x,stopped:!0,blocked:_}}if(S.fraction>0&&(a=S.endpos),S.fraction===1)break;if(!S.planeNormal)return{origin:a,velocity:m?f:v,planes:x,stopped:!0,blocked:_};S.planeNormal.z>.7&&(_|=Wt),S.planeNormal.z===0&&(_|=Gt),x.push(S.planeNormal),V-=V*S.fraction;let R=Bt(p,x,r,c,f);if(p=R.velocity,x.splice(0,x.length,...R.planes),f.z>0&&p.z<0&&(p={...p,z:0}),R.stopped)return{origin:a,velocity:m?f:p,planes:x,stopped:!0,blocked:_}}let A=m?f:p;return{origin:a,velocity:A,planes:x,stopped:A.x===0&&A.y===0&&A.z===0,blocked:_}}function oe(t){let{mins:e,maxs:n,stepSize:o=qo,...r}=t,s=t.origin,i=t.velocity,c=at({...r,mins:e,maxs:n}),l=g(s,{x:0,y:0,z:o}),u=r.trace(s,l,e,n);if(u.allsolid)return{...c,stepped:!1,stepHeight:0};let m=u.endpos.z-s.z,a=at({...r,origin:u.endpos,velocity:i,mins:e,maxs:n}),p=g(a.origin,{x:0,y:0,z:-m}),x=r.trace(a.origin,p,e,n),f=a.origin,V=x.planeNormal;x.allsolid||(f=x.endpos);let _=(E,F)=>(E.x-F.x)**2+(E.y-F.y)**2,A=_(c.origin,s),O=_(f,s);if(A>O||V&&V.z<$o)return{...c,stepped:!1,stepHeight:0};let b={...a.velocity,z:c.velocity.z},S=a.blocked,R=b.x===0&&b.y===0&&b.z===0;return{origin:f,velocity:b,planes:a.planes,blocked:S,stopped:R,stepped:!0,stepHeight:m,stepNormal:V}}var ue=["x","y","z"],lt=[{normal:[0,0,1],mins:[-1,-1,0],maxs:[1,1,0]},{normal:[0,0,-1],mins:[-1,-1,0],maxs:[1,1,0]},{normal:[1,0,0],mins:[0,-1,-1],maxs:[0,1,1]},{normal:[-1,0,0],mins:[0,-1,-1],maxs:[0,1,1]},{normal:[0,1,0],mins:[-1,0,-1],maxs:[1,0,1]},{normal:[0,-1,0],mins:[-1,0,-1],maxs:[1,0,1]}],kt={x:0,y:0,z:0};function de(t){return{x:t.x,y:t.y,z:t.z}}function Qo(t){return{x:t[0],y:t[1],z:t[2]}}function ye(t,e,n){if(n!==0)switch(e){case"x":t.x+=n;break;case"y":t.y+=n;break;case"z":t.z+=n;break}}function Ht(t,e,n){switch(e){case"x":t.x=n;break;case"y":t.y=n;break;case"z":t.z=n;break}}function Pe(t,e){switch(e){case"x":return t.x;case"y":return t.y;case"z":default:return t.z}}function Kt(t,e,n,o){return t===-1?Pe(n,e):t===1?Pe(o,e):0}function Xt(t,e,n,o){let r=de(t);for(let s=0;s<ue.length;s++){let i=ue[s],c=e.normal[s];c<0?ye(r,i,Pe(n,i)):c>0&&ye(r,i,Pe(o,i))}return r}function er(t,e,n){let o=de(kt),r=de(kt);for(let s=0;s<ue.length;s++){let i=ue[s];Ht(o,i,Kt(t.mins[s],i,e,n)),Ht(r,i,Kt(t.maxs[s],i,e,n))}return{mins:o,maxs:r}}function tr(t,e,n){if(!e||n===0)return t;let o=de(t);return ye(o,e,n),o}function nr(t,e,n){if(!e||n===0)return t;switch(e){case"x":return{...t,x:t.x+n};case"y":return{...t,y:t.y+n};case"z":default:return{...t,z:t.z+n}}}function ut(t){let{origin:e,mins:n,maxs:o,trace:r}=t;if(!r(e,n,o,e).startsolid)return{result:"good-position",origin:{...e}};let i=[];for(let c=0;c<lt.length;c++){let l=lt[c],{mins:u,maxs:m}=er(l,n,o),a=Xt(e,l,n,o),p=r(a,u,m,a),x,f=0;if(p.startsolid)for(let E=0;E<ue.length;E++){if(l.normal[E]!==0)continue;let F=ue[E],N=de(a);if(ye(N,F,1),p=r(N,u,m,N),!p.startsolid){a=N,x=F,f=1;break}if(N=de(a),ye(N,F,-1),p=r(N,u,m,N),!p.startsolid){a=N,x=F,f=-1;break}}if(p.startsolid)continue;let V=lt[c^1],_=Xt(e,V,n,o);if(_=tr(_,x,f),p=r(a,u,m,_),p.startsolid)continue;let A=Qo(l.normal),O=g(p.endpos??_,M(A,.125)),b=q(O,_),S=g(e,b);S=nr(S,x,f),!r(S,n,o,S).startsolid&&i.push({origin:S,distance:re(b)})}return i.length===0?{result:"no-good-position",origin:{...e}}:(i.sort((c,l)=>c.distance-l.distance),{result:"fixed",origin:{...i[0].origin}})}var or=100,dt=200,Jt=150,Fe=25,rr=15,sr=1,ir={x:0,y:0,z:1},cr=(t,e)=>({fraction:1,endpos:e,allsolid:!1,startsolid:!1});function ft(t){let e=0,n=0,o=0;return t&262144&&(e+=1),t&524288&&(n+=1),t&1048576&&(e-=1),t&2097152&&(n-=1),t&4194304&&(o+=1),t&8388608&&(o-=1),e===0&&n===0&&o===0?v:{x:e,y:n,z:o}}function Zt(t){let{watertype:e,waterlevel:n,onGround:o,waterSpeed:r}=t;if((e&16515072)===0)return v;let s=ft(e);if(s===v)return v;let i=r;return n===1&&o&&(i*=.5),M(s,i)}function qt(t){let{groundContents:e,scale:n=or}=t,o=ft(e);return o===v?v:M(o,n)}function ve(t){let{wishVelocity:e,onLadder:n,onGround:o,waterlevel:r,watertype:s,groundContents:i,cmd:c,viewPitch:l,maxSpeed:u,ladderMod:m,waterSpeed:a,forward:p,origin:x,mins:f,maxs:V,trace:_=cr}=t,A=e;n&&(A=ar({wishVelocity:A,cmd:c,waterlevel:r,viewPitch:l,maxSpeed:u,ladderMod:m,onGround:o,forward:p,origin:x,mins:f,maxs:V,trace:_}));let O=Zt({watertype:s,waterlevel:r,onGround:o,waterSpeed:a});if(O!==v&&(A=g(A,O)),o){let b=qt({groundContents:i});b!==v&&(A=g(A,b))}return A}function ar(t){let{wishVelocity:e,cmd:n,waterlevel:o,viewPitch:r,maxSpeed:s,ladderMod:i,onGround:c,forward:l,origin:u,mins:m,maxs:a,trace:p}=t,x=n.buttons??0,f={...e};if((x&24)!==0){let V=ot(o)?s:dt;f={...f,z:x&8?V:-V}}else if(n.forwardmove){let V=Yt(n.forwardmove,-dt,dt);if(n.forwardmove>0){let _=r<rr?V:-V;f={...f,z:_}}else c||(f={...f,x:0,y:0}),f={...f,z:V}}else f={...f,z:0};if(!c)if(n.sidemove){let V=Yt(n.sidemove,-Jt,Jt);o<2&&(V*=i);let _=z({x:l.x,y:l.y,z:0});if(_.x!==0||_.y!==0){let A=g(u,M(_,sr)),O=p(u,A,m,a);if(O.fraction!==1&&!O.allsolid&&O.contents!==void 0&&(O.contents&536870912)!==0&&O.planeNormal){let b=$(O.planeNormal,ir);f={...f,x:0,y:0},f=g(f,M(b,-V))}}}else f={...f,x:jt(f.x),y:jt(f.y)};return f}function Yt(t,e,n){return Math.max(e,Math.min(n,t))}function jt(t){return t<-Fe?-Fe:t>Fe?Fe:t}var lr=1.5,$t=.5,ur=1.01;function dr(t){let{origin:e,cmd:n,frametime:o,pmFriction:r,pmStopSpeed:s,pmMaxSpeed:i,pmAccelerate:c,pmWaterSpeed:l,doclip:u,forward:m,right:a,mins:p,maxs:x,trace:f,overbounce:V=ur,stepSize:_,maxBumps:A,maxClipPlanes:O}=t,b=fr({velocity:t.velocity,pmFriction:r,pmStopSpeed:s,frametime:o}),S=mr({cmd:n,forward:m,right:a,pmMaxSpeed:i,pmWaterSpeed:l});if(S.wishspeed>0&&(b=X({velocity:b,wishdir:S.wishdir,wishspeed:S.accelSpeed,accel:c,frametime:o})),!u){let R=M(b,o);return{origin:g(e,R),velocity:b,planes:[],blocked:0,stopped:b.x===0&&b.y===0&&b.z===0,stepped:!1,stepHeight:0}}if(!f||!p||!x)throw new Error("applyPmoveFlyMove: doclip=true requires trace/mins/maxs");return oe({origin:e,velocity:b,frametime:o,overbounce:V,trace:f,mins:p,maxs:x,stepSize:_,maxBumps:A,maxClipPlanes:O})}function fr(t){let{velocity:e,pmFriction:n,pmStopSpeed:o,frametime:r}=t,s=U(e);if(s<1)return{x:0,y:0,z:0};let i=n*lr,l=(s<o?o:s)*i*r,u=s-l;return u<0&&(u=0),u===s?e:M(e,u/s)}function mr(t){let{cmd:e,forward:n,right:o,pmMaxSpeed:r,pmWaterSpeed:s}=t,i=z(n),c=z(o),u={x:i.x*e.forwardmove+c.x*e.sidemove,y:i.y*e.forwardmove+c.y*e.sidemove,z:i.z*e.forwardmove+c.z*e.sidemove},m=e.buttons??0;m&8&&(u=g(u,{x:0,y:0,z:s*$t})),m&16&&(u=g(u,{x:0,y:0,z:-s*$t}));let a=U(u),p=a===0?{x:0,y:0,z:0}:z(u);if(a>r){let f=r/a;u=M(u,f),a=r,p=a===0?{x:0,y:0,z:0}:z(u)}let x=a*2;return{wishdir:p,wishspeed:a,accelSpeed:x}}function he(t){let{origin:e,mins:n,viewheight:o,pointContents:r}=t,s=o-n.z,i=s/2,c={x:e.x,y:e.y,z:e.z+n.z+1},l=r(c);if((l&56)===0)return{waterlevel:0,watertype:0};let u=l,m=1,a={x:c.x,y:c.y,z:e.z+n.z+i};if(l=r(a),(l&56)!==0){m=2;let p={x:c.x,y:c.y,z:e.z+n.z+s};l=r(p),(l&56)!==0&&(m=3)}return{waterlevel:m,watertype:u}}var pr=270;function xr(t,e){return(t&e)!==0}function yr(t){let{pmFlags:e,pmType:n,buttons:o,waterlevel:r,onGround:s,velocity:i,jumpHeight:c=pr}=t;if(e&16)return{pmFlags:e,onGround:s,velocity:i,jumpSound:!1,jumped:!1};let l=xr(o,8),u=e,m=s,a=!1,p=!1,x=i;if(!l)return u=K(u,2),{pmFlags:u,onGround:m,velocity:x,jumpSound:a,jumped:p};if(hr(u))return{pmFlags:u,onGround:m,velocity:x,jumpSound:a,jumped:p};if(n===4)return{pmFlags:u,onGround:m,velocity:x,jumpSound:a,jumped:p};if(r>=2)return m=!1,{pmFlags:u,onGround:m,velocity:x,jumpSound:a,jumped:p};if(!m)return{pmFlags:u,onGround:m,velocity:x,jumpSound:a,jumped:p};u=G(u,2),u=K(u,4),m=!1,a=!0,p=!0;let f=i.z+c,V=f<c?c:f;return x={...i,z:V},{pmFlags:u,onGround:m,velocity:x,jumpSound:a,jumped:p}}function hr(t){return(t&2)!==0}function ze(t,e,n){return{x:t,y:e,z:n}}function Le(t,e){let n=ze(-16,-16,0),o=ze(16,16,16);if(t===5)return{mins:n,maxs:o,viewheight:8};let r=t===4||(e&1)!==0,s=ze(n.x,n.y,-24),i=ze(o.x,o.y,r?4:32);return{mins:s,maxs:i,viewheight:r?-2:22}}var Tr=4,br=32,_r=8;function Sr(t){let{pmType:e}=t;if(e===5){let i=Le(e,t.pmFlags);return{pmFlags:t.pmFlags,ducked:w(t.pmFlags,1),changed:!1,...i}}let n=t.pmFlags,o=!1;e===4?w(n,1)||(n=G(n,1),o=!0):Ar(t)?!w(n,1)&&!Vr(t)&&(n=G(n,1),o=!0):w(n,1)&&!Er(t)&&(n=K(n,1),o=!0);let r=Le(e,n),s=e===4||w(n,1);return{pmFlags:n,ducked:s,changed:o,...r}}function Ar(t){return(t.buttons&16)===0||t.onLadder||t.n64Physics?!1:!!(t.hasGroundEntity||t.waterlevel<=1&&!Nr(t))}function Vr(t){return t.trace({start:t.origin,end:t.origin,mins:t.mins,maxs:Qt(t.maxs,Tr),mask:3}).allsolid}function Er(t){return t.trace({start:t.origin,end:t.origin,mins:t.mins,maxs:Qt(t.maxs,br),mask:3}).allsolid}function Nr(t){let e={x:t.origin.x,y:t.origin.y,z:t.origin.z-_r};return t.trace({start:t.origin,end:e,mins:t.mins,maxs:t.maxs,mask:3}).fraction<1?!1:t.trace({start:t.origin,end:e,mins:t.mins,maxs:t.maxs,mask:56}).fraction<1}function Qt(t,e){return{x:t.x,y:t.y,z:e}}var Cr=.25,Or=180,Rr=100,gr=.7,Mr=.9,Pr=64,Fr=128,vr=1.01,zr=1080;function Lr(t){let{pmType:e,n64Physics:n,velocity:o,startVelocity:r,origin:s,mins:i,maxs:c,viewheight:l,trace:u,pointContents:m}=t,a=t.pmFlags,p=t.pmTime,x,f=w(a,4),V,_=0;if(o.z>Or||e===1)a=K(a,4),f=!1;else{let S={x:s.x,y:s.y,z:s.z-Cr},R=u(s,S,i,c);V=R,_=R.contents??0;let E=R.planeNormal,F=R.fraction<1&&!!E&&E.z<gr;if(F&&E){let N=g(s,E),B=u(s,N,i,c);B.fraction<1&&!B.startsolid&&(F=!1)}if(R.fraction===1||!E||F&&!R.startsolid)a=K(a,4),f=!1;else{f=!0,w(a,8)&&(a&=~zr,p=0);let N=w(a,4);if(!N){!n&&o.z>=Rr&&E.z>=Mr&&!w(a,1)&&(a=G(a,1024),p=Pr);let B=Q(o,E,vr);x=r.z-B.z}a=G(a,4),!N&&(n||w(a,1))&&(a=G(a,16),p=Fr)}}let{waterlevel:O,watertype:b}=he({origin:s,mins:i,viewheight:l,pointContents:m});return{pmFlags:a,pmTime:p,onGround:w(a,4),groundTrace:V,groundContents:_,waterlevel:O,watertype:b,impactDelta:x}}var en=1,wr=60,mt=1.01;function Dr(t){let{origin:e,frametime:n,mins:o,maxs:r,trace:s,overbounce:i=mt,stepSize:c,maxBumps:l,maxClipPlanes:u,hasTime:m,forward:a,right:p,cmd:x,pmFlags:f,onGround:V,gravity:_,pmType:A,pmAccelerate:O,pmAirAccelerate:b=en,pmMaxSpeed:S,pmDuckSpeed:R,onLadder:E,waterlevel:F,watertype:N,groundContents:B,viewPitch:T,ladderMod:P,pmWaterSpeed:D}=t,C={...t.velocity},W=Ur(a,p,x);W=ve({wishVelocity:W,onLadder:E,onGround:V,waterlevel:F,watertype:N,groundContents:B,cmd:x,viewPitch:T,maxSpeed:w(f,1)?R:S,ladderMod:P,waterSpeed:D,forward:a,origin:e,mins:o,maxs:r,trace:s});let I=w(f,1)?R:S,k=W,h=U(k);if(h!==0&&(k=z(k)),h>I){let j=I/h;W=M(W,j),h=I,h!==0&&(k=z(W))}return E?(C=X({velocity:C,wishdir:k,wishspeed:h,accel:O,frametime:n}),Math.abs(W.z)<Number.EPSILON&&(C=Br(C,_,n)),we({origin:e,velocity:C,frametime:n,mins:o,maxs:r,trace:s,overbounce:i,stepSize:c,maxBumps:l,maxClipPlanes:u,hasTime:m})):V?(C={...C,z:0},C=X({velocity:C,wishdir:k,wishspeed:h,accel:O,frametime:n}),_>0?C={...C,z:0}:C={...C,z:C.z-_*n},C.x===0&&C.y===0?{origin:e,velocity:C,planes:[],blocked:0,stopped:!0,stepped:!1,stepHeight:0}:we({origin:e,velocity:C,frametime:n,mins:o,maxs:r,trace:s,overbounce:i,stepSize:c,maxBumps:l,maxClipPlanes:u,hasTime:m})):(b>0?C=st({velocity:C,wishdir:k,wishspeed:h,accel:b,frametime:n}):C=X({velocity:C,wishdir:k,wishspeed:h,accel:en,frametime:n}),A!==1&&(C={...C,z:C.z-_*n}),we({origin:e,velocity:C,frametime:n,mins:o,maxs:r,trace:s,overbounce:i,stepSize:c,maxBumps:l,maxClipPlanes:u,hasTime:m}))}function Ir(t){let{origin:e,frametime:n,mins:o,maxs:r,trace:s,overbounce:i=mt,stepSize:c,maxBumps:l,maxClipPlanes:u,hasTime:m,forward:a,right:p,cmd:x,pmFlags:f,onGround:V,pmMaxSpeed:_,pmDuckSpeed:A,pmWaterAccelerate:O,pmWaterSpeed:b,onLadder:S,watertype:R,groundContents:E,waterlevel:F,viewPitch:N,ladderMod:B}=t,T={...t.velocity},P=Wr(a,p,x);Gr(x,V)?P={...P,z:P.z-wr}:tn(x,16)?P=g(P,{x:0,y:0,z:-b*.5}):tn(x,8)&&(P=g(P,{x:0,y:0,z:b*.5})),P=ve({wishVelocity:P,onLadder:S,onGround:V,waterlevel:F,watertype:R,groundContents:E,cmd:x,viewPitch:N,maxSpeed:w(f,1)?A:_,ladderMod:B,waterSpeed:b,forward:a,origin:e,mins:o,maxs:r,trace:s});let D=P,C=U(D);if(C!==0&&(D=z(D)),C>_){let J=_/C;P=M(P,J),C=_,C!==0&&(D=z(P))}if(C*=.5,w(f,1)&&C>A){let J=A/C;P=M(P,J),C=A,C!==0&&(D=z(P))}return T=X({velocity:T,wishdir:D,wishspeed:C,accel:O,frametime:n}),we({origin:e,velocity:T,frametime:n,mins:o,maxs:r,trace:s,overbounce:i,stepSize:c,maxBumps:l,maxClipPlanes:u,hasTime:m})}function Ur(t,e,n){return{x:t.x*n.forwardmove+e.x*n.sidemove,y:t.y*n.forwardmove+e.y*n.sidemove,z:0}}function Wr(t,e,n){return{x:t.x*n.forwardmove+e.x*n.sidemove,y:t.y*n.forwardmove+e.y*n.sidemove,z:t.z*n.forwardmove+e.z*n.sidemove}}function tn(t,e){return!!((t.buttons??0)&e)}function Gr(t,e){let n=t.forwardmove===0&&t.sidemove===0,o=!((t.buttons??0)&24);return n&&o&&!e}function Br(t,e,n){let o=t.z,r=e*n;return o>0?(o-=r,o<0&&(o=0)):(o+=r,o>0&&(o=0)),{...t,z:o}}function we(t){let{origin:e,velocity:n,frametime:o,mins:r,maxs:s,trace:i,overbounce:c=mt,stepSize:l,maxBumps:u,maxClipPlanes:m,hasTime:a}=t;return oe({origin:e,velocity:n,frametime:o,trace:i,mins:r,maxs:s,overbounce:c,stepSize:l,maxBumps:u,maxClipPlanes:m,hasTime:a})}var kr=1,Hr=40,De=50,nn=350,Kr=2048,on=.1,Xr=800,Jr=50,rn=.7,Yr=18,jr=1.01,Zr=2;function qr(t){let{pmFlags:e,pmTime:n,waterlevel:o,watertype:r,gravity:s,cmd:i,forward:c,origin:l,velocity:u,mins:m,maxs:a,viewheight:p,trace:x,pointContents:f,onGround:V,overbounce:_=jr,stepSize:A=Yr,maxBumps:O,maxClipPlanes:b}=t;if(n>0)return{pmFlags:e,pmTime:n,velocity:u,performedWaterJump:!1};let S=K(e,128),R=n,E=u,F=z({x:c.x,y:c.y,z:0}),N=re(F)>0;if(o<2&&N){let h=g(l,M(F,kr)),j=x(l,h,m,a),yn=j.contents??0;j.fraction<1&&(yn&536870912)!==0&&(S=G(S,128))}if(s===0)return{pmFlags:S,pmTime:R,velocity:E,performedWaterJump:!1};if(((i.buttons??0)&8)===0&&i.forwardmove<=0)return{pmFlags:S,pmTime:R,velocity:E,performedWaterJump:!1};if(o!==2)return{pmFlags:S,pmTime:R,velocity:E,performedWaterJump:!1};if((r&8192)!==0)return{pmFlags:S,pmTime:R,velocity:E,performedWaterJump:!1};if(!N)return{pmFlags:S,pmTime:R,velocity:E,performedWaterJump:!1};let B=g(l,M(F,Hr)),T=x(l,B,m,a);if(T.fraction===1||!T.planeNormal||T.planeNormal.z>=rn)return{pmFlags:S,pmTime:R,velocity:E,performedWaterJump:!1};let P={x:F.x*De,y:F.y*De,z:nn},D=l,C=!0,W=$r(s);for(let h=0;h<W;h++){P={x:P.x,y:P.y,z:P.z-s*on},P.z<0&&(C=!1);let j=oe({origin:D,velocity:P,frametime:on,trace:x,mins:m,maxs:a,overbounce:_,stepSize:A,maxBumps:O,maxClipPlanes:b,hasTime:C});D=j.origin,P=j.velocity}let J=g(D,{x:0,y:0,z:-Zr}),I=x(D,J,m,a);return I.fraction===1||!I.planeNormal||I.planeNormal.z<rn||I.endpos.z<l.z?{pmFlags:S,pmTime:R,velocity:E,performedWaterJump:!1}:V&&Math.abs(l.z-I.endpos.z)<=A?{pmFlags:S,pmTime:R,velocity:E,performedWaterJump:!1}:he({origin:I.endpos,mins:m,viewheight:p,pointContents:f}).waterlevel>=2?{pmFlags:S,pmTime:R,velocity:E,performedWaterJump:!1}:(S=G(S,8),R=Kr,E={x:F.x*De,y:F.y*De,z:nn},{pmFlags:S,pmTime:R,velocity:E,performedWaterJump:!0})}function $r(t){if(t===0)return 0;let e=Math.floor(10*(Xr/t));return e<=0?0:Math.min(Jr,e)}var pt=[0,-1,1];function xt(t){let{origin:e,mins:n,maxs:o,trace:r}=t;return!r(e,e,n,o).allsolid}function Qr(t){let{origin:e,velocity:n,mins:o,maxs:r,previousOrigin:s,trace:i}=t;if(xt({origin:e,mins:o,maxs:r,trace:i}))return{origin:{...e},velocity:{...n},resolution:"unchanged"};let c=ut({origin:e,mins:o,maxs:r,trace:(l,u,m,a)=>i(l,a,u,m)});return c.result==="fixed"||c.result==="good-position"?{origin:c.origin,velocity:{...n},resolution:"fixed"}:{origin:{...s},velocity:{...n},resolution:"reverted"}}function es(t){let{origin:e,mins:n,maxs:o,trace:r}=t;for(let s of pt)for(let i of pt)for(let c of pt){let l={x:e.x+c,y:e.y+i,z:e.z+s};if(xt({origin:l,mins:n,maxs:o,trace:r}))return{origin:l,snapped:c!==0||i!==0||s!==0}}return{origin:{...e},snapped:!1}}function ts(t,e){return{x:t.x+e.x,y:t.y+e.y,z:t.z+e.z}}function ns(t){return t>89&&t<180?89:t<271&&t>=180?271:t}function os(t){let{pmFlags:e,cmdAngles:n,deltaAngles:o}=t,r;(e&32)!==0?r={x:0,y:n.y+o.y,z:0}:(r=ts(n,o),r={...r,x:ns(r.x)});let s=Xe(r);return{viewangles:r,...s}}var rs=200,ss=200,is=200,cs=140,as=150,ls=3;function us(t){let e=me(t);return e>89&&e<180?89:e<271&&e>=180?271:e}function ds(t,e){return{x:us(t.x+e.x),y:me(t.y+e.y),z:me(t.z+e.z)}}function fs(t,e){let n=e.sensitivityX??e.sensitivity,o=(e.sensitivityY??e.sensitivity)*(e.invertY?-1:1);return{x:t.deltaY*o,y:t.deltaX*n,z:0}}var sn=(h=>(h[h.bad=0]="bad",h[h.muzzleflash=1]="muzzleflash",h[h.muzzleflash2=2]="muzzleflash2",h[h.temp_entity=3]="temp_entity",h[h.layout=4]="layout",h[h.inventory=5]="inventory",h[h.nop=6]="nop",h[h.disconnect=7]="disconnect",h[h.reconnect=8]="reconnect",h[h.sound=9]="sound",h[h.print=10]="print",h[h.stufftext=11]="stufftext",h[h.serverdata=12]="serverdata",h[h.configstring=13]="configstring",h[h.spawnbaseline=14]="spawnbaseline",h[h.centerprint=15]="centerprint",h[h.download=16]="download",h[h.playerinfo=17]="playerinfo",h[h.packetentities=18]="packetentities",h[h.deltapacketentities=19]="deltapacketentities",h[h.frame=20]="frame",h[h.splitclient=21]="splitclient",h[h.configblast=22]="configblast",h[h.spawnbaselineblast=23]="spawnbaselineblast",h[h.level_restart=24]="level_restart",h[h.damage=25]="damage",h[h.locprint=26]="locprint",h[h.fog=27]="fog",h[h.waitingforplayers=28]="waitingforplayers",h[h.bot_chat=29]="bot_chat",h[h.poi=30]="poi",h[h.help_path=31]="help_path",h[h.muzzleflash3=32]="muzzleflash3",h[h.achievement=33]="achievement",h))(sn||{}),cn=(s=>(s[s.bad=0]="bad",s[s.nop=1]="nop",s[s.move=2]="move",s[s.userinfo=3]="userinfo",s[s.stringcmd=4]="stringcmd",s))(cn||{});var an=(d=>(d[d.GUNSHOT=0]="GUNSHOT",d[d.BLOOD=1]="BLOOD",d[d.BLASTER=2]="BLASTER",d[d.RAILTRAIL=3]="RAILTRAIL",d[d.SHOTGUN=4]="SHOTGUN",d[d.EXPLOSION1=5]="EXPLOSION1",d[d.EXPLOSION2=6]="EXPLOSION2",d[d.ROCKET_EXPLOSION=7]="ROCKET_EXPLOSION",d[d.GRENADE_EXPLOSION=8]="GRENADE_EXPLOSION",d[d.SPARKS=9]="SPARKS",d[d.SPLASH=10]="SPLASH",d[d.BUBBLETRAIL=11]="BUBBLETRAIL",d[d.SCREEN_SPARKS=12]="SCREEN_SPARKS",d[d.SHIELD_SPARKS=13]="SHIELD_SPARKS",d[d.BULLET_SPARKS=14]="BULLET_SPARKS",d[d.LASER_SPARKS=15]="LASER_SPARKS",d[d.PARASITE_ATTACK=16]="PARASITE_ATTACK",d[d.ROCKET_EXPLOSION_WATER=17]="ROCKET_EXPLOSION_WATER",d[d.GRENADE_EXPLOSION_WATER=18]="GRENADE_EXPLOSION_WATER",d[d.MEDIC_CABLE_ATTACK=19]="MEDIC_CABLE_ATTACK",d[d.BFG_EXPLOSION=20]="BFG_EXPLOSION",d[d.BFG_BIGEXPLOSION=21]="BFG_BIGEXPLOSION",d[d.BOSSTPORT=22]="BOSSTPORT",d[d.BFG_LASER=23]="BFG_LASER",d[d.GRAPPLE_CABLE=24]="GRAPPLE_CABLE",d[d.WELDING_SPARKS=25]="WELDING_SPARKS",d[d.GREENBLOOD=26]="GREENBLOOD",d[d.BLUEHYPERBLASTER=27]="BLUEHYPERBLASTER",d[d.PLASMA_EXPLOSION=28]="PLASMA_EXPLOSION",d[d.TUNNEL_SPARKS=29]="TUNNEL_SPARKS",d[d.BLASTER2=30]="BLASTER2",d[d.RAILTRAIL2=31]="RAILTRAIL2",d[d.FLAME=32]="FLAME",d[d.LIGHTNING=33]="LIGHTNING",d[d.DEBUGTRAIL=34]="DEBUGTRAIL",d[d.PLAIN_EXPLOSION=35]="PLAIN_EXPLOSION",d[d.FLASHLIGHT=36]="FLASHLIGHT",d[d.FORCEWALL=37]="FORCEWALL",d[d.HEATBEAM=38]="HEATBEAM",d[d.MONSTER_HEATBEAM=39]="MONSTER_HEATBEAM",d[d.STEAM=40]="STEAM",d[d.BUBBLETRAIL2=41]="BUBBLETRAIL2",d[d.MOREBLOOD=42]="MOREBLOOD",d[d.HEATBEAM_SPARKS=43]="HEATBEAM_SPARKS",d[d.HEATBEAM_STEAM=44]="HEATBEAM_STEAM",d[d.CHAINFIST_SMOKE=45]="CHAINFIST_SMOKE",d[d.ELECTRIC_SPARKS=46]="ELECTRIC_SPARKS",d[d.TRACKER_EXPLOSION=47]="TRACKER_EXPLOSION",d[d.TELEPORT_EFFECT=48]="TELEPORT_EFFECT",d[d.DBALL_GOAL=49]="DBALL_GOAL",d[d.WIDOWBEAMOUT=50]="WIDOWBEAMOUT",d[d.NUKEBLAST=51]="NUKEBLAST",d[d.WIDOWSPLASH=52]="WIDOWSPLASH",d[d.EXPLOSION1_BIG=53]="EXPLOSION1_BIG",d[d.EXPLOSION1_NP=54]="EXPLOSION1_NP",d[d.FLECHETTE=55]="FLECHETTE",d[d.BLUEHYPERBLASTER_KEX=56]="BLUEHYPERBLASTER_KEX",d[d.BFG_ZAP=57]="BFG_ZAP",d[d.BERSERK_SLAM=58]="BERSERK_SLAM",d[d.GRAPPLE_CABLE_2=59]="GRAPPLE_CABLE_2",d[d.POWER_SPLASH=60]="POWER_SPLASH",d[d.LIGHTNING_BEAM=61]="LIGHTNING_BEAM",d[d.EXPLOSION1_NL=62]="EXPLOSION1_NL",d[d.EXPLOSION2_NL=63]="EXPLOSION2_NL",d))(an||{});var ms=1024,ps=256,xs=16,ys=512,hs=1400,Ts=0,bs=1,_s=2,Ss=3,As=4,Vs=5,Es=6,Ns=7,Cs=8,Os=9,Rs=10,gs=11,Ms=12,Ps=13;var ln=(i=>(i[i.LAYOUTS_LAYOUT=1]="LAYOUTS_LAYOUT",i[i.LAYOUTS_INVENTORY=2]="LAYOUTS_INVENTORY",i[i.LAYOUTS_HIDE_HUD=4]="LAYOUTS_HIDE_HUD",i[i.LAYOUTS_INTERMISSION=8]="LAYOUTS_INTERMISSION",i[i.LAYOUTS_HELP=16]="LAYOUTS_HELP",i[i.LAYOUTS_HIDE_CROSSHAIR=32]="LAYOUTS_HIDE_CROSSHAIR",i))(ln||{});function yt(t){return t<<16>>16}function un(t,e,n){let o=Math.floor(n/2),r=n%2!==0,s=e+o,i=t[s]||0;if(r){let c=t[s+1]||0,l=i>>>8&255;return(c&255)<<8|l}else return i&65535}function Fs(t,e,n,o){let r=Math.floor(n/2),s=n%2!==0,i=e+r;if(t[i]===void 0&&(t[i]=0),!s)t[i]=yt(o);else{t[i+1]===void 0&&(t[i+1]=0);let c=t[i],l=t[i+1],u=o&255,m=c&255|u<<8;t[i]=yt(m);let p=o>>>8&255|l&65280;t[i+1]=yt(p)}}function ht(t,e,n,o,r){let s=r*n,i=Math.floor(s/8),c=s%8,l=(1<<r)-1<<c,m=un(t,e,i)&~l|o<<c&l;Fs(t,e,i,m&65535)}function Tt(t,e,n,o){let r=o*n,s=Math.floor(r/8),i=r%8,c=(1<<o)-1<<i;return(un(t,e,s)&c)>>>i}var dn=(N=>(N.QuadDamage="quad",N.Invulnerability="invulnerability",N.EnviroSuit="enviro_suit",N.Rebreather="rebreather",N.Silencer="silencer",N.PowerScreen="power_screen",N.PowerShield="power_shield",N.QuadFire="quad_fire",N.Invisibility="invisibility",N.Bandolier="bandolier",N.AmmoPack="ammo_pack",N.IRGoggles="ir_goggles",N.DoubleDamage="double_damage",N.SphereVengeance="sphere_vengeance",N.SphereHunter="sphere_hunter",N.SphereDefender="sphere_defender",N.Doppelganger="doppelganger",N.TagToken="tag_token",N.TechResistance="tech_resistance",N.TechStrength="tech_strength",N.TechHaste="tech_haste",N.TechRegeneration="tech_regeneration",N.Flashlight="flashlight",N.Compass="compass",N))(dn||{});var fn=(y=>(y[y.STAT_HEALTH_ICON=0]="STAT_HEALTH_ICON",y[y.STAT_HEALTH=1]="STAT_HEALTH",y[y.STAT_AMMO_ICON=2]="STAT_AMMO_ICON",y[y.STAT_AMMO=3]="STAT_AMMO",y[y.STAT_ARMOR_ICON=4]="STAT_ARMOR_ICON",y[y.STAT_ARMOR=5]="STAT_ARMOR",y[y.STAT_SELECTED_ICON=6]="STAT_SELECTED_ICON",y[y.STAT_PICKUP_ICON=7]="STAT_PICKUP_ICON",y[y.STAT_PICKUP_STRING=8]="STAT_PICKUP_STRING",y[y.STAT_TIMER_ICON=9]="STAT_TIMER_ICON",y[y.STAT_TIMER=10]="STAT_TIMER",y[y.STAT_HELPICON=11]="STAT_HELPICON",y[y.STAT_SELECTED_ITEM=12]="STAT_SELECTED_ITEM",y[y.STAT_LAYOUTS=13]="STAT_LAYOUTS",y[y.STAT_FRAGS=14]="STAT_FRAGS",y[y.STAT_FLASHES=15]="STAT_FLASHES",y[y.STAT_CHASE=16]="STAT_CHASE",y[y.STAT_SPECTATOR=17]="STAT_SPECTATOR",y[y.STAT_CTF_TEAM1_PIC=18]="STAT_CTF_TEAM1_PIC",y[y.STAT_CTF_TEAM1_CAPS=19]="STAT_CTF_TEAM1_CAPS",y[y.STAT_CTF_TEAM2_PIC=20]="STAT_CTF_TEAM2_PIC",y[y.STAT_CTF_TEAM2_CAPS=21]="STAT_CTF_TEAM2_CAPS",y[y.STAT_CTF_FLAG_PIC=22]="STAT_CTF_FLAG_PIC",y[y.STAT_CTF_JOINED_TEAM1_PIC=23]="STAT_CTF_JOINED_TEAM1_PIC",y[y.STAT_CTF_JOINED_TEAM2_PIC=24]="STAT_CTF_JOINED_TEAM2_PIC",y[y.STAT_CTF_TEAM1_HEADER=25]="STAT_CTF_TEAM1_HEADER",y[y.STAT_CTF_TEAM2_HEADER=26]="STAT_CTF_TEAM2_HEADER",y[y.STAT_CTF_TECH=27]="STAT_CTF_TECH",y[y.STAT_CTF_ID_VIEW=28]="STAT_CTF_ID_VIEW",y[y.STAT_CTF_MATCH=29]="STAT_CTF_MATCH",y[y.STAT_CTF_ID_VIEW_COLOR=30]="STAT_CTF_ID_VIEW_COLOR",y[y.STAT_CTF_TEAMINFO=31]="STAT_CTF_TEAMINFO",y[y.STAT_WEAPONS_OWNED_1=32]="STAT_WEAPONS_OWNED_1",y[y.STAT_WEAPONS_OWNED_2=33]="STAT_WEAPONS_OWNED_2",y[y.STAT_AMMO_INFO_START=34]="STAT_AMMO_INFO_START",y[y.STAT_POWERUP_INFO_START=41]="STAT_POWERUP_INFO_START",y[y.STAT_KEY_A=44]="STAT_KEY_A",y[y.STAT_KEY_B=45]="STAT_KEY_B",y[y.STAT_KEY_C=46]="STAT_KEY_C",y[y.STAT_ACTIVE_WHEEL_WEAPON=47]="STAT_ACTIVE_WHEEL_WEAPON",y[y.STAT_COOP_RESPAWN=48]="STAT_COOP_RESPAWN",y[y.STAT_LIVES=49]="STAT_LIVES",y[y.STAT_HIT_MARKER=50]="STAT_HIT_MARKER",y[y.STAT_SELECTED_ITEM_NAME=51]="STAT_SELECTED_ITEM_NAME",y[y.STAT_HEALTH_BARS=52]="STAT_HEALTH_BARS",y[y.STAT_ACTIVE_WEAPON=53]="STAT_ACTIVE_WEAPON",y[y.STAT_LAST=54]="STAT_LAST",y))(fn||{}),Ie=12,Ue=9,vs=Math.ceil(Ie*Ue/16),We=23,Ge=2,zs=Math.ceil(We*Ge/16),mn={power_screen:0,power_shield:1,quad:3,quad_fire:4,invulnerability:5,invisibility:6,silencer:7,rebreather:8,enviro_suit:9,ir_goggles:11,double_damage:12,sphere_vengeance:13,sphere_hunter:14,sphere_defender:15,doppelganger:16,flashlight:17,compass:18,tech_resistance:19,tech_strength:20,tech_haste:21,tech_regeneration:22};function Ls(t,e,n){if(e<0||e>=Ie)return;let o=n;o>511&&(o=511),o<0&&(o=0),ht(t,34,e,o,Ue)}function ws(t,e){return e<0||e>=Ie?0:Tt(t,34,e,Ue)}function Ds(t,e,n){let o;if(typeof e=="number"?o=e:o=mn[e],o===void 0||o<0||o>=We)return;let r=n;r>3&&(r=3),r<0&&(r=0),ht(t,41,o,r,Ge)}function Is(t,e){let n;return typeof e=="number"?n=e:n=mn[e],n===void 0||n<0||n>=We?0:Tt(t,41,n,Ge)}var bt={};ke(bt,{U_ANGLE1:()=>Ks,U_ANGLE2:()=>Xs,U_ANGLE3:()=>Js,U_EFFECTS:()=>Zs,U_EVENT:()=>Qs,U_FRAME:()=>Ys,U_MODEL:()=>Ws,U_MODEL2:()=>ti,U_MODEL3:()=>ni,U_MODEL4:()=>oi,U_MOREBITS:()=>ei,U_NUMBER:()=>Us,U_ORIGIN1:()=>Bs,U_ORIGIN2:()=>ks,U_ORIGIN3:()=>Hs,U_REMOVE:()=>ri,U_RENDERFX:()=>qs,U_SKIN:()=>js,U_SOLID:()=>$s,U_SOUND:()=>Gs});var Us=1,Ws=2,Gs=4,Bs=8,ks=16,Hs=32,Ks=64,Xs=128,Js=256,Ys=512,js=1024,Zs=2048,qs=4096,$s=8192,Qs=16384,ei=32768,ti=1,ni=2,oi=4,ri=32768;var Te=.025,si=(t,e)=>{let n={...t.origin};n.z-=.25;let o=e(t.origin,n);return{...t,onGround:o.fraction<1}},ii=(t,e)=>{let n={...t.origin};return n.z+=t.mins.z+1,e(n)&33554432?{...t,waterLevel:1}:{...t,waterLevel:0}},ci=(t,e,n,o)=>{let r={...t};r=si(r,n),r=ii(r,o);let{origin:s,velocity:i,onGround:c,waterLevel:l}=r,u=rt({velocity:i,frametime:Te,onGround:c,groundIsSlick:!1,onLadder:!1,waterlevel:l,pmFriction:6,pmStopSpeed:100,pmWaterFriction:1}),m=l>=2?ct({forward:{x:1,y:0,z:0},right:{x:0,y:1,z:0},cmd:e,maxSpeed:320}):it({forward:{x:1,y:0,z:0},right:{x:0,y:1,z:0},cmd:e,maxSpeed:320}),a=X({velocity:u,wishdir:m.wishdir,wishspeed:m.wishspeed,accel:c?10:1,frametime:Te}),p=n(s,{x:s.x+a.x*Te,y:s.y+a.y*Te,z:s.z+a.z*Te});return{...r,origin:p.endpos,velocity:a}};var _t=class{constructor(e){e instanceof Uint8Array?this.view=new DataView(e.buffer,e.byteOffset,e.byteLength):this.view=new DataView(e),this.offset=0,this.length=this.view.byteLength}getPosition(){return this.offset}seek(e){if(e<0||e>this.length)throw new Error(`Seek out of bounds: ${e} (length: ${this.length})`);this.offset=e}hasMore(){return this.offset<this.length}readChar(){let e=this.view.getInt8(this.offset);return this.offset+=1,e}readByte(){let e=this.view.getUint8(this.offset);return this.offset+=1,e}readShort(){let e=this.view.getInt16(this.offset,!0);return this.offset+=2,e}readUShort(){let e=this.view.getUint16(this.offset,!0);return this.offset+=2,e}readLong(){let e=this.view.getInt32(this.offset,!0);return this.offset+=4,e}readULong(){let e=this.view.getUint32(this.offset,!0);return this.offset+=4,e}readFloat(){let e=this.view.getFloat32(this.offset,!0);return this.offset+=4,e}readString(){let e="";for(;this.offset<this.length;){let n=this.readChar();if(n===-1||n===0)break;e+=String.fromCharCode(n)}return e}readStringLine(){let e="";for(;this.offset<this.length;){let n=this.readChar();if(n===-1||n===0||n===10)break;e+=String.fromCharCode(n)}return e}readCoord(){return this.readShort()*(1/8)}readAngle(){return this.readChar()*(360/256)}readAngle16(){return this.readShort()*360/65536}readData(e){if(this.offset+e>this.length)throw new Error(`Read out of bounds: ${this.offset+e} (length: ${this.length})`);let n=new Uint8Array(this.view.buffer,this.view.byteOffset+this.offset,e);return this.offset+=e,new Uint8Array(n)}readPos(e){e.x=this.readCoord(),e.y=this.readCoord(),e.z=this.readCoord()}readDir(e){let n=this.readByte();if(n>=162){e.x=0,e.y=0,e.z=0;return}let o=se[n];e.x=o[0],e.y=o[1],e.z=o[2]}};var St=class{constructor(e=1400){typeof e=="number"?(this.buffer=new Uint8Array(e),this.fixed=!1):(this.buffer=e,this.fixed=!0),this.view=new DataView(this.buffer.buffer,this.buffer.byteOffset,this.buffer.byteLength),this.offset=0}ensureSpace(e){if(this.offset+e>this.buffer.byteLength){if(this.fixed)throw new Error(`Buffer overflow: capacity ${this.buffer.byteLength}, needed ${this.offset+e}`);let n=Math.max(this.buffer.byteLength*2,this.offset+e),o=new Uint8Array(n);o.set(this.buffer),this.buffer=o,this.view=new DataView(this.buffer.buffer,this.buffer.byteOffset,this.buffer.byteLength)}}writeByte(e){this.ensureSpace(1),this.view.setUint8(this.offset,e),this.offset+=1}writeChar(e){this.ensureSpace(1),this.view.setInt8(this.offset,e),this.offset+=1}writeShort(e){this.ensureSpace(2),this.view.setInt16(this.offset,e,!0),this.offset+=2}writeLong(e){this.ensureSpace(4),this.view.setInt32(this.offset,e,!0),this.offset+=4}writeFloat(e){this.ensureSpace(4),this.view.setFloat32(this.offset,e,!0),this.offset+=4}writeString(e){let n=e.length;this.ensureSpace(n+1);for(let o=0;o<n;o++)this.view.setUint8(this.offset+o,e.charCodeAt(o));this.view.setUint8(this.offset+n,0),this.offset+=n+1}writeCoord(e){this.writeShort(Math.trunc(e*8))}writeAngle(e){this.writeByte(Math.trunc(e*256/360)&255)}writeAngle16(e){this.writeShort(Math.trunc(e*65536/360)&65535)}writePos(e){this.writeCoord(e.x),this.writeCoord(e.y),this.writeCoord(e.z)}writeDir(e){let n=-1,o=0;if(e.x===0&&e.y===0&&e.z===0){this.writeByte(0);return}for(let r=0;r<se.length;r++){let s=se[r],i=e.x*s[0]+e.y*s[1]+e.z*s[2];i>n&&(n=i,o=r)}this.writeByte(o)}getData(){return this.buffer.slice(0,this.offset)}getBuffer(){return this.buffer}getOffset(){return this.offset}reset(){this.offset=0}};var pn=(b=>(b.Blaster="blaster",b.Shotgun="shotgun",b.SuperShotgun="super_shotgun",b.Machinegun="machinegun",b.Chaingun="chaingun",b.HandGrenade="hand_grenade",b.GrenadeLauncher="grenade_launcher",b.RocketLauncher="rocket_launcher",b.HyperBlaster="hyperblaster",b.Railgun="railgun",b.BFG10K="bfg10k",b.Grapple="grapple",b.ChainFist="chainfist",b.EtfRifle="etf_rifle",b.ProxLauncher="prox_launcher",b.IonRipper="ionripper",b.PlasmaBeam="plasmabeam",b.Phalanx="phalanx",b.Disruptor="disruptor",b))(pn||{});var At=(f=>(f[f.Bullets=0]="Bullets",f[f.Shells=1]="Shells",f[f.Rockets=2]="Rockets",f[f.Grenades=3]="Grenades",f[f.Cells=4]="Cells",f[f.Slugs=5]="Slugs",f[f.MagSlugs=6]="MagSlugs",f[f.Trap=7]="Trap",f[f.Flechettes=8]="Flechettes",f[f.Tesla=9]="Tesla",f[f.Disruptor=10]="Disruptor",f[f.Prox=11]="Prox",f[f.Nuke=12]="Nuke",f[f.Rounds=13]="Rounds",f))(At||{}),ai=Object.keys(At).length/2,xn=(i=>(i.Shells="ammo_shells",i.Bullets="ammo_bullets",i.Rockets="ammo_rockets",i.Grenades="ammo_grenades",i.Cells="ammo_cells",i.Slugs="ammo_slugs",i))(xn||{});return Sn(li);})();
|
|
1
|
+
"use strict";var Quake2Shared=(()=>{var Be=Object.defineProperty;var hn=Object.getOwnPropertyDescriptor;var Tn=Object.getOwnPropertyNames;var _n=Object.prototype.hasOwnProperty;var ke=(t,e)=>{for(var n in e)Be(t,n,{get:e[n],enumerable:!0})},bn=(t,e,n,o)=>{if(e&&typeof e=="object"||typeof e=="function")for(let r of Tn(e))!_n.call(t,r)&&r!==n&&Be(t,r,{get:()=>e[r],enumerable:!(o=hn(e,r))||o.enumerable});return t};var Sn=t=>bn(Be({},"__esModule",{value:!0}),t);var li={};ke(li,{AMMO_MAX:()=>Ie,AMMO_TYPE_COUNT:()=>ai,ANORMS:()=>se,AmmoItemId:()=>xn,AmmoType:()=>At,BinaryStream:()=>bt,BinaryWriter:()=>St,CGAME_EXPORT_KEYS:()=>Jo,CGAME_IMPORT_KEYS:()=>Xo,CONTENTS_AREAPORTAL:()=>Ni,CONTENTS_AUX:()=>_i,CONTENTS_CURRENT_0:()=>qn,CONTENTS_CURRENT_180:()=>Qn,CONTENTS_CURRENT_270:()=>eo,CONTENTS_CURRENT_90:()=>$n,CONTENTS_CURRENT_DOWN:()=>no,CONTENTS_CURRENT_UP:()=>to,CONTENTS_DEADMONSTER:()=>Mi,CONTENTS_DETAIL:()=>Pi,CONTENTS_LADDER:()=>Rt,CONTENTS_LAVA:()=>bi,CONTENTS_MIST:()=>Vi,CONTENTS_MONSTER:()=>gi,CONTENTS_MONSTERCLIP:()=>Oi,CONTENTS_NONE:()=>Ne,CONTENTS_NO_WATERJUMP:()=>Zn,CONTENTS_ORIGIN:()=>Ri,CONTENTS_PLAYER:()=>vi,CONTENTS_PLAYERCLIP:()=>Ci,CONTENTS_PROJECTILE:()=>zi,CONTENTS_PROJECTILECLIP:()=>Ei,CONTENTS_SLIME:()=>Si,CONTENTS_SOLID:()=>hi,CONTENTS_TRANSLUCENT:()=>Fi,CONTENTS_TRIGGER:()=>jn,CONTENTS_WATER:()=>Ai,CONTENTS_WINDOW:()=>Ti,CS_MAX_STRING_LENGTH:()=>bc,CS_MAX_STRING_LENGTH_OLD:()=>Sc,ClientCommand:()=>cn,CollisionEntityIndex:()=>Ze,ConfigStringIndex:()=>ce,CvarFlags:()=>Dt,DEFAULT_FORWARD_SPEED:()=>rs,DEFAULT_MOUSE_SENSITIVITY:()=>ls,DEFAULT_PITCH_SPEED:()=>as,DEFAULT_SIDE_SPEED:()=>ss,DEFAULT_UP_SPEED:()=>is,DEFAULT_YAW_SPEED:()=>cs,DEG2RAD:()=>Un,DIST_EPSILON:()=>Y,EntityFlags:()=>_t,GAME_EXPORT_KEYS:()=>Ko,GAME_IMPORT_KEYS:()=>Ho,G_GetAmmoStat:()=>ws,G_GetPowerupStat:()=>Is,G_SetAmmoStat:()=>Ls,G_SetPowerupStat:()=>Ds,LAST_VISIBLE_CONTENTS:()=>Li,LayoutFlags:()=>ln,MASK_ALL:()=>Zi,MASK_BLOCK_SIGHT:()=>nc,MASK_CURRENT:()=>oo,MASK_DEADSOLID:()=>$i,MASK_LADDER_NAV_SOLID:()=>rc,MASK_MONSTERSOLID:()=>Qi,MASK_NAV_SOLID:()=>oc,MASK_OPAQUE:()=>ec,MASK_PLAYERSOLID:()=>qi,MASK_PROJECTILE:()=>ic,MASK_SHOT:()=>tc,MASK_SOLID:()=>Je,MASK_WALK_NAV_SOLID:()=>sc,MASK_WATER:()=>Ce,MAX_CHALLENGES:()=>ms,MAX_CLIENTS:()=>Ro,MAX_CONFIGSTRINGS:()=>wo,MAX_EDICTS:()=>_c,MAX_GENERAL:()=>zo,MAX_IMAGES:()=>Fo,MAX_INFO_STRING:()=>ys,MAX_ITEMS:()=>vo,MAX_LIGHTSTYLES:()=>go,MAX_MODELS:()=>Mo,MAX_MSGLEN:()=>hs,MAX_OSPATH:()=>Tc,MAX_PACKET_ENTITIES:()=>ps,MAX_QPATH:()=>hc,MAX_SHADOW_LIGHTS:()=>Lo,MAX_SOUNDS:()=>Po,MAX_STRING_CHARS:()=>pc,MAX_STRING_TOKENS:()=>xc,MAX_TOKEN_CHARS:()=>yc,MAX_WHEEL_ITEMS:()=>tt,MZ_BFG:()=>Ms,MZ_BLASTER:()=>Ts,MZ_CHAINGUN1:()=>Ss,MZ_CHAINGUN2:()=>As,MZ_CHAINGUN3:()=>Vs,MZ_GRENADE:()=>Cs,MZ_HYPERBLASTER:()=>Ps,MZ_LOGIN:()=>Os,MZ_LOGOUT:()=>Rs,MZ_MACHINEGUN:()=>_s,MZ_RAILGUN:()=>Es,MZ_ROCKET:()=>Ns,MZ_SHOTGUN:()=>bs,MZ_SSHOTGUN:()=>gs,MersenneTwister19937:()=>Ve,NUM_AMMO_STATS:()=>vs,NUM_BITS_FOR_AMMO:()=>Ue,NUM_BITS_FOR_POWERUP:()=>Ge,NUM_POWERUP_STATS:()=>zs,PITCH:()=>Se,POWERUP_MAX:()=>We,PlaneSide:()=>Mt,PlayerButton:()=>ne,PlayerStat:()=>fn,PmFlag:()=>te,PmType:()=>le,PowerupId:()=>dn,RAD2DEG:()=>Wn,ROLL:()=>Ke,RandomGenerator:()=>Ee,Replay:()=>nt,SLIDEMOVE_BLOCKED_FLOOR:()=>Wt,SLIDEMOVE_BLOCKED_WALL:()=>Gt,STOP_EPSILON:()=>Z,SURF_ALPHATEST:()=>Ki,SURF_FLOWING:()=>ki,SURF_LIGHT:()=>Di,SURF_N64_SCROLL_FLIP:()=>ji,SURF_N64_SCROLL_X:()=>Ji,SURF_N64_SCROLL_Y:()=>Yi,SURF_N64_UV:()=>Xi,SURF_NODRAW:()=>Hi,SURF_NONE:()=>wi,SURF_SKY:()=>Ui,SURF_SLICK:()=>Ii,SURF_TRANS33:()=>Gi,SURF_TRANS66:()=>Bi,SURF_WARP:()=>Wi,ServerCommand:()=>sn,TempEntity:()=>an,UPDATE_BACKUP:()=>xs,WaterLevel:()=>ae,WeaponId:()=>pn,YAW:()=>Ae,ZERO_VEC3:()=>v,addBlendColor:()=>Hn,addContents:()=>io,addPmFlag:()=>G,addPointToBounds:()=>Pn,addVec3:()=>g,addViewAngles:()=>ds,angleMod:()=>me,angleVectors:()=>Xe,applyPmove:()=>ci,applyPmoveAccelerate:()=>X,applyPmoveAddCurrents:()=>ve,applyPmoveAirAccelerate:()=>st,applyPmoveAirMove:()=>Dr,applyPmoveFlyMove:()=>dr,applyPmoveFriction:()=>rt,applyPmoveWaterMove:()=>Ir,assertContract:()=>ko,boxContents:()=>So,boxOnPlaneSide:()=>yo,boxesIntersect:()=>Fn,buildAirGroundWish:()=>it,buildCollisionModel:()=>po,buildWaterWish:()=>ct,categorizePosition:()=>Lr,checkDuckState:()=>Sr,checkJump:()=>yr,checkSpecialMovement:()=>qr,clampViewAngles:()=>os,clipBoxToBrush:()=>$e,clipVelocityAgainstPlanes:()=>vn,clipVelocityVec3:()=>Q,closestPointToBox:()=>Rn,combineSurfaceFlags:()=>lo,computePlaneSignBits:()=>qe,computePlayerDimensions:()=>Le,concatRotationMatrices:()=>He,configStringSize:()=>Do,copyVec3:()=>Vn,createDefaultTrace:()=>ge,createEmptyBounds3:()=>Mn,createMat4Identity:()=>Ot,createRandomGenerator:()=>Kn,crossVec3:()=>$,currentVectorFromContents:()=>ft,degToRad:()=>_e,disableTraceDebug:()=>fo,distance:()=>Cn,distanceBetweenBoxesSquared:()=>gn,dotVec3:()=>L,enableTraceDebug:()=>uo,fixStuckObjectGeneric:()=>ut,getWaterLevel:()=>he,goodPosition:()=>xt,groundCurrentVelocity:()=>qt,hasAllContents:()=>ro,hasAnyContents:()=>so,hasPmFlag:()=>w,hasSurfaceFlags:()=>ao,inPHS:()=>Vo,inPVS:()=>Ao,initialSnapPosition:()=>es,isAtLeastWaistDeep:()=>ot,isUnderwater:()=>Yo,lengthSquaredVec3:()=>re,lengthVec3:()=>U,lerpAngle:()=>Gn,mat4FromBasis:()=>Yn,mouseDeltaToViewDelta:()=>fs,multiplyMat4:()=>Xn,multiplyVec3:()=>En,negateVec3:()=>Nn,normalizeVec3:()=>z,perpendicularVec3:()=>Et,planeDistanceToPoint:()=>ee,pmoveCmdScale:()=>jo,pointContents:()=>_o,pointContentsMany:()=>bo,pointInsideBrush:()=>Pt,pointOnPlaneSide:()=>xo,projectPointOnPlane:()=>Vt,projectSourceVec3:()=>Ln,projectSourceVec3WithUp:()=>wn,radToDeg:()=>be,removeContents:()=>co,removePmFlag:()=>K,resolveSlideMove:()=>Bt,rotatePointAroundVector:()=>In,scaleVec3:()=>M,slerpVec3:()=>Dn,slideClipVelocityVec3:()=>zn,slideMove:()=>at,snapPosition:()=>Qr,stepSlideMove:()=>oe,subtractVec3:()=>q,testBoxInBrush:()=>Ft,traceBox:()=>wt,traceDebugInfo:()=>H,transformPointMat4:()=>Jn,validateContract:()=>It,vec3Equals:()=>On,vectorToAngles:()=>kn,vectorToYaw:()=>Bn,waterCurrentVelocity:()=>Zt});var v={x:0,y:0,z:0},Z=.1,An=Math.PI/180;function Vn(t){return{x:t.x,y:t.y,z:t.z}}function g(t,e){return{x:t.x+e.x,y:t.y+e.y,z:t.z+e.z}}function q(t,e){return{x:t.x-e.x,y:t.y-e.y,z:t.z-e.z}}function En(t,e){return{x:t.x*e.x,y:t.y*e.y,z:t.z*e.z}}function M(t,e){return{x:t.x*e,y:t.y*e,z:t.z*e}}function Nn(t){return M(t,-1)}function L(t,e){return t.x*e.x+t.y*e.y+t.z*e.z}function $(t,e){return{x:t.y*e.z-t.z*e.y,y:t.z*e.x-t.x*e.z,z:t.x*e.y-t.y*e.x}}function re(t){return L(t,t)}function U(t){return Math.sqrt(re(t))}function Cn(t,e){return U(q(t,e))}function On(t,e){return t.x===e.x&&t.y===e.y&&t.z===e.z}function z(t){let e=U(t);return e===0?t:M(t,1/e)}function Vt(t,e){let n=1/L(e,e),o=L(e,t)*n;return q(t,M(e,n*o))}function Et(t){let e=0,n=Math.abs(t.x);return Math.abs(t.y)<n&&(e=1,n=Math.abs(t.y)),Math.abs(t.z)<n&&(e=2),z(Vt(e===0?{x:1,y:0,z:0}:e===1?{x:0,y:1,z:0}:{x:0,y:0,z:1},t))}function Rn(t,e,n){return{x:t.x<e.x?e.x:t.x>n.x?n.x:t.x,y:t.y<e.y?e.y:t.y>n.y?n.y:t.y,z:t.z<e.z?e.z:t.z>n.z?n.z:t.z}}function gn(t,e,n,o){let r=0;if(e.x<n.x){let s=e.x-n.x;r+=s*s}else if(t.x>o.x){let s=t.x-o.x;r+=s*s}if(e.y<n.y){let s=e.y-n.y;r+=s*s}else if(t.y>o.y){let s=t.y-o.y;r+=s*s}if(e.z<n.z){let s=e.z-n.z;r+=s*s}else if(t.z>o.z){let s=t.z-o.z;r+=s*s}return r}function Mn(){return{mins:{x:Number.POSITIVE_INFINITY,y:Number.POSITIVE_INFINITY,z:Number.POSITIVE_INFINITY},maxs:{x:Number.NEGATIVE_INFINITY,y:Number.NEGATIVE_INFINITY,z:Number.NEGATIVE_INFINITY}}}function Pn(t,e){return{mins:{x:Math.min(e.mins.x,t.x),y:Math.min(e.mins.y,t.y),z:Math.min(e.mins.z,t.z)},maxs:{x:Math.max(e.maxs.x,t.x),y:Math.max(e.maxs.y,t.y),z:Math.max(e.maxs.z,t.z)}}}function Fn(t,e){return t.mins.x<=e.maxs.x&&t.maxs.x>=e.mins.x&&t.mins.y<=e.maxs.y&&t.maxs.y>=e.mins.y&&t.mins.z<=e.maxs.z&&t.maxs.z>=e.mins.z}function Q(t,e,n){let o=L(t,e)*n,r=t.x-e.x*o,s=t.y-e.y*o,i=t.z-e.z*o;return r>-Z&&r<Z&&(r=0),s>-Z&&s<Z&&(s=0),i>-Z&&i<Z&&(i=0),{x:r,y:s,z:i}}function vn(t,e,n,o){if(e.length===0)return t;let r=t;for(let s=0;s<e.length;s++){r=Q(r,e[s],n);let i=0;for(;i<e.length&&!(i!==s&&L(r,e[i])<0);i++);if(i===e.length)return o&&L(r,o)<=0?v:r}if(e.length===2){let s=$(e[0],e[1]),i=L(s,t),c=M(s,i);return o&&L(c,o)<=0?v:c}return o&&L(r,o)<=0,v}function zn(t,e,n){return Q(t,e,n)}function Ln(t,e,n,o){return{x:t.x+n.x*e.x+o.x*e.y,y:t.y+n.y*e.x+o.y*e.y,z:t.z+n.z*e.x+o.z*e.y+e.z}}function wn(t,e,n,o,r){return{x:t.x+n.x*e.x+o.x*e.y+r.x*e.z,y:t.y+n.y*e.x+o.y*e.y+r.y*e.z,z:t.z+n.z*e.x+o.z*e.y+r.z*e.z}}function Dn(t,e,n){let o=L(t,e),r,s;if(Math.abs(o)>.9995)r=1-n,s=n;else{let i=Math.acos(o),c=Math.sin(i),l=Math.sin((1-n)*i),u=Math.sin(n*i);r=l/c,s=u/c}return{x:t.x*r+e.x*s,y:t.y*r+e.y*s,z:t.z*r+e.z*s}}function He(t,e){let n=r=>[t[r][0]*e[0][0]+t[r][1]*e[1][0]+t[r][2]*e[2][0],t[r][0]*e[0][1]+t[r][1]*e[1][1]+t[r][2]*e[2][1],t[r][0]*e[0][2]+t[r][1]*e[1][2]+t[r][2]*e[2][2]];return[n(0),n(1),n(2)]}function In(t,e,n){if(U(t)===0)return e;let r=z(t),s=Et(r),i=$(s,r),c=[[s.x,i.x,r.x],[s.y,i.y,r.y],[s.z,i.z,r.z]],l=[[c[0][0],c[1][0],c[2][0]],[c[0][1],c[1][1],c[2][1]],[c[0][2],c[1][2],c[2][2]]],u=n*An,m=Math.cos(u),a=Math.sin(u),p=[[m,a,0],[-a,m,0],[0,0,1]],x=He(He(c,p),l);return{x:x[0][0]*e.x+x[0][1]*e.y+x[0][2]*e.z,y:x[1][0]*e.x+x[1][1]*e.y+x[1][2]*e.z,z:x[2][0]*e.x+x[2][1]*e.y+x[2][2]*e.z}}var Se=0,Ae=1,Ke=2,Nt=Math.PI/180,Ct=180/Math.PI,Un=Nt,Wn=Ct;function fe(t,e){switch(e){case Se:return t.x;case Ae:return t.y;case Ke:default:return t.z}}function _e(t){return t*Nt}function be(t){return t*Ct}function Gn(t,e,n){let o=e;return o-t>180?o-=360:o-t<-180&&(o+=360),t+n*(o-t)}function me(t){let e=t%360;return e<0?360+e:e}function Xe(t){let e=_e(fe(t,Ae)),n=_e(fe(t,Se)),o=_e(fe(t,Ke)),r=Math.sin(e),s=Math.cos(e),i=Math.sin(n),c=Math.cos(n),l=Math.sin(o),u=Math.cos(o),m={x:c*s,y:c*r,z:-i},a={x:-l*i*s-u*-r,y:-l*i*r-u*s,z:-l*c},p={x:u*i*s-l*-r,y:u*i*r-l*s,z:u*c};return{forward:m,right:a,up:p}}function Bn(t){let e=fe(t,Se),n=fe(t,Ae);if(e===0)return n===0?0:n>0?90:270;let o=be(Math.atan2(n,e));return o<0?o+360:o}function kn(t){let e=t.x,n=t.y,o=t.z;if(n===0&&e===0)return{x:o>0?-90:-270,y:0,z:0};let r;e?r=be(Math.atan2(n,e)):n>0?r=90:r=270,r<0&&(r+=360);let s=Math.sqrt(e*e+n*n),i=be(Math.atan2(o,s));return i<0&&(i+=360),{x:-i,y:r,z:0}}var se=[[-.525731,0,.850651],[-.442863,.238856,.864188],[-.295242,0,.955423],[-.309017,.5,.809017],[-.16246,.262866,.951056],[0,0,1],[0,.850651,.525731],[-.147621,.716567,.681718],[.147621,.716567,.681718],[0,.525731,.850651],[.309017,.5,.809017],[.525731,0,.850651],[.295242,0,.955423],[.442863,.238856,.864188],[.16246,.262866,.951056],[-.681718,.147621,.716567],[-.809017,.309017,.5],[-.587785,.425325,.688191],[-.850651,.525731,0],[-.864188,.442863,.238856],[-.716567,.681718,.147621],[-.688191,.587785,.425325],[-.5,.809017,.309017],[-.238856,.864188,.442863],[-.425325,.688191,.587785],[-.716567,.681718,-.147621],[-.5,.809017,-.309017],[-.525731,.850651,0],[0,.850651,-.525731],[-.238856,.864188,-.442863],[0,.955423,-.295242],[-.262866,.951056,-.16246],[0,1,0],[0,.955423,.295242],[-.262866,.951056,.16246],[.238856,.864188,.442863],[.262866,.951056,.16246],[.5,.809017,.309017],[.238856,.864188,-.442863],[.262866,.951056,-.16246],[.5,.809017,-.309017],[.850651,.525731,0],[.716567,.681718,.147621],[.716567,.681718,-.147621],[.525731,.850651,0],[.425325,.688191,.587785],[.864188,.442863,.238856],[.688191,.587785,.425325],[.809017,.309017,.5],[.681718,.147621,.716567],[.587785,.425325,.688191],[.955423,.295242,0],[1,0,0],[.951056,.16246,.262866],[.850651,-.525731,0],[.955423,-.295242,0],[.864188,-.442863,.238856],[.951056,-.16246,.262866],[.809017,-.309017,.5],[.681718,-.147621,.716567],[.850651,0,.525731],[.864188,.442863,-.238856],[.809017,.309017,-.5],[.951056,.16246,-.262866],[.525731,0,-.850651],[.681718,.147621,-.716567],[.681718,-.147621,-.716567],[.850651,0,-.525731],[.809017,-.309017,-.5],[.864188,-.442863,-.238856],[.951056,-.16246,-.262866],[.147621,.716567,-.681718],[.309017,.5,-.809017],[.425325,.688191,-.587785],[.442863,.238856,-.864188],[.587785,.425325,-.688191],[.688191,.587785,-.425325],[-.147621,.716567,-.681718],[-.309017,.5,-.809017],[0,.525731,-.850651],[-.525731,0,-.850651],[-.442863,.238856,-.864188],[-.295242,0,-.955423],[-.16246,.262866,-.951056],[0,0,-1],[.295242,0,-.955423],[.16246,.262866,-.951056],[-.442863,-.238856,-.864188],[-.309017,-.5,-.809017],[-.16246,-.262866,-.951056],[0,-.850651,-.525731],[-.147621,-.716567,-.681718],[.147621,-.716567,-.681718],[0,-.525731,-.850651],[.309017,-.5,-.809017],[.442863,-.238856,-.864188],[.16246,-.262866,-.951056],[.238856,-.864188,-.442863],[.5,-.809017,-.309017],[.425325,-.688191,-.587785],[.716567,-.681718,-.147621],[.688191,-.587785,-.425325],[.587785,-.425325,-.688191],[0,-.955423,-.295242],[0,-1,0],[.262866,-.951056,-.16246],[0,-.850651,.525731],[0,-.955423,.295242],[.238856,-.864188,.442863],[.262866,-.951056,.16246],[.5,-.809017,.309017],[.716567,-.681718,.147621],[.525731,-.850651,0],[-.238856,-.864188,-.442863],[-.5,-.809017,-.309017],[-.262866,-.951056,-.16246],[-.850651,-.525731,0],[-.716567,-.681718,-.147621],[-.716567,-.681718,.147621],[-.525731,-.850651,0],[-.5,-.809017,.309017],[-.238856,-.864188,.442863],[-.262866,-.951056,.16246],[-.864188,-.442863,.238856],[-.809017,-.309017,.5],[-.688191,-.587785,.425325],[-.681718,-.147621,.716567],[-.442863,-.238856,.864188],[-.587785,-.425325,.688191],[-.309017,-.5,.809017],[-.147621,-.716567,.681718],[-.425325,-.688191,.587785],[-.16246,-.262866,.951056],[.442863,-.238856,.864188],[.16246,-.262866,.951056],[.309017,-.5,.809017],[.147621,-.716567,.681718],[0,-.525731,.850651],[.425325,-.688191,.587785],[.587785,-.425325,.688191],[.688191,-.587785,.425325],[-.955423,.295242,0],[-.951056,.16246,.262866],[-1,0,0],[-.850651,0,.525731],[-.955423,-.295242,0],[-.951056,-.16246,.262866],[-.864188,.442863,-.238856],[-.951056,.16246,-.262866],[-.809017,.309017,-.5],[-.864188,-.442863,-.238856],[-.951056,-.16246,-.262866],[-.809017,-.309017,-.5],[-.681718,.147621,-.716567],[-.681718,-.147621,-.716567],[-.850651,0,-.525731],[-.688191,.587785,-.425325],[-.587785,.425325,-.688191],[-.425325,.688191,-.587785],[-.425325,-.688191,-.587785],[-.587785,-.425325,-.688191],[-.688191,-.587785,-.425325]];function Hn(t,e,n,o,r){if(o<=0)return r;let s=r[0],i=r[1],c=r[2],l=r[3],u=l+(1-l)*o;if(u<=0)return[0,0,0,0];let m=l/u,a=s*m+t*(1-m),p=i*m+e*(1-m),x=c*m+n*(1-m);return[a,p,x,u]}var Ve=class{constructor(e=5489){this.state=new Uint32Array(624);this.index=624;this.seed(e)}seed(e){this.state[0]=e>>>0;for(let n=1;n<624;n++){let o=this.state[n-1]^this.state[n-1]>>>30,r=Math.imul(o>>>0,1812433253)+n;this.state[n]=r>>>0}this.index=624}nextUint32(){this.index>=624&&this.twist();let e=this.state[this.index++];return e^=e>>>11,e^=e<<7&2636928640,e^=e<<15&4022730752,e^=e>>>18,e>>>0}twist(){for(let e=0;e<624;e++){let n=this.state[e]&2147483648|this.state[(e+1)%624]&2147483647,o=this.state[(e+397)%624]^n>>>1;(n&1)!==0&&(o^=2567483615),this.state[e]=o>>>0}this.index=0}getState(){return{index:this.index,state:Array.from(this.state)}}setState(e){if(e.state.length!==624)throw new Error(`Expected 624 MT state values, received ${e.state.length}`);this.index=e.index,this.state=Uint32Array.from(e.state,n=>n>>>0)}},Ee=class{constructor(e={}){this.mt=new Ve(e.seed)}seed(e){this.mt.seed(e)}frandom(){return this.mt.nextUint32()/4294967296}frandomRange(e,n){return e+(n-e)*this.frandom()}frandomMax(e){return this.frandomRange(0,e)}crandom(){return this.frandomRange(-1,1)}crandomOpen(){let e=Number.EPSILON;return this.frandomRange(-1+e,1)}irandomUint32(){return this.mt.nextUint32()}irandomRange(e,n){if(n-e<=1)return e;let o=n-e,r=4294967296-4294967296%o,s;do s=this.mt.nextUint32();while(s>=r);return e+s%o}irandom(e){return e<=0?0:this.irandomRange(0,e)}randomTimeRange(e,n){return n<=e?e:this.irandomRange(e,n)}randomTime(e){return this.irandom(e)}randomIndex(e){return this.irandom(e.length)}getState(){return{mt:this.mt.getState()}}setState(e){this.mt.setState(e.mt)}};function Kn(t){return new Ee(t)}function Ot(){return new Float32Array([1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1])}function Xn(t,e){let n=new Float32Array(16);for(let o=0;o<4;o+=1)for(let r=0;r<4;r+=1)n[r*4+o]=t[0+o]*e[r*4+0]+t[4+o]*e[r*4+1]+t[8+o]*e[r*4+2]+t[12+o]*e[r*4+3];return n}function Jn(t,e){let n=e.x,o=e.y,r=e.z;return{x:t[0]*n+t[4]*o+t[8]*r+t[12],y:t[1]*n+t[5]*o+t[9]*r+t[13],z:t[2]*n+t[6]*o+t[10]*r+t[14]}}function Yn(t,e){let n=Ot();return n[0]=e[0].x,n[1]=e[0].y,n[2]=e[0].z,n[4]=e[1].x,n[5]=e[1].y,n[6]=e[1].z,n[8]=e[2].x,n[9]=e[2].y,n[10]=e[2].z,n[12]=t.x,n[13]=t.y,n[14]=t.z,n}var Ne=0,hi=1,Ti=2,_i=4,bi=8,Si=16,Ai=32,Vi=64,jn=1073741824,Zn=8192,Ei=16384,Ni=32768,Ci=65536,Oi=131072,qn=262144,$n=524288,Qn=1048576,eo=2097152,to=4194304,no=8388608,Ri=16777216,gi=33554432,Mi=67108864,Pi=134217728,Fi=268435456,Rt=536870912,vi=1073741824,zi=-2147483648,Li=64,wi=0,Di=1,Ii=2,Ui=4,Wi=8,Gi=16,Bi=32,ki=64,Hi=128,Ki=33554432,Xi=268435456,Ji=536870912,Yi=1073741824,ji=-2147483648,Zi=4294967295,Je=3,qi=1107361795,$i=65539,Qi=1107427331,Ce=56,ec=25,tc=1174405123,oo=16515072,nc=1107296281,oc=65539,rc=3,sc=196611,ic=1174421507;function ro(t,e){return(t&e)===e}function so(t,e){return(t&e)!==0}function io(t,e){return t|e}function co(t,e){return t&~e}function ao(t,e){return(t&e)===e}function lo(...t){let e=0;for(let n of t)e|=n;return e}function Oe(t=0,e={x:-8192,y:-8192,z:-8192},n={x:8192,y:8192,z:8192}){if(t>=4)return{axis:-1,dist:0,children:null,items:new Set};let o=t%2,r=.5*(o===0?e.x+n.x:e.y+n.y),s={...e},i={...n},c={...e},l={...n};o===0?(i.x=r,c.x=r):(i.y=r,c.y=r);let u=Oe(t+1,s,i),m=Oe(t+1,c,l);return{axis:o,dist:r,children:[u,m],items:new Set}}function gt(t,e,n,o){let r=t;for(;r.axis!==-1&&r.children;){let s=r.axis,i=r.dist,c=s===0?n.x:n.y,l=s===0?o.x:o.y;if(c>i)r=r.children[1];else if(l<i)r=r.children[0];else break}return r.items.add(e),r}function pe(t,e,n,o){for(let l of t.items)o.add(l);if(t.axis===-1||!t.children)return;let r=t.axis,s=t.dist,i=r===0?e.x:e.y;(r===0?n.x:n.y)>s&&pe(t.children[1],e,n,o),i<s&&pe(t.children[0],e,n,o)}var Mt=(o=>(o[o.FRONT=1]="FRONT",o[o.BACK=2]="BACK",o[o.CROSS=3]="CROSS",o))(Mt||{}),H=null;function uo(){H={nodesTraversed:0,leafsReached:0,brushesTested:0}}function fo(){H=null}var Y=.03125,mo=Number.MAX_SAFE_INTEGER-1,Re=1;function po(t){let e=t.planes.map(i=>({...i,signbits:qe(i.normal)})),n=t.nodes.map(i=>({plane:e[i.planenum],children:i.children})),o=t.brushes.map(i=>{let c=t.brushSides.slice(i.firstSide,i.firstSide+i.numSides).map(l=>({plane:e[l.planenum],surfaceFlags:l.surfaceFlags}));return{contents:i.contents,sides:c,checkcount:0}}),r=t.leaves.map(i=>({contents:i.contents,cluster:i.cluster,area:i.area,firstLeafBrush:i.firstLeafBrush,numLeafBrushes:i.numLeafBrushes})),s=t.bmodels.map(i=>({mins:i.mins,maxs:i.maxs,origin:i.origin,headnode:i.headnode}));return{planes:e,nodes:n,leaves:r,brushes:o,leafBrushes:t.leafBrushes,bmodels:s,visibility:t.visibility}}function qe(t){let e=0;return t.x<0&&(e|=1),t.y<0&&(e|=2),t.z<0&&(e|=4),e}function ee(t,e){return t.normal.x*e.x+t.normal.y*e.y+t.normal.z*e.z-t.dist}function xo(t,e,n=0){let o=ee(t,e);return o>n?1:o<-n?2:3}function yo(t,e,n,o=0){let r,s;switch(n.signbits){case 0:r=n.normal.x*e.x+n.normal.y*e.y+n.normal.z*e.z,s=n.normal.x*t.x+n.normal.y*t.y+n.normal.z*t.z;break;case 1:r=n.normal.x*t.x+n.normal.y*e.y+n.normal.z*e.z,s=n.normal.x*e.x+n.normal.y*t.y+n.normal.z*t.z;break;case 2:r=n.normal.x*e.x+n.normal.y*t.y+n.normal.z*e.z,s=n.normal.x*t.x+n.normal.y*e.y+n.normal.z*t.z;break;case 3:r=n.normal.x*t.x+n.normal.y*t.y+n.normal.z*e.z,s=n.normal.x*e.x+n.normal.y*e.y+n.normal.z*t.z;break;case 4:r=n.normal.x*e.x+n.normal.y*e.y+n.normal.z*t.z,s=n.normal.x*t.x+n.normal.y*t.y+n.normal.z*e.z;break;case 5:r=n.normal.x*t.x+n.normal.y*e.y+n.normal.z*t.z,s=n.normal.x*e.x+n.normal.y*t.y+n.normal.z*e.z;break;case 6:r=n.normal.x*e.x+n.normal.y*t.y+n.normal.z*t.z,s=n.normal.x*t.x+n.normal.y*e.y+n.normal.z*e.z;break;default:r=n.normal.x*t.x+n.normal.y*t.y+n.normal.z*t.z,s=n.normal.x*e.x+n.normal.y*e.y+n.normal.z*e.z;break}let i=0;return r-n.dist>=-o&&(i=1),s-n.dist<=o&&(i|=2),i}function Pt(t,e,n=Y){for(let o of e.sides)if(ee(o.plane,t)>n)return!1;return!0}function Ft(t,e,n,o){for(let r of o.sides){let s=r.plane.normal.x*(r.plane.normal.x<0?n.x:e.x)+r.plane.normal.y*(r.plane.normal.y<0?n.y:e.y)+r.plane.normal.z*(r.plane.normal.z<0?n.z:e.z),i=r.plane.dist-s;if(t.x*r.plane.normal.x+t.y*r.plane.normal.y+t.z*r.plane.normal.z-i>0)return{startsolid:!1,allsolid:!1,contents:0}}return{startsolid:!0,allsolid:!0,contents:o.contents}}function $e({start:t,end:e,mins:n,maxs:o,brush:r,trace:s}){if(r.sides.length===0)return;let i=n.x===0&&n.y===0&&n.z===0&&o.x===0&&o.y===0&&o.z===0,c=-1,l=1,u=null,m=null,a=!1,p=!1;for(let x of r.sides){let{plane:f}=x,V=f.dist;if(!i){let O=f.normal.x<0?o.x:n.x,_=f.normal.y<0?o.y:n.y,S=f.normal.z<0?o.z:n.z;V-=f.normal.x*O+f.normal.y*_+f.normal.z*S}let b=t.x*f.normal.x+t.y*f.normal.y+t.z*f.normal.z-V,A=e.x*f.normal.x+e.y*f.normal.y+e.z*f.normal.z-V;if(A>0&&(a=!0),b>0&&(p=!0),b>0&&A>=b)return;if(!(b<=0&&A<=0))if(b>A){let O=(b-Y)/(b-A);O>c&&(c=O,u=f,m=x)}else{let O=(b+Y)/(b-A);O<l&&(l=O)}}if(!p){s.startsolid=!0,a||(s.allsolid=!0),s.fraction=0;return}c<l&&c>-1&&c<s.fraction&&(s.fraction=c<0?0:c,s.plane=u,s.contents=r.contents,s.surfaceFlags=m?.surfaceFlags??0)}function ge(){return{fraction:1,plane:null,contents:0,surfaceFlags:0,startsolid:!1,allsolid:!1}}function Qe(t,e,n){let o=n;for(;o>=0;){let r=e.nodes[o];o=ee(r.plane,t)>=0?r.children[0]:r.children[1]}return-1-o}function vt(t,e,n){let o=t.leaves[e],r=o.contents,s=et(),i=o.firstLeafBrush,c=i+o.numLeafBrushes;for(let l=i;l<c;l+=1){let u=t.leafBrushes[l],m=t.brushes[u];m.checkcount!==s&&(m.checkcount=s,m.sides.length!==0&&Pt(n,m)&&(r|=m.contents))}return r}function et(){let t=Re;return Re+=1,Re>=mo&&(Re=1),t}function ho(t,e){return t.x===0&&t.y===0&&t.z===0&&e.x===0&&e.y===0&&e.z===0}function To(t,e,n){return ho(e,n)?0:t.normal.x*(t.normal.x<0?n.x:e.x)+t.normal.y*(t.normal.y<0?n.y:e.y)+t.normal.z*(t.normal.z<0?n.z:e.z)}function zt(t,e,n){return Math.abs(To(t,e,n))}function Ye(t,e,n){return g(t,M(q(e,t),n))}function je(t,e,n){let o=t.allsolid?0:t.fraction,r=Ye(e,n,o);return{fraction:o,endpos:r,plane:t.plane,planeNormal:t.startsolid?void 0:t.plane?.normal,contents:t.contents,surfaceFlags:t.surfaceFlags,startsolid:t.startsolid,allsolid:t.allsolid}}function Me(t,e,n){let o=Qe(t,e,n);return e.leaves[o]?.cluster??-1}function Lt(t,e,n,o){if(!t||t.numClusters===0)return!0;if(e<0||n<0||e>=t.clusters.length||n>=t.numClusters)return!1;let r=t.clusters[e],i=(o?r.phs:r.pvs)[n>>3];return i===void 0?!1:(i&1<<(n&7))!==0}function xe(t){let{model:e,nodeIndex:n,startFraction:o,endFraction:r,start:s,end:i,traceStart:c,traceEnd:l,mins:u,maxs:m,contentMask:a,trace:p,brushCheckCount:x}=t;if(p.fraction<=o)return;if(n<0){H&&H.leafsReached++;let D=-1-n,C=e.leaves[D],W=C.firstLeafBrush,J=W+C.numLeafBrushes;for(let I=W;I<J;I+=1){let k=e.leafBrushes[I],h=e.brushes[k];if((h.contents&a)!==0&&h.sides.length&&h.checkcount!==x&&(h.checkcount=x,H&&H.brushesTested++,$e({start:c,end:l,mins:u,maxs:m,brush:h,trace:p}),p.allsolid))return}return}H&&H.nodesTraversed++;let f=e.nodes[n],V=f.plane,b=zt(V,u,m),A=ee(V,s),O=ee(V,i);if(A>=b&&O>=b){xe({model:e,nodeIndex:f.children[0],startFraction:o,endFraction:r,start:s,end:i,traceStart:c,traceEnd:l,mins:u,maxs:m,contentMask:a,trace:p,brushCheckCount:x});return}if(A<-b&&O<-b){xe({model:e,nodeIndex:f.children[1],startFraction:o,endFraction:r,start:s,end:i,traceStart:c,traceEnd:l,mins:u,maxs:m,contentMask:a,trace:p,brushCheckCount:x});return}let _=0,S=1/(A-O),R,E;A<O?(_=1,E=(A+b+Y)*S,R=(A-b+Y)*S):(_=0,E=(A-b-Y)*S,R=(A+b+Y)*S),R<0?R=0:R>1&&(R=1),E<0?E=0:E>1&&(E=1);let F=o+(r-o)*R,N=Ye(s,i,R);if(xe({model:e,nodeIndex:f.children[_],startFraction:o,endFraction:F,start:s,end:N,traceStart:c,traceEnd:l,mins:u,maxs:m,contentMask:a,trace:p,brushCheckCount:x}),p.fraction<=F)return;let T=o+(r-o)*E,P=Ye(s,i,E);xe({model:e,nodeIndex:f.children[1-_],startFraction:T,endFraction:r,start:P,end:i,traceStart:c,traceEnd:l,mins:u,maxs:m,contentMask:a,trace:p,brushCheckCount:x})}function wt(t){let{model:e,start:n,end:o}=t,r=t.mins??v,s=t.maxs??v,i=t.contentMask??4294967295,c=t.headnode??0,l=ge(),u=et();return xe({model:e,nodeIndex:c,startFraction:0,endFraction:1,start:n,end:o,traceStart:n,traceEnd:o,mins:r,maxs:s,contentMask:i,trace:l,brushCheckCount:u}),je(l,n,o)}function _o(t,e,n=0){let o=Qe(t,e,n);return vt(e,o,t)}function bo(t,e,n=0){let o=new Map;return t.map(r=>{let s=Qe(r,e,n),i=e.leaves[s];if(i.numLeafBrushes===0){let c=o.get(s);return c!==void 0?c:(o.set(s,i.contents),i.contents)}return vt(e,s,r)})}function So(t,e,n,o,r=0){let s=et(),i=0;function c(l){if(l<0){H&&H.leafsReached++;let x=-1-l,f=o.leaves[x];i|=f.contents;let V=f.firstLeafBrush,b=V+f.numLeafBrushes;for(let A=V;A<b;A+=1){let O=o.leafBrushes[A],_=o.brushes[O];if(_.checkcount===s||(_.checkcount=s,_.sides.length===0))continue;let S=Ft(t,e,n,_);S.startsolid&&(i|=S.contents)}return}let u=o.nodes[l],m=u.plane,a=zt(m,e,n),p=ee(m,t);if(a===0){c(p>=0?u.children[0]:u.children[1]);return}if(p>a){c(u.children[0]);return}if(p<-a){c(u.children[1]);return}c(u.children[0]),c(u.children[1])}return c(r),i}function Ao(t,e,n,o=0){let{visibility:r}=n;if(!r)return!0;let s=Me(t,n,o),i=Me(e,n,o);return Lt(r,s,i,!1)}function Vo(t,e,n,o=0){let{visibility:r}=n;if(!r)return!0;let s=Me(t,n,o),i=Me(e,n,o);return Lt(r,s,i,!0)}function ie(t,e,n){return{normal:t,dist:e,type:n,signbits:qe(t)}}function Eo(t){let e=t.surfaceFlags??0,n=t.origin.x+t.maxs.x,o=t.origin.x+t.mins.x,r=t.origin.y+t.maxs.y,s=t.origin.y+t.mins.y,i=t.origin.z+t.maxs.z,c=t.origin.z+t.mins.z,u=[ie({x:1,y:0,z:0},n,0),ie({x:-1,y:0,z:0},-o,0),ie({x:0,y:1,z:0},r,1),ie({x:0,y:-1,z:0},-s,1),ie({x:0,y:0,z:1},i,2),ie({x:0,y:0,z:-1},-c,2)].map(m=>({plane:m,surfaceFlags:e}));return{contents:t.contents,sides:u,checkcount:0}}function No(t){let e=Eo(t);return{...t,brush:e,bounds:{mins:{x:t.origin.x+t.mins.x,y:t.origin.y+t.mins.y,z:t.origin.z+t.mins.z},maxs:{x:t.origin.x+t.maxs.x,y:t.origin.y+t.maxs.y,z:t.origin.z+t.maxs.z}}}}function Co(t,e){return!(t.mins.x>e.maxs.x||t.maxs.x<e.mins.x||t.mins.y>e.maxs.y||t.maxs.y<e.mins.y||t.mins.z>e.maxs.z||t.maxs.z<e.mins.z)}function Oo(t,e){return e.allsolid&&!t.allsolid||e.startsolid&&!t.startsolid?!0:e.fraction<t.fraction}var Ze=class{constructor(){this.entities=new Map;this.entityNodes=new Map;this.rootNode=Oe()}link(e){let n=No(e);this.entities.set(e.id,n);let o=this.entityNodes.get(e.id);o&&o.items.delete(e.id);let r=gt(this.rootNode,e.id,n.bounds.mins,n.bounds.maxs);this.entityNodes.set(e.id,r)}unlink(e){this.entities.delete(e);let n=this.entityNodes.get(e);n&&(n.items.delete(e),this.entityNodes.delete(e))}trace(e){let{passId:n}=e,o=e.mins??v,r=e.maxs??v,s=e.contentMask??4294967295,i,c=null;e.model?i=wt(e):i=je(ge(),e.start,e.end);let l={x:Math.min(e.start.x,e.end.x)+o.x,y:Math.min(e.start.y,e.end.y)+o.y,z:Math.min(e.start.z,e.end.z)+o.z},u={x:Math.max(e.start.x,e.end.x)+r.x,y:Math.max(e.start.y,e.end.y)+r.y,z:Math.max(e.start.z,e.end.z)+r.z},m=new Set;pe(this.rootNode,l,u,m);for(let a of m){if(a===n)continue;let p=this.entities.get(a);if(!p||(p.contents&s)===0)continue;let x=ge();if($e({start:e.start,end:e.end,mins:o,maxs:r,brush:p.brush,trace:x}),x.contents===0&&(x.contents=p.contents),x.startsolid||x.allsolid||x.fraction<i.fraction){let f=je(x,e.start,e.end);Oo(i,f)&&(i=f,c=p.id)}}return{...i,entityId:c}}gatherTriggerTouches(e,n,o,r=1073741824){let s=[],i={mins:g(e,n),maxs:g(e,o)},c=new Set;pe(this.rootNode,i.mins,i.maxs,c);for(let l of c){let u=this.entities.get(l);u&&(u.contents&r)!==0&&Co(i,u.bounds)&&s.push(u.id)}return s}};var Dt=(i=>(i[i.None=0]="None",i[i.Archive=1]="Archive",i[i.UserInfo=2]="UserInfo",i[i.ServerInfo=4]="ServerInfo",i[i.Latch=8]="Latch",i[i.Cheat=16]="Cheat",i))(Dt||{});var pc=1024,xc=80,yc=512,hc=64,Tc=128,Ro=256,_c=8192,go=256,Mo=8192,Po=2048,Fo=512,vo=256,zo=512,Lo=256,tt=32,bc=96,Sc=64,ce=(T=>(T[T.Name=0]="Name",T[T.CdTrack=1]="CdTrack",T[T.Sky=2]="Sky",T[T.SkyAxis=3]="SkyAxis",T[T.SkyRotate=4]="SkyRotate",T[T.StatusBar=5]="StatusBar",T[T.CONFIG_N64_PHYSICS=56]="CONFIG_N64_PHYSICS",T[T.CONFIG_CTF_TEAMS=57]="CONFIG_CTF_TEAMS",T[T.CONFIG_COOP_RESPAWN_STRING=58]="CONFIG_COOP_RESPAWN_STRING",T[T.AirAccel=59]="AirAccel",T[T.MaxClients=60]="MaxClients",T[T.MapChecksum=61]="MapChecksum",T[T.Models=62]="Models",T[T.Sounds=62+Mo]="Sounds",T[T.Images=T.Sounds+Po]="Images",T[T.Lights=T.Images+Fo]="Lights",T[T.ShadowLights=T.Lights+go]="ShadowLights",T[T.Items=T.ShadowLights+Lo]="Items",T[T.PlayerSkins=T.Items+vo]="PlayerSkins",T[T.General=T.PlayerSkins+Ro]="General",T[T.WheelWeapons=T.General+zo]="WheelWeapons",T[T.WheelAmmo=T.WheelWeapons+tt]="WheelAmmo",T[T.WheelPowerups=T.WheelAmmo+tt]="WheelPowerups",T[T.CdLoopCount=T.WheelPowerups+tt]="CdLoopCount",T[T.GameStyle=T.CdLoopCount+1]="GameStyle",T[T.MaxConfigStrings=T.GameStyle+1]="MaxConfigStrings",T))(ce||{}),wo=ce.MaxConfigStrings;function Do(t){return t>=5&&t<59?96*(59-t):t>=ce.General&&t<ce.WheelWeapons?96*(ce.MaxConfigStrings-t):96}var nt={};ke(nt,{addReplayFrame:()=>Go,createReplaySession:()=>Wo,deserializeReplay:()=>Uo,serializeReplay:()=>Io});function Io(t){return JSON.stringify(t,null,2)}function Uo(t){let e=JSON.parse(t);if(!e.metadata||!Array.isArray(e.frames))throw new Error("Invalid replay format: missing metadata or frames");return e}function Wo(t,e){return{metadata:{map:t,date:new Date().toISOString(),version:"1.0",seed:e},frames:[]}}function Go(t,e,n,o){t.frames.push({serverFrame:n,cmd:e,timestamp:Date.now()-o})}function Bo(t){return t??{}}function It(t,e,n={}){let o=Bo(t),r=[],s=[];for(let c of e){if(!(c in o)){r.push(c);continue}typeof o[c]!="function"&&s.push(c)}let i=n.allowExtra===!1?Object.keys(o).filter(c=>!e.includes(c)):[];return{missing:r,nonFunctions:s,extras:i}}function ko(t,e,n={}){let{missing:o,nonFunctions:r,extras:s}=It(t,e,n);if(o.length===0&&r.length===0&&s.length===0)return;let i=[];o.length>0&&i.push(`missing: ${o.join(", ")}`),r.length>0&&i.push(`non-functions: ${r.join(", ")}`),s.length>0&&i.push(`extras: ${s.join(", ")}`);let c=n.name??"contract";throw new Error(`${c} validation failed (${i.join("; ")})`)}var Ho=["Broadcast_Print","Com_Print","Client_Print","Center_Print","sound","positioned_sound","local_sound","configstring","get_configstring","Com_Error","modelindex","soundindex","imageindex","setmodel","trace","clip","pointcontents","inPVS","inPHS","SetAreaPortalState","AreasConnected","linkentity","unlinkentity","BoxEdicts","multicast","unicast"],Ko=["PreInit","Init","Shutdown","SpawnEntities","WriteGameJson","ReadGameJson","WriteLevelJson","ReadLevelJson","CanSave","ClientConnect","ClientThink","RunFrame","Pmove"],Xo=["Com_Print","get_configstring","Com_Error","TagMalloc","TagFree","AddCommandString","CL_FrameValid","CL_FrameTime","CL_ClientTime","CL_ServerFrame","Draw_RegisterPic","Draw_GetPicSize","SCR_DrawChar","SCR_DrawPic","SCR_DrawColorPic"],Jo=["Init","Shutdown","DrawHUD","TouchPics","LayoutFlags","GetActiveWeaponWheelWeapon","GetOwnedWeaponWheelWeapons","GetWeaponWheelAmmoCount","GetPowerupWheelCount","GetHitMarkerDamage","Pmove","ParseConfigString","ParseCenterPrint","ClearNotify","ClearCenterprint","NotifyMessage","GetMonsterFlashOffset"];var ae=(r=>(r[r.None=0]="None",r[r.Feet=1]="Feet",r[r.Waist=2]="Waist",r[r.Under=3]="Under",r))(ae||{});function ot(t){return t>=2}function Yo(t){return t===3}var te=(a=>(a[a.Ducked=1]="Ducked",a[a.JumpHeld=2]="JumpHeld",a[a.OnGround=4]="OnGround",a[a.TimeWaterJump=8]="TimeWaterJump",a[a.TimeLand=16]="TimeLand",a[a.TimeTeleport=32]="TimeTeleport",a[a.NoPositionalPrediction=64]="NoPositionalPrediction",a[a.OnLadder=128]="OnLadder",a[a.NoAngularPrediction=256]="NoAngularPrediction",a[a.IgnorePlayerCollision=512]="IgnorePlayerCollision",a[a.TimeTrick=1024]="TimeTrick",a))(te||{});function w(t,e){return(t&e)!==0}function G(t,e){return t|e}function K(t,e){return t&~e}var le=(c=>(c[c.Normal=0]="Normal",c[c.Grapple=1]="Grapple",c[c.NoClip=2]="NoClip",c[c.Spectator=3]="Spectator",c[c.Dead=4]="Dead",c[c.Gib=5]="Gib",c[c.Freeze=6]="Freeze",c))(le||{}),ne=(c=>(c[c.None=0]="None",c[c.Attack=1]="Attack",c[c.Use=2]="Use",c[c.Holster=4]="Holster",c[c.Jump=8]="Jump",c[c.Crouch=16]="Crouch",c[c.Any=128]="Any",c))(ne||{});function rt(t){let{velocity:e,frametime:n,onGround:o,groundIsSlick:r,onLadder:s,waterlevel:i,pmFriction:c,pmStopSpeed:l,pmWaterFriction:u}=t,m=U(e);if(m<1)return{x:0,y:0,z:e.z};let a=0;if(o&&!r||s){let f=m<l?l:m;a+=f*c*n}i>0&&!s&&(a+=m*u*i*n);let p=m-a;if(p<0&&(p=0),p===m)return e;let x=p/m;return M(e,x)}function X(t){let{velocity:e,wishdir:n,wishspeed:o,accel:r,frametime:s}=t,i=L(e,n),c=o-i;if(c<=0)return e;let l=r*s*o;return l>c&&(l=c),{x:e.x+n.x*l,y:e.y+n.y*l,z:e.z+n.z*l}}function st(t){let{velocity:e,wishdir:n,wishspeed:o,accel:r,frametime:s}=t,i=Math.min(o,30),c=L(e,n),l=i-c;if(l<=0)return e;let u=r*o*s;return u>l&&(u=l),{x:e.x+n.x*u,y:e.y+n.y*u,z:e.z+n.z*u}}function jo(t,e){let n=Math.abs(t.forwardmove),o=Math.abs(t.sidemove),r=Math.abs(t.upmove),s=Math.max(n,o,r);if(s===0)return 0;let i=Math.sqrt(t.forwardmove*t.forwardmove+t.sidemove*t.sidemove+t.upmove*t.upmove);return e*s/(127*i)}function it(t){let{forward:e,right:n,cmd:o,maxSpeed:r}=t,s={x:e.x*o.forwardmove+n.x*o.sidemove,y:e.y*o.forwardmove+n.y*o.sidemove,z:0},i=U(s);if(i>r){let c=r/i;s=M(s,c),i=r}return{wishdir:i===0?s:z(s),wishspeed:i}}function ct(t){let{forward:e,right:n,cmd:o,maxSpeed:r}=t,s={x:e.x*o.forwardmove+n.x*o.sidemove,y:e.y*o.forwardmove+n.y*o.sidemove,z:0};o.upmove>10?s=g(s,{x:0,y:0,z:o.upmove}):o.upmove<-10?s=g(s,{x:0,y:0,z:o.upmove}):s=g(s,{x:0,y:0,z:10});let i=U(s);if(i>r){let c=r/i;s=M(s,c),i=r}return i*=.5,{wishdir:i===0?s:z(s),wishspeed:i}}var Ut=5,Zo=4,qo=18,$o=.7,Wt=1,Gt=2;function Bt(t,e,n,o=Ut,r=t){if(e.length===0)return{velocity:t,planes:[],stopped:!1};let s=[],i=t;for(let l of e){if(s.length>=o)return{velocity:v,planes:s,stopped:!0};if(s.find(p=>L(p,l)>.99))continue;s.push(l);let m,a=0;for(;a<s.length;a++){let p=Q(i,s[a],n),x=0;for(;x<s.length&&!(x!==a&&L(p,s[x])<0);x++);if(x===s.length){m=p;break}}if(m)i=m;else{if(s.length!==2)return{velocity:v,planes:s,stopped:!0};let p=$(s[0],s[1]),x=L(p,i);i=M(p,x)}if(L(i,r)<=0)return{velocity:v,planes:s,stopped:!0}}let c=i.x===0&&i.y===0&&i.z===0;return{velocity:i,planes:s,stopped:c}}function at(t){let{origin:e,velocity:n,frametime:o,overbounce:r,trace:s,maxBumps:i=Zo,maxClipPlanes:c=Ut,mins:l,maxs:u,hasTime:m=!1}=t,a=e,p=n,x=[],f=n,V=o,b=0;for(let O=0;O<i&&!(p.x===0&&p.y===0&&p.z===0);O++){let _=g(a,M(p,V)),S=s(a,_,l,u);if(S.allsolid){let E=m?f:v;return{origin:S.endpos,velocity:E,planes:x,stopped:!0,blocked:b}}if(S.startsolid){let E=m?f:v;return{origin:S.endpos,velocity:E,planes:x,stopped:!0,blocked:b}}if(S.fraction>0&&(a=S.endpos),S.fraction===1)break;if(!S.planeNormal)return{origin:a,velocity:m?f:v,planes:x,stopped:!0,blocked:b};S.planeNormal.z>.7&&(b|=Wt),S.planeNormal.z===0&&(b|=Gt),x.push(S.planeNormal),V-=V*S.fraction;let R=Bt(p,x,r,c,f);if(p=R.velocity,x.splice(0,x.length,...R.planes),f.z>0&&p.z<0&&(p={...p,z:0}),R.stopped)return{origin:a,velocity:m?f:p,planes:x,stopped:!0,blocked:b}}let A=m?f:p;return{origin:a,velocity:A,planes:x,stopped:A.x===0&&A.y===0&&A.z===0,blocked:b}}function oe(t){let{mins:e,maxs:n,stepSize:o=qo,...r}=t,s=t.origin,i=t.velocity,c=at({...r,mins:e,maxs:n}),l=g(s,{x:0,y:0,z:o}),u=r.trace(s,l,e,n);if(u.allsolid)return{...c,stepped:!1,stepHeight:0};let m=u.endpos.z-s.z,a=at({...r,origin:u.endpos,velocity:i,mins:e,maxs:n}),p=g(a.origin,{x:0,y:0,z:-m}),x=r.trace(a.origin,p,e,n),f=a.origin,V=x.planeNormal;x.allsolid||(f=x.endpos);let b=(E,F)=>(E.x-F.x)**2+(E.y-F.y)**2,A=b(c.origin,s),O=b(f,s);if(A>O||V&&V.z<$o)return{...c,stepped:!1,stepHeight:0};let _={...a.velocity,z:c.velocity.z},S=a.blocked,R=_.x===0&&_.y===0&&_.z===0;return{origin:f,velocity:_,planes:a.planes,blocked:S,stopped:R,stepped:!0,stepHeight:m,stepNormal:V}}var ue=["x","y","z"],lt=[{normal:[0,0,1],mins:[-1,-1,0],maxs:[1,1,0]},{normal:[0,0,-1],mins:[-1,-1,0],maxs:[1,1,0]},{normal:[1,0,0],mins:[0,-1,-1],maxs:[0,1,1]},{normal:[-1,0,0],mins:[0,-1,-1],maxs:[0,1,1]},{normal:[0,1,0],mins:[-1,0,-1],maxs:[1,0,1]},{normal:[0,-1,0],mins:[-1,0,-1],maxs:[1,0,1]}],kt={x:0,y:0,z:0};function de(t){return{x:t.x,y:t.y,z:t.z}}function Qo(t){return{x:t[0],y:t[1],z:t[2]}}function ye(t,e,n){if(n!==0)switch(e){case"x":t.x+=n;break;case"y":t.y+=n;break;case"z":t.z+=n;break}}function Ht(t,e,n){switch(e){case"x":t.x=n;break;case"y":t.y=n;break;case"z":t.z=n;break}}function Pe(t,e){switch(e){case"x":return t.x;case"y":return t.y;case"z":default:return t.z}}function Kt(t,e,n,o){return t===-1?Pe(n,e):t===1?Pe(o,e):0}function Xt(t,e,n,o){let r=de(t);for(let s=0;s<ue.length;s++){let i=ue[s],c=e.normal[s];c<0?ye(r,i,Pe(n,i)):c>0&&ye(r,i,Pe(o,i))}return r}function er(t,e,n){let o=de(kt),r=de(kt);for(let s=0;s<ue.length;s++){let i=ue[s];Ht(o,i,Kt(t.mins[s],i,e,n)),Ht(r,i,Kt(t.maxs[s],i,e,n))}return{mins:o,maxs:r}}function tr(t,e,n){if(!e||n===0)return t;let o=de(t);return ye(o,e,n),o}function nr(t,e,n){if(!e||n===0)return t;switch(e){case"x":return{...t,x:t.x+n};case"y":return{...t,y:t.y+n};case"z":default:return{...t,z:t.z+n}}}function ut(t){let{origin:e,mins:n,maxs:o,trace:r}=t;if(!r(e,n,o,e).startsolid)return{result:"good-position",origin:{...e}};let i=[];for(let c=0;c<lt.length;c++){let l=lt[c],{mins:u,maxs:m}=er(l,n,o),a=Xt(e,l,n,o),p=r(a,u,m,a),x,f=0;if(p.startsolid)for(let E=0;E<ue.length;E++){if(l.normal[E]!==0)continue;let F=ue[E],N=de(a);if(ye(N,F,1),p=r(N,u,m,N),!p.startsolid){a=N,x=F,f=1;break}if(N=de(a),ye(N,F,-1),p=r(N,u,m,N),!p.startsolid){a=N,x=F,f=-1;break}}if(p.startsolid)continue;let V=lt[c^1],b=Xt(e,V,n,o);if(b=tr(b,x,f),p=r(a,u,m,b),p.startsolid)continue;let A=Qo(l.normal),O=g(p.endpos??b,M(A,.125)),_=q(O,b),S=g(e,_);S=nr(S,x,f),!r(S,n,o,S).startsolid&&i.push({origin:S,distance:re(_)})}return i.length===0?{result:"no-good-position",origin:{...e}}:(i.sort((c,l)=>c.distance-l.distance),{result:"fixed",origin:{...i[0].origin}})}var or=100,dt=200,Jt=150,Fe=25,rr=15,sr=1,ir={x:0,y:0,z:1},cr=(t,e)=>({fraction:1,endpos:e,allsolid:!1,startsolid:!1});function ft(t){let e=0,n=0,o=0;return t&262144&&(e+=1),t&524288&&(n+=1),t&1048576&&(e-=1),t&2097152&&(n-=1),t&4194304&&(o+=1),t&8388608&&(o-=1),e===0&&n===0&&o===0?v:{x:e,y:n,z:o}}function Zt(t){let{watertype:e,waterlevel:n,onGround:o,waterSpeed:r}=t;if((e&16515072)===0)return v;let s=ft(e);if(s===v)return v;let i=r;return n===1&&o&&(i*=.5),M(s,i)}function qt(t){let{groundContents:e,scale:n=or}=t,o=ft(e);return o===v?v:M(o,n)}function ve(t){let{wishVelocity:e,onLadder:n,onGround:o,waterlevel:r,watertype:s,groundContents:i,cmd:c,viewPitch:l,maxSpeed:u,ladderMod:m,waterSpeed:a,forward:p,origin:x,mins:f,maxs:V,trace:b=cr}=t,A=e;n&&(A=ar({wishVelocity:A,cmd:c,waterlevel:r,viewPitch:l,maxSpeed:u,ladderMod:m,onGround:o,forward:p,origin:x,mins:f,maxs:V,trace:b}));let O=Zt({watertype:s,waterlevel:r,onGround:o,waterSpeed:a});if(O!==v&&(A=g(A,O)),o){let _=qt({groundContents:i});_!==v&&(A=g(A,_))}return A}function ar(t){let{wishVelocity:e,cmd:n,waterlevel:o,viewPitch:r,maxSpeed:s,ladderMod:i,onGround:c,forward:l,origin:u,mins:m,maxs:a,trace:p}=t,x=n.buttons??0,f={...e};if((x&24)!==0){let V=ot(o)?s:dt;f={...f,z:x&8?V:-V}}else if(n.forwardmove){let V=Yt(n.forwardmove,-dt,dt);if(n.forwardmove>0){let b=r<rr?V:-V;f={...f,z:b}}else c||(f={...f,x:0,y:0}),f={...f,z:V}}else f={...f,z:0};if(!c)if(n.sidemove){let V=Yt(n.sidemove,-Jt,Jt);o<2&&(V*=i);let b=z({x:l.x,y:l.y,z:0});if(b.x!==0||b.y!==0){let A=g(u,M(b,sr)),O=p(u,A,m,a);if(O.fraction!==1&&!O.allsolid&&O.contents!==void 0&&(O.contents&536870912)!==0&&O.planeNormal){let _=$(O.planeNormal,ir);f={...f,x:0,y:0},f=g(f,M(_,-V))}}}else f={...f,x:jt(f.x),y:jt(f.y)};return f}function Yt(t,e,n){return Math.max(e,Math.min(n,t))}function jt(t){return t<-Fe?-Fe:t>Fe?Fe:t}var lr=1.5,$t=.5,ur=1.01;function dr(t){let{origin:e,cmd:n,frametime:o,pmFriction:r,pmStopSpeed:s,pmMaxSpeed:i,pmAccelerate:c,pmWaterSpeed:l,doclip:u,forward:m,right:a,mins:p,maxs:x,trace:f,overbounce:V=ur,stepSize:b,maxBumps:A,maxClipPlanes:O}=t,_=fr({velocity:t.velocity,pmFriction:r,pmStopSpeed:s,frametime:o}),S=mr({cmd:n,forward:m,right:a,pmMaxSpeed:i,pmWaterSpeed:l});if(S.wishspeed>0&&(_=X({velocity:_,wishdir:S.wishdir,wishspeed:S.accelSpeed,accel:c,frametime:o})),!u){let R=M(_,o);return{origin:g(e,R),velocity:_,planes:[],blocked:0,stopped:_.x===0&&_.y===0&&_.z===0,stepped:!1,stepHeight:0}}if(!f||!p||!x)throw new Error("applyPmoveFlyMove: doclip=true requires trace/mins/maxs");return oe({origin:e,velocity:_,frametime:o,overbounce:V,trace:f,mins:p,maxs:x,stepSize:b,maxBumps:A,maxClipPlanes:O})}function fr(t){let{velocity:e,pmFriction:n,pmStopSpeed:o,frametime:r}=t,s=U(e);if(s<1)return{x:0,y:0,z:0};let i=n*lr,l=(s<o?o:s)*i*r,u=s-l;return u<0&&(u=0),u===s?e:M(e,u/s)}function mr(t){let{cmd:e,forward:n,right:o,pmMaxSpeed:r,pmWaterSpeed:s}=t,i=z(n),c=z(o),u={x:i.x*e.forwardmove+c.x*e.sidemove,y:i.y*e.forwardmove+c.y*e.sidemove,z:i.z*e.forwardmove+c.z*e.sidemove},m=e.buttons??0;m&8&&(u=g(u,{x:0,y:0,z:s*$t})),m&16&&(u=g(u,{x:0,y:0,z:-s*$t}));let a=U(u),p=a===0?{x:0,y:0,z:0}:z(u);if(a>r){let f=r/a;u=M(u,f),a=r,p=a===0?{x:0,y:0,z:0}:z(u)}let x=a*2;return{wishdir:p,wishspeed:a,accelSpeed:x}}function he(t){let{origin:e,mins:n,viewheight:o,pointContents:r}=t,s=o-n.z,i=s/2,c={x:e.x,y:e.y,z:e.z+n.z+1},l=r(c);if((l&56)===0)return{waterlevel:0,watertype:0};let u=l,m=1,a={x:c.x,y:c.y,z:e.z+n.z+i};if(l=r(a),(l&56)!==0){m=2;let p={x:c.x,y:c.y,z:e.z+n.z+s};l=r(p),(l&56)!==0&&(m=3)}return{waterlevel:m,watertype:u}}var pr=270;function xr(t,e){return(t&e)!==0}function yr(t){let{pmFlags:e,pmType:n,buttons:o,waterlevel:r,onGround:s,velocity:i,jumpHeight:c=pr}=t;if(e&16)return{pmFlags:e,onGround:s,velocity:i,jumpSound:!1,jumped:!1};let l=xr(o,8),u=e,m=s,a=!1,p=!1,x=i;if(!l)return u=K(u,2),{pmFlags:u,onGround:m,velocity:x,jumpSound:a,jumped:p};if(hr(u))return{pmFlags:u,onGround:m,velocity:x,jumpSound:a,jumped:p};if(n===4)return{pmFlags:u,onGround:m,velocity:x,jumpSound:a,jumped:p};if(r>=2)return m=!1,{pmFlags:u,onGround:m,velocity:x,jumpSound:a,jumped:p};if(!m)return{pmFlags:u,onGround:m,velocity:x,jumpSound:a,jumped:p};u=G(u,2),u=K(u,4),m=!1,a=!0,p=!0;let f=i.z+c,V=f<c?c:f;return x={...i,z:V},{pmFlags:u,onGround:m,velocity:x,jumpSound:a,jumped:p}}function hr(t){return(t&2)!==0}function ze(t,e,n){return{x:t,y:e,z:n}}function Le(t,e){let n=ze(-16,-16,0),o=ze(16,16,16);if(t===5)return{mins:n,maxs:o,viewheight:8};let r=t===4||(e&1)!==0,s=ze(n.x,n.y,-24),i=ze(o.x,o.y,r?4:32);return{mins:s,maxs:i,viewheight:r?-2:22}}var Tr=4,_r=32,br=8;function Sr(t){let{pmType:e}=t;if(e===5){let i=Le(e,t.pmFlags);return{pmFlags:t.pmFlags,ducked:w(t.pmFlags,1),changed:!1,...i}}let n=t.pmFlags,o=!1;e===4?w(n,1)||(n=G(n,1),o=!0):Ar(t)?!w(n,1)&&!Vr(t)&&(n=G(n,1),o=!0):w(n,1)&&!Er(t)&&(n=K(n,1),o=!0);let r=Le(e,n),s=e===4||w(n,1);return{pmFlags:n,ducked:s,changed:o,...r}}function Ar(t){return(t.buttons&16)===0||t.onLadder||t.n64Physics?!1:!!(t.hasGroundEntity||t.waterlevel<=1&&!Nr(t))}function Vr(t){return t.trace({start:t.origin,end:t.origin,mins:t.mins,maxs:Qt(t.maxs,Tr),mask:3}).allsolid}function Er(t){return t.trace({start:t.origin,end:t.origin,mins:t.mins,maxs:Qt(t.maxs,_r),mask:3}).allsolid}function Nr(t){let e={x:t.origin.x,y:t.origin.y,z:t.origin.z-br};return t.trace({start:t.origin,end:e,mins:t.mins,maxs:t.maxs,mask:3}).fraction<1?!1:t.trace({start:t.origin,end:e,mins:t.mins,maxs:t.maxs,mask:56}).fraction<1}function Qt(t,e){return{x:t.x,y:t.y,z:e}}var Cr=.25,Or=180,Rr=100,gr=.7,Mr=.9,Pr=64,Fr=128,vr=1.01,zr=1080;function Lr(t){let{pmType:e,n64Physics:n,velocity:o,startVelocity:r,origin:s,mins:i,maxs:c,viewheight:l,trace:u,pointContents:m}=t,a=t.pmFlags,p=t.pmTime,x,f=w(a,4),V,b=0;if(o.z>Or||e===1)a=K(a,4),f=!1;else{let S={x:s.x,y:s.y,z:s.z-Cr},R=u(s,S,i,c);V=R,b=R.contents??0;let E=R.planeNormal,F=R.fraction<1&&!!E&&E.z<gr;if(F&&E){let N=g(s,E),B=u(s,N,i,c);B.fraction<1&&!B.startsolid&&(F=!1)}if(R.fraction===1||!E||F&&!R.startsolid)a=K(a,4),f=!1;else{f=!0,w(a,8)&&(a&=~zr,p=0);let N=w(a,4);if(!N){!n&&o.z>=Rr&&E.z>=Mr&&!w(a,1)&&(a=G(a,1024),p=Pr);let B=Q(o,E,vr);x=r.z-B.z}a=G(a,4),!N&&(n||w(a,1))&&(a=G(a,16),p=Fr)}}let{waterlevel:O,watertype:_}=he({origin:s,mins:i,viewheight:l,pointContents:m});return{pmFlags:a,pmTime:p,onGround:w(a,4),groundTrace:V,groundContents:b,waterlevel:O,watertype:_,impactDelta:x}}var en=1,wr=60,mt=1.01;function Dr(t){let{origin:e,frametime:n,mins:o,maxs:r,trace:s,overbounce:i=mt,stepSize:c,maxBumps:l,maxClipPlanes:u,hasTime:m,forward:a,right:p,cmd:x,pmFlags:f,onGround:V,gravity:b,pmType:A,pmAccelerate:O,pmAirAccelerate:_=en,pmMaxSpeed:S,pmDuckSpeed:R,onLadder:E,waterlevel:F,watertype:N,groundContents:B,viewPitch:T,ladderMod:P,pmWaterSpeed:D}=t,C={...t.velocity},W=Ur(a,p,x);W=ve({wishVelocity:W,onLadder:E,onGround:V,waterlevel:F,watertype:N,groundContents:B,cmd:x,viewPitch:T,maxSpeed:w(f,1)?R:S,ladderMod:P,waterSpeed:D,forward:a,origin:e,mins:o,maxs:r,trace:s});let I=w(f,1)?R:S,k=W,h=U(k);if(h!==0&&(k=z(k)),h>I){let j=I/h;W=M(W,j),h=I,h!==0&&(k=z(W))}return E?(C=X({velocity:C,wishdir:k,wishspeed:h,accel:O,frametime:n}),Math.abs(W.z)<Number.EPSILON&&(C=Br(C,b,n)),we({origin:e,velocity:C,frametime:n,mins:o,maxs:r,trace:s,overbounce:i,stepSize:c,maxBumps:l,maxClipPlanes:u,hasTime:m})):V?(C={...C,z:0},C=X({velocity:C,wishdir:k,wishspeed:h,accel:O,frametime:n}),b>0?C={...C,z:0}:C={...C,z:C.z-b*n},C.x===0&&C.y===0?{origin:e,velocity:C,planes:[],blocked:0,stopped:!0,stepped:!1,stepHeight:0}:we({origin:e,velocity:C,frametime:n,mins:o,maxs:r,trace:s,overbounce:i,stepSize:c,maxBumps:l,maxClipPlanes:u,hasTime:m})):(_>0?C=st({velocity:C,wishdir:k,wishspeed:h,accel:_,frametime:n}):C=X({velocity:C,wishdir:k,wishspeed:h,accel:en,frametime:n}),A!==1&&(C={...C,z:C.z-b*n}),we({origin:e,velocity:C,frametime:n,mins:o,maxs:r,trace:s,overbounce:i,stepSize:c,maxBumps:l,maxClipPlanes:u,hasTime:m}))}function Ir(t){let{origin:e,frametime:n,mins:o,maxs:r,trace:s,overbounce:i=mt,stepSize:c,maxBumps:l,maxClipPlanes:u,hasTime:m,forward:a,right:p,cmd:x,pmFlags:f,onGround:V,pmMaxSpeed:b,pmDuckSpeed:A,pmWaterAccelerate:O,pmWaterSpeed:_,onLadder:S,watertype:R,groundContents:E,waterlevel:F,viewPitch:N,ladderMod:B}=t,T={...t.velocity},P=Wr(a,p,x);Gr(x,V)?P={...P,z:P.z-wr}:tn(x,16)?P=g(P,{x:0,y:0,z:-_*.5}):tn(x,8)&&(P=g(P,{x:0,y:0,z:_*.5})),P=ve({wishVelocity:P,onLadder:S,onGround:V,waterlevel:F,watertype:R,groundContents:E,cmd:x,viewPitch:N,maxSpeed:w(f,1)?A:b,ladderMod:B,waterSpeed:_,forward:a,origin:e,mins:o,maxs:r,trace:s});let D=P,C=U(D);if(C!==0&&(D=z(D)),C>b){let J=b/C;P=M(P,J),C=b,C!==0&&(D=z(P))}if(C*=.5,w(f,1)&&C>A){let J=A/C;P=M(P,J),C=A,C!==0&&(D=z(P))}return T=X({velocity:T,wishdir:D,wishspeed:C,accel:O,frametime:n}),we({origin:e,velocity:T,frametime:n,mins:o,maxs:r,trace:s,overbounce:i,stepSize:c,maxBumps:l,maxClipPlanes:u,hasTime:m})}function Ur(t,e,n){return{x:t.x*n.forwardmove+e.x*n.sidemove,y:t.y*n.forwardmove+e.y*n.sidemove,z:0}}function Wr(t,e,n){return{x:t.x*n.forwardmove+e.x*n.sidemove,y:t.y*n.forwardmove+e.y*n.sidemove,z:t.z*n.forwardmove+e.z*n.sidemove}}function tn(t,e){return!!((t.buttons??0)&e)}function Gr(t,e){let n=t.forwardmove===0&&t.sidemove===0,o=!((t.buttons??0)&24);return n&&o&&!e}function Br(t,e,n){let o=t.z,r=e*n;return o>0?(o-=r,o<0&&(o=0)):(o+=r,o>0&&(o=0)),{...t,z:o}}function we(t){let{origin:e,velocity:n,frametime:o,mins:r,maxs:s,trace:i,overbounce:c=mt,stepSize:l,maxBumps:u,maxClipPlanes:m,hasTime:a}=t;return oe({origin:e,velocity:n,frametime:o,trace:i,mins:r,maxs:s,overbounce:c,stepSize:l,maxBumps:u,maxClipPlanes:m,hasTime:a})}var kr=1,Hr=40,De=50,nn=350,Kr=2048,on=.1,Xr=800,Jr=50,rn=.7,Yr=18,jr=1.01,Zr=2;function qr(t){let{pmFlags:e,pmTime:n,waterlevel:o,watertype:r,gravity:s,cmd:i,forward:c,origin:l,velocity:u,mins:m,maxs:a,viewheight:p,trace:x,pointContents:f,onGround:V,overbounce:b=jr,stepSize:A=Yr,maxBumps:O,maxClipPlanes:_}=t;if(n>0)return{pmFlags:e,pmTime:n,velocity:u,performedWaterJump:!1};let S=K(e,128),R=n,E=u,F=z({x:c.x,y:c.y,z:0}),N=re(F)>0;if(o<2&&N){let h=g(l,M(F,kr)),j=x(l,h,m,a),yn=j.contents??0;j.fraction<1&&(yn&536870912)!==0&&(S=G(S,128))}if(s===0)return{pmFlags:S,pmTime:R,velocity:E,performedWaterJump:!1};if(((i.buttons??0)&8)===0&&i.forwardmove<=0)return{pmFlags:S,pmTime:R,velocity:E,performedWaterJump:!1};if(o!==2)return{pmFlags:S,pmTime:R,velocity:E,performedWaterJump:!1};if((r&8192)!==0)return{pmFlags:S,pmTime:R,velocity:E,performedWaterJump:!1};if(!N)return{pmFlags:S,pmTime:R,velocity:E,performedWaterJump:!1};let B=g(l,M(F,Hr)),T=x(l,B,m,a);if(T.fraction===1||!T.planeNormal||T.planeNormal.z>=rn)return{pmFlags:S,pmTime:R,velocity:E,performedWaterJump:!1};let P={x:F.x*De,y:F.y*De,z:nn},D=l,C=!0,W=$r(s);for(let h=0;h<W;h++){P={x:P.x,y:P.y,z:P.z-s*on},P.z<0&&(C=!1);let j=oe({origin:D,velocity:P,frametime:on,trace:x,mins:m,maxs:a,overbounce:b,stepSize:A,maxBumps:O,maxClipPlanes:_,hasTime:C});D=j.origin,P=j.velocity}let J=g(D,{x:0,y:0,z:-Zr}),I=x(D,J,m,a);return I.fraction===1||!I.planeNormal||I.planeNormal.z<rn||I.endpos.z<l.z?{pmFlags:S,pmTime:R,velocity:E,performedWaterJump:!1}:V&&Math.abs(l.z-I.endpos.z)<=A?{pmFlags:S,pmTime:R,velocity:E,performedWaterJump:!1}:he({origin:I.endpos,mins:m,viewheight:p,pointContents:f}).waterlevel>=2?{pmFlags:S,pmTime:R,velocity:E,performedWaterJump:!1}:(S=G(S,8),R=Kr,E={x:F.x*De,y:F.y*De,z:nn},{pmFlags:S,pmTime:R,velocity:E,performedWaterJump:!0})}function $r(t){if(t===0)return 0;let e=Math.floor(10*(Xr/t));return e<=0?0:Math.min(Jr,e)}var pt=[0,-1,1];function xt(t){let{origin:e,mins:n,maxs:o,trace:r}=t;return!r(e,e,n,o).allsolid}function Qr(t){let{origin:e,velocity:n,mins:o,maxs:r,previousOrigin:s,trace:i}=t;if(xt({origin:e,mins:o,maxs:r,trace:i}))return{origin:{...e},velocity:{...n},resolution:"unchanged"};let c=ut({origin:e,mins:o,maxs:r,trace:(l,u,m,a)=>i(l,a,u,m)});return c.result==="fixed"||c.result==="good-position"?{origin:c.origin,velocity:{...n},resolution:"fixed"}:{origin:{...s},velocity:{...n},resolution:"reverted"}}function es(t){let{origin:e,mins:n,maxs:o,trace:r}=t;for(let s of pt)for(let i of pt)for(let c of pt){let l={x:e.x+c,y:e.y+i,z:e.z+s};if(xt({origin:l,mins:n,maxs:o,trace:r}))return{origin:l,snapped:c!==0||i!==0||s!==0}}return{origin:{...e},snapped:!1}}function ts(t,e){return{x:t.x+e.x,y:t.y+e.y,z:t.z+e.z}}function ns(t){return t>89&&t<180?89:t<271&&t>=180?271:t}function os(t){let{pmFlags:e,cmdAngles:n,deltaAngles:o}=t,r;(e&32)!==0?r={x:0,y:n.y+o.y,z:0}:(r=ts(n,o),r={...r,x:ns(r.x)});let s=Xe(r);return{viewangles:r,...s}}var rs=200,ss=200,is=200,cs=140,as=150,ls=3;function us(t){let e=me(t);return e>89&&e<180?89:e<271&&e>=180?271:e}function ds(t,e){return{x:us(t.x+e.x),y:me(t.y+e.y),z:me(t.z+e.z)}}function fs(t,e){let n=e.sensitivityX??e.sensitivity,o=(e.sensitivityY??e.sensitivity)*(e.invertY?-1:1);return{x:t.deltaY*o,y:t.deltaX*n,z:0}}var sn=(h=>(h[h.bad=0]="bad",h[h.muzzleflash=1]="muzzleflash",h[h.muzzleflash2=2]="muzzleflash2",h[h.temp_entity=3]="temp_entity",h[h.layout=4]="layout",h[h.inventory=5]="inventory",h[h.nop=6]="nop",h[h.disconnect=7]="disconnect",h[h.reconnect=8]="reconnect",h[h.sound=9]="sound",h[h.print=10]="print",h[h.stufftext=11]="stufftext",h[h.serverdata=12]="serverdata",h[h.configstring=13]="configstring",h[h.spawnbaseline=14]="spawnbaseline",h[h.centerprint=15]="centerprint",h[h.download=16]="download",h[h.playerinfo=17]="playerinfo",h[h.packetentities=18]="packetentities",h[h.deltapacketentities=19]="deltapacketentities",h[h.frame=20]="frame",h[h.splitclient=21]="splitclient",h[h.configblast=22]="configblast",h[h.spawnbaselineblast=23]="spawnbaselineblast",h[h.level_restart=24]="level_restart",h[h.damage=25]="damage",h[h.locprint=26]="locprint",h[h.fog=27]="fog",h[h.waitingforplayers=28]="waitingforplayers",h[h.bot_chat=29]="bot_chat",h[h.poi=30]="poi",h[h.help_path=31]="help_path",h[h.muzzleflash3=32]="muzzleflash3",h[h.achievement=33]="achievement",h))(sn||{}),cn=(s=>(s[s.bad=0]="bad",s[s.nop=1]="nop",s[s.move=2]="move",s[s.userinfo=3]="userinfo",s[s.stringcmd=4]="stringcmd",s))(cn||{});var an=(d=>(d[d.GUNSHOT=0]="GUNSHOT",d[d.BLOOD=1]="BLOOD",d[d.BLASTER=2]="BLASTER",d[d.RAILTRAIL=3]="RAILTRAIL",d[d.SHOTGUN=4]="SHOTGUN",d[d.EXPLOSION1=5]="EXPLOSION1",d[d.EXPLOSION2=6]="EXPLOSION2",d[d.ROCKET_EXPLOSION=7]="ROCKET_EXPLOSION",d[d.GRENADE_EXPLOSION=8]="GRENADE_EXPLOSION",d[d.SPARKS=9]="SPARKS",d[d.SPLASH=10]="SPLASH",d[d.BUBBLETRAIL=11]="BUBBLETRAIL",d[d.SCREEN_SPARKS=12]="SCREEN_SPARKS",d[d.SHIELD_SPARKS=13]="SHIELD_SPARKS",d[d.BULLET_SPARKS=14]="BULLET_SPARKS",d[d.LASER_SPARKS=15]="LASER_SPARKS",d[d.PARASITE_ATTACK=16]="PARASITE_ATTACK",d[d.ROCKET_EXPLOSION_WATER=17]="ROCKET_EXPLOSION_WATER",d[d.GRENADE_EXPLOSION_WATER=18]="GRENADE_EXPLOSION_WATER",d[d.MEDIC_CABLE_ATTACK=19]="MEDIC_CABLE_ATTACK",d[d.BFG_EXPLOSION=20]="BFG_EXPLOSION",d[d.BFG_BIGEXPLOSION=21]="BFG_BIGEXPLOSION",d[d.BOSSTPORT=22]="BOSSTPORT",d[d.BFG_LASER=23]="BFG_LASER",d[d.GRAPPLE_CABLE=24]="GRAPPLE_CABLE",d[d.WELDING_SPARKS=25]="WELDING_SPARKS",d[d.GREENBLOOD=26]="GREENBLOOD",d[d.BLUEHYPERBLASTER=27]="BLUEHYPERBLASTER",d[d.PLASMA_EXPLOSION=28]="PLASMA_EXPLOSION",d[d.TUNNEL_SPARKS=29]="TUNNEL_SPARKS",d[d.BLASTER2=30]="BLASTER2",d[d.RAILTRAIL2=31]="RAILTRAIL2",d[d.FLAME=32]="FLAME",d[d.LIGHTNING=33]="LIGHTNING",d[d.DEBUGTRAIL=34]="DEBUGTRAIL",d[d.PLAIN_EXPLOSION=35]="PLAIN_EXPLOSION",d[d.FLASHLIGHT=36]="FLASHLIGHT",d[d.FORCEWALL=37]="FORCEWALL",d[d.HEATBEAM=38]="HEATBEAM",d[d.MONSTER_HEATBEAM=39]="MONSTER_HEATBEAM",d[d.STEAM=40]="STEAM",d[d.BUBBLETRAIL2=41]="BUBBLETRAIL2",d[d.MOREBLOOD=42]="MOREBLOOD",d[d.HEATBEAM_SPARKS=43]="HEATBEAM_SPARKS",d[d.HEATBEAM_STEAM=44]="HEATBEAM_STEAM",d[d.CHAINFIST_SMOKE=45]="CHAINFIST_SMOKE",d[d.ELECTRIC_SPARKS=46]="ELECTRIC_SPARKS",d[d.TRACKER_EXPLOSION=47]="TRACKER_EXPLOSION",d[d.TELEPORT_EFFECT=48]="TELEPORT_EFFECT",d[d.DBALL_GOAL=49]="DBALL_GOAL",d[d.WIDOWBEAMOUT=50]="WIDOWBEAMOUT",d[d.NUKEBLAST=51]="NUKEBLAST",d[d.WIDOWSPLASH=52]="WIDOWSPLASH",d[d.EXPLOSION1_BIG=53]="EXPLOSION1_BIG",d[d.EXPLOSION1_NP=54]="EXPLOSION1_NP",d[d.FLECHETTE=55]="FLECHETTE",d[d.BLUEHYPERBLASTER_KEX=56]="BLUEHYPERBLASTER_KEX",d[d.BFG_ZAP=57]="BFG_ZAP",d[d.BERSERK_SLAM=58]="BERSERK_SLAM",d[d.GRAPPLE_CABLE_2=59]="GRAPPLE_CABLE_2",d[d.POWER_SPLASH=60]="POWER_SPLASH",d[d.LIGHTNING_BEAM=61]="LIGHTNING_BEAM",d[d.EXPLOSION1_NL=62]="EXPLOSION1_NL",d[d.EXPLOSION2_NL=63]="EXPLOSION2_NL",d))(an||{});var ms=1024,ps=256,xs=16,ys=512,hs=1400,Ts=0,_s=1,bs=2,Ss=3,As=4,Vs=5,Es=6,Ns=7,Cs=8,Os=9,Rs=10,gs=11,Ms=12,Ps=13;var ln=(i=>(i[i.LAYOUTS_LAYOUT=1]="LAYOUTS_LAYOUT",i[i.LAYOUTS_INVENTORY=2]="LAYOUTS_INVENTORY",i[i.LAYOUTS_HIDE_HUD=4]="LAYOUTS_HIDE_HUD",i[i.LAYOUTS_INTERMISSION=8]="LAYOUTS_INTERMISSION",i[i.LAYOUTS_HELP=16]="LAYOUTS_HELP",i[i.LAYOUTS_HIDE_CROSSHAIR=32]="LAYOUTS_HIDE_CROSSHAIR",i))(ln||{});function yt(t){return t<<16>>16}function un(t,e,n){let o=Math.floor(n/2),r=n%2!==0,s=e+o,i=t[s]||0;if(r){let c=t[s+1]||0,l=i>>>8&255;return(c&255)<<8|l}else return i&65535}function Fs(t,e,n,o){let r=Math.floor(n/2),s=n%2!==0,i=e+r;if(t[i]===void 0&&(t[i]=0),!s)t[i]=yt(o);else{t[i+1]===void 0&&(t[i+1]=0);let c=t[i],l=t[i+1],u=o&255,m=c&255|u<<8;t[i]=yt(m);let p=o>>>8&255|l&65280;t[i+1]=yt(p)}}function ht(t,e,n,o,r){let s=r*n,i=Math.floor(s/8),c=s%8,l=(1<<r)-1<<c,m=un(t,e,i)&~l|o<<c&l;Fs(t,e,i,m&65535)}function Tt(t,e,n,o){let r=o*n,s=Math.floor(r/8),i=r%8,c=(1<<o)-1<<i;return(un(t,e,s)&c)>>>i}var dn=(N=>(N.QuadDamage="quad",N.Invulnerability="invulnerability",N.EnviroSuit="enviro_suit",N.Rebreather="rebreather",N.Silencer="silencer",N.PowerScreen="power_screen",N.PowerShield="power_shield",N.QuadFire="quad_fire",N.Invisibility="invisibility",N.Bandolier="bandolier",N.AmmoPack="ammo_pack",N.IRGoggles="ir_goggles",N.DoubleDamage="double_damage",N.SphereVengeance="sphere_vengeance",N.SphereHunter="sphere_hunter",N.SphereDefender="sphere_defender",N.Doppelganger="doppelganger",N.TagToken="tag_token",N.TechResistance="tech_resistance",N.TechStrength="tech_strength",N.TechHaste="tech_haste",N.TechRegeneration="tech_regeneration",N.Flashlight="flashlight",N.Compass="compass",N))(dn||{});var fn=(y=>(y[y.STAT_HEALTH_ICON=0]="STAT_HEALTH_ICON",y[y.STAT_HEALTH=1]="STAT_HEALTH",y[y.STAT_AMMO_ICON=2]="STAT_AMMO_ICON",y[y.STAT_AMMO=3]="STAT_AMMO",y[y.STAT_ARMOR_ICON=4]="STAT_ARMOR_ICON",y[y.STAT_ARMOR=5]="STAT_ARMOR",y[y.STAT_SELECTED_ICON=6]="STAT_SELECTED_ICON",y[y.STAT_PICKUP_ICON=7]="STAT_PICKUP_ICON",y[y.STAT_PICKUP_STRING=8]="STAT_PICKUP_STRING",y[y.STAT_TIMER_ICON=9]="STAT_TIMER_ICON",y[y.STAT_TIMER=10]="STAT_TIMER",y[y.STAT_HELPICON=11]="STAT_HELPICON",y[y.STAT_SELECTED_ITEM=12]="STAT_SELECTED_ITEM",y[y.STAT_LAYOUTS=13]="STAT_LAYOUTS",y[y.STAT_FRAGS=14]="STAT_FRAGS",y[y.STAT_FLASHES=15]="STAT_FLASHES",y[y.STAT_CHASE=16]="STAT_CHASE",y[y.STAT_SPECTATOR=17]="STAT_SPECTATOR",y[y.STAT_CTF_TEAM1_PIC=18]="STAT_CTF_TEAM1_PIC",y[y.STAT_CTF_TEAM1_CAPS=19]="STAT_CTF_TEAM1_CAPS",y[y.STAT_CTF_TEAM2_PIC=20]="STAT_CTF_TEAM2_PIC",y[y.STAT_CTF_TEAM2_CAPS=21]="STAT_CTF_TEAM2_CAPS",y[y.STAT_CTF_FLAG_PIC=22]="STAT_CTF_FLAG_PIC",y[y.STAT_CTF_JOINED_TEAM1_PIC=23]="STAT_CTF_JOINED_TEAM1_PIC",y[y.STAT_CTF_JOINED_TEAM2_PIC=24]="STAT_CTF_JOINED_TEAM2_PIC",y[y.STAT_CTF_TEAM1_HEADER=25]="STAT_CTF_TEAM1_HEADER",y[y.STAT_CTF_TEAM2_HEADER=26]="STAT_CTF_TEAM2_HEADER",y[y.STAT_CTF_TECH=27]="STAT_CTF_TECH",y[y.STAT_CTF_ID_VIEW=28]="STAT_CTF_ID_VIEW",y[y.STAT_CTF_MATCH=29]="STAT_CTF_MATCH",y[y.STAT_CTF_ID_VIEW_COLOR=30]="STAT_CTF_ID_VIEW_COLOR",y[y.STAT_CTF_TEAMINFO=31]="STAT_CTF_TEAMINFO",y[y.STAT_WEAPONS_OWNED_1=32]="STAT_WEAPONS_OWNED_1",y[y.STAT_WEAPONS_OWNED_2=33]="STAT_WEAPONS_OWNED_2",y[y.STAT_AMMO_INFO_START=34]="STAT_AMMO_INFO_START",y[y.STAT_POWERUP_INFO_START=41]="STAT_POWERUP_INFO_START",y[y.STAT_KEY_A=44]="STAT_KEY_A",y[y.STAT_KEY_B=45]="STAT_KEY_B",y[y.STAT_KEY_C=46]="STAT_KEY_C",y[y.STAT_ACTIVE_WHEEL_WEAPON=47]="STAT_ACTIVE_WHEEL_WEAPON",y[y.STAT_COOP_RESPAWN=48]="STAT_COOP_RESPAWN",y[y.STAT_LIVES=49]="STAT_LIVES",y[y.STAT_HIT_MARKER=50]="STAT_HIT_MARKER",y[y.STAT_SELECTED_ITEM_NAME=51]="STAT_SELECTED_ITEM_NAME",y[y.STAT_HEALTH_BARS=52]="STAT_HEALTH_BARS",y[y.STAT_ACTIVE_WEAPON=53]="STAT_ACTIVE_WEAPON",y[y.STAT_LAST=54]="STAT_LAST",y))(fn||{}),Ie=12,Ue=9,vs=Math.ceil(Ie*Ue/16),We=23,Ge=2,zs=Math.ceil(We*Ge/16),mn={power_screen:0,power_shield:1,quad:3,quad_fire:4,invulnerability:5,invisibility:6,silencer:7,rebreather:8,enviro_suit:9,ir_goggles:11,double_damage:12,sphere_vengeance:13,sphere_hunter:14,sphere_defender:15,doppelganger:16,flashlight:17,compass:18,tech_resistance:19,tech_strength:20,tech_haste:21,tech_regeneration:22};function Ls(t,e,n){if(e<0||e>=Ie)return;let o=n;o>511&&(o=511),o<0&&(o=0),ht(t,34,e,o,Ue)}function ws(t,e){return e<0||e>=Ie?0:Tt(t,34,e,Ue)}function Ds(t,e,n){let o;if(typeof e=="number"?o=e:o=mn[e],o===void 0||o<0||o>=We)return;let r=n;r>3&&(r=3),r<0&&(r=0),ht(t,41,o,r,Ge)}function Is(t,e){let n;return typeof e=="number"?n=e:n=mn[e],n===void 0||n<0||n>=We?0:Tt(t,41,n,Ge)}var _t={};ke(_t,{U_ANGLE1:()=>Ks,U_ANGLE2:()=>Xs,U_ANGLE3:()=>Js,U_EFFECTS:()=>Zs,U_EVENT:()=>Qs,U_FRAME:()=>Ys,U_MODEL:()=>Ws,U_MODEL2:()=>ti,U_MODEL3:()=>ni,U_MODEL4:()=>oi,U_MOREBITS:()=>ei,U_NUMBER:()=>Us,U_ORIGIN1:()=>Bs,U_ORIGIN2:()=>ks,U_ORIGIN3:()=>Hs,U_REMOVE:()=>ri,U_RENDERFX:()=>qs,U_SKIN:()=>js,U_SOLID:()=>$s,U_SOUND:()=>Gs});var Us=1,Ws=2,Gs=4,Bs=8,ks=16,Hs=32,Ks=64,Xs=128,Js=256,Ys=512,js=1024,Zs=2048,qs=4096,$s=8192,Qs=16384,ei=32768,ti=1,ni=2,oi=4,ri=32768;var Te=.025,si=(t,e)=>{let n={...t.origin};n.z-=.25;let o=e(t.origin,n);return{...t,onGround:o.fraction<1}},ii=(t,e)=>{let n={...t.origin};return n.z+=t.mins.z+1,e(n)&33554432?{...t,waterLevel:1}:{...t,waterLevel:0}},ci=(t,e,n,o)=>{let r={...t};r=si(r,n),r=ii(r,o);let{origin:s,velocity:i,onGround:c,waterLevel:l}=r,u=rt({velocity:i,frametime:Te,onGround:c,groundIsSlick:!1,onLadder:!1,waterlevel:l,pmFriction:6,pmStopSpeed:100,pmWaterFriction:1}),m=l>=2?ct({forward:{x:1,y:0,z:0},right:{x:0,y:1,z:0},cmd:e,maxSpeed:320}):it({forward:{x:1,y:0,z:0},right:{x:0,y:1,z:0},cmd:e,maxSpeed:320}),a=X({velocity:u,wishdir:m.wishdir,wishspeed:m.wishspeed,accel:c?10:1,frametime:Te}),p=n(s,{x:s.x+a.x*Te,y:s.y+a.y*Te,z:s.z+a.z*Te});return{...r,origin:p.endpos,velocity:a}};var bt=class{constructor(e){e instanceof Uint8Array?this.view=new DataView(e.buffer,e.byteOffset,e.byteLength):this.view=new DataView(e),this.offset=0,this.length=this.view.byteLength}getPosition(){return this.offset}seek(e){if(e<0||e>this.length)throw new Error(`Seek out of bounds: ${e} (length: ${this.length})`);this.offset=e}hasMore(){return this.offset<this.length}readChar(){let e=this.view.getInt8(this.offset);return this.offset+=1,e}readByte(){let e=this.view.getUint8(this.offset);return this.offset+=1,e}readShort(){let e=this.view.getInt16(this.offset,!0);return this.offset+=2,e}readUShort(){let e=this.view.getUint16(this.offset,!0);return this.offset+=2,e}readLong(){let e=this.view.getInt32(this.offset,!0);return this.offset+=4,e}readULong(){let e=this.view.getUint32(this.offset,!0);return this.offset+=4,e}readFloat(){let e=this.view.getFloat32(this.offset,!0);return this.offset+=4,e}readString(){let e="";for(;this.offset<this.length;){let n=this.readChar();if(n===-1||n===0)break;e+=String.fromCharCode(n)}return e}readStringLine(){let e="";for(;this.offset<this.length;){let n=this.readChar();if(n===-1||n===0||n===10)break;e+=String.fromCharCode(n)}return e}readCoord(){return this.readShort()*(1/8)}readAngle(){return this.readChar()*(360/256)}readAngle16(){return this.readShort()*360/65536}readData(e){if(this.offset+e>this.length)throw new Error(`Read out of bounds: ${this.offset+e} (length: ${this.length})`);let n=new Uint8Array(this.view.buffer,this.view.byteOffset+this.offset,e);return this.offset+=e,new Uint8Array(n)}readPos(e){e.x=this.readCoord(),e.y=this.readCoord(),e.z=this.readCoord()}readDir(e){let n=this.readByte();if(n>=162){e.x=0,e.y=0,e.z=0;return}let o=se[n];e.x=o[0],e.y=o[1],e.z=o[2]}};var St=class{constructor(e=1400){typeof e=="number"?(this.buffer=new Uint8Array(e),this.fixed=!1):(this.buffer=e,this.fixed=!0),this.view=new DataView(this.buffer.buffer,this.buffer.byteOffset,this.buffer.byteLength),this.offset=0}ensureSpace(e){if(this.offset+e>this.buffer.byteLength){if(this.fixed)throw new Error(`Buffer overflow: capacity ${this.buffer.byteLength}, needed ${this.offset+e}`);let n=Math.max(this.buffer.byteLength*2,this.offset+e),o=new Uint8Array(n);o.set(this.buffer),this.buffer=o,this.view=new DataView(this.buffer.buffer,this.buffer.byteOffset,this.buffer.byteLength)}}writeByte(e){this.ensureSpace(1),this.view.setUint8(this.offset,e),this.offset+=1}writeChar(e){this.ensureSpace(1),this.view.setInt8(this.offset,e),this.offset+=1}writeShort(e){this.ensureSpace(2),this.view.setInt16(this.offset,e,!0),this.offset+=2}writeLong(e){this.ensureSpace(4),this.view.setInt32(this.offset,e,!0),this.offset+=4}writeFloat(e){this.ensureSpace(4),this.view.setFloat32(this.offset,e,!0),this.offset+=4}writeString(e){let n=e.length;this.ensureSpace(n+1);for(let o=0;o<n;o++)this.view.setUint8(this.offset+o,e.charCodeAt(o));this.view.setUint8(this.offset+n,0),this.offset+=n+1}writeCoord(e){this.writeShort(Math.trunc(e*8))}writeAngle(e){this.writeByte(Math.trunc(e*256/360)&255)}writeAngle16(e){this.writeShort(Math.trunc(e*65536/360)&65535)}writePos(e){this.writeCoord(e.x),this.writeCoord(e.y),this.writeCoord(e.z)}writeDir(e){let n=-1,o=0;if(e.x===0&&e.y===0&&e.z===0){this.writeByte(0);return}for(let r=0;r<se.length;r++){let s=se[r],i=e.x*s[0]+e.y*s[1]+e.z*s[2];i>n&&(n=i,o=r)}this.writeByte(o)}getData(){return this.buffer.slice(0,this.offset)}getBuffer(){return this.buffer}getOffset(){return this.offset}reset(){this.offset=0}};var pn=(_=>(_.Blaster="blaster",_.Shotgun="shotgun",_.SuperShotgun="super_shotgun",_.Machinegun="machinegun",_.Chaingun="chaingun",_.HandGrenade="hand_grenade",_.GrenadeLauncher="grenade_launcher",_.RocketLauncher="rocket_launcher",_.HyperBlaster="hyperblaster",_.Railgun="railgun",_.BFG10K="bfg10k",_.Grapple="grapple",_.ChainFist="chainfist",_.EtfRifle="etf_rifle",_.ProxLauncher="prox_launcher",_.IonRipper="ionripper",_.PlasmaBeam="plasmabeam",_.Phalanx="phalanx",_.Disruptor="disruptor",_))(pn||{});var At=(f=>(f[f.Bullets=0]="Bullets",f[f.Shells=1]="Shells",f[f.Rockets=2]="Rockets",f[f.Grenades=3]="Grenades",f[f.Cells=4]="Cells",f[f.Slugs=5]="Slugs",f[f.MagSlugs=6]="MagSlugs",f[f.Trap=7]="Trap",f[f.Flechettes=8]="Flechettes",f[f.Tesla=9]="Tesla",f[f.Disruptor=10]="Disruptor",f[f.Prox=11]="Prox",f[f.Nuke=12]="Nuke",f[f.Rounds=13]="Rounds",f))(At||{}),ai=Object.keys(At).length/2,xn=(a=>(a.Shells="ammo_shells",a.Bullets="ammo_bullets",a.Rockets="ammo_rockets",a.Grenades="ammo_grenades",a.Cells="ammo_cells",a.Slugs="ammo_slugs",a.MagSlugs="ammo_magslug",a.Flechettes="ammo_flechettes",a.Disruptor="ammo_disruptor",a.Tesla="ammo_tesla",a.Trap="ammo_trap",a))(xn||{});return Sn(li);})();
|
|
2
2
|
//# sourceMappingURL=index.global.js.map
|