Error unrecognised seq config code: 127
I have packed the new OSRS data and in my console i get this error
Code:
Error unrecognised seq config code: 127
varbit load mismatch
Code:
package com.client.definitions;
import com.client.Class36;
import com.client.Stream;
import com.client.StreamLoader;
public final class AnimationDefinition {
public static void unpackConfig(StreamLoader streamLoader) {
Stream stream = new Stream(streamLoader.getDataForName("seq.dat"));
int length = stream.readUnsignedWord();
if (anims == null)
anims = new AnimationDefinition[length];
for (int j = 0; j < length; j++) {
if (anims[j] == null)
anims[j] = new AnimationDefinition();
anims[j].readValues(stream);
}
}
public int method258(int i) {
int j = durations[i];
if (j == 0) {
Class36 frame = Class36.forId(primaryFrames[i]);
if (frame != null) {
j = durations[i] = frame.anInt636;
}
}
if (j == 0)
j = 1;
return j;
}
private void readValues(Stream stream) {
int i;
while ((i = stream.readUnsignedByte()) != 0){
if (i == 1) {
frameCount = stream.readUnsignedWord();
primaryFrames = new int[frameCount];
secondaryFrames = new int[frameCount];
durations = new int[frameCount];
for (int f = 0; f < frameCount; f++) {
durations[f] = stream.readUnsignedWord();
}
for (int k = 0; k < frameCount; k++) {
primaryFrames[k] = stream.readUnsignedWord();
secondaryFrames[k] = -1;
}
for (int j = 0; j < frameCount; j++) {
primaryFrames[j] += stream.readUnsignedWord() << 16;
}
} else if (i == 2)
loopOffset = stream.readUnsignedWord();
else if (i == 3) {
int len = stream.readUnsignedByte();
interleaveOrder = new int[len + 1];
for (int j = 0; j < len; j++) {
interleaveOrder[j] = stream.readUnsignedByte();
}
interleaveOrder[len] = 9999999;
} else if (i == 4)
stretches = true;
else if (i == 5)
forcedPriority = stream.readUnsignedByte();
else if (i == 6)
playerOffhand = stream.readUnsignedWord();
else if (i == 7)
playerMainhand = stream.readUnsignedWord();
else if (i == 8)
maximumLoops = stream.readUnsignedByte();
else if (i == 9)
animatingPrecedence = stream.readUnsignedByte();
else if (i == 10)
priority = stream.readUnsignedByte();
else if (i == 11)
replayMode = stream.readUnsignedByte();
else if (i == 12) {
int len = stream.readUnsignedByte();
for (int j = 0; j < len; j++) {
stream.readUnsignedWord();
}
for (int j = 0; j < len; j++) {
stream.readUnsignedWord();
}
} else if (i == 13) {
int len = stream.readUnsignedByte();
for (int j = 0; j < len; j++) {
stream.readTriByte();
}
}
else
System.out.println("Error unrecognised seq config code: " + i);
}
if (frameCount == 0) {
frameCount = 1;
primaryFrames = new int[1];
primaryFrames[0] = -1;
secondaryFrames = new int[1];
secondaryFrames[0] = -1;
durations = new int[1];
durations[0] = -1;
}
if (animatingPrecedence == -1) {
animatingPrecedence = (interleaveOrder == null) ? 0 : 2;
}
if (priority == -1) {
priority = (interleaveOrder == null) ? 0 : 2;
}
}
private AnimationDefinition() {
loopOffset = -1;
stretches = false;
forcedPriority = 5;
playerOffhand = -1; //Removes shield
playerMainhand = -1; //Removes weapon
maximumLoops = 99;
animatingPrecedence = -1; //Stops character from moving
priority = -1;
replayMode = 1;
}
public static AnimationDefinition anims[];
public int frameCount;
public int primaryFrames[];
public int secondaryFrames[];
public int[] durations;
public int loopOffset;
public int interleaveOrder[];
public boolean stretches;
public int forcedPriority;
public int playerOffhand;
public int playerMainhand;
public int maximumLoops;
public int animatingPrecedence;
public int priority;
public int replayMode;
public static int anInt367;
}
Code:
package com.client.definitions;
import com.client.MRUNodes;
import com.client.Model;
import com.client.Stream;
import com.client.StreamLoader;
public final class GraphicsDefinition {
public static void unpackConfig(StreamLoader streamLoader) {
Stream stream = new Stream(streamLoader.getDataForName("spotanim.dat"));
int length = stream.readUnsignedWord();
if (cache == null)
cache = new GraphicsDefinition[length + 15000];
System.out.println(length + " graphics loaded.");
for (int j = 0; j < length; j++) {
if (cache[j] == null) {
cache[j] = new GraphicsDefinition();
}
if (j == 65535) {
j = -1;
}
cache[j].anInt404 = j;
cache[j].setDefault();
cache[j].readValues(stream);
}
cache[1282] = new GraphicsDefinition();
cache[1282].anInt404 = 1282;
cache[1282].modelId = 44811;
cache[1282].animationId = 7155;
cache[1282].animationSequence = AnimationDefinition.anims[cache[1282].animationId];
}
private void readValues(Stream buffer) {
while(true) {
final int opcode = buffer.readUnsignedByte();
if (opcode == 0) {
return;
} else if (opcode == 1) {
modelId = buffer.readUnsignedWord();
} else if (opcode == 2) {
animationId = buffer.readUnsignedWord();
if (AnimationDefinition.anims != null) {
animationSequence = AnimationDefinition.anims[animationId];
}
} else if (opcode == 4) {
resizeXY = buffer.readUnsignedWord();
} else if (opcode == 5) {
resizeZ = buffer.readUnsignedWord();
} else if (opcode == 6) {
rotation = buffer.readUnsignedWord();
} else if (opcode == 7) {
modelBrightness = buffer.readUnsignedByte();
} else if (opcode == 8) {
modelShadow = buffer.readUnsignedByte();
} else if (opcode == 40) {
final int len = buffer.readUnsignedByte();
originalModelColours = new short[len];
modifiedModelColours = new short[len];
for (int i = 0; i < len; i++) {
originalModelColours[i] = (short) buffer.readUnsignedWord();
modifiedModelColours[i] = (short) buffer.readUnsignedWord();
}
} else if (opcode == 41) {
final int len = buffer.readUnsignedByte();
textureToFind = new short[len];
textureToReplace = new short[len];
for (int i = 0; i < len; i++) {
textureToFind[i] = (short) buffer.readUnsignedWord();
textureToReplace[i] = (short) buffer.readUnsignedWord();
}
} else {
System.out.println("gfx invalid opcode: " + opcode);
}
}
}
public static GraphicsDefinition fetch(int modelId) {
for (GraphicsDefinition anim : cache) {
if (anim == null) {
continue;
}
if (anim.modelId == modelId) {
return anim;
}
}
return null;
}
public Model getModel() {
Model model = (Model) models.insertFromCache(anInt404);
if (model != null)
return model;
model = Model.method462(modelId);
if (model == null)
return null;
for (int i = 0; i < originalModelColours.length; i++)
if (originalModelColours[0] != 0) //default frame id
model.replaceColor(originalModelColours[i], modifiedModelColours[i]);
models.removeFromCache(model, anInt404);
return model;
}
private void setDefault() {
modelId = -1;
animationId = -1;
originalModelColours = new short[6];
modifiedModelColours = new short[6];
resizeXY = 128;
resizeZ = 128;
rotation = 0;
modelBrightness = 0;
modelShadow = 0;
}
public GraphicsDefinition() {
animationId = -1;
originalModelColours = new short[6];
modifiedModelColours = new short[6];
resizeXY = 128;
resizeZ = 128;
}
public int getModelId() {
return modelId;
}
public int getIndex() {
return anInt404;
}
public static GraphicsDefinition cache[];
public static MRUNodes models = new MRUNodes(30);
private short[] originalModelColours;
private short[] modifiedModelColours;
private short[] textureToFind;
private short[] textureToReplace;
public AnimationDefinition animationSequence;
public int resizeXY;
public int resizeZ;
public int rotation;
public int modelBrightness;
public int modelShadow;
private int anInt404;
private int modelId;
private int animationId;
}
Code:
Exception in thread "Thread-5" java.lang.ArrayIndexOutOfBoundsException: -6
at com.client.Animable_Sub5.method457(Animable_Sub5.java:40)
at com.client.Animable_Sub5.getRotatedModel(Animable_Sub5.java:75)
at com.client.Animable.method443(Animable.java:10)
at com.client.WorldController.method314(WorldController.java:1259)
at com.client.WorldController.method313(WorldController.java:984)
at com.client.Client.method146(Client.java:15574)
at com.client.Client.drawGameScreen(Client.java:10418)
at com.client.Client.processDrawing(Client.java:11772)
at com.client.RSApplet.run(RSApplet.java:217)
at com.client.Client.run(Client.java:5601)
at java.lang.Thread.run(Unknown Source)
at com.client.Animable_Sub5.method457(Animable_Sub5.j ava:40)
Code:
private ObjectDefinition method457() {
int i = -1;
if (anInt1601 != -1 && anInt1601 < VarBit.cache.length) {
VarBit varBit = VarBit.cache[anInt1601];
int k = varBit.anInt648;
int l = varBit.anInt649;
int i1 = varBit.anInt650;
int j1 = Client.anIntArray1232[i1 - l];
i = clientInstance.variousSettings[k] >> l & j1;
} else if (anInt1602 != -1
&& anInt1602 < clientInstance.variousSettings.length)
i = clientInstance.variousSettings[anInt1602];
if (i < 0 || i >= anIntArray1600.length || anIntArray1600[i] == -1)
return null;
else
return ObjectDefinition.forID(anIntArray1600[i]);
}
at com.client.Animable_Sub5.getRotatedModel(Animable_ Sub5.java:75)
Code:
@Override
public Model getRotatedModel() {
int j = -1;
if (aAnimation_1607 != null) {
int k = Client.loopCycle - anInt1608;
if (k > 100 && aAnimation_1607.loopOffset > 0)
k = 100;
while (k > aAnimation_1607.method258(anInt1599)) {
k -= aAnimation_1607.method258(anInt1599);
anInt1599++;
if (anInt1599 < aAnimation_1607.frameCount)
continue;
anInt1599 -= aAnimation_1607.loopOffset;
if (anInt1599 >= 0 && anInt1599 < aAnimation_1607.frameCount)
continue;
aAnimation_1607 = null;
break;
}
anInt1608 = Client.loopCycle - k;
if (aAnimation_1607 != null)
j = aAnimation_1607.primaryFrames[anInt1599];
}
ObjectDefinition class46;
if (anIntArray1600 != null)
class46 = method457();
else
class46 = ObjectDefinition.forID(anInt1610);
if (class46 == null) {
return null;
} else {
return class46.method578(anInt1611, anInt1612, anInt1603,
anInt1604, anInt1605, anInt1606, j);
}
}
at com.client.Animable.method443(Animable.java:10)
Code:
public void method443(int i, int j, int k, int l, int i1, int j1, int k1,
int l1, int i2) {
Model model = getRotatedModel();
if (model != null) {
modelHeight = model.modelHeight;
model.method443(i, j, k, l, i1, j1, k1, l1, i2);
}
}