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

wip stuff

This commit is contained in:
Robin Appelman 2015-07-25 22:22:12 +02:00
commit 5f3e5e5965
4 changed files with 13 additions and 5 deletions

1
.gitignore vendored
View file

@ -29,4 +29,5 @@ build/Release
# https://www.npmjs.org/doc/misc/npm-faq.html#should-i-check-my-node_modules-folder-into-git-
node_modules
*.dem

View file

@ -0,0 +1,7 @@
var ParserGenerator = require('../../parsergenerator');
var baseParser = ParserGenerator.make('entityMessage', 'index{11}id{9}length{11}data{$length}');
module.exports = function (stream) { // 24: entityMessage
return baseParser(stream); //todo parse data further?
};

View file

@ -35,7 +35,7 @@ function readPVS(stream) {
return pvs;
}
module.exports = function (stream) { //26: packetEntities
module.exports = function (stream, events, entities) { //26: packetEntities
// todo
var maxEntries = stream.readBits(11);
var isDelta = !!stream.readBits(1);
@ -49,7 +49,6 @@ module.exports = function (stream) { //26: packetEntities
var length = stream.readBits(20);
var updatedBaseLink = !!stream.readBits(1);
var end = stream._index + length;
var entities = [];
//console.log('max: ' + maxEntries);
//var entityId = -1;
//
@ -78,4 +77,4 @@ module.exports = function (stream) { //26: packetEntities
packetType: 'packetEntities',
entities : entities
};
}
};

View file

@ -26,10 +26,11 @@ Packet.prototype.parse = function () {
//return [];
var packets = [];
var entities = [];
while (this.bitsLeft > 6) { // last 6 bits for NOOP
var type = this.stream.readBits(6);
if (Packet.parsers[type]) {
var packet = Packet.parsers[type].call(this, this.stream, Packet.gameEventMap);
var packet = Packet.parsers[type].call(this, this.stream, Packet.gameEventMap, entities);
//console.log(packet);
packets.push(packet);
} else {
@ -63,7 +64,7 @@ Packet.parsers = {
19: ParserGenerator.make('fixAngle', 'relative{b}x{16}y{16}z{16}'),
21: require('./handlers/packet/bspDecal'),
23: require('./handlers/packet/userMessage'),
24: ParserGenerator.make('entityMessage', 'index{11}id{9}length{11}data{$length}'),
24: require('./handlers/packet/entityMessage'),
25: require('./handlers/packet/gameEvent'),
26: require('./handlers/packet/packetEntities'),
27: ParserGenerator.make('tempEntities', 'count{8}length{17}_{$length}'),