quake2ts 0.0.271 → 0.0.276
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/cgame/dist/index.cjs +29 -5
- package/packages/cgame/dist/index.cjs.map +1 -1
- package/packages/cgame/dist/index.js +30 -6
- package/packages/cgame/dist/index.js.map +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.map +1 -1
- package/packages/client/dist/esm/index.js.map +1 -1
- package/packages/client/dist/tsconfig.tsbuildinfo +1 -1
- package/packages/engine/dist/browser/index.global.js +6 -6
- package/packages/engine/dist/browser/index.global.js.map +1 -1
- package/packages/engine/dist/cjs/index.cjs.map +1 -1
- package/packages/engine/dist/esm/index.js.map +1 -1
- package/packages/engine/dist/tsconfig.tsbuildinfo +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 +1058 -119
- package/packages/game/dist/cjs/index.cjs.map +1 -1
- package/packages/game/dist/esm/index.js +1058 -119
- package/packages/game/dist/esm/index.js.map +1 -1
- package/packages/game/dist/tsconfig.tsbuildinfo +1 -1
- package/packages/game/dist/types/combat/weapons/common.d.ts +3 -0
- package/packages/game/dist/types/combat/weapons/common.d.ts.map +1 -0
- package/packages/game/dist/types/combat/weapons/grenade.d.ts +4 -0
- package/packages/game/dist/types/combat/weapons/grenade.d.ts.map +1 -0
- package/packages/game/dist/types/entities/monsters/fixbot.d.ts +5 -0
- package/packages/game/dist/types/entities/monsters/fixbot.d.ts.map +1 -0
- package/packages/game/dist/types/entities/monsters/gekk.d.ts +5 -0
- package/packages/game/dist/types/entities/monsters/gekk.d.ts.map +1 -0
- package/packages/game/dist/types/entities/monsters/index.d.ts.map +1 -1
- package/packages/game/dist/types/entities/playerStats.d.ts.map +1 -1
- package/packages/game/dist/types/inventory/playerInventory.d.ts +4 -48
- package/packages/game/dist/types/inventory/playerInventory.d.ts.map +1 -1
- package/packages/server/dist/index.cjs +73 -5
- package/packages/server/dist/index.js +73 -5
- package/packages/shared/dist/browser/index.global.js +1 -1
- package/packages/shared/dist/browser/index.global.js.map +1 -1
- package/packages/shared/dist/cjs/index.cjs +47 -4
- package/packages/shared/dist/cjs/index.cjs.map +1 -1
- package/packages/shared/dist/esm/index.js +45 -4
- package/packages/shared/dist/esm/index.js.map +1 -1
- package/packages/shared/dist/tsconfig.tsbuildinfo +1 -1
- package/packages/shared/dist/types/items/index.d.ts +1 -0
- package/packages/shared/dist/types/items/index.d.ts.map +1 -1
- package/packages/shared/dist/types/items/weaponInfo.d.ts +5 -0
- package/packages/shared/dist/types/items/weaponInfo.d.ts.map +1 -0
- package/packages/shared/dist/types/items/weapons.d.ts +8 -7
- package/packages/shared/dist/types/items/weapons.d.ts.map +1 -1
- package/packages/tools/dist/tsconfig.tsbuildinfo +1 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../../../src/combat/weapons/common.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AAGlD,wBAAgB,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,GAAE,MAAU,EAAE,UAAU,GAAE,MAAU,QAK/F"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"grenade.d.ts","sourceRoot":"","sources":["../../../../src/combat/weapons/grenade.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AA4BxD,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,YAAY,QA2E7D"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { Entity } from '../entity.js';
|
|
2
|
+
import { SpawnContext, SpawnRegistry } from '../spawn.js';
|
|
3
|
+
export declare function SP_monster_fixbot(self: Entity, context: SpawnContext): void;
|
|
4
|
+
export declare function registerFixbotSpawns(registry: SpawnRegistry): void;
|
|
5
|
+
//# sourceMappingURL=fixbot.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fixbot.d.ts","sourceRoot":"","sources":["../../../../src/entities/monsters/fixbot.ts"],"names":[],"mappings":"AAyBA,OAAO,EAEL,MAAM,EAMP,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AA0X1D,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,GAAG,IAAI,CAiC3E;AAED,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,aAAa,GAAG,IAAI,CAElE"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { Entity } from '../entity.js';
|
|
2
|
+
import { SpawnContext, SpawnRegistry } from '../spawn.js';
|
|
3
|
+
export declare function SP_monster_gekk(self: Entity, context: SpawnContext): void;
|
|
4
|
+
export declare function registerGekkSpawns(registry: SpawnRegistry): void;
|
|
5
|
+
//# sourceMappingURL=gekk.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"gekk.d.ts","sourceRoot":"","sources":["../../../../src/entities/monsters/gekk.ts"],"names":[],"mappings":"AAsBA,OAAO,EAEL,MAAM,EAMP,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAysB1D,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,GAAG,IAAI,CA8CzE;AAiDD,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,aAAa,GAAG,IAAI,CAEhE"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/entities/monsters/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/entities/monsters/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AA4B5C,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,aAAa,GAAG,IAAI,CA2BnE"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"playerStats.d.ts","sourceRoot":"","sources":["../../../src/entities/playerStats.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"playerStats.d.ts","sourceRoot":"","sources":["../../../src/entities/playerStats.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAerC,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM,EAAE,CAuFjF"}
|
|
@@ -1,66 +1,22 @@
|
|
|
1
|
-
export declare enum WeaponId {
|
|
2
|
-
Blaster = "blaster",
|
|
3
|
-
Shotgun = "shotgun",
|
|
4
|
-
SuperShotgun = "supershotgun",
|
|
5
|
-
Machinegun = "machinegun",
|
|
6
|
-
Chaingun = "chaingun",
|
|
7
|
-
GrenadeLauncher = "grenadelauncher",
|
|
8
|
-
RocketLauncher = "rocketlauncher",
|
|
9
|
-
HyperBlaster = "hyperblaster",
|
|
10
|
-
Railgun = "railgun",
|
|
11
|
-
BFG10K = "bfg10k",
|
|
12
|
-
HandGrenade = "grenades",
|
|
13
|
-
Grapple = "grapple",// Missing
|
|
14
|
-
IonRipper = "ionripper",
|
|
15
|
-
Phalanx = "phalanx",
|
|
16
|
-
Trap = "trap",
|
|
17
|
-
PlasmaBeam = "plasmabeam",// Heatbeam
|
|
18
|
-
EtfRifle = "etfrifle",
|
|
19
|
-
ProxLauncher = "proxlauncher",
|
|
20
|
-
ChainFist = "chainfist",
|
|
21
|
-
Disruptor = "disruptor"
|
|
22
|
-
}
|
|
23
1
|
import { type AmmoInventory, type AmmoItemId, pickupAmmo, type AmmoAdjustmentResult } from './ammo.js';
|
|
2
|
+
import { WeaponId, PowerupId } from '@quake2ts/shared';
|
|
24
3
|
import { ArmorType, type RegularArmorState } from '../combat/armor.js';
|
|
25
4
|
import { WeaponItem, ArmorItem, PowerupItem, PowerArmorItem, KeyItem, HealthItem } from './items.js';
|
|
26
5
|
import { PlayerWeaponStates } from '../combat/weapons/state.js';
|
|
27
6
|
import { Vec3 } from '@quake2ts/shared';
|
|
28
7
|
import { WeaponStateEnum } from '../combat/weapons/state.js';
|
|
8
|
+
export { WeaponId, PowerupId };
|
|
29
9
|
export interface PlayerInventoryOptions {
|
|
30
10
|
readonly weapons?: readonly WeaponId[];
|
|
31
11
|
readonly ammo?: Record<number, number>;
|
|
32
12
|
readonly ammoCaps?: readonly number[];
|
|
33
13
|
readonly currentWeapon?: WeaponId;
|
|
34
14
|
}
|
|
35
|
-
export declare enum PowerupId {
|
|
36
|
-
QuadDamage = "quad",
|
|
37
|
-
Invulnerability = "invulnerability",
|
|
38
|
-
Silencer = "silencer",
|
|
39
|
-
Rebreather = "rebreather",
|
|
40
|
-
EnviroSuit = "enviro",
|
|
41
|
-
DoubleDamage = "double",// Rogue
|
|
42
|
-
QuadFire = "quadfire",// Xatrix?
|
|
43
|
-
Invisibility = "invisibility",// TF? or other mod
|
|
44
|
-
Bandolier = "bandolier",
|
|
45
|
-
AmmoPack = "pack",
|
|
46
|
-
IRGoggles = "goggles",
|
|
47
|
-
SphereVengeance = "vengeance",// Rogue
|
|
48
|
-
SphereHunter = "hunter",// Rogue
|
|
49
|
-
SphereDefender = "defender",// Rogue
|
|
50
|
-
Doppelganger = "doppelganger",// Rogue
|
|
51
|
-
TagToken = "tagtoken",
|
|
52
|
-
TechResistance = "tech_resistance",
|
|
53
|
-
TechStrength = "tech_strength",
|
|
54
|
-
TechHaste = "tech_haste",
|
|
55
|
-
TechRegeneration = "tech_regeneration",
|
|
56
|
-
Flashlight = "flashlight",
|
|
57
|
-
Compass = "compass"
|
|
58
|
-
}
|
|
59
15
|
export declare enum KeyId {
|
|
60
16
|
Blue = "key_blue",
|
|
61
17
|
Red = "key_red",
|
|
62
|
-
Green = "key_green"
|
|
63
|
-
Yellow = "key_yellow"
|
|
18
|
+
Green = "key_green",
|
|
19
|
+
Yellow = "key_yellow",
|
|
64
20
|
DataCD = "key_data_cd",
|
|
65
21
|
PowerCube = "key_power_cube",
|
|
66
22
|
ExplosiveCharges = "key_explosive_charges",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"playerInventory.d.ts","sourceRoot":"","sources":["../../../src/inventory/playerInventory.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"playerInventory.d.ts","sourceRoot":"","sources":["../../../src/inventory/playerInventory.ts"],"names":[],"mappings":"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"}
|
|
@@ -330,17 +330,28 @@ var U_ORIGIN3 = 1 << 9;
|
|
|
330
330
|
var U_ANGLE1 = 1 << 10;
|
|
331
331
|
var U_MODEL = 1 << 11;
|
|
332
332
|
var U_RENDERFX8 = 1 << 12;
|
|
333
|
+
var U_ALPHA = 1 << 13;
|
|
333
334
|
var U_EFFECTS8 = 1 << 14;
|
|
334
335
|
var U_MOREBITS2 = 1 << 15;
|
|
335
336
|
var U_SKIN8 = 1 << 16;
|
|
336
337
|
var U_FRAME16 = 1 << 17;
|
|
337
338
|
var U_RENDERFX16 = 1 << 18;
|
|
338
339
|
var U_EFFECTS16 = 1 << 19;
|
|
340
|
+
var U_MODEL2 = 1 << 20;
|
|
341
|
+
var U_MODEL3 = 1 << 21;
|
|
342
|
+
var U_MODEL4 = 1 << 22;
|
|
339
343
|
var U_MOREBITS3 = 1 << 23;
|
|
340
344
|
var U_OLDORIGIN = 1 << 24;
|
|
341
345
|
var U_SKIN16 = 1 << 25;
|
|
342
346
|
var U_SOUND = 1 << 26;
|
|
343
347
|
var U_SOLID = 1 << 27;
|
|
348
|
+
var U_SCALE = 1 << 28;
|
|
349
|
+
var U_INSTANCE_BITS = 1 << 29;
|
|
350
|
+
var U_LOOP_VOLUME = 1 << 30;
|
|
351
|
+
var U_MOREBITS4 = 2147483648 | 0;
|
|
352
|
+
var U_LOOP_ATTENUATION_HIGH = 1 << 0;
|
|
353
|
+
var U_OWNER_HIGH = 1 << 1;
|
|
354
|
+
var U_OLD_FRAME_HIGH = 1 << 2;
|
|
344
355
|
var NULL_STATE = {
|
|
345
356
|
number: 0,
|
|
346
357
|
origin: { x: 0, y: 0, z: 0 },
|
|
@@ -352,7 +363,17 @@ var NULL_STATE = {
|
|
|
352
363
|
renderfx: 0,
|
|
353
364
|
solid: 0,
|
|
354
365
|
sound: 0,
|
|
355
|
-
event: 0
|
|
366
|
+
event: 0,
|
|
367
|
+
alpha: 0,
|
|
368
|
+
scale: 0,
|
|
369
|
+
instanceBits: 0,
|
|
370
|
+
loopVolume: 0,
|
|
371
|
+
loopAttenuation: 0,
|
|
372
|
+
owner: 0,
|
|
373
|
+
oldFrame: 0,
|
|
374
|
+
modelIndex2: 0,
|
|
375
|
+
modelIndex3: 0,
|
|
376
|
+
modelIndex4: 0
|
|
356
377
|
};
|
|
357
378
|
function writeRemoveEntity(number, writer) {
|
|
358
379
|
let bits = U_REMOVE;
|
|
@@ -374,12 +395,22 @@ function writeRemoveEntity(number, writer) {
|
|
|
374
395
|
}
|
|
375
396
|
function writeDeltaEntity(from, to, writer, force, newEntity) {
|
|
376
397
|
let bits = 0;
|
|
398
|
+
let bitsHigh = 0;
|
|
377
399
|
if (newEntity) {
|
|
378
400
|
from = NULL_STATE;
|
|
379
401
|
}
|
|
380
402
|
if (to.modelIndex !== from.modelIndex || force) {
|
|
381
403
|
bits |= U_MODEL;
|
|
382
404
|
}
|
|
405
|
+
if (to.modelIndex2 !== from.modelIndex2 || force) {
|
|
406
|
+
bits |= U_MODEL2;
|
|
407
|
+
}
|
|
408
|
+
if (to.modelIndex3 !== from.modelIndex3 || force) {
|
|
409
|
+
bits |= U_MODEL3;
|
|
410
|
+
}
|
|
411
|
+
if (to.modelIndex4 !== from.modelIndex4 || force) {
|
|
412
|
+
bits |= U_MODEL4;
|
|
413
|
+
}
|
|
383
414
|
if (to.origin.x !== from.origin.x || force) {
|
|
384
415
|
bits |= U_ORIGIN1;
|
|
385
416
|
}
|
|
@@ -423,17 +454,41 @@ function writeDeltaEntity(from, to, writer, force, newEntity) {
|
|
|
423
454
|
if (to.event !== from.event || force) {
|
|
424
455
|
bits |= U_EVENT;
|
|
425
456
|
}
|
|
457
|
+
if ((to.alpha !== from.alpha || force) && to.alpha !== void 0) {
|
|
458
|
+
bits |= U_ALPHA;
|
|
459
|
+
}
|
|
460
|
+
if ((to.scale !== from.scale || force) && to.scale !== void 0) {
|
|
461
|
+
bits |= U_SCALE;
|
|
462
|
+
}
|
|
463
|
+
if ((to.instanceBits !== from.instanceBits || force) && to.instanceBits !== void 0) {
|
|
464
|
+
bits |= U_INSTANCE_BITS;
|
|
465
|
+
}
|
|
466
|
+
if ((to.loopVolume !== from.loopVolume || force) && to.loopVolume !== void 0) {
|
|
467
|
+
bits |= U_LOOP_VOLUME;
|
|
468
|
+
}
|
|
469
|
+
if ((to.loopAttenuation !== from.loopAttenuation || force) && to.loopAttenuation !== void 0) {
|
|
470
|
+
bitsHigh |= U_LOOP_ATTENUATION_HIGH;
|
|
471
|
+
}
|
|
472
|
+
if ((to.owner !== from.owner || force) && to.owner !== void 0) {
|
|
473
|
+
bitsHigh |= U_OWNER_HIGH;
|
|
474
|
+
}
|
|
475
|
+
if ((to.oldFrame !== from.oldFrame || force) && to.oldFrame !== void 0) {
|
|
476
|
+
bitsHigh |= U_OLD_FRAME_HIGH;
|
|
477
|
+
}
|
|
426
478
|
if (to.number >= 256) {
|
|
427
479
|
bits |= U_NUMBER16;
|
|
428
480
|
}
|
|
429
|
-
if (
|
|
430
|
-
bits |=
|
|
481
|
+
if (bitsHigh > 0) {
|
|
482
|
+
bits |= U_MOREBITS4;
|
|
483
|
+
}
|
|
484
|
+
if (bits & 4278190080) {
|
|
485
|
+
bits |= U_MOREBITS3;
|
|
431
486
|
}
|
|
432
487
|
if (bits & 4294901760) {
|
|
433
488
|
bits |= U_MOREBITS2;
|
|
434
489
|
}
|
|
435
|
-
if (bits &
|
|
436
|
-
bits |=
|
|
490
|
+
if (bits & 4294967040) {
|
|
491
|
+
bits |= U_MOREBITS1;
|
|
437
492
|
}
|
|
438
493
|
writer.writeByte(bits & 255);
|
|
439
494
|
if (bits & U_MOREBITS1) {
|
|
@@ -445,12 +500,18 @@ function writeDeltaEntity(from, to, writer, force, newEntity) {
|
|
|
445
500
|
if (bits & U_MOREBITS3) {
|
|
446
501
|
writer.writeByte(bits >> 24 & 255);
|
|
447
502
|
}
|
|
503
|
+
if (bits & U_MOREBITS4) {
|
|
504
|
+
writer.writeByte(bitsHigh & 255);
|
|
505
|
+
}
|
|
448
506
|
if (bits & U_NUMBER16) {
|
|
449
507
|
writer.writeShort(to.number);
|
|
450
508
|
} else {
|
|
451
509
|
writer.writeByte(to.number);
|
|
452
510
|
}
|
|
453
511
|
if (bits & U_MODEL) writer.writeByte(to.modelIndex);
|
|
512
|
+
if (bits & U_MODEL2) writer.writeByte(to.modelIndex2 ?? 0);
|
|
513
|
+
if (bits & U_MODEL3) writer.writeByte(to.modelIndex3 ?? 0);
|
|
514
|
+
if (bits & U_MODEL4) writer.writeByte(to.modelIndex4 ?? 0);
|
|
454
515
|
if (bits & U_FRAME8) writer.writeByte(to.frame);
|
|
455
516
|
if (bits & U_FRAME16) writer.writeShort(to.frame);
|
|
456
517
|
if (bits & U_SKIN8) writer.writeByte(to.skinNum);
|
|
@@ -470,6 +531,13 @@ function writeDeltaEntity(from, to, writer, force, newEntity) {
|
|
|
470
531
|
if (bits & U_SOUND) writer.writeByte(to.sound ?? 0);
|
|
471
532
|
if (bits & U_EVENT) writer.writeByte(to.event ?? 0);
|
|
472
533
|
if (bits & U_SOLID) writer.writeShort(to.solid);
|
|
534
|
+
if (bits & U_ALPHA) writer.writeByte(Math.floor((to.alpha ?? 0) * 255));
|
|
535
|
+
if (bits & U_SCALE) writer.writeFloat(to.scale ?? 0);
|
|
536
|
+
if (bits & U_INSTANCE_BITS) writer.writeLong(to.instanceBits ?? 0);
|
|
537
|
+
if (bits & U_LOOP_VOLUME) writer.writeByte(Math.floor((to.loopVolume ?? 0) * 255));
|
|
538
|
+
if (bitsHigh & U_LOOP_ATTENUATION_HIGH) writer.writeByte(Math.floor((to.loopAttenuation ?? 0) * 255));
|
|
539
|
+
if (bitsHigh & U_OWNER_HIGH) writer.writeShort(to.owner ?? 0);
|
|
540
|
+
if (bitsHigh & U_OLD_FRAME_HIGH) writer.writeShort(to.oldFrame ?? 0);
|
|
473
541
|
}
|
|
474
542
|
|
|
475
543
|
// src/protocol/player.ts
|
|
@@ -290,17 +290,28 @@ var U_ORIGIN3 = 1 << 9;
|
|
|
290
290
|
var U_ANGLE1 = 1 << 10;
|
|
291
291
|
var U_MODEL = 1 << 11;
|
|
292
292
|
var U_RENDERFX8 = 1 << 12;
|
|
293
|
+
var U_ALPHA = 1 << 13;
|
|
293
294
|
var U_EFFECTS8 = 1 << 14;
|
|
294
295
|
var U_MOREBITS2 = 1 << 15;
|
|
295
296
|
var U_SKIN8 = 1 << 16;
|
|
296
297
|
var U_FRAME16 = 1 << 17;
|
|
297
298
|
var U_RENDERFX16 = 1 << 18;
|
|
298
299
|
var U_EFFECTS16 = 1 << 19;
|
|
300
|
+
var U_MODEL2 = 1 << 20;
|
|
301
|
+
var U_MODEL3 = 1 << 21;
|
|
302
|
+
var U_MODEL4 = 1 << 22;
|
|
299
303
|
var U_MOREBITS3 = 1 << 23;
|
|
300
304
|
var U_OLDORIGIN = 1 << 24;
|
|
301
305
|
var U_SKIN16 = 1 << 25;
|
|
302
306
|
var U_SOUND = 1 << 26;
|
|
303
307
|
var U_SOLID = 1 << 27;
|
|
308
|
+
var U_SCALE = 1 << 28;
|
|
309
|
+
var U_INSTANCE_BITS = 1 << 29;
|
|
310
|
+
var U_LOOP_VOLUME = 1 << 30;
|
|
311
|
+
var U_MOREBITS4 = 2147483648 | 0;
|
|
312
|
+
var U_LOOP_ATTENUATION_HIGH = 1 << 0;
|
|
313
|
+
var U_OWNER_HIGH = 1 << 1;
|
|
314
|
+
var U_OLD_FRAME_HIGH = 1 << 2;
|
|
304
315
|
var NULL_STATE = {
|
|
305
316
|
number: 0,
|
|
306
317
|
origin: { x: 0, y: 0, z: 0 },
|
|
@@ -312,7 +323,17 @@ var NULL_STATE = {
|
|
|
312
323
|
renderfx: 0,
|
|
313
324
|
solid: 0,
|
|
314
325
|
sound: 0,
|
|
315
|
-
event: 0
|
|
326
|
+
event: 0,
|
|
327
|
+
alpha: 0,
|
|
328
|
+
scale: 0,
|
|
329
|
+
instanceBits: 0,
|
|
330
|
+
loopVolume: 0,
|
|
331
|
+
loopAttenuation: 0,
|
|
332
|
+
owner: 0,
|
|
333
|
+
oldFrame: 0,
|
|
334
|
+
modelIndex2: 0,
|
|
335
|
+
modelIndex3: 0,
|
|
336
|
+
modelIndex4: 0
|
|
316
337
|
};
|
|
317
338
|
function writeRemoveEntity(number, writer) {
|
|
318
339
|
let bits = U_REMOVE;
|
|
@@ -334,12 +355,22 @@ function writeRemoveEntity(number, writer) {
|
|
|
334
355
|
}
|
|
335
356
|
function writeDeltaEntity(from, to, writer, force, newEntity) {
|
|
336
357
|
let bits = 0;
|
|
358
|
+
let bitsHigh = 0;
|
|
337
359
|
if (newEntity) {
|
|
338
360
|
from = NULL_STATE;
|
|
339
361
|
}
|
|
340
362
|
if (to.modelIndex !== from.modelIndex || force) {
|
|
341
363
|
bits |= U_MODEL;
|
|
342
364
|
}
|
|
365
|
+
if (to.modelIndex2 !== from.modelIndex2 || force) {
|
|
366
|
+
bits |= U_MODEL2;
|
|
367
|
+
}
|
|
368
|
+
if (to.modelIndex3 !== from.modelIndex3 || force) {
|
|
369
|
+
bits |= U_MODEL3;
|
|
370
|
+
}
|
|
371
|
+
if (to.modelIndex4 !== from.modelIndex4 || force) {
|
|
372
|
+
bits |= U_MODEL4;
|
|
373
|
+
}
|
|
343
374
|
if (to.origin.x !== from.origin.x || force) {
|
|
344
375
|
bits |= U_ORIGIN1;
|
|
345
376
|
}
|
|
@@ -383,17 +414,41 @@ function writeDeltaEntity(from, to, writer, force, newEntity) {
|
|
|
383
414
|
if (to.event !== from.event || force) {
|
|
384
415
|
bits |= U_EVENT;
|
|
385
416
|
}
|
|
417
|
+
if ((to.alpha !== from.alpha || force) && to.alpha !== void 0) {
|
|
418
|
+
bits |= U_ALPHA;
|
|
419
|
+
}
|
|
420
|
+
if ((to.scale !== from.scale || force) && to.scale !== void 0) {
|
|
421
|
+
bits |= U_SCALE;
|
|
422
|
+
}
|
|
423
|
+
if ((to.instanceBits !== from.instanceBits || force) && to.instanceBits !== void 0) {
|
|
424
|
+
bits |= U_INSTANCE_BITS;
|
|
425
|
+
}
|
|
426
|
+
if ((to.loopVolume !== from.loopVolume || force) && to.loopVolume !== void 0) {
|
|
427
|
+
bits |= U_LOOP_VOLUME;
|
|
428
|
+
}
|
|
429
|
+
if ((to.loopAttenuation !== from.loopAttenuation || force) && to.loopAttenuation !== void 0) {
|
|
430
|
+
bitsHigh |= U_LOOP_ATTENUATION_HIGH;
|
|
431
|
+
}
|
|
432
|
+
if ((to.owner !== from.owner || force) && to.owner !== void 0) {
|
|
433
|
+
bitsHigh |= U_OWNER_HIGH;
|
|
434
|
+
}
|
|
435
|
+
if ((to.oldFrame !== from.oldFrame || force) && to.oldFrame !== void 0) {
|
|
436
|
+
bitsHigh |= U_OLD_FRAME_HIGH;
|
|
437
|
+
}
|
|
386
438
|
if (to.number >= 256) {
|
|
387
439
|
bits |= U_NUMBER16;
|
|
388
440
|
}
|
|
389
|
-
if (
|
|
390
|
-
bits |=
|
|
441
|
+
if (bitsHigh > 0) {
|
|
442
|
+
bits |= U_MOREBITS4;
|
|
443
|
+
}
|
|
444
|
+
if (bits & 4278190080) {
|
|
445
|
+
bits |= U_MOREBITS3;
|
|
391
446
|
}
|
|
392
447
|
if (bits & 4294901760) {
|
|
393
448
|
bits |= U_MOREBITS2;
|
|
394
449
|
}
|
|
395
|
-
if (bits &
|
|
396
|
-
bits |=
|
|
450
|
+
if (bits & 4294967040) {
|
|
451
|
+
bits |= U_MOREBITS1;
|
|
397
452
|
}
|
|
398
453
|
writer.writeByte(bits & 255);
|
|
399
454
|
if (bits & U_MOREBITS1) {
|
|
@@ -405,12 +460,18 @@ function writeDeltaEntity(from, to, writer, force, newEntity) {
|
|
|
405
460
|
if (bits & U_MOREBITS3) {
|
|
406
461
|
writer.writeByte(bits >> 24 & 255);
|
|
407
462
|
}
|
|
463
|
+
if (bits & U_MOREBITS4) {
|
|
464
|
+
writer.writeByte(bitsHigh & 255);
|
|
465
|
+
}
|
|
408
466
|
if (bits & U_NUMBER16) {
|
|
409
467
|
writer.writeShort(to.number);
|
|
410
468
|
} else {
|
|
411
469
|
writer.writeByte(to.number);
|
|
412
470
|
}
|
|
413
471
|
if (bits & U_MODEL) writer.writeByte(to.modelIndex);
|
|
472
|
+
if (bits & U_MODEL2) writer.writeByte(to.modelIndex2 ?? 0);
|
|
473
|
+
if (bits & U_MODEL3) writer.writeByte(to.modelIndex3 ?? 0);
|
|
474
|
+
if (bits & U_MODEL4) writer.writeByte(to.modelIndex4 ?? 0);
|
|
414
475
|
if (bits & U_FRAME8) writer.writeByte(to.frame);
|
|
415
476
|
if (bits & U_FRAME16) writer.writeShort(to.frame);
|
|
416
477
|
if (bits & U_SKIN8) writer.writeByte(to.skinNum);
|
|
@@ -430,6 +491,13 @@ function writeDeltaEntity(from, to, writer, force, newEntity) {
|
|
|
430
491
|
if (bits & U_SOUND) writer.writeByte(to.sound ?? 0);
|
|
431
492
|
if (bits & U_EVENT) writer.writeByte(to.event ?? 0);
|
|
432
493
|
if (bits & U_SOLID) writer.writeShort(to.solid);
|
|
494
|
+
if (bits & U_ALPHA) writer.writeByte(Math.floor((to.alpha ?? 0) * 255));
|
|
495
|
+
if (bits & U_SCALE) writer.writeFloat(to.scale ?? 0);
|
|
496
|
+
if (bits & U_INSTANCE_BITS) writer.writeLong(to.instanceBits ?? 0);
|
|
497
|
+
if (bits & U_LOOP_VOLUME) writer.writeByte(Math.floor((to.loopVolume ?? 0) * 255));
|
|
498
|
+
if (bitsHigh & U_LOOP_ATTENUATION_HIGH) writer.writeByte(Math.floor((to.loopAttenuation ?? 0) * 255));
|
|
499
|
+
if (bitsHigh & U_OWNER_HIGH) writer.writeShort(to.owner ?? 0);
|
|
500
|
+
if (bitsHigh & U_OLD_FRAME_HIGH) writer.writeShort(to.oldFrame ?? 0);
|
|
433
501
|
}
|
|
434
502
|
|
|
435
503
|
// src/protocol/player.ts
|