Significant tidy-up. Update msg_template and add new ObjectAnimation message. Tidy up imports. Added buffer overrun check to the packet decoders since the message template doesn't seem to always correspond with what we receive (Specifically, MapBlockReply's new Size parameter)
This commit is contained in:
@@ -60,31 +60,31 @@ messages.forEach((message) =>
|
||||
});
|
||||
if (uuid)
|
||||
{
|
||||
classString += 'import {UUID} from \'../UUID\';\n'
|
||||
classString += 'import { UUID } from \'../UUID\';\n'
|
||||
}
|
||||
if (ipaddr)
|
||||
{
|
||||
classString += 'import {IPAddress} from \'../IPAddress\';\n'
|
||||
classString += 'import { IPAddress } from \'../IPAddress\';\n'
|
||||
}
|
||||
if (vector3)
|
||||
{
|
||||
classString += 'import {Vector3} from \'../Vector3\';\n'
|
||||
classString += 'import { Vector3 } from \'../Vector3\';\n'
|
||||
}
|
||||
if (vector4)
|
||||
{
|
||||
classString += 'import {Vector4} from \'../Vector4\';\n'
|
||||
classString += 'import { Vector4 } from \'../Vector4\';\n'
|
||||
}
|
||||
if (long)
|
||||
{
|
||||
classString += 'import Long = require(\'long\');\n'
|
||||
classString += 'import * as Long from \'long\';\n'
|
||||
}
|
||||
if (quaternion)
|
||||
{
|
||||
classString += 'import {Quaternion} from \'../Quaternion\';\n'
|
||||
classString += 'import { Quaternion } from \'../Quaternion\';\n'
|
||||
}
|
||||
classString += 'import {MessageFlags} from \'../../enums/MessageFlags\';\n' +
|
||||
'import {MessageBase} from \'../MessageBase\';\n' +
|
||||
'import {Message} from \'../../enums/Message\';\n\n';
|
||||
classString += 'import { MessageFlags } from \'../../enums/MessageFlags\';\n' +
|
||||
'import { MessageBase } from \'../MessageBase\';\n' +
|
||||
'import { Message } from \'../../enums/Message\';\n\n';
|
||||
|
||||
classString += 'export class ' + message.name + 'Message implements MessageBase\n';
|
||||
classString += '{\n';
|
||||
@@ -535,7 +535,8 @@ messages.forEach((message) =>
|
||||
firstCount = false;
|
||||
first = letConst + ' ';
|
||||
}
|
||||
blockIndex = ' ' + first + 'count = buf.readUInt8(pos++);\n';
|
||||
blockIndex = ' if (pos >= buf.length)\n {\n return pos - startPos;\n }\n';
|
||||
blockIndex += ' ' + first + 'count = buf.readUInt8(pos++);\n';
|
||||
blockIndex += ' this.' + block.name + ' = [];\n';
|
||||
}
|
||||
else if (block.type === 'Multiple')
|
||||
@@ -775,13 +776,13 @@ messages.forEach((message) =>
|
||||
|
||||
});
|
||||
//Now write the Messages class
|
||||
let classString = '// This file has been automatically generated by writeMessageClasses.js\n\n';
|
||||
let classString = '// This file has been automatically generated by writePacketClasses.js\n\n';
|
||||
messages.forEach((message) =>
|
||||
{
|
||||
const name = message.name;
|
||||
classString += 'export * from \'./messages/'+name+'\';\n';
|
||||
});
|
||||
classString += 'import {Message} from \'../enums/Message\';\n';
|
||||
classString += 'import { Message } from \'../enums/Message\';\n';
|
||||
classString += '\n';
|
||||
classString += 'const messages: {[index: number]: string} = {};\n';
|
||||
const msgs = [];
|
||||
|
||||
Reference in New Issue
Block a user