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
@@ -9138,6 +9138,28 @@ function writeUserCommand(writer, cmd) {
9138
9138
  writer.writeByte(0);
9139
9139
  writer.writeByte(0);
9140
9140
  }
9141
+ var RenderFx = /* @__PURE__ */ ((RenderFx2) => {
9142
+ RenderFx2[RenderFx2["MinLight"] = 1] = "MinLight";
9143
+ RenderFx2[RenderFx2["ViewerModel"] = 2] = "ViewerModel";
9144
+ RenderFx2[RenderFx2["WeaponModel"] = 4] = "WeaponModel";
9145
+ RenderFx2[RenderFx2["FullBright"] = 8] = "FullBright";
9146
+ RenderFx2[RenderFx2["DepthHack"] = 16] = "DepthHack";
9147
+ RenderFx2[RenderFx2["Translucent"] = 32] = "Translucent";
9148
+ RenderFx2[RenderFx2["FrameLerp"] = 64] = "FrameLerp";
9149
+ RenderFx2[RenderFx2["Beam"] = 128] = "Beam";
9150
+ RenderFx2[RenderFx2["CustomLight"] = 256] = "CustomLight";
9151
+ RenderFx2[RenderFx2["Glow"] = 512] = "Glow";
9152
+ RenderFx2[RenderFx2["ShellRed"] = 1024] = "ShellRed";
9153
+ RenderFx2[RenderFx2["ShellGreen"] = 2048] = "ShellGreen";
9154
+ RenderFx2[RenderFx2["ShellBlue"] = 4096] = "ShellBlue";
9155
+ RenderFx2[RenderFx2["IrVisible"] = 32768] = "IrVisible";
9156
+ RenderFx2[RenderFx2["ShellDouble"] = 65536] = "ShellDouble";
9157
+ RenderFx2[RenderFx2["ShellHalfDam"] = 131072] = "ShellHalfDam";
9158
+ RenderFx2[RenderFx2["MinLightPlus"] = 262144] = "MinLightPlus";
9159
+ RenderFx2[RenderFx2["ExtraLight"] = 524288] = "ExtraLight";
9160
+ RenderFx2[RenderFx2["BeamLightning"] = 1048576] = "BeamLightning";
9161
+ return RenderFx2;
9162
+ })(RenderFx || {});
9141
9163
  var entityFlags_exports2 = {};
9142
9164
  __export3(entityFlags_exports2, {
9143
9165
  U_ANGLE1: () => U_ANGLE13,
@@ -10395,6 +10417,21 @@ function buildRenderableEntities(latestEntities, previousEntities, alpha, config
10395
10417
  mat4_exports.rotateX(mat, mat, angles.x * Math.PI / 180);
10396
10418
  mat4_exports.scale(mat, mat, [scale3, scale3, scale3]);
10397
10419
  const skinName = skinNum !== void 0 && skinNum > 0 ? configStrings.getImageName(skinNum) : void 0;
10420
+ let tint;
10421
+ const renderfx = ent.renderfx ?? 0;
10422
+ if ((renderfx & (RenderFx.ShellGreen | RenderFx.ShellBlue)) === (RenderFx.ShellGreen | RenderFx.ShellBlue)) {
10423
+ tint = [0, 1, 1, 1];
10424
+ } else if (renderfx & RenderFx.ShellRed) {
10425
+ tint = [1, 0, 0, 1];
10426
+ } else if (renderfx & RenderFx.ShellGreen) {
10427
+ tint = [0, 1, 0, 1];
10428
+ } else if (renderfx & RenderFx.ShellBlue) {
10429
+ tint = [0, 0, 1, 1];
10430
+ } else if (renderfx & RenderFx.ShellDouble) {
10431
+ tint = [1, 1, 0, 1];
10432
+ } else if (renderfx & RenderFx.ShellHalfDam) {
10433
+ tint = [0.5, 0.5, 0.5, 1];
10434
+ }
10398
10435
  if (model.header.magic === 844121161) {
10399
10436
  renderables.push({
10400
10437
  type: "md2",
@@ -10407,7 +10444,8 @@ function buildRenderableEntities(latestEntities, previousEntities, alpha, config
10407
10444
  },
10408
10445
  transform: mat,
10409
10446
  skin: skinName,
10410
- alpha: normalizedAlpha
10447
+ alpha: normalizedAlpha,
10448
+ tint
10411
10449
  });
10412
10450
  } else if (model.header.magic === 860898377) {
10413
10451
  renderables.push({
@@ -10419,7 +10457,8 @@ function buildRenderableEntities(latestEntities, previousEntities, alpha, config
10419
10457
  lerp: alpha
10420
10458
  },
10421
10459
  transform: mat,
10422
- alpha: normalizedAlpha
10460
+ alpha: normalizedAlpha,
10461
+ tint
10423
10462
  // Lighting? Skins?
10424
10463
  });
10425
10464
  }
@@ -12904,6 +12943,18 @@ function createClient(imports) {
12904
12943
  lastRenderTime = now;
12905
12944
  demoPlayback.update(dt);
12906
12945
  lastRendered = demoHandler.getPredictionState(demoPlayback.getCurrentTime());
12946
+ const frameDuration = 100;
12947
+ renderEntities = demoHandler.getRenderableEntities(1, configStrings);
12948
+ if (lastRendered) {
12949
+ const demoCamera = demoHandler.getDemoCamera(1);
12950
+ if (demoCamera) {
12951
+ lastRendered.origin = demoCamera.origin;
12952
+ lastRendered.viewAngles = demoCamera.angles;
12953
+ if (demoCamera.fov) {
12954
+ lastRendered.fov = demoCamera.fov;
12955
+ }
12956
+ }
12957
+ }
12907
12958
  } else {
12908
12959
  lastRenderTime = sample.nowMs;
12909
12960
  if (sample.latest?.state) {
@@ -12936,7 +12987,11 @@ function createClient(imports) {
12936
12987
  vec3_exports.add(camera.position, camera.position, [viewOffset.x, viewOffset.y, viewOffset.z]);
12937
12988
  const effectAngles = lastView?.angles ?? { x: 0, y: 0, z: 0 };
12938
12989
  camera.angles = vec3_exports.fromValues(viewAngles.x + effectAngles.x, viewAngles.y + effectAngles.y, viewAngles.z + effectAngles.z);
12939
- camera.fov = isZooming ? 40 : fovValue;
12990
+ if (isDemoPlaying && lastRendered.fov) {
12991
+ camera.fov = lastRendered.fov;
12992
+ } else {
12993
+ camera.fov = isZooming ? 40 : fovValue;
12994
+ }
12940
12995
  camera.aspect = 4 / 3;
12941
12996
  if (imports.engine.renderer) {
12942
12997
  camera.aspect = imports.engine.renderer.width / imports.engine.renderer.height;