@quake2ts/client 0.0.1

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.
Files changed (120) hide show
  1. package/dist/browser/index.global.js +221 -0
  2. package/dist/browser/index.global.js.map +1 -0
  3. package/dist/cjs/index.cjs +44668 -0
  4. package/dist/cjs/index.cjs.map +1 -0
  5. package/dist/esm/index.js +44623 -0
  6. package/dist/esm/index.js.map +1 -0
  7. package/dist/tsconfig.tsbuildinfo +1 -0
  8. package/dist/types/audio/entity-sound.d.ts +25 -0
  9. package/dist/types/audio/entity-sound.d.ts.map +1 -0
  10. package/dist/types/blend.d.ts +9 -0
  11. package/dist/types/blend.d.ts.map +1 -0
  12. package/dist/types/cgameBridge.d.ts +15 -0
  13. package/dist/types/cgameBridge.d.ts.map +1 -0
  14. package/dist/types/chat.d.ts +20 -0
  15. package/dist/types/chat.d.ts.map +1 -0
  16. package/dist/types/chat.test.d.ts +2 -0
  17. package/dist/types/chat.test.d.ts.map +1 -0
  18. package/dist/types/configStrings.d.ts +22 -0
  19. package/dist/types/configStrings.d.ts.map +1 -0
  20. package/dist/types/demo/camera.d.ts +17 -0
  21. package/dist/types/demo/camera.d.ts.map +1 -0
  22. package/dist/types/demo/handler.d.ts +71 -0
  23. package/dist/types/demo/handler.d.ts.map +1 -0
  24. package/dist/types/demo/itemMapping.d.ts +29 -0
  25. package/dist/types/demo/itemMapping.d.ts.map +1 -0
  26. package/dist/types/demo/storage.d.ts +24 -0
  27. package/dist/types/demo/storage.d.ts.map +1 -0
  28. package/dist/types/effects-system.d.ts +19 -0
  29. package/dist/types/effects-system.d.ts.map +1 -0
  30. package/dist/types/effects.d.ts +9 -0
  31. package/dist/types/effects.d.ts.map +1 -0
  32. package/dist/types/entities.d.ts +31 -0
  33. package/dist/types/entities.d.ts.map +1 -0
  34. package/dist/types/hud/blends.d.ts +4 -0
  35. package/dist/types/hud/blends.d.ts.map +1 -0
  36. package/dist/types/hud/crosshair.d.ts +7 -0
  37. package/dist/types/hud/crosshair.d.ts.map +1 -0
  38. package/dist/types/hud/damage.d.ts +5 -0
  39. package/dist/types/hud/damage.d.ts.map +1 -0
  40. package/dist/types/hud/data.d.ts +31 -0
  41. package/dist/types/hud/data.d.ts.map +1 -0
  42. package/dist/types/hud/diagnostics.d.ts +3 -0
  43. package/dist/types/hud/diagnostics.d.ts.map +1 -0
  44. package/dist/types/hud/icons.d.ts +6 -0
  45. package/dist/types/hud/icons.d.ts.map +1 -0
  46. package/dist/types/hud/layout.d.ts +30 -0
  47. package/dist/types/hud/layout.d.ts.map +1 -0
  48. package/dist/types/hud/messages.d.ts +11 -0
  49. package/dist/types/hud/messages.d.ts.map +1 -0
  50. package/dist/types/hud/numbers.d.ts +3 -0
  51. package/dist/types/hud/numbers.d.ts.map +1 -0
  52. package/dist/types/hud/pickup.d.ts +4 -0
  53. package/dist/types/hud/pickup.d.ts.map +1 -0
  54. package/dist/types/hud/statusbar.d.ts +6 -0
  55. package/dist/types/hud/statusbar.d.ts.map +1 -0
  56. package/dist/types/hud.d.ts +8 -0
  57. package/dist/types/hud.d.ts.map +1 -0
  58. package/dist/types/index.d.ts +119 -0
  59. package/dist/types/index.d.ts.map +1 -0
  60. package/dist/types/input/bindings.d.ts +20 -0
  61. package/dist/types/input/bindings.d.ts.map +1 -0
  62. package/dist/types/input/command-buffer.d.ts +15 -0
  63. package/dist/types/input/command-buffer.d.ts.map +1 -0
  64. package/dist/types/input/controller.d.ts +139 -0
  65. package/dist/types/input/controller.d.ts.map +1 -0
  66. package/dist/types/lod.d.ts +11 -0
  67. package/dist/types/lod.d.ts.map +1 -0
  68. package/dist/types/net/browserWsDriver.d.ts +15 -0
  69. package/dist/types/net/browserWsDriver.d.ts.map +1 -0
  70. package/dist/types/net/clientConnection.d.ts +78 -0
  71. package/dist/types/net/clientConnection.d.ts.map +1 -0
  72. package/dist/types/net/connection.d.ts +96 -0
  73. package/dist/types/net/connection.d.ts.map +1 -0
  74. package/dist/types/net/master.d.ts +26 -0
  75. package/dist/types/net/master.d.ts.map +1 -0
  76. package/dist/types/net/serverBrowser.d.ts +23 -0
  77. package/dist/types/net/serverBrowser.d.ts.map +1 -0
  78. package/dist/types/scoreboard.d.ts +48 -0
  79. package/dist/types/scoreboard.d.ts.map +1 -0
  80. package/dist/types/scoreboard.test.d.ts +2 -0
  81. package/dist/types/scoreboard.test.d.ts.map +1 -0
  82. package/dist/types/session.d.ts +92 -0
  83. package/dist/types/session.d.ts.map +1 -0
  84. package/dist/types/ui/demo-controls.d.ts +14 -0
  85. package/dist/types/ui/demo-controls.d.ts.map +1 -0
  86. package/dist/types/ui/error.d.ts +13 -0
  87. package/dist/types/ui/error.d.ts.map +1 -0
  88. package/dist/types/ui/loading/screen.d.ts +12 -0
  89. package/dist/types/ui/loading/screen.d.ts.map +1 -0
  90. package/dist/types/ui/menu/demo.d.ts +19 -0
  91. package/dist/types/ui/menu/demo.d.ts.map +1 -0
  92. package/dist/types/ui/menu/main.d.ts +27 -0
  93. package/dist/types/ui/menu/main.d.ts.map +1 -0
  94. package/dist/types/ui/menu/maps.d.ts +11 -0
  95. package/dist/types/ui/menu/maps.d.ts.map +1 -0
  96. package/dist/types/ui/menu/multiplayer.d.ts +11 -0
  97. package/dist/types/ui/menu/multiplayer.d.ts.map +1 -0
  98. package/dist/types/ui/menu/options.d.ts +14 -0
  99. package/dist/types/ui/menu/options.d.ts.map +1 -0
  100. package/dist/types/ui/menu/pause.d.ts +12 -0
  101. package/dist/types/ui/menu/pause.d.ts.map +1 -0
  102. package/dist/types/ui/menu/render.d.ts +4 -0
  103. package/dist/types/ui/menu/render.d.ts.map +1 -0
  104. package/dist/types/ui/menu/saveLoad.d.ts +18 -0
  105. package/dist/types/ui/menu/saveLoad.d.ts.map +1 -0
  106. package/dist/types/ui/menu/system.d.ts +15 -0
  107. package/dist/types/ui/menu/system.d.ts.map +1 -0
  108. package/dist/types/ui/menu/types.d.ts +17 -0
  109. package/dist/types/ui/menu/types.d.ts.map +1 -0
  110. package/dist/types/ui/pakLoader.d.ts +23 -0
  111. package/dist/types/ui/pakLoader.d.ts.map +1 -0
  112. package/dist/types/ui/settings.d.ts +18 -0
  113. package/dist/types/ui/settings.d.ts.map +1 -0
  114. package/dist/types/ui/storage.d.ts +7 -0
  115. package/dist/types/ui/storage.d.ts.map +1 -0
  116. package/dist/types/ui/wheels/index.d.ts +16 -0
  117. package/dist/types/ui/wheels/index.d.ts.map +1 -0
  118. package/dist/types/view-effects.d.ts +3 -0
  119. package/dist/types/view-effects.d.ts.map +1 -0
  120. package/package.json +45 -0
@@ -0,0 +1,15 @@
1
+ import { Menu, MenuState } from './types.js';
2
+ export declare class MenuSystem {
3
+ private activeMenu;
4
+ private selectedIndex;
5
+ private menuStack;
6
+ onStateChange?: (active: boolean) => void;
7
+ constructor();
8
+ pushMenu(menu: Menu): void;
9
+ popMenu(): void;
10
+ closeAll(): void;
11
+ handleInput(action: 'up' | 'down' | 'left' | 'right' | 'select' | 'back' | 'char', char?: string): boolean;
12
+ isActive(): boolean;
13
+ getState(): MenuState;
14
+ }
15
+ //# sourceMappingURL=system.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"system.d.ts","sourceRoot":"","sources":["../../../../src/ui/menu/system.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAY,SAAS,EAAE,MAAM,YAAY,CAAC;AAEvD,qBAAa,UAAU;IACrB,OAAO,CAAC,UAAU,CAAqB;IACvC,OAAO,CAAC,aAAa,CAAK;IAC1B,OAAO,CAAC,SAAS,CAAc;IACxB,aAAa,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;;IAIjD,QAAQ,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI;IAgB1B,OAAO,IAAI,IAAI;IAef,QAAQ,IAAI,IAAI;IAWhB,WAAW,CAAC,MAAM,EAAE,IAAI,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,QAAQ,GAAG,MAAM,GAAG,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO;IA+C1G,QAAQ,IAAI,OAAO;IAInB,QAAQ,IAAI,SAAS;CAMtB"}
@@ -0,0 +1,17 @@
1
+ export interface MenuItem {
2
+ readonly label: string;
3
+ readonly action?: () => void;
4
+ readonly type?: 'button' | 'toggle' | 'slider' | 'input';
5
+ readonly getValue?: () => string | number | boolean;
6
+ readonly onUpdate?: (value: any) => void;
7
+ }
8
+ export interface Menu {
9
+ readonly title: string;
10
+ readonly items: MenuItem[];
11
+ readonly parent?: Menu;
12
+ }
13
+ export interface MenuState {
14
+ readonly activeMenu: Menu | null;
15
+ readonly selectedIndex: number;
16
+ }
17
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/ui/menu/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,QAAQ;IACvB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IAC7B,QAAQ,CAAC,IAAI,CAAC,EAAE,QAAQ,GAAG,QAAQ,GAAG,QAAQ,GAAG,OAAO,CAAC;IAEzD,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;IAEpD,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,IAAI,CAAC;CAC1C;AAED,MAAM,WAAW,IAAI;IACnB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,KAAK,EAAE,QAAQ,EAAE,CAAC;IAC3B,QAAQ,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC;CACxB;AAED,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,UAAU,EAAE,IAAI,GAAG,IAAI,CAAC;IACjC,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;CAChC"}
@@ -0,0 +1,23 @@
1
+ export interface PakFile {
2
+ name: string;
3
+ size: number;
4
+ data: ArrayBuffer;
5
+ }
6
+ export declare class PakLoaderUI {
7
+ private onLoad;
8
+ private loadedPaks;
9
+ private container;
10
+ private fileInput;
11
+ private dropZone;
12
+ private pakList;
13
+ private startButton;
14
+ constructor(onLoad: (paks: PakFile[]) => Promise<void>);
15
+ mount(container: HTMLElement): void;
16
+ unmount(): void;
17
+ private render;
18
+ private bindEvents;
19
+ handleFileSelect(files: FileList): Promise<number>;
20
+ private updateList;
21
+ getLoadedPaks(): ReadonlyArray<PakFile>;
22
+ }
23
+ //# sourceMappingURL=pakLoader.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pakLoader.d.ts","sourceRoot":"","sources":["../../../src/ui/pakLoader.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,OAAO;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,WAAW,CAAC;CACrB;AAED,qBAAa,WAAW;IAQR,OAAO,CAAC,MAAM;IAP1B,OAAO,CAAC,UAAU,CAAiB;IACnC,OAAO,CAAC,SAAS,CAA4B;IAC7C,OAAO,CAAC,SAAS,CAAiC;IAClD,OAAO,CAAC,QAAQ,CAA4B;IAC5C,OAAO,CAAC,OAAO,CAA4B;IAC3C,OAAO,CAAC,WAAW,CAAkC;gBAEjC,MAAM,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,OAAO,CAAC,IAAI,CAAC;IAE9D,KAAK,CAAC,SAAS,EAAE,WAAW;IAM5B,OAAO;IAWP,OAAO,CAAC,MAAM;IAqDd,OAAO,CAAC,UAAU;IA+CZ,gBAAgB,CAAC,KAAK,EAAE,QAAQ;IAkCtC,OAAO,CAAC,UAAU;IAQlB,aAAa,IAAI,aAAa,CAAC,OAAO,CAAC;CAG1C"}
@@ -0,0 +1,18 @@
1
+ export interface SettingsStorage {
2
+ getItem(key: string): string | null;
3
+ setItem(key: string, value: string): void;
4
+ }
5
+ export declare class BrowserSettings {
6
+ private readonly storage;
7
+ constructor(storage: SettingsStorage);
8
+ loadCvars(cvars: Map<string, {
9
+ value: string;
10
+ setValue: (v: string) => void;
11
+ }>): void;
12
+ saveCvars(cvars: {
13
+ name: string;
14
+ value: string;
15
+ flags: number;
16
+ }[]): void;
17
+ }
18
+ //# sourceMappingURL=settings.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"settings.d.ts","sourceRoot":"","sources":["../../../src/ui/settings.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,eAAe;IAC9B,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IACpC,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3C;AAED,qBAAa,eAAe;IACd,OAAO,CAAC,QAAQ,CAAC,OAAO;gBAAP,OAAO,EAAE,eAAe;IAErD,SAAS,CAAC,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,IAAI,CAAA;KAAE,CAAC;IAkB9E,SAAS,CAAC,KAAK,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,EAAE;CAalE"}
@@ -0,0 +1,7 @@
1
+ import { SettingsStorage } from './settings.js';
2
+ export declare class LocalStorageSettings implements SettingsStorage {
3
+ getItem(key: string): string | null;
4
+ setItem(key: string, value: string): void;
5
+ }
6
+ export { BrowserSettings, SettingsStorage } from './settings.js';
7
+ //# sourceMappingURL=storage.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"storage.d.ts","sourceRoot":"","sources":["../../../src/ui/storage.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAEhD,qBAAa,oBAAqB,YAAW,eAAe;IACxD,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IASnC,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;CAO5C;AAED,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC"}
@@ -0,0 +1,16 @@
1
+ import { Renderer } from '@quake2ts/engine';
2
+ import { PlayerClient } from '@quake2ts/game';
3
+ export interface WheelMenu {
4
+ active: boolean;
5
+ type: 'weapon' | 'item';
6
+ selectedIndex: number;
7
+ }
8
+ export declare class WheelMenuSystem {
9
+ private state;
10
+ open(type: 'weapon' | 'item'): void;
11
+ close(): void;
12
+ isOpen(): boolean;
13
+ handleInput(deltaX: number, deltaY: number): void;
14
+ render(renderer: Renderer, width: number, height: number, client: PlayerClient): void;
15
+ }
16
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/ui/wheels/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAE9C,MAAM,WAAW,SAAS;IACxB,MAAM,EAAE,OAAO,CAAC;IAChB,IAAI,EAAE,QAAQ,GAAG,MAAM,CAAC;IACxB,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,qBAAa,eAAe;IAC1B,OAAO,CAAC,KAAK,CAIX;IAEF,IAAI,CAAC,IAAI,EAAE,QAAQ,GAAG,MAAM;IAK5B,KAAK;IAIL,MAAM,IAAI,OAAO;IAIjB,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAM1C,MAAM,CAAC,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY;CAU/E"}
@@ -0,0 +1,3 @@
1
+ import { ViewEffects } from '@quake2ts/cgame';
2
+ export declare function applyWeaponKick(view: ViewEffects, quad: boolean): void;
3
+ //# sourceMappingURL=view-effects.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"view-effects.d.ts","sourceRoot":"","sources":["../../src/view-effects.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAI9C,wBAAgB,eAAe,CAAC,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,OAAO,GAAG,IAAI,CAgBtE"}
package/package.json ADDED
@@ -0,0 +1,45 @@
1
+ {
2
+ "name": "@quake2ts/client",
3
+ "version": "0.0.1",
4
+ "type": "module",
5
+ "main": "./dist/cjs/index.cjs",
6
+ "module": "./dist/esm/index.js",
7
+ "types": "./dist/types/index.d.ts",
8
+ "exports": {
9
+ ".": {
10
+ "types": "./dist/types/index.d.ts",
11
+ "import": "./dist/esm/index.js",
12
+ "require": "./dist/cjs/index.cjs",
13
+ "default": "./dist/esm/index.js"
14
+ },
15
+ "./browser": {
16
+ "types": "./dist/types/index.d.ts",
17
+ "default": "./dist/browser/index.js"
18
+ }
19
+ },
20
+ "unpkg": "./dist/browser/index.js",
21
+ "jsdelivr": "./dist/browser/index.js",
22
+ "files": [
23
+ "dist"
24
+ ],
25
+ "sideEffects": false,
26
+ "dependencies": {
27
+ "gl-matrix": "^3.4.4",
28
+ "@quake2ts/engine": "0.0.1",
29
+ "@quake2ts/game": "0.0.1",
30
+ "@quake2ts/shared": "0.0.1",
31
+ "@quake2ts/cgame": "^0.1.0"
32
+ },
33
+ "devDependencies": {
34
+ "tsup": "^8.1.0",
35
+ "@quake2ts/test-utils": "^0.0.1"
36
+ },
37
+ "scripts": {
38
+ "build": "pnpm run build:types && pnpm run build:bundles",
39
+ "build:types": "tsc -b",
40
+ "build:bundles": "tsup",
41
+ "test": "pnpm run test:unit",
42
+ "test:unit": "TEST_TYPE=unit vitest run --passWithNoTests",
43
+ "test:integration": "TEST_TYPE=integration vitest run --passWithNoTests"
44
+ }
45
+ }