quake2ts 0.0.296 → 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 (44) 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 +20 -11
  9. package/packages/client/dist/cjs/index.cjs.map +1 -1
  10. package/packages/client/dist/esm/index.js +20 -11
  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 +11 -2
  16. package/packages/engine/dist/cjs/index.cjs.map +1 -1
  17. package/packages/engine/dist/esm/index.js +11 -2
  18. package/packages/engine/dist/esm/index.js.map +1 -1
  19. package/packages/engine/dist/tsconfig.tsbuildinfo +1 -1
  20. package/packages/engine/dist/types/demo/parser.d.ts.map +1 -1
  21. package/packages/game/dist/browser/index.global.js +4 -4
  22. package/packages/game/dist/browser/index.global.js.map +1 -1
  23. package/packages/game/dist/cjs/index.cjs +67 -20
  24. package/packages/game/dist/cjs/index.cjs.map +1 -1
  25. package/packages/game/dist/esm/index.js +67 -20
  26. package/packages/game/dist/esm/index.js.map +1 -1
  27. package/packages/game/dist/tsconfig.tsbuildinfo +1 -1
  28. package/packages/game/dist/types/ai/movement.d.ts.map +1 -1
  29. package/packages/shared/dist/browser/index.global.js +1 -1
  30. package/packages/shared/dist/browser/index.global.js.map +1 -1
  31. package/packages/shared/dist/cjs/index.cjs +1342 -1038
  32. package/packages/shared/dist/cjs/index.cjs.map +1 -1
  33. package/packages/shared/dist/esm/index.js +1340 -1038
  34. package/packages/shared/dist/esm/index.js.map +1 -1
  35. package/packages/shared/dist/tsconfig.tsbuildinfo +1 -1
  36. package/packages/shared/dist/types/pmove/jump.d.ts +2 -0
  37. package/packages/shared/dist/types/pmove/jump.d.ts.map +1 -1
  38. package/packages/shared/dist/types/pmove/move.d.ts +20 -0
  39. package/packages/shared/dist/types/pmove/move.d.ts.map +1 -1
  40. package/packages/shared/dist/types/pmove/pmove.d.ts +5 -1
  41. package/packages/shared/dist/types/pmove/pmove.d.ts.map +1 -1
  42. package/packages/shared/dist/types/pmove/types.d.ts +25 -1
  43. package/packages/shared/dist/types/pmove/types.d.ts.map +1 -1
  44. package/packages/tools/dist/tsconfig.tsbuildinfo +1 -1
@@ -446,7 +446,7 @@ function G_SetPowerupStat(stats, powerupId, val) {
446
446
  if (safeVal < 0) safeVal = 0;
447
447
  setCompressedInteger(stats, 41, index, safeVal, NUM_BITS_FOR_POWERUP);
448
448
  }
449
- 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;
449
+ 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;
450
450
  var init_esm = __esm({
451
451
  "../shared/dist/esm/index.js"() {
452
452
  "use strict";
@@ -1238,7 +1238,7 @@ var init_esm = __esm({
1238
1238
  U_MODEL3 = 1 << 1;
1239
1239
  U_MODEL4 = 1 << 2;
1240
1240
  U_REMOVE = 32768;
1241
- FRAMETIME = 0.025;
1241
+ FRAMETIME2 = 0.025;
1242
1242
  MASK_WATER2 = 33554432;
1243
1243
  WaterLevel3 = {
1244
1244
  None: 0,
@@ -1292,7 +1292,7 @@ var init_esm = __esm({
1292
1292
  const { forward, right } = angleVectors(adjustedAngles);
1293
1293
  const frictionedVelocity = applyPmoveFriction({
1294
1294
  velocity,
1295
- frametime: FRAMETIME,
1295
+ frametime: FRAMETIME2,
1296
1296
  onGround,
1297
1297
  groundIsSlick: false,
1298
1298
  onLadder: false,
@@ -1318,12 +1318,12 @@ var init_esm = __esm({
1318
1318
  wishspeed: wish.wishspeed,
1319
1319
  // Water movement uses ground acceleration (10), not air acceleration (1)
1320
1320
  accel: onGround || waterLevel >= 2 ? 10 : 1,
1321
- frametime: FRAMETIME
1321
+ frametime: FRAMETIME2
1322
1322
  });
1323
1323
  const traceResult = trace(origin, {
1324
- x: origin.x + finalVelocity.x * FRAMETIME,
1325
- y: origin.y + finalVelocity.y * FRAMETIME,
1326
- z: origin.z + finalVelocity.z * FRAMETIME
1324
+ x: origin.x + finalVelocity.x * FRAMETIME2,
1325
+ y: origin.y + finalVelocity.y * FRAMETIME2,
1326
+ z: origin.z + finalVelocity.z * FRAMETIME2
1327
1327
  });
1328
1328
  return {
1329
1329
  ...newState,
@@ -3146,6 +3146,7 @@ function findTarget(self, level, context, trace, hearability = {}) {
3146
3146
  }
3147
3147
 
3148
3148
  // src/ai/movement.ts
3149
+ var STEPSIZE = 18;
3149
3150
  function yawVector(yawDegrees, distance2) {
3150
3151
  if (distance2 === 0) {
3151
3152
  return { x: 0, y: 0, z: 0 };
@@ -3348,24 +3349,70 @@ function M_walkmove(self, yawDegrees, distance2, context) {
3348
3349
  z: self.origin.z + delta.z
3349
3350
  };
3350
3351
  const trace = context.trace(self.origin, self.mins, self.maxs, dest, self, MASK_MONSTERSOLID);
3351
- if (trace.fraction < 1) {
3352
+ if (trace.fraction === 1) {
3353
+ const oldOrigin2 = { ...self.origin };
3354
+ self.origin.x = dest.x;
3355
+ self.origin.y = dest.y;
3356
+ self.origin.z = dest.z;
3357
+ if (!((self.flags & (2 /* Swim */ | 1 /* Fly */)) !== 0) && self.movetype !== 1 /* Noclip */) {
3358
+ if (!M_CheckBottom(self, context)) {
3359
+ self.origin.x = oldOrigin2.x;
3360
+ self.origin.y = oldOrigin2.y;
3361
+ self.origin.z = oldOrigin2.z;
3362
+ return false;
3363
+ }
3364
+ }
3365
+ if (!((self.flags & (2 /* Swim */ | 1 /* Fly */)) !== 0)) {
3366
+ CheckGround(self, context);
3367
+ }
3368
+ return true;
3369
+ }
3370
+ if ((self.flags & (2 /* Swim */ | 1 /* Fly */)) !== 0) {
3352
3371
  return false;
3353
3372
  }
3354
3373
  const oldOrigin = { ...self.origin };
3355
- self.origin.x = dest.x;
3356
- self.origin.y = dest.y;
3357
- self.origin.z = dest.z;
3358
- if (!((self.flags & (2 /* Swim */ | 1 /* Fly */)) !== 0) && self.movetype !== 1 /* Noclip */) {
3359
- if (!M_CheckBottom(self, context)) {
3360
- self.origin.x = oldOrigin.x;
3361
- self.origin.y = oldOrigin.y;
3362
- self.origin.z = oldOrigin.z;
3363
- return false;
3364
- }
3374
+ const up = { ...self.origin, z: self.origin.z + STEPSIZE };
3375
+ const traceUp = context.trace(self.origin, self.mins, self.maxs, up, self, MASK_MONSTERSOLID);
3376
+ if (traceUp.startsolid || traceUp.allsolid) {
3377
+ return false;
3365
3378
  }
3366
- if (!((self.flags & (2 /* Swim */ | 1 /* Fly */)) !== 0)) {
3367
- CheckGround(self, context);
3379
+ const destUp = {
3380
+ x: up.x + delta.x,
3381
+ y: up.y + delta.y,
3382
+ z: up.z
3383
+ // stay at up z
3384
+ };
3385
+ const traceStep = context.trace(up, self.mins, self.maxs, destUp, self, MASK_MONSTERSOLID);
3386
+ if (traceStep.fraction < 1) {
3387
+ return false;
3388
+ }
3389
+ const destDown = {
3390
+ x: destUp.x,
3391
+ y: destUp.y,
3392
+ z: destUp.z - STEPSIZE
3393
+ // Go back down
3394
+ };
3395
+ const downTraceDest = {
3396
+ x: destDown.x,
3397
+ y: destDown.y,
3398
+ z: destDown.z - STEPSIZE
3399
+ // Look a bit deeper?
3400
+ };
3401
+ const traceDown = context.trace(destUp, self.mins, self.maxs, destDown, self, MASK_MONSTERSOLID);
3402
+ if (traceDown.startsolid || traceDown.allsolid) {
3403
+ return false;
3404
+ }
3405
+ const newPos = traceDown.endpos;
3406
+ self.origin.x = newPos.x;
3407
+ self.origin.y = newPos.y;
3408
+ self.origin.z = newPos.z;
3409
+ if (!M_CheckBottom(self, context)) {
3410
+ self.origin.x = oldOrigin.x;
3411
+ self.origin.y = oldOrigin.y;
3412
+ self.origin.z = oldOrigin.z;
3413
+ return false;
3368
3414
  }
3415
+ CheckGround(self, context);
3369
3416
  return true;
3370
3417
  }
3371
3418
  function SV_StepDirection(self, yaw, dist, context) {