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

handle utf8 text

This commit is contained in:
Robin Appelman 2015-01-27 20:09:00 +01:00
commit 58347be247
6 changed files with 16 additions and 17 deletions

View file

@ -6,7 +6,7 @@ var ConsoleCmd = function (type, tick, stream, length) {
};
ConsoleCmd.prototype.parse = function () {
var cmd = this.stream.readASCIIString();
var cmd = this.stream.readUTF8String();
//console.log("cmd " + cmd);
return cmd;
};

View file

@ -1,6 +1,5 @@
{
"dependencies": {
"bit-buffer": "0.0.3",
"buffer": "^3.0.1"
"bit-buffer": "icewind1991/bit-buffer"
}
}

View file

@ -63,7 +63,7 @@ Packet.parseGameEvent = function (eventId, stream) {
Packet.getGameEventValue = function (stream, entry) {
switch (entry.type) {
case 1:
return stream.readASCIIString();
return stream.readUTF8String();
case 2:
return stream.readFloat32();
case 3:
@ -91,7 +91,7 @@ Packet.parsers = {
var count = stream.readBits(8);
var vars = {};
for (var i = 0; i < count; i++) {
vars[stream.readASCIIString()] = stream.readASCIIString();
vars[stream.readUTF8String()] = stream.readUTF8String();
}
return {
packetType: 'setConVar',
@ -294,8 +294,8 @@ Packet.parsers = {
type : type
}
}
console.log(result);
console.log(((pos + length) - stream._index) + ' bits left');
//console.log(result);
//console.log(((pos + length) - stream._index) + ' bits left');
stream._index = pos + length;
return result;
},
@ -383,11 +383,11 @@ Packet.userMessageParsers = {
if (stream.readBits(8) === 1) {
var first = stream.readBits(8);
if (first === 7) {
var color = stream.readASCIIString(6);
var color = stream.readUTF8String(6);
} else {
stream._index = pos + 8;
}
text = stream.readASCIIString();
text = stream.readUTF8String();
if (text.substr(0, 6) === '*DEAD*') {
// grave talk is in the format '*DEAD* \u0003$from\u0001: $text'
var start = text.indexOf('\u0003');
@ -398,9 +398,9 @@ Packet.userMessageParsers = {
}
} else {
stream._index = pos;
kind = stream.readASCIIString();
from = stream.readASCIIString();
text = stream.readASCIIString();
kind = stream.readUTF8String();
from = stream.readUTF8String();
text = stream.readUTF8String();
stream.readASCIIString();
stream.readASCIIString();
}

View file

@ -29,7 +29,7 @@ Generator.readItem = function (stream, description, data) {
return !!stream.readBits(1);
} else if (description[0] === 's') {
if (description.length === 1) {
return stream.readASCIIString();
return stream.readUTF8String();
} else {
length = parseInt(description.substr(1), 10);
return stream.readASCIIString(length);

View file

@ -16,11 +16,11 @@ StringTable.prototype.parse = function () {
var entryCount = this.stream.readBits(16);
for (var j = 0; j < entryCount; j++) {
var entry = {
text: this.stream.readASCIIString()
text: this.stream.readUTF8String()
};
if (this.stream.readBits(1)) {
var extraDataLength = this.stream.readBits(16);
entry.extraData = this.stream.readASCIIString(extraDataLength);
entry.extraData = this.stream.readUTF8String(extraDataLength);
//console.log(entry.extraData.length-extraDataLength);
}
entries.push(entry);

View file

@ -7,6 +7,6 @@ fs.readFile("gully.dem", function (err, data) {
var parser = demo.getParser();
var head = parser.readHeader();
//console.log(parser.readHeader());
parser.parseBody()
//console.log(parser.parseBody());
//parser.parseBody()
console.log(parser.parseBody());
});