quake2ts 0.0.467 → 0.0.468

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.
@@ -8,20 +8,25 @@ import { ClientConfigStrings } from './configStrings.js';
8
8
  import { MainMenuFactory, MainMenuOptions } from './ui/menu/main.js';
9
9
  import { MenuSystem } from './ui/menu/system.js';
10
10
  import { SaveStorage } from '@quake2ts/game';
11
+ import { InputBindings } from './input/bindings.js';
11
12
  import { LoadingScreen } from './ui/loading/screen.js';
12
13
  import { ErrorDialog } from './ui/error.js';
13
14
  import { MultiplayerConnection } from './net/connection.js';
14
15
  import { DynamicLightManager } from '@quake2ts/engine';
15
16
  import { DemoCameraMode } from './demo/camera.js';
17
+ import { ScoreboardData } from './scoreboard.js';
16
18
  import { HudData, StatusBarData, CrosshairInfo } from './hud/data.js';
17
19
  export { createDefaultBindings, InputBindings, normalizeCommand, normalizeInputCode } from './input/bindings.js';
18
- export { GamepadLike, GamepadLikeButton, InputAction, InputController, TouchInputState, type InputControllerOptions, } from './input/controller.js';
20
+ import { InputController, InputSource } from './input/controller.js';
21
+ export { GamepadLike, GamepadLikeButton, InputAction, InputController, InputSource, TouchInputState, type InputControllerOptions, } from './input/controller.js';
19
22
  export { InputCommandBuffer, type QueuedFrameCommands, } from './input/command-buffer.js';
20
23
  export { ClientPrediction, interpolatePredictionState, } from '@quake2ts/cgame';
21
24
  export type { PredictionSettings, PredictionState } from '@quake2ts/cgame';
22
25
  export { ViewEffects } from '@quake2ts/cgame';
23
26
  export type { ViewEffectSettings, ViewKick, ViewSample } from '@quake2ts/cgame';
24
27
  export { ClientConfigStrings } from './configStrings.js';
28
+ export * from './scoreboard.js';
29
+ export { HudData, StatusBarData, CrosshairInfo } from './hud/data.js';
25
30
  export * from './session.js';
26
31
  export * from './demo/camera.js';
27
32
  export interface ClientImports {
@@ -32,6 +37,7 @@ export interface ClientImports {
32
37
  };
33
38
  };
34
39
  readonly host?: EngineHost;
40
+ readonly inputController?: InputController;
35
41
  }
36
42
  export declare enum ClientMode {
37
43
  Normal = 0,
@@ -71,12 +77,18 @@ export interface ClientExports extends ClientRenderer<PredictionState> {
71
77
  };
72
78
  handleInput(key: string, down: boolean): boolean;
73
79
  toggleMenu(): void;
80
+ bindInputSource(source: InputSource): void;
81
+ setKeyBinding(action: string, keys: string[]): void;
82
+ getDefaultBindings(): InputBindings;
83
+ onInputCommand?: (cmd: UserCommand) => void;
74
84
  Init(initial?: GameFrameResult<PredictionState>): void;
75
85
  Shutdown(): void;
76
86
  DrawHUD(stats: FrameRenderStats, timeMs: number): void;
77
87
  readonly loadingScreen: LoadingScreen;
78
88
  readonly errorDialog: ErrorDialog;
79
89
  readonly dlightManager: DynamicLightManager;
90
+ getScoreboard(): ScoreboardData;
91
+ onScoreboardUpdate?: (scoreboard: ScoreboardData) => void;
80
92
  getHudData(): HudData | null;
81
93
  getStatusBar(): StatusBarData | null;
82
94
  getCrosshairInfo(): CrosshairInfo;
@@ -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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"}
@@ -0,0 +1,31 @@
1
+ import { ClientConfigStrings } from './configStrings.js';
2
+ export interface ScoreboardEntry {
3
+ name: string;
4
+ frags: number;
5
+ deaths: number;
6
+ ping: number;
7
+ id: number;
8
+ skin?: string;
9
+ model?: string;
10
+ }
11
+ export interface ScoreboardData {
12
+ players: ScoreboardEntry[];
13
+ mapName: string;
14
+ }
15
+ export declare class ScoreboardManager {
16
+ private configStrings;
17
+ private localPlayerId;
18
+ private listeners;
19
+ private players;
20
+ constructor(configStrings: ClientConfigStrings);
21
+ setLocalPlayerId(id: number): void;
22
+ addListener(listener: (data: ScoreboardData) => void): void;
23
+ removeListener(listener: (data: ScoreboardData) => void): void;
24
+ notifyUpdate(): void;
25
+ private refreshAll;
26
+ parseConfigString(index: number, str: string): void;
27
+ getScoreboard(): ScoreboardData;
28
+ private parsePlayerConfigString;
29
+ updateScore(id: number, frags: number, deaths: number, ping: number): void;
30
+ }
31
+ //# sourceMappingURL=scoreboard.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scoreboard.d.ts","sourceRoot":"","sources":["../../src/scoreboard.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAEzD,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,eAAe,EAAE,CAAC;IAC3B,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,aAAa,CAAsB;IAC3C,OAAO,CAAC,aAAa,CAAc;IACnC,OAAO,CAAC,SAAS,CAA0C;IAG3D,OAAO,CAAC,OAAO,CAA2C;gBAE9C,aAAa,EAAE,mBAAmB;IAKvC,gBAAgB,CAAC,EAAE,EAAE,MAAM;IAI3B,WAAW,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,cAAc,KAAK,IAAI;IAIpD,cAAc,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,cAAc,KAAK,IAAI;IAOvD,YAAY;IAOnB,OAAO,CAAC,UAAU;IAWX,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM;IA2B5C,aAAa,IAAI,cAAc;IAyBtC,OAAO,CAAC,uBAAuB;IAmCxB,WAAW,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM;CAS3E"}
@@ -1,7 +1,7 @@
1
- import { ClientExports } from './index.js';
1
+ import { ClientExports, InputSource, InputBindings, HudData, StatusBarData, CrosshairInfo } from './index.js';
2
2
  import { GameExports, GameSaveFile } from '@quake2ts/game';
3
3
  import { EngineImports, Renderer, EngineHost } from '@quake2ts/engine';
4
- import { PlayerState } from '@quake2ts/shared';
4
+ import { UserCommand, PlayerState } from '@quake2ts/shared';
5
5
  export interface SessionOptions {
6
6
  mapName?: string;
7
7
  skill?: number;
@@ -21,6 +21,9 @@ export declare class GameSession {
21
21
  private host;
22
22
  private options;
23
23
  private currentMapName;
24
+ private inputController;
25
+ private _onInputCommand?;
26
+ private _onHudUpdate?;
24
27
  constructor(options: SessionOptions);
25
28
  startNewGame(mapName: string, skill?: number): void;
26
29
  loadSavedGame(saveData: GameSaveFile): void;
@@ -28,6 +31,16 @@ export declare class GameSession {
28
31
  getClient(): ClientExports | null;
29
32
  getGame(): GameExports | null;
30
33
  getHost(): EngineHost | null;
34
+ bindInputSource(source: InputSource): void;
35
+ setKeyBinding(action: string, keys: string[]): void;
36
+ getDefaultBindings(): InputBindings;
37
+ set onInputCommand(handler: ((cmd: UserCommand) => void) | undefined);
38
+ get onInputCommand(): ((cmd: UserCommand) => void) | undefined;
39
+ getHudData(): HudData | null;
40
+ getStatusBar(): StatusBarData | null;
41
+ getCrosshairInfo(): CrosshairInfo | null;
42
+ set onHudUpdate(handler: ((data: HudData) => void) | undefined);
43
+ get onHudUpdate(): ((data: HudData) => void) | undefined;
31
44
  getPlayerState(): PlayerState | null;
32
45
  getGameTime(): number;
33
46
  isPaused(): boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../src/session.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAA+B,MAAM,YAAY,CAAC;AACxE,OAAO,EAAc,WAAW,EAAE,YAAY,EAAiC,MAAM,gBAAgB,CAAC;AACtG,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,UAAU,EAAe,MAAM,kBAAkB,CAAC;AACpF,OAAO,EAAqC,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAElF,MAAM,WAAW,cAAc;IAC7B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,MAAM,EAAE,aAAa,GAAG;QAAE,QAAQ,EAAE,QAAQ,CAAC;QAAC,GAAG,CAAC,EAAE;YAAE,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;SAAE,CAAA;KAAE,CAAC;CAC3F;AAED,qBAAa,WAAW;IACtB,OAAO,CAAC,MAAM,CAA8B;IAC5C,OAAO,CAAC,IAAI,CAA4B;IACxC,OAAO,CAAC,MAAM,CAAoF;IAClG,OAAO,CAAC,IAAI,CAA2B;IACvC,OAAO,CAAC,OAAO,CAAiB;IAChC,OAAO,CAAC,cAAc,CAAc;gBAExB,OAAO,EAAE,cAAc;IAK5B,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,GAAE,MAAU,GAAG,IAAI;IAiHtD,aAAa,CAAC,QAAQ,EAAE,YAAY,GAAG,IAAI;IA4G3C,QAAQ,IAAI,IAAI;IAYhB,SAAS,IAAI,aAAa,GAAG,IAAI;IAIjC,OAAO,IAAI,WAAW,GAAG,IAAI;IAI7B,OAAO,IAAI,UAAU,GAAG,IAAI;IAM5B,cAAc,IAAI,WAAW,GAAG,IAAI;IASpC,WAAW,IAAI,MAAM;IAgBrB,QAAQ,IAAI,OAAO;IAOnB,aAAa,IAAI,MAAM;IAOvB,UAAU,IAAI,MAAM;IAQpB,WAAW,IAAI,QAAQ,GAAG,YAAY,GAAG,MAAM;CAOvD;AAED,wBAAgB,aAAa,CAAC,OAAO,EAAE,cAAc,GAAG,WAAW,CAElE"}
1
+ {"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../src/session.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAgD,WAAW,EAAE,aAAa,EAAE,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAC5J,OAAO,EAAc,WAAW,EAAE,YAAY,EAAiC,MAAM,gBAAgB,CAAC;AACtG,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,UAAU,EAAe,MAAM,kBAAkB,CAAC;AACpF,OAAO,EAAE,WAAW,EAAwB,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAElF,MAAM,WAAW,cAAc;IAC7B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,MAAM,EAAE,aAAa,GAAG;QAAE,QAAQ,EAAE,QAAQ,CAAC;QAAC,GAAG,CAAC,EAAE;YAAE,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;SAAE,CAAA;KAAE,CAAC;CAC3F;AAED,qBAAa,WAAW;IACtB,OAAO,CAAC,MAAM,CAA8B;IAC5C,OAAO,CAAC,IAAI,CAA4B;IACxC,OAAO,CAAC,MAAM,CAAoF;IAClG,OAAO,CAAC,IAAI,CAA2B;IACvC,OAAO,CAAC,OAAO,CAAiB;IAChC,OAAO,CAAC,cAAc,CAAc;IACpC,OAAO,CAAC,eAAe,CAAkB;IACzC,OAAO,CAAC,eAAe,CAAC,CAA6B;IACrD,OAAO,CAAC,YAAY,CAAC,CAA0B;gBAEnC,OAAO,EAAE,cAAc;IAM5B,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,GAAE,MAAU,GAAG,IAAI;IAwHtD,aAAa,CAAC,QAAQ,EAAE,YAAY,GAAG,IAAI;IAmH3C,QAAQ,IAAI,IAAI;IAYhB,SAAS,IAAI,aAAa,GAAG,IAAI;IAIjC,OAAO,IAAI,WAAW,GAAG,IAAI;IAI7B,OAAO,IAAI,UAAU,GAAG,IAAI;IAI5B,eAAe,CAAC,MAAM,EAAE,WAAW,GAAG,IAAI;IAI1C,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,IAAI;IAInD,kBAAkB,IAAI,aAAa;IAI1C,IAAW,cAAc,CAAC,OAAO,EAAE,CAAC,CAAC,GAAG,EAAE,WAAW,KAAK,IAAI,CAAC,GAAG,SAAS,EAK1E;IAED,IAAW,cAAc,IAAI,CAAC,CAAC,GAAG,EAAE,WAAW,KAAK,IAAI,CAAC,GAAG,SAAS,CAEpE;IAGM,UAAU,IAAI,OAAO,GAAG,IAAI;IAI5B,YAAY,IAAI,aAAa,GAAG,IAAI;IAIpC,gBAAgB,IAAI,aAAa,GAAG,IAAI;IAI/C,IAAW,WAAW,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC,GAAG,SAAS,EAKpE;IAED,IAAW,WAAW,IAAI,CAAC,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC,GAAG,SAAS,CAE9D;IAIM,cAAc,IAAI,WAAW,GAAG,IAAI;IASpC,WAAW,IAAI,MAAM;IAgBrB,QAAQ,IAAI,OAAO;IAOnB,aAAa,IAAI,MAAM;IAOvB,UAAU,IAAI,MAAM;IAQpB,WAAW,IAAI,QAAQ,GAAG,YAAY,GAAG,MAAM;CAOvD;AAED,wBAAgB,aAAa,CAAC,OAAO,EAAE,cAAc,GAAG,WAAW,CAElE"}