1
0
Fork 0
mirror of https://github.com/demostf/demo.js synced 2026-06-04 00:54:14 +02:00

skip null message

This commit is contained in:
Robin Appelman 2017-10-24 23:34:24 +02:00
commit f94788db18
2 changed files with 25 additions and 22 deletions

View file

@ -1,7 +1,7 @@
{ {
"name": "tf2-demo", "name": "tf2-demo",
"description": "A parser for TF2 demo files", "description": "A parser for TF2 demo files",
"version": "1.1.4", "version": "1.1.5",
"bin": { "bin": {
"demo-analyse": "./bin/analyse.js" "demo-analyse": "./bin/analyse.js"
}, },

View file

@ -7,7 +7,7 @@ import {BitStream} from 'bit-buffer';
import {EventEmitter} from 'events'; import {EventEmitter} from 'events';
import {Match} from './Data/Match'; import {Match} from './Data/Match';
import {Parser as MessageParser} from './Parser/Message/Parser'; import {Parser as MessageParser} from './Parser/Message/Parser';
import {Header} from "./Data/Header"; import {Header} from './Data/Header';
export class Parser extends EventEmitter { export class Parser extends EventEmitter {
stream: BitStream; stream: BitStream;
@ -39,7 +39,7 @@ export class Parser extends EventEmitter {
'ticks': stream.readInt32(), 'ticks': stream.readInt32(),
'frames': stream.readInt32(), 'frames': stream.readInt32(),
'sigon': stream.readInt32() 'sigon': stream.readInt32()
} };
} }
parseBody() { parseBody() {
@ -74,7 +74,7 @@ export class Parser extends EventEmitter {
case MessageType.StringTables: case MessageType.StringTables:
return new StringTable(type, tick, data, length, match, this.skipPackets); return new StringTable(type, tick, data, length, match, this.skipPackets);
default: default:
throw new Error("unknown message type"); throw new Error('unknown message type');
} }
} }
@ -90,11 +90,14 @@ export class Parser extends EventEmitter {
} }
} }
readMessage(stream: BitStream, match: Match): MessageParser|boolean { readMessage(stream: BitStream, match: Match): MessageParser | boolean {
if (stream.bitsLeft < 8) { if (stream.bitsLeft < 8) {
return false; return false;
} }
const type: MessageType = stream.readBits(8); const type: MessageType = stream.readBits(8);
if (type === 0) {
return true;
}
if (type === MessageType.Stop) { if (type === MessageType.Stop) {
return false; return false;
} }