Try:
Code:
public void readValues(Stream stream) {
int i;
while ((i = stream.readUnsignedByte()) != 0) {
if (i == 1) {
length = stream.readShort2();
primary = new int[length];
secondary = new int[length];
duration = new int[length];
for (int j = 0; j < length; j++) {
primary[j] = stream.readDWord();
secondary[j] = -1;
}
for (int j = 0; j < length; j++) {
duration[j] = stream.readUnsignedByte();
}
}
else if (i == 2) {
padding = stream.readShort2();
}
else if (i == 3) {
int length = stream.readUnsignedByte();
vertices = new int[length + 1];
for (int k = 0; k < length; k++) {
vertices[k] = stream.readUnsignedByte();
}
vertices[length] = 9999999;
}
else if (i == 4) {
allowsRotation = true;
}
else if (i == 5) {
priority1 = stream.readUnsignedByte();
}
else if (i == 6) {
shield = stream.readShort2();
}
else if (i == 7) {
weapon = stream.readShort2();
}
else if (i == 8) {
resetCycle = stream.readUnsignedByte();
}
else if (i == 9) {
runFlag = stream.readUnsignedByte();
}
else if (i == 10) {
walkFlag = stream.readUnsignedByte();
}
else if (i == 11) {
delayType = stream.readUnsignedByte();
}
else if (i == 12) {
stream.readDWord();
}
else {
Utility.print("Error unrecognised seq config code: " + i);
}
}
if (length == 0) {
length = 1;
primary = new int[1];
primary[0] = -1;
secondary = new int[1];
secondary[0] = -1;
duration = new int[1];
duration[0] = -1;
}
if (runFlag == -1)
if (vertices != null)
runFlag = 2;
else
runFlag = 0;
if (walkFlag == -1) {
if (vertices != null) {
walkFlag = 2;
return;
}
walkFlag = 0;
}
}