Code:
void decode(final InputStream stream, final int opcode) {
int int_1;
int int_2;
if (opcode == 1) {
int_1 = stream.readUnsignedShort();
frameLenghts = new int[int_1];
for (int_2 = 0; int_2 < int_1; int_2++)
frameLenghts[int_2] = stream.readUnsignedShort();
frameIDs = new int[int_1];
for (int_2 = 0; int_2 < int_1; int_2++)
frameIDs[int_2] = stream.readUnsignedShort();
for (int_2 = 0; int_2 < int_1; int_2++)
frameIDs[int_2] += stream.readUnsignedShort() << 16;
} else if (opcode == 2) {
frameStep = stream.readUnsignedShort();
} else if (opcode == 3) {
int_1 = stream.readUnsignedByte();
interleaveLeave = new int[int_1 + 1];
for (int_2 = 0; int_2 < int_1; int_2++)
interleaveLeave[int_2] = stream.readUnsignedByte();
interleaveLeave[int_1] = 9999999;
} else if (opcode == 4) {
stretches = true;
} else if (opcode == 5) {
forcedPriority = stream.readUnsignedByte();
} else if (opcode == 6) {
leftHandItem = stream.readUnsignedShort();
} else if (opcode == 7) {
rightHandItem = stream.readUnsignedShort();
} else if (opcode == 8) {
maxLoops = stream.readUnsignedByte();
} else if (opcode == 9) {
precedenceAnimating = stream.readUnsignedByte();
} else if (opcode == 10) {
priority = stream.readUnsignedByte();
} else if (opcode == 11) {
replyMode = stream.readUnsignedByte();
} else if (opcode == 12) {
int_1 = stream.readUnsignedByte();
anIntArray106 = new int[int_1];
for (int_2 = 0; int_2 < int_1; int_2++)
anIntArray106[int_2] = stream.readUnsignedShort();
for (int_2 = 0; int_2 < int_1; int_2++)
anIntArray106[int_2] += stream.readUnsignedShort() << 16;
} else if (opcode == 13) {
int_1 = stream.readUnsignedByte();
anIntArray107 = new int[int_1];
for (int_2 = 0; int_2 < int_1; int_2++)
anIntArray107[int_2] = stream.read24BitInt();
}
}
#156.