quake2ts 0.0.302 → 0.0.305

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 (34) hide show
  1. package/package.json +1 -1
  2. package/packages/client/dist/browser/index.global.js +13 -13
  3. package/packages/client/dist/browser/index.global.js.map +1 -1
  4. package/packages/client/dist/cjs/index.cjs +58 -3
  5. package/packages/client/dist/cjs/index.cjs.map +1 -1
  6. package/packages/client/dist/esm/index.js +58 -3
  7. package/packages/client/dist/esm/index.js.map +1 -1
  8. package/packages/client/dist/tsconfig.tsbuildinfo +1 -1
  9. package/packages/client/dist/types/entities.d.ts +1 -0
  10. package/packages/client/dist/types/entities.d.ts.map +1 -1
  11. package/packages/client/dist/types/index.d.ts.map +1 -1
  12. package/packages/engine/dist/tsconfig.tsbuildinfo +1 -1
  13. package/packages/engine/dist/types/render/renderer.d.ts.map +1 -1
  14. package/packages/engine/dist/types/render/scene.d.ts +2 -0
  15. package/packages/engine/dist/types/render/scene.d.ts.map +1 -1
  16. package/packages/game/dist/browser/index.global.js +4 -4
  17. package/packages/game/dist/browser/index.global.js.map +1 -1
  18. package/packages/game/dist/cjs/index.cjs +857 -1
  19. package/packages/game/dist/cjs/index.cjs.map +1 -1
  20. package/packages/game/dist/esm/index.js +856 -1
  21. package/packages/game/dist/esm/index.js.map +1 -1
  22. package/packages/game/dist/tsconfig.tsbuildinfo +1 -1
  23. package/packages/game/dist/types/ai/constants.d.ts +1 -0
  24. package/packages/game/dist/types/ai/constants.d.ts.map +1 -1
  25. package/packages/game/dist/types/ai/monster.d.ts.map +1 -1
  26. package/packages/game/dist/types/entities/gibs.d.ts +4 -0
  27. package/packages/game/dist/types/entities/gibs.d.ts.map +1 -1
  28. package/packages/game/dist/types/entities/monsters/attack.d.ts +1 -0
  29. package/packages/game/dist/types/entities/monsters/attack.d.ts.map +1 -1
  30. package/packages/game/dist/types/entities/monsters/common.d.ts +3 -0
  31. package/packages/game/dist/types/entities/monsters/common.d.ts.map +1 -1
  32. package/packages/game/dist/types/entities/monsters/gunnerCommander.d.ts +5 -0
  33. package/packages/game/dist/types/entities/monsters/gunnerCommander.d.ts.map +1 -0
  34. package/packages/game/dist/types/entities/monsters/index.d.ts.map +1 -1
@@ -9106,6 +9106,28 @@ function writeUserCommand(writer, cmd) {
9106
9106
  writer.writeByte(0);
9107
9107
  writer.writeByte(0);
9108
9108
  }
9109
+ var RenderFx = /* @__PURE__ */ ((RenderFx2) => {
9110
+ RenderFx2[RenderFx2["MinLight"] = 1] = "MinLight";
9111
+ RenderFx2[RenderFx2["ViewerModel"] = 2] = "ViewerModel";
9112
+ RenderFx2[RenderFx2["WeaponModel"] = 4] = "WeaponModel";
9113
+ RenderFx2[RenderFx2["FullBright"] = 8] = "FullBright";
9114
+ RenderFx2[RenderFx2["DepthHack"] = 16] = "DepthHack";
9115
+ RenderFx2[RenderFx2["Translucent"] = 32] = "Translucent";
9116
+ RenderFx2[RenderFx2["FrameLerp"] = 64] = "FrameLerp";
9117
+ RenderFx2[RenderFx2["Beam"] = 128] = "Beam";
9118
+ RenderFx2[RenderFx2["CustomLight"] = 256] = "CustomLight";
9119
+ RenderFx2[RenderFx2["Glow"] = 512] = "Glow";
9120
+ RenderFx2[RenderFx2["ShellRed"] = 1024] = "ShellRed";
9121
+ RenderFx2[RenderFx2["ShellGreen"] = 2048] = "ShellGreen";
9122
+ RenderFx2[RenderFx2["ShellBlue"] = 4096] = "ShellBlue";
9123
+ RenderFx2[RenderFx2["IrVisible"] = 32768] = "IrVisible";
9124
+ RenderFx2[RenderFx2["ShellDouble"] = 65536] = "ShellDouble";
9125
+ RenderFx2[RenderFx2["ShellHalfDam"] = 131072] = "ShellHalfDam";
9126
+ RenderFx2[RenderFx2["MinLightPlus"] = 262144] = "MinLightPlus";
9127
+ RenderFx2[RenderFx2["ExtraLight"] = 524288] = "ExtraLight";
9128
+ RenderFx2[RenderFx2["BeamLightning"] = 1048576] = "BeamLightning";
9129
+ return RenderFx2;
9130
+ })(RenderFx || {});
9109
9131
  var entityFlags_exports2 = {};
9110
9132
  __export3(entityFlags_exports2, {
9111
9133
  U_ANGLE1: () => U_ANGLE13,
@@ -10363,6 +10385,21 @@ function buildRenderableEntities(latestEntities, previousEntities, alpha, config
10363
10385
  mat4_exports.rotateX(mat, mat, angles.x * Math.PI / 180);
10364
10386
  mat4_exports.scale(mat, mat, [scale3, scale3, scale3]);
10365
10387
  const skinName = skinNum !== void 0 && skinNum > 0 ? configStrings.getImageName(skinNum) : void 0;
10388
+ let tint;
10389
+ const renderfx = ent.renderfx ?? 0;
10390
+ if ((renderfx & (RenderFx.ShellGreen | RenderFx.ShellBlue)) === (RenderFx.ShellGreen | RenderFx.ShellBlue)) {
10391
+ tint = [0, 1, 1, 1];
10392
+ } else if (renderfx & RenderFx.ShellRed) {
10393
+ tint = [1, 0, 0, 1];
10394
+ } else if (renderfx & RenderFx.ShellGreen) {
10395
+ tint = [0, 1, 0, 1];
10396
+ } else if (renderfx & RenderFx.ShellBlue) {
10397
+ tint = [0, 0, 1, 1];
10398
+ } else if (renderfx & RenderFx.ShellDouble) {
10399
+ tint = [1, 1, 0, 1];
10400
+ } else if (renderfx & RenderFx.ShellHalfDam) {
10401
+ tint = [0.5, 0.5, 0.5, 1];
10402
+ }
10366
10403
  if (model.header.magic === 844121161) {
10367
10404
  renderables.push({
10368
10405
  type: "md2",
@@ -10375,7 +10412,8 @@ function buildRenderableEntities(latestEntities, previousEntities, alpha, config
10375
10412
  },
10376
10413
  transform: mat,
10377
10414
  skin: skinName,
10378
- alpha: normalizedAlpha
10415
+ alpha: normalizedAlpha,
10416
+ tint
10379
10417
  });
10380
10418
  } else if (model.header.magic === 860898377) {
10381
10419
  renderables.push({
@@ -10387,7 +10425,8 @@ function buildRenderableEntities(latestEntities, previousEntities, alpha, config
10387
10425
  lerp: alpha
10388
10426
  },
10389
10427
  transform: mat,
10390
- alpha: normalizedAlpha
10428
+ alpha: normalizedAlpha,
10429
+ tint
10391
10430
  // Lighting? Skins?
10392
10431
  });
10393
10432
  }
@@ -12875,6 +12914,18 @@ function createClient(imports) {
12875
12914
  lastRenderTime = now;
12876
12915
  demoPlayback.update(dt);
12877
12916
  lastRendered = demoHandler.getPredictionState(demoPlayback.getCurrentTime());
12917
+ const frameDuration = 100;
12918
+ renderEntities = demoHandler.getRenderableEntities(1, configStrings);
12919
+ if (lastRendered) {
12920
+ const demoCamera = demoHandler.getDemoCamera(1);
12921
+ if (demoCamera) {
12922
+ lastRendered.origin = demoCamera.origin;
12923
+ lastRendered.viewAngles = demoCamera.angles;
12924
+ if (demoCamera.fov) {
12925
+ lastRendered.fov = demoCamera.fov;
12926
+ }
12927
+ }
12928
+ }
12878
12929
  } else {
12879
12930
  lastRenderTime = sample.nowMs;
12880
12931
  if (sample.latest?.state) {
@@ -12907,7 +12958,11 @@ function createClient(imports) {
12907
12958
  vec3_exports.add(camera.position, camera.position, [viewOffset.x, viewOffset.y, viewOffset.z]);
12908
12959
  const effectAngles = lastView?.angles ?? { x: 0, y: 0, z: 0 };
12909
12960
  camera.angles = vec3_exports.fromValues(viewAngles.x + effectAngles.x, viewAngles.y + effectAngles.y, viewAngles.z + effectAngles.z);
12910
- camera.fov = isZooming ? 40 : fovValue;
12961
+ if (isDemoPlaying && lastRendered.fov) {
12962
+ camera.fov = lastRendered.fov;
12963
+ } else {
12964
+ camera.fov = isZooming ? 40 : fovValue;
12965
+ }
12911
12966
  camera.aspect = 4 / 3;
12912
12967
  if (imports.engine.renderer) {
12913
12968
  camera.aspect = imports.engine.renderer.width / imports.engine.renderer.height;