quake2ts 0.0.297 → 0.0.298

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 (41) hide show
  1. package/package.json +1 -1
  2. package/packages/cgame/dist/index.cjs +3 -1
  3. package/packages/cgame/dist/index.cjs.map +1 -1
  4. package/packages/cgame/dist/index.js +3 -1
  5. package/packages/cgame/dist/index.js.map +1 -1
  6. package/packages/client/dist/browser/index.global.js +13 -13
  7. package/packages/client/dist/browser/index.global.js.map +1 -1
  8. package/packages/client/dist/cjs/index.cjs +9 -9
  9. package/packages/client/dist/cjs/index.cjs.map +1 -1
  10. package/packages/client/dist/esm/index.js +9 -9
  11. package/packages/client/dist/esm/index.js.map +1 -1
  12. package/packages/client/dist/tsconfig.tsbuildinfo +1 -1
  13. package/packages/engine/dist/browser/index.global.js +8 -8
  14. package/packages/engine/dist/browser/index.global.js.map +1 -1
  15. package/packages/engine/dist/cjs/index.cjs.map +1 -1
  16. package/packages/engine/dist/esm/index.js.map +1 -1
  17. package/packages/engine/dist/tsconfig.tsbuildinfo +1 -1
  18. package/packages/game/dist/browser/index.global.js +4 -4
  19. package/packages/game/dist/browser/index.global.js.map +1 -1
  20. package/packages/game/dist/cjs/index.cjs +67 -20
  21. package/packages/game/dist/cjs/index.cjs.map +1 -1
  22. package/packages/game/dist/esm/index.js +67 -20
  23. package/packages/game/dist/esm/index.js.map +1 -1
  24. package/packages/game/dist/tsconfig.tsbuildinfo +1 -1
  25. package/packages/game/dist/types/ai/movement.d.ts.map +1 -1
  26. package/packages/shared/dist/browser/index.global.js +1 -1
  27. package/packages/shared/dist/browser/index.global.js.map +1 -1
  28. package/packages/shared/dist/cjs/index.cjs +1342 -1038
  29. package/packages/shared/dist/cjs/index.cjs.map +1 -1
  30. package/packages/shared/dist/esm/index.js +1340 -1038
  31. package/packages/shared/dist/esm/index.js.map +1 -1
  32. package/packages/shared/dist/tsconfig.tsbuildinfo +1 -1
  33. package/packages/shared/dist/types/pmove/jump.d.ts +2 -0
  34. package/packages/shared/dist/types/pmove/jump.d.ts.map +1 -1
  35. package/packages/shared/dist/types/pmove/move.d.ts +20 -0
  36. package/packages/shared/dist/types/pmove/move.d.ts.map +1 -1
  37. package/packages/shared/dist/types/pmove/pmove.d.ts +5 -1
  38. package/packages/shared/dist/types/pmove/pmove.d.ts.map +1 -1
  39. package/packages/shared/dist/types/pmove/types.d.ts +25 -1
  40. package/packages/shared/dist/types/pmove/types.d.ts.map +1 -1
  41. package/packages/tools/dist/tsconfig.tsbuildinfo +1 -1
@@ -434,7 +434,7 @@ function G_SetPowerupStat(stats, powerupId, val) {
434
434
  if (safeVal < 0) safeVal = 0;
435
435
  setCompressedInteger(stats, 41, index, safeVal, NUM_BITS_FOR_POWERUP);
436
436
  }
437
- var __defProp2, __export2, ZERO_VEC3, STOP_EPSILON, DEG_TO_RAD, PITCH, YAW, ROLL, DEG2RAD_FACTOR, RAD2DEG_FACTOR, ANORMS, STATE_SIZE, MIDDLE_WORD, MATRIX_A, UPPER_MASK, LOWER_MASK, TWO_POW_32, MersenneTwister19937, RandomGenerator, CONTENTS_SOLID, CONTENTS_WINDOW, CONTENTS_AUX, CONTENTS_LAVA, CONTENTS_SLIME, CONTENTS_WATER, CONTENTS_MIST, CONTENTS_NO_WATERJUMP, CONTENTS_PROJECTILECLIP, CONTENTS_AREAPORTAL, CONTENTS_PLAYERCLIP, CONTENTS_MONSTERCLIP, CONTENTS_CURRENT_0, CONTENTS_CURRENT_90, CONTENTS_CURRENT_180, CONTENTS_CURRENT_270, CONTENTS_CURRENT_UP, CONTENTS_CURRENT_DOWN, CONTENTS_ORIGIN, CONTENTS_MONSTER, CONTENTS_DEADMONSTER, CONTENTS_DETAIL, CONTENTS_TRANSLUCENT, CONTENTS_LADDER, CONTENTS_PLAYER, CONTENTS_PROJECTILE, SURF_LIGHT, SURF_SLICK, SURF_SKY, SURF_WARP, SURF_TRANS33, SURF_TRANS66, SURF_FLOWING, SURF_NODRAW, SURF_ALPHATEST, SURF_N64_UV, SURF_N64_SCROLL_X, SURF_N64_SCROLL_Y, SURF_N64_SCROLL_FLIP, MASK_SOLID, MASK_PLAYERSOLID, MASK_DEADSOLID, MASK_MONSTERSOLID, MASK_WATER, MASK_OPAQUE, MASK_SHOT, MASK_CURRENT, MASK_BLOCK_SIGHT, MASK_NAV_SOLID, MASK_LADDER_NAV_SOLID, MASK_WALK_NAV_SOLID, MASK_PROJECTILE, MAX_CHECKCOUNT, CvarFlags, MAX_CLIENTS, MAX_LIGHTSTYLES, MAX_MODELS, MAX_SOUNDS, MAX_IMAGES, MAX_ITEMS, MAX_GENERAL, MAX_SHADOW_LIGHTS, MAX_WHEEL_ITEMS, ConfigStringIndex, MAX_CONFIGSTRINGS, replay_exports, WaterLevel, WATERJUMP_CLEAR, ServerCommand, TempEntity, MZ_BLASTER, MZ_MACHINEGUN, MZ_SHOTGUN, MZ_CHAINGUN1, MZ_RAILGUN, MZ_ROCKET, MZ_GRENADE, MZ_SSHOTGUN, MZ_BFG, MZ_HYPERBLASTER, PowerupId, PlayerStat, AMMO_MAX, NUM_BITS_FOR_AMMO, NUM_AMMO_STATS, POWERUP_MAX, NUM_BITS_FOR_POWERUP, NUM_POWERUP_STATS, POWERUP_STAT_MAP, RenderFx, entityFlags_exports, U_NUMBER, U_MODEL, U_SOUND, U_ORIGIN1, U_ORIGIN2, U_ORIGIN3, U_ANGLE1, U_ANGLE2, U_ANGLE3, U_FRAME, U_SKIN, U_EFFECTS, U_RENDERFX, U_SOLID, U_EVENT, U_MOREBITS, U_MODEL2, U_MODEL3, U_MODEL4, U_REMOVE, FRAMETIME, MASK_WATER2, WaterLevel3, categorizePosition2, checkWater, applyPmove, BinaryWriter, _NetChan, WeaponId, AmmoType, AMMO_TYPE_COUNT, AmmoItemId, WEAPON_WHEEL_ORDER, SoundChannel, ATTN_NORM, ATTN_IDLE;
437
+ var __defProp2, __export2, ZERO_VEC3, STOP_EPSILON, DEG_TO_RAD, PITCH, YAW, ROLL, DEG2RAD_FACTOR, RAD2DEG_FACTOR, ANORMS, STATE_SIZE, MIDDLE_WORD, MATRIX_A, UPPER_MASK, LOWER_MASK, TWO_POW_32, MersenneTwister19937, RandomGenerator, CONTENTS_SOLID, CONTENTS_WINDOW, CONTENTS_AUX, CONTENTS_LAVA, CONTENTS_SLIME, CONTENTS_WATER, CONTENTS_MIST, CONTENTS_NO_WATERJUMP, CONTENTS_PROJECTILECLIP, CONTENTS_AREAPORTAL, CONTENTS_PLAYERCLIP, CONTENTS_MONSTERCLIP, CONTENTS_CURRENT_0, CONTENTS_CURRENT_90, CONTENTS_CURRENT_180, CONTENTS_CURRENT_270, CONTENTS_CURRENT_UP, CONTENTS_CURRENT_DOWN, CONTENTS_ORIGIN, CONTENTS_MONSTER, CONTENTS_DEADMONSTER, CONTENTS_DETAIL, CONTENTS_TRANSLUCENT, CONTENTS_LADDER, CONTENTS_PLAYER, CONTENTS_PROJECTILE, SURF_LIGHT, SURF_SLICK, SURF_SKY, SURF_WARP, SURF_TRANS33, SURF_TRANS66, SURF_FLOWING, SURF_NODRAW, SURF_ALPHATEST, SURF_N64_UV, SURF_N64_SCROLL_X, SURF_N64_SCROLL_Y, SURF_N64_SCROLL_FLIP, MASK_SOLID, MASK_PLAYERSOLID, MASK_DEADSOLID, MASK_MONSTERSOLID, MASK_WATER, MASK_OPAQUE, MASK_SHOT, MASK_CURRENT, MASK_BLOCK_SIGHT, MASK_NAV_SOLID, MASK_LADDER_NAV_SOLID, MASK_WALK_NAV_SOLID, MASK_PROJECTILE, MAX_CHECKCOUNT, CvarFlags, MAX_CLIENTS, MAX_LIGHTSTYLES, MAX_MODELS, MAX_SOUNDS, MAX_IMAGES, MAX_ITEMS, MAX_GENERAL, MAX_SHADOW_LIGHTS, MAX_WHEEL_ITEMS, ConfigStringIndex, MAX_CONFIGSTRINGS, replay_exports, WaterLevel, WATERJUMP_CLEAR, ServerCommand, TempEntity, MZ_BLASTER, MZ_MACHINEGUN, MZ_SHOTGUN, MZ_CHAINGUN1, MZ_RAILGUN, MZ_ROCKET, MZ_GRENADE, MZ_SSHOTGUN, MZ_BFG, MZ_HYPERBLASTER, PowerupId, PlayerStat, AMMO_MAX, NUM_BITS_FOR_AMMO, NUM_AMMO_STATS, POWERUP_MAX, NUM_BITS_FOR_POWERUP, NUM_POWERUP_STATS, POWERUP_STAT_MAP, RenderFx, entityFlags_exports, U_NUMBER, U_MODEL, U_SOUND, U_ORIGIN1, U_ORIGIN2, U_ORIGIN3, U_ANGLE1, U_ANGLE2, U_ANGLE3, U_FRAME, U_SKIN, U_EFFECTS, U_RENDERFX, U_SOLID, U_EVENT, U_MOREBITS, U_MODEL2, U_MODEL3, U_MODEL4, U_REMOVE, FRAMETIME2, MASK_WATER2, WaterLevel3, categorizePosition2, checkWater, applyPmove, BinaryWriter, _NetChan, WeaponId, AmmoType, AMMO_TYPE_COUNT, AmmoItemId, WEAPON_WHEEL_ORDER, SoundChannel, ATTN_NORM, ATTN_IDLE;
438
438
  var init_esm = __esm({
439
439
  "../shared/dist/esm/index.js"() {
440
440
  "use strict";
@@ -1226,7 +1226,7 @@ var init_esm = __esm({
1226
1226
  U_MODEL3 = 1 << 1;
1227
1227
  U_MODEL4 = 1 << 2;
1228
1228
  U_REMOVE = 32768;
1229
- FRAMETIME = 0.025;
1229
+ FRAMETIME2 = 0.025;
1230
1230
  MASK_WATER2 = 33554432;
1231
1231
  WaterLevel3 = {
1232
1232
  None: 0,
@@ -1280,7 +1280,7 @@ var init_esm = __esm({
1280
1280
  const { forward, right } = angleVectors(adjustedAngles);
1281
1281
  const frictionedVelocity = applyPmoveFriction({
1282
1282
  velocity,
1283
- frametime: FRAMETIME,
1283
+ frametime: FRAMETIME2,
1284
1284
  onGround,
1285
1285
  groundIsSlick: false,
1286
1286
  onLadder: false,
@@ -1306,12 +1306,12 @@ var init_esm = __esm({
1306
1306
  wishspeed: wish.wishspeed,
1307
1307
  // Water movement uses ground acceleration (10), not air acceleration (1)
1308
1308
  accel: onGround || waterLevel >= 2 ? 10 : 1,
1309
- frametime: FRAMETIME
1309
+ frametime: FRAMETIME2
1310
1310
  });
1311
1311
  const traceResult = trace(origin, {
1312
- x: origin.x + finalVelocity.x * FRAMETIME,
1313
- y: origin.y + finalVelocity.y * FRAMETIME,
1314
- z: origin.z + finalVelocity.z * FRAMETIME
1312
+ x: origin.x + finalVelocity.x * FRAMETIME2,
1313
+ y: origin.y + finalVelocity.y * FRAMETIME2,
1314
+ z: origin.z + finalVelocity.z * FRAMETIME2
1315
1315
  });
1316
1316
  return {
1317
1317
  ...newState,
@@ -2987,6 +2987,7 @@ function findTarget(self, level, context, trace, hearability = {}) {
2987
2987
  }
2988
2988
 
2989
2989
  // src/ai/movement.ts
2990
+ var STEPSIZE = 18;
2990
2991
  function yawVector(yawDegrees, distance2) {
2991
2992
  if (distance2 === 0) {
2992
2993
  return { x: 0, y: 0, z: 0 };
@@ -3189,24 +3190,70 @@ function M_walkmove(self, yawDegrees, distance2, context) {
3189
3190
  z: self.origin.z + delta.z
3190
3191
  };
3191
3192
  const trace = context.trace(self.origin, self.mins, self.maxs, dest, self, MASK_MONSTERSOLID);
3192
- if (trace.fraction < 1) {
3193
+ if (trace.fraction === 1) {
3194
+ const oldOrigin2 = { ...self.origin };
3195
+ self.origin.x = dest.x;
3196
+ self.origin.y = dest.y;
3197
+ self.origin.z = dest.z;
3198
+ if (!((self.flags & (2 /* Swim */ | 1 /* Fly */)) !== 0) && self.movetype !== 1 /* Noclip */) {
3199
+ if (!M_CheckBottom(self, context)) {
3200
+ self.origin.x = oldOrigin2.x;
3201
+ self.origin.y = oldOrigin2.y;
3202
+ self.origin.z = oldOrigin2.z;
3203
+ return false;
3204
+ }
3205
+ }
3206
+ if (!((self.flags & (2 /* Swim */ | 1 /* Fly */)) !== 0)) {
3207
+ CheckGround(self, context);
3208
+ }
3209
+ return true;
3210
+ }
3211
+ if ((self.flags & (2 /* Swim */ | 1 /* Fly */)) !== 0) {
3193
3212
  return false;
3194
3213
  }
3195
3214
  const oldOrigin = { ...self.origin };
3196
- self.origin.x = dest.x;
3197
- self.origin.y = dest.y;
3198
- self.origin.z = dest.z;
3199
- if (!((self.flags & (2 /* Swim */ | 1 /* Fly */)) !== 0) && self.movetype !== 1 /* Noclip */) {
3200
- if (!M_CheckBottom(self, context)) {
3201
- self.origin.x = oldOrigin.x;
3202
- self.origin.y = oldOrigin.y;
3203
- self.origin.z = oldOrigin.z;
3204
- return false;
3205
- }
3215
+ const up = { ...self.origin, z: self.origin.z + STEPSIZE };
3216
+ const traceUp = context.trace(self.origin, self.mins, self.maxs, up, self, MASK_MONSTERSOLID);
3217
+ if (traceUp.startsolid || traceUp.allsolid) {
3218
+ return false;
3206
3219
  }
3207
- if (!((self.flags & (2 /* Swim */ | 1 /* Fly */)) !== 0)) {
3208
- CheckGround(self, context);
3220
+ const destUp = {
3221
+ x: up.x + delta.x,
3222
+ y: up.y + delta.y,
3223
+ z: up.z
3224
+ // stay at up z
3225
+ };
3226
+ const traceStep = context.trace(up, self.mins, self.maxs, destUp, self, MASK_MONSTERSOLID);
3227
+ if (traceStep.fraction < 1) {
3228
+ return false;
3229
+ }
3230
+ const destDown = {
3231
+ x: destUp.x,
3232
+ y: destUp.y,
3233
+ z: destUp.z - STEPSIZE
3234
+ // Go back down
3235
+ };
3236
+ const downTraceDest = {
3237
+ x: destDown.x,
3238
+ y: destDown.y,
3239
+ z: destDown.z - STEPSIZE
3240
+ // Look a bit deeper?
3241
+ };
3242
+ const traceDown = context.trace(destUp, self.mins, self.maxs, destDown, self, MASK_MONSTERSOLID);
3243
+ if (traceDown.startsolid || traceDown.allsolid) {
3244
+ return false;
3245
+ }
3246
+ const newPos = traceDown.endpos;
3247
+ self.origin.x = newPos.x;
3248
+ self.origin.y = newPos.y;
3249
+ self.origin.z = newPos.z;
3250
+ if (!M_CheckBottom(self, context)) {
3251
+ self.origin.x = oldOrigin.x;
3252
+ self.origin.y = oldOrigin.y;
3253
+ self.origin.z = oldOrigin.z;
3254
+ return false;
3209
3255
  }
3256
+ CheckGround(self, context);
3210
3257
  return true;
3211
3258
  }
3212
3259
  function SV_StepDirection(self, yaw, dist, context) {