quake2ts 0.0.281 → 0.0.283
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 +1 -1
- package/packages/client/dist/browser/index.global.js +13 -13
- package/packages/client/dist/browser/index.global.js.map +1 -1
- package/packages/client/dist/cjs/index.cjs +46 -10
- package/packages/client/dist/cjs/index.cjs.map +1 -1
- package/packages/client/dist/esm/index.js +45 -10
- package/packages/client/dist/esm/index.js.map +1 -1
- package/packages/client/dist/tsconfig.tsbuildinfo +1 -1
- package/packages/client/dist/types/index.d.ts +10 -0
- package/packages/client/dist/types/index.d.ts.map +1 -1
- package/packages/engine/dist/browser/index.global.js +1 -1
- package/packages/engine/dist/browser/index.global.js.map +1 -1
- package/packages/engine/dist/cjs/index.cjs +3 -0
- package/packages/engine/dist/cjs/index.cjs.map +1 -1
- package/packages/engine/dist/esm/index.js +3 -0
- package/packages/engine/dist/esm/index.js.map +1 -1
- package/packages/engine/dist/tsconfig.tsbuildinfo +1 -1
- package/packages/engine/dist/types/demo/playback.d.ts +1 -0
- package/packages/engine/dist/types/demo/playback.d.ts.map +1 -1
- package/packages/game/dist/browser/index.global.js +3 -3
- package/packages/game/dist/browser/index.global.js.map +1 -1
- package/packages/game/dist/cjs/index.cjs +427 -0
- package/packages/game/dist/cjs/index.cjs.map +1 -1
- package/packages/game/dist/esm/index.js +427 -0
- package/packages/game/dist/esm/index.js.map +1 -1
- package/packages/game/dist/tsconfig.tsbuildinfo +1 -1
- package/packages/game/dist/types/entities/index.d.ts +1 -1
- package/packages/game/dist/types/entities/index.d.ts.map +1 -1
- package/packages/game/dist/types/entities/monsters/arachnid.d.ts +5 -0
- package/packages/game/dist/types/entities/monsters/arachnid.d.ts.map +1 -0
- package/packages/game/dist/types/entities/monsters/common.d.ts +8 -1
- package/packages/game/dist/types/entities/monsters/common.d.ts.map +1 -1
- package/packages/game/dist/types/entities/monsters/index.d.ts.map +1 -1
|
@@ -7972,13 +7972,6 @@ var NetworkMessageParser = class _NetworkMessageParser {
|
|
|
7972
7972
|
if (bitsHigh & U_OLD_FRAME_HIGH) to.oldFrame = this.stream.readShort();
|
|
7973
7973
|
}
|
|
7974
7974
|
};
|
|
7975
|
-
var PlaybackState = /* @__PURE__ */ ((PlaybackState2) => {
|
|
7976
|
-
PlaybackState2[PlaybackState2["Stopped"] = 0] = "Stopped";
|
|
7977
|
-
PlaybackState2[PlaybackState2["Playing"] = 1] = "Playing";
|
|
7978
|
-
PlaybackState2[PlaybackState2["Paused"] = 2] = "Paused";
|
|
7979
|
-
PlaybackState2[PlaybackState2["Finished"] = 3] = "Finished";
|
|
7980
|
-
return PlaybackState2;
|
|
7981
|
-
})(PlaybackState || {});
|
|
7982
7975
|
var DemoPlaybackController = class {
|
|
7983
7976
|
// ms (10Hz default)
|
|
7984
7977
|
constructor() {
|
|
@@ -8044,6 +8037,9 @@ var DemoPlaybackController = class {
|
|
|
8044
8037
|
getState() {
|
|
8045
8038
|
return this.state;
|
|
8046
8039
|
}
|
|
8040
|
+
getCurrentTime() {
|
|
8041
|
+
return this.accumulatedTime;
|
|
8042
|
+
}
|
|
8047
8043
|
};
|
|
8048
8044
|
|
|
8049
8045
|
// ../shared/dist/esm/index.js
|
|
@@ -11664,6 +11660,12 @@ import {
|
|
|
11664
11660
|
} from "@quake2ts/cgame";
|
|
11665
11661
|
import { ViewEffects as ViewEffects3 } from "@quake2ts/cgame";
|
|
11666
11662
|
var ZERO_VEC32 = { x: 0, y: 0, z: 0 };
|
|
11663
|
+
var ClientMode = /* @__PURE__ */ ((ClientMode2) => {
|
|
11664
|
+
ClientMode2[ClientMode2["Normal"] = 0] = "Normal";
|
|
11665
|
+
ClientMode2[ClientMode2["DemoPlayback"] = 1] = "DemoPlayback";
|
|
11666
|
+
ClientMode2[ClientMode2["Multiplayer"] = 2] = "Multiplayer";
|
|
11667
|
+
return ClientMode2;
|
|
11668
|
+
})(ClientMode || {});
|
|
11667
11669
|
function createClient(imports) {
|
|
11668
11670
|
const pointContents = (point) => {
|
|
11669
11671
|
const zero3 = { x: 0, y: 0, z: 0 };
|
|
@@ -11675,6 +11677,9 @@ function createClient(imports) {
|
|
|
11675
11677
|
const demoPlayback = new DemoPlaybackController();
|
|
11676
11678
|
const demoHandler = new ClientNetworkHandler(imports);
|
|
11677
11679
|
demoHandler.setView(view);
|
|
11680
|
+
let isDemoPlaying = false;
|
|
11681
|
+
let currentDemoName = null;
|
|
11682
|
+
let clientMode = 0 /* Normal */;
|
|
11678
11683
|
const menuSystem = new MenuSystem();
|
|
11679
11684
|
const loadingScreen = new LoadingScreen();
|
|
11680
11685
|
const errorDialog = new ErrorDialog();
|
|
@@ -11684,6 +11689,7 @@ function createClient(imports) {
|
|
|
11684
11689
|
let optionsFactory;
|
|
11685
11690
|
const configStrings = new ClientConfigStrings();
|
|
11686
11691
|
let latestFrame;
|
|
11692
|
+
let lastRenderTime = 0;
|
|
11687
11693
|
let clientInAutoDemo = false;
|
|
11688
11694
|
const stateProvider = {
|
|
11689
11695
|
get tickRate() {
|
|
@@ -11934,11 +11940,15 @@ function createClient(imports) {
|
|
|
11934
11940
|
return { menuSystem, factory };
|
|
11935
11941
|
},
|
|
11936
11942
|
render(sample) {
|
|
11937
|
-
const playbackState = demoPlayback.getState();
|
|
11938
11943
|
let renderEntities = [];
|
|
11939
|
-
if (
|
|
11940
|
-
|
|
11944
|
+
if (isDemoPlaying) {
|
|
11945
|
+
const now = sample.nowMs;
|
|
11946
|
+
const dt = lastRenderTime > 0 ? Math.max(0, now - lastRenderTime) : 0;
|
|
11947
|
+
lastRenderTime = now;
|
|
11948
|
+
demoPlayback.update(dt);
|
|
11949
|
+
lastRendered = demoHandler.getPredictionState(demoPlayback.getCurrentTime());
|
|
11941
11950
|
} else {
|
|
11951
|
+
lastRenderTime = sample.nowMs;
|
|
11942
11952
|
if (sample.latest?.state) {
|
|
11943
11953
|
prediction.setAuthoritative(sample.latest);
|
|
11944
11954
|
latestFrame = sample.latest;
|
|
@@ -12116,6 +12126,30 @@ function createClient(imports) {
|
|
|
12116
12126
|
return camera;
|
|
12117
12127
|
},
|
|
12118
12128
|
demoPlayback,
|
|
12129
|
+
get isDemoPlaying() {
|
|
12130
|
+
return isDemoPlaying;
|
|
12131
|
+
},
|
|
12132
|
+
get currentDemoName() {
|
|
12133
|
+
return currentDemoName;
|
|
12134
|
+
},
|
|
12135
|
+
get mode() {
|
|
12136
|
+
return clientMode;
|
|
12137
|
+
},
|
|
12138
|
+
startDemoPlayback(buffer, filename) {
|
|
12139
|
+
demoPlayback.loadDemo(buffer);
|
|
12140
|
+
demoPlayback.setHandler(demoHandler);
|
|
12141
|
+
isDemoPlaying = true;
|
|
12142
|
+
currentDemoName = filename;
|
|
12143
|
+
clientMode = 1 /* DemoPlayback */;
|
|
12144
|
+
lastRenderTime = 0;
|
|
12145
|
+
configStrings.clear();
|
|
12146
|
+
},
|
|
12147
|
+
stopDemoPlayback() {
|
|
12148
|
+
demoPlayback.stop();
|
|
12149
|
+
isDemoPlaying = false;
|
|
12150
|
+
currentDemoName = null;
|
|
12151
|
+
clientMode = 0 /* Normal */;
|
|
12152
|
+
},
|
|
12119
12153
|
ParseCenterPrint(msg) {
|
|
12120
12154
|
cg.ParseCenterPrint(msg, 0, false);
|
|
12121
12155
|
},
|
|
@@ -12137,6 +12171,7 @@ function createClient(imports) {
|
|
|
12137
12171
|
}
|
|
12138
12172
|
export {
|
|
12139
12173
|
ClientConfigStrings,
|
|
12174
|
+
ClientMode,
|
|
12140
12175
|
ClientPrediction2 as ClientPrediction,
|
|
12141
12176
|
InputAction,
|
|
12142
12177
|
InputBindings,
|