quake2ts 0.0.614 → 0.0.616

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 CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "quake2ts",
3
- "version": "0.0.614",
3
+ "version": "0.0.616",
4
4
  "description": "Quake II re-release port to TypeScript with WebGL renderer - A complete game engine with physics, networking, and BSP rendering",
5
5
  "type": "module",
6
6
  "keywords": [
@@ -84,8 +84,12 @@ __export(index_exports, {
84
84
  createMockChatMessage: () => createMockChatMessage,
85
85
  createMockCollisionEntityIndex: () => createMockCollisionEntityIndex,
86
86
  createMockConnection: () => createMockConnection,
87
+ createMockDamageIndicator: () => createMockDamageIndicator,
87
88
  createMockDamageInfo: () => createMockDamageInfo,
89
+ createMockDeltaFrame: () => createMockDeltaFrame,
88
90
  createMockEngine: () => createMockEngine,
91
+ createMockEntityState: () => createMockEntityState,
92
+ createMockFogData: () => createMockFogData,
89
93
  createMockFrameRenderer: () => createMockFrameRenderer,
90
94
  createMockGPUAdapter: () => createMockGPUAdapter,
91
95
  createMockGPUCanvasContext: () => createMockGPUCanvasContext,
@@ -127,10 +131,12 @@ __export(index_exports, {
127
131
  createMockServerClient: () => createMockServerClient,
128
132
  createMockServerConsole: () => createMockServerConsole,
129
133
  createMockServerInfo: () => createMockServerInfo,
134
+ createMockServerMessage: () => createMockServerMessage,
130
135
  createMockServerState: () => createMockServerState,
131
136
  createMockServerStatic: () => createMockServerStatic,
132
137
  createMockSessionStorage: () => createMockSessionStorage,
133
138
  createMockSkyboxPipeline: () => createMockSkyboxPipeline,
139
+ createMockSnapshot: () => createMockSnapshot,
134
140
  createMockSpritePipeline: () => createMockSpritePipeline,
135
141
  createMockTransport: () => createMockTransport,
136
142
  createMockUDPSocket: () => createMockUDPSocket,
@@ -186,6 +192,8 @@ __export(index_exports, {
186
192
  simulateJump: () => simulateJump,
187
193
  simulateMovement: () => simulateMovement,
188
194
  simulateNetworkCondition: () => simulateNetworkCondition,
195
+ simulateNetworkDelay: () => simulateNetworkDelay,
196
+ simulatePacketLoss: () => simulatePacketLoss,
189
197
  simulatePlayerInput: () => simulatePlayerInput,
190
198
  simulatePlayerJoin: () => simulatePlayerJoin,
191
199
  simulatePlayerLeave: () => simulatePlayerLeave,
@@ -3684,6 +3692,86 @@ function createMockNotification(type, message, duration = 3e3) {
3684
3692
  };
3685
3693
  }
3686
3694
 
3695
+ // src/client/mocks/network.ts
3696
+ var import_engine4 = require("@quake2ts/engine");
3697
+ function createMockServerMessage(type, data = new Uint8Array()) {
3698
+ return { type, data };
3699
+ }
3700
+ function createMockSnapshot(serverFrame, entities = [], playerState, deltaFrame = 0) {
3701
+ return {
3702
+ serverFrame,
3703
+ deltaFrame,
3704
+ surpressCount: 0,
3705
+ areaBytes: 0,
3706
+ areaBits: new Uint8Array(),
3707
+ playerState: {
3708
+ ...(0, import_engine4.createEmptyProtocolPlayerState)(),
3709
+ ...playerState
3710
+ },
3711
+ packetEntities: {
3712
+ delta: false,
3713
+ entities
3714
+ }
3715
+ };
3716
+ }
3717
+ function createMockDeltaFrame(serverFrame, deltaFrame, entities = [], playerState) {
3718
+ return {
3719
+ serverFrame,
3720
+ deltaFrame,
3721
+ surpressCount: 0,
3722
+ areaBytes: 0,
3723
+ areaBits: new Uint8Array(),
3724
+ playerState: {
3725
+ ...(0, import_engine4.createEmptyProtocolPlayerState)(),
3726
+ ...playerState
3727
+ },
3728
+ packetEntities: {
3729
+ delta: true,
3730
+ entities
3731
+ }
3732
+ };
3733
+ }
3734
+ function simulateNetworkDelay(messages, delayMs) {
3735
+ return new Promise((resolve) => {
3736
+ setTimeout(() => {
3737
+ resolve(messages);
3738
+ }, delayMs);
3739
+ });
3740
+ }
3741
+ function simulatePacketLoss(messages, lossPercent) {
3742
+ return messages.filter(() => Math.random() * 100 >= lossPercent);
3743
+ }
3744
+ function createMockEntityState(number, modelIndex = 0, origin = { x: 0, y: 0, z: 0 }, overrides) {
3745
+ const state = (0, import_engine4.createEmptyEntityState)();
3746
+ state.number = number;
3747
+ state.modelindex = modelIndex;
3748
+ state.origin.x = origin.x ?? 0;
3749
+ state.origin.y = origin.y ?? 0;
3750
+ state.origin.z = origin.z ?? 0;
3751
+ if (overrides) {
3752
+ Object.assign(state, overrides);
3753
+ }
3754
+ return state;
3755
+ }
3756
+ function createMockDamageIndicator(damage, dir = { x: 0, y: 0, z: 0 }, health = true, armor = false, power = false) {
3757
+ return {
3758
+ damage,
3759
+ dir,
3760
+ health,
3761
+ armor,
3762
+ power
3763
+ };
3764
+ }
3765
+ function createMockFogData(overrides = {}) {
3766
+ return {
3767
+ density: 0.1,
3768
+ red: 100,
3769
+ green: 100,
3770
+ blue: 100,
3771
+ ...overrides
3772
+ };
3773
+ }
3774
+
3687
3775
  // src/e2e/playwright.ts
3688
3776
  async function createPlaywrightTestClient(options = {}) {
3689
3777
  let playwright;
@@ -3919,8 +4007,12 @@ function createVisualTestScenario(sceneName) {
3919
4007
  createMockChatMessage,
3920
4008
  createMockCollisionEntityIndex,
3921
4009
  createMockConnection,
4010
+ createMockDamageIndicator,
3922
4011
  createMockDamageInfo,
4012
+ createMockDeltaFrame,
3923
4013
  createMockEngine,
4014
+ createMockEntityState,
4015
+ createMockFogData,
3924
4016
  createMockFrameRenderer,
3925
4017
  createMockGPUAdapter,
3926
4018
  createMockGPUCanvasContext,
@@ -3962,10 +4054,12 @@ function createVisualTestScenario(sceneName) {
3962
4054
  createMockServerClient,
3963
4055
  createMockServerConsole,
3964
4056
  createMockServerInfo,
4057
+ createMockServerMessage,
3965
4058
  createMockServerState,
3966
4059
  createMockServerStatic,
3967
4060
  createMockSessionStorage,
3968
4061
  createMockSkyboxPipeline,
4062
+ createMockSnapshot,
3969
4063
  createMockSpritePipeline,
3970
4064
  createMockTransport,
3971
4065
  createMockUDPSocket,
@@ -4021,6 +4115,8 @@ function createVisualTestScenario(sceneName) {
4021
4115
  simulateJump,
4022
4116
  simulateMovement,
4023
4117
  simulateNetworkCondition,
4118
+ simulateNetworkDelay,
4119
+ simulatePacketLoss,
4024
4120
  simulatePlayerInput,
4025
4121
  simulatePlayerJoin,
4026
4122
  simulatePlayerLeave,