Alright. This is my newest program I've created as of the date of this topic creation. It's a program that unpacks the files from the cache, performs the same loading as the client, and dumps every aspect of whatever it is to a text file. I didn't include them as a download because the interface and object file is huge. It dumps the follow: Animations, objects, items, NPCs, floors, and interfaces. Here's an example format of each.
Code:
Animation 0
anInt352 = 14
anIntArray353 = { 4622, 4627, 4632, 4638, 4643, 4647, 4619, 4623, 4628, 4650, 4621, 4626, 4631, 4637 }
anIntArray354 = { -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }
anIntArray355 = { 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2 }
anInt356 = 2
anIntArray357 = null
aBoolean358 = False
anInt359 = 5
anInt360 = -1
anInt361 = -1
anInt362 = 99
anInt363 = 0
anInt364 = 0
anInt365 = 2
Code:
Object 0 - "Crate"
aBoolean736 = False
aByte737 = 0
anInt738 = 0
anInt740 = 0
aByte742 = 0
anInt744 = 0
anInt745 = 0
anInt746 = 0
originalModelColors = null
anInt748 = 0
anInt749 = 0
aBoolean751 = False
type = 0
aBoolean757 = False
anInt758 = 0
childrenIDs = null
anInt760 = 0
anInt761 = 0
aBoolean762 = False
aBoolean764 = False
aBoolean766 = False
aBoolean767 = False
anInt768 = 0
aBoolean769 = False
anInt772 = 0
anIntArray773 = { 2141 }
anInt774 = 0
anInt775 = 0
anIntArray776 = null
description = "I wonder what's inside."
hasActions = False
aBoolean779 = False
anInt781 = 0
anInt783 = 0
modifiedModelColors = null
actions = { "Search", "", "", "", "" }
Code:
Item 0 - "Dwarf remains"
aByte154 = 0
value = 1
modifiedModelColors = null
id = 0
originalModelColors = null
memberObject = True
anInt162 = -1
certTemplateID = -1
femaleEquip2 = -1
anInt166 = -1
anInt167 = 128
groundActions = null
modelOffset1 = -4
anInt173 = -1
modelID = 2595
anInt175 = -1
stackable = False
description = "The body of a Dwarf savaged by Goblins."
certID = -1
modelZoom = 1780
anInt184 = 0
anInt185 = -1
maleEquip2 = -1
actions = null
modelRotation1 = 320
anInt191 = 128
anInt192 = 128
stackIDs = null
modelOffset2 = 12
anInt196 = 0
anInt197 = -1
modelRotation2 = 436
femaleEquip1 = -1
stackAmounts = null
team = 0
anInt204 = 0
aByte205 = 0
anInt164 = 0
anInt199 = 0
anInt188 = 0
Code:
NPC 0 - "Hans"
anInt55 = 822
anInt57 = 0
anInt58 = 820
anInt59 = 0
combatLevel = 0
actions = { "Talk-to", "", "", "", "" }
anInt67 = 819
aByte68 = 0
anIntArray70 = { 792, 1950, 4550, 792, 5301, 28 }
anIntArray73 = { 55 }
anInt75 = 0
anIntArray76 = { 8078, 8741, 43072, 9104, 54397, 25238 }
anInt77 = 808
type = 0
anInt79 = 0
anInt83 = 821
aBoolean84 = False
anInt85 = 0
anInt86 = 0
aBoolean87 = False
childrenIDs = null
description = "Servant of the Duke of Lumbridge."
anInt91 = 0
anInt92 = 0
aBoolean939 = False
anIntArray94 = {217, 246, 292, 162, 176, 254, 185, 320 }
Code:
Floor 0
anInt390 = 11184810
anInt391 = -1
aBoolean393 = True
anInt391 = 0
anInt391 = 0
anInt391 = 170
anInt391 = 0
anInt391 = 1
anInt391 = 65408
Code:
Interface 0 (8287)
drawsTransparent = False
anInt208 = 0
anIntArray212 = null
contentType = 0
spritesX = null
anInt216 = 0
actionType = 0
spellName = ""
anInt219 = 0
width = 512
tooltip = ""
selectedActionName = ""
centerText = False
scrollPosition = 0
actions = null
valueIndexArray = null
aBoolean227 = False
aString228 = ""
mOverInterToTrigger = -1
invSpritePadX = 0
textColor = 0
anInt233 = 0
mediaID = 0
aBoolean235 = False
parentID = 8287
spellUsableOn = 0
anInt239 = 0
children = { 8288, 8289, 8290, 8291 }
childX = { 486, 486, 485, 485 }
usableItemInterface = False
invSpritePadY = 0
anIntArray245 = null
anInt246 = 0
spritesY = null
message = ""
isInventoryInterface = False
id = 8287
invStackSizes = null
inv = null
aByte254 = 0
anInt255 = 0
anInt256 = 0
anInt257 = 0
anInt258 = 0
aBoolean259 = False
scrollMax = 0
type = 0
anInt263 = 0
anInt265 = 0
isMouseoverTriggered = False
height = 334
textShadow = False
anInt269 = 0
modelRotation1 = 0
modelRotation2 = 0
childY = { 27, 6, 5, 26 }
The purpose of this project was to expand the creativity and knowledge we have on how some of the things in the client work. With this, we can either copy how one thing does something, or analyze the property via the values. It dumps extremely fast and on my computer, it doesn't even take 30 seconds to dump anything, so don't worry about speed.
Anyway, to get it to work, be sure you have a folder called "cache" and inside it, include your main_file_cache.dat file and index files 0 and 3. The program won't work otherwise.
Download - Be sure the DLL is with the application or it will not work. Also be sure you have the .NET Framework 2.0+.
~Lin