Code:
private void decode(Buffer buffer) {
int opcode;
while ((opcode = buffer.readUnsignedByte()) != 0) {
if (opcode == 1) {
length = buffer.readUShort();
primary = new int[length];
secondary = new int[length];
duration = new int[length];
for (int i = 0; i < length; i++) {
primary[i] = buffer.readInt();
secondary[i] = -1;
}
for (int i = 0; i < length; i++) {
duration[i] = buffer.readUnsignedByte();
}
} else if (opcode == 2) {
padding = buffer.readUShort();
} else if (opcode == 3) {
int length = buffer.readUnsignedByte();
interleaveOrder = new int[length + 1];
for (int i = 0; i < length; i++) {
interleaveOrder[i] = buffer.readUnsignedByte();
}
interleaveOrder[length] = 9999999;
} else if (opcode == 4) {
allowsRotation = true;
} else if (opcode == 5) {
priority = buffer.readUnsignedByte();
} else if (opcode == 6) {
shield = buffer.readUShort();
} else if (opcode == 7) {
weapon = buffer.readUShort();
} else if (opcode == 8) {
resetCycle = buffer.readUnsignedByte();
} else if (opcode == 9) {
runFlag = buffer.readUnsignedByte();
} else if (opcode == 10) {
priority = buffer.readUnsignedByte();
} else if (opcode == 11) {
type = buffer.readUnsignedByte();
} else if (opcode == 12) {
buffer.readInt();
} else {
System.out.println("Error unrecognised seq config code: " + opcode);
}
}
}
Code:
public void decode(Buffer buffer) {
while (true) {
int opcode = buffer.readUnsignedByte();
if (opcode == 0) {
return;
} else if (opcode == 1) {
modelId = buffer.readUShort();
} else if (opcode == 2) {
animationId = buffer.readUShort();
if (Animation.animations != null) {
animationSequence = Animation.animations[animationId];
}
} else if (opcode == 4) {
resizeXY = buffer.readUShort();
} else if (opcode == 5) {
resizeZ = buffer.readUShort();
} else if (opcode == 6) {
rotation = buffer.readUShort();
} else if (opcode == 7) {
modelBrightness = buffer.readUShort();
} else if (opcode == 8) {
modelShadow = buffer.readUShort();
} else if (opcode == 40) {
int length = buffer.readUnsignedByte();
for (int index = 0; index < length; index++) {
originalModelColours[index] = buffer.readUShort();
modifiedModelColours[index] = buffer.readUShort();
}
} else if (opcode == 41) {
int length = buffer.readUnsignedByte();
for (int index = 0; index < length; ++index) {
retextureToFind[index] = buffer.readUShort();
retextureToReplace[index] = buffer.readUShort();
}
} else {
System.out.println("Error graphics opcode: " + opcode);
}
}
}