Had this for a while now, so I thought I should share this.
These are from cache build 60.
Download links:
Obj.dat&idx
Item Models
Full Item List
Readvalues
Code:
public void readValues(Stream stream) {
while(true) {
int i = stream.readUnsignedByte();
if(i == 0)
return;
if(i == 1)
modelId = stream.readUnsignedShort();
else if(i == 2)
name = stream.readString();
else if(i == 3)
description = stream.readString();
else if(i == 4)
modelZoom = stream.readUnsignedShort();
else if(i == 5)
modelRotation1 = stream.readUnsignedShort();
else if(i == 6)
modelRotation2 = stream.readUnsignedShort();
else if(i == 7) {
modelOffset1 = stream.readUnsignedShort();
if(modelOffset1 > 32767)
modelOffset1 -= 0x10000;
} else if(i == 8) {
modelOffset2 = stream.readUnsignedShort();
if(modelOffset2 > 32767)
modelOffset2 -= 0x10000;
} else if(i == 11)
stackable = true;
else if(i == 12)
value = stream.readDWord();
else if(i == 16)
membersObject = true;
else if(i == 23) {
maleModel = stream.readUnsignedShort();
aByte205 = stream.readSignedByte();
} else if (i == 24)
anInt188 = stream.readUnsignedShort();
else if (i == 25) {
femaleModel = stream.readUnsignedShort();
aByte154 = stream.readSignedByte();
} else if (i == 26)
anInt164 = stream.readUnsignedShort();
else if(i >= 30 && i < 35) {
if(groundOptions == null)
groundOptions = new String[5];
groundOptions[i - 30] = stream.readString();
if(groundOptions[i - 30].equalsIgnoreCase("hidden"))
groundOptions[i - 30] = null;
} else if(i >= 35 && i < 40) {
if(inventoryOptions == null)
inventoryOptions = new String[5];
inventoryOptions[i - 35] = stream.readString();
} else if(i == 40) {
int j = stream.readUnsignedByte();
originalModelColors = new int[j];
modifiedModelColors = new int[j];
for(int k = 0; k < j; k++) {
originalModelColors[k] = stream.readUnsignedShort();
modifiedModelColors[k] = stream.readUnsignedShort();
}
} else if(i == 78)
anInt185 = stream.readUnsignedShort();
else if(i == 79)
anInt162 = stream.readUnsignedShort();
else if(i == 90)
anInt175 = stream.readUnsignedShort();
else if(i == 91)
anInt197 = stream.readUnsignedShort();
else if(i == 92)
anInt166 = stream.readUnsignedShort();
else if(i == 93)
anInt173 = stream.readUnsignedShort();
else if(i == 95)
anInt204 = stream.readUnsignedShort();
else if(i == 97)
certID = stream.readUnsignedShort();
else if(i == 98)
certTemplateID = stream.readUnsignedShort();
else if(i == 100) {
int length = stream.readUnsignedByte();
stackIDs = new int[length];
stackAmounts = new int[length];
for(int k = 0; k < length; k++) {
stackIDs[k] = stream.readUnsignedShort();
stackAmounts[k] = stream.readUnsignedShort();
}
} else if(i == 110)
anInt167 = stream.readUnsignedShort();
else if(i == 111)
anInt192 = stream.readUnsignedShort();
else if(i == 112)
anInt191 = stream.readUnsignedShort();
else if(i == 113)
anInt196 = stream.readSignedByte();
else if(i == 114)
anInt184 = stream.readSignedByte() * 5;
else if(i == 115)
team = stream.readUnsignedByte();
}
}
Could be usefull for OSRS projects or stuff like that
Screenshot: