mirror of
https://github.com/demostf/demo.js
synced 2026-06-04 00:54:14 +02:00
save serial
This commit is contained in:
parent
02f25268e5
commit
844d387a90
2 changed files with 7 additions and 4 deletions
|
|
@ -16,6 +16,7 @@ export class PacketEntity {
|
||||||
entityIndex: number;
|
entityIndex: number;
|
||||||
props: SendProp[];
|
props: SendProp[];
|
||||||
inPVS: boolean;
|
inPVS: boolean;
|
||||||
|
serialNumber?: number;
|
||||||
|
|
||||||
constructor(serverClass: ServerClass, entityIndex: number, pvs: PVS) {
|
constructor(serverClass: ServerClass, entityIndex: number, pvs: PVS) {
|
||||||
this.serverClass = serverClass;
|
this.serverClass = serverClass;
|
||||||
|
|
|
||||||
|
|
@ -20,11 +20,12 @@ function readPVSType(stream: BitStream): PVS {
|
||||||
function readEnterPVS(stream: BitStream, entityId: number, match: Match): PacketEntity {
|
function readEnterPVS(stream: BitStream, entityId: number, match: Match): PacketEntity {
|
||||||
// https://github.com/PazerOP/DemoLib/blob/5f9467650f942a4a70f9ec689eadcd3e0a051956/TF2Net/NetMessages/NetPacketEntitiesMessage.cs#L198
|
// https://github.com/PazerOP/DemoLib/blob/5f9467650f942a4a70f9ec689eadcd3e0a051956/TF2Net/NetMessages/NetPacketEntitiesMessage.cs#L198
|
||||||
const serverClass = match.serverClasses[stream.readBits(match.classBits)];
|
const serverClass = match.serverClasses[stream.readBits(match.classBits)];
|
||||||
stream.readBits(10); // unused serial number
|
const serial = stream.readBits(10); // unused serial number
|
||||||
|
|
||||||
if (match.baseLineCache[serverClass.id]) {
|
if (match.baseLineCache[serverClass.id]) {
|
||||||
const result = match.baseLineCache[serverClass.id].clone();
|
const result = match.baseLineCache[serverClass.id].clone();
|
||||||
result.entityIndex = entityId;
|
result.entityIndex = entityId;
|
||||||
|
result.serialNumber = serial;
|
||||||
return result;
|
return result;
|
||||||
} else {
|
} else {
|
||||||
const entity = new PacketEntity(serverClass, entityId, PVS.ENTER);
|
const entity = new PacketEntity(serverClass, entityId, PVS.ENTER);
|
||||||
|
|
@ -39,9 +40,10 @@ function readEnterPVS(stream: BitStream, entityId: number, match: Match): Packet
|
||||||
match.baseLineCache[serverClass.id] = entity.clone();
|
match.baseLineCache[serverClass.id] = entity.clone();
|
||||||
if (staticBaseLine.bitsLeft > 7) {
|
if (staticBaseLine.bitsLeft > 7) {
|
||||||
// console.log(staticBaseLine.length, staticBaseLine.index);
|
// console.log(staticBaseLine.length, staticBaseLine.index);
|
||||||
// throw new Error('Unexpected data left at the end of staticBaseline, ' + staticBaseLine.bitsLeft + ' bits left');
|
throw new Error('Unexpected data left at the end of staticBaseline, ' + staticBaseLine.bitsLeft + ' bits left');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
entity.serialNumber = serial;
|
||||||
return entity;
|
return entity;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue