I will need your help to make my project a reality.
You can of course, choose not to help, however, you are only hurting the community by not participating.
The task themselves are mundane, things that any experienced modder can do, and will require no hacking skills whatsoever.
1. Game ID's - Items, NPC's, Buildings, Expressions, etc,. (UID's ?)
Here are some I've decoded myself. (I need someone with modding experience to figure out how these relate to the games files, and then document the rest. The modding tools may display these in decimal format, so you may need to convert them from hex to decimal to see a relation. They could even relate to the count, ie, the items index within the files, etc,. Don't know.)
Hotkey Bar Items:
Empty = 0x0000,
Force_Push = 0x0B2A,
Slow_Time = 0x0B2B,
Drain_Life = 0x0B2F,
Berserk = 0x0B31,
Lightning = 0x0B34,
Battle_Charge = 0x0B35,
Assassin_Rush = 0x0B36,
Heal_Life = 0x0B37,
Fireball = 0x0B39,
Multi_Arrow = 0x0B3A,
Infernal_Wrath = 0x0B3C,
Follow = 0x0E25,
Wait = 0x0E26,
Flirt = 0x0E2E,
Apologise = 0x0E2F,
Sneer = 0x0E30,
Scary_Laugh = 0x0E31,
Belch = 0x0E35,
Fart = 0x0E36,
Manly_Arm_Pump = 0x0E37,
Giggle = 0x0E38,
Kiss_My_Ass = 0x0E3D,
Flamenco_Dance = 0x0E3E,
Cossack_Dance = 0x0E3F,
Air_Guitar = 0x0E40,
Tap_Dance = 0x0E43,
Guild_Seal = 0x10D1,
Money_Bag = 0x10D2,
Lamp = 0x10D3,
Fishing_Rod = 0x10D5,
Spade = 0x10D7,
Health_Potion = 0x10C4,
Sapphire = 0x115C,
Jet = 0x115D,
Note: Try to follow this format, these are enums, and will directly plug into my project as shown here. (Hexadecimal is preferred, windows calculator, programmer mode, alternatively, Google can find you a converter as well.)
Note: Try to keep related objects in separate list, NPC's, and items shouldn't be in the same list. (My example list, is an exception, because the hotkey bar accepts items and expressions, etc,.)
I would recommend making a post in this thread documenting your finds, and simply editing it as you make progress.
2. I could also use the file layouts found in Fable Explorer\ShadowNet, in plain text format.
ie,..
Camera_Mode:
CameraMode (int)
Unknown (float)
CageRadius (float)
HeightOffsetZ (float)
LookOffsetZ (float)
FOV (float)
RollAngle (float)
The tool won't run at the same time as the game(on my system at least), which makes mapping this stuff much harder than it needs to be. (The source code for the tool would also suffice, I could then fix the problem. I believe it's opening the files, and never releasing them, thus, Fable can't load because of a file in use error.)
(These layouts likely map 1:1 with the games data in memory, from what I can tell, the game uses binary serialization, so, the files should match the classes exactly, minus some C++ specific stuff, which is of no major consequence.)
In short, this data could really speed up the decoding process, because a lot of it's already been decoded, and even the unknowns help, because they list type(int, float, byte), which will help me identify stuff more quickly.
----
For the moment, this should be all I need.
--
Edit:
If you're curious what I'll be doing, well, I'll be trying to make sense of 16.4mb's of this...
.text:00CE6006 mov ecx, [esi+40h]
.text:00CE6009 mov edx, [ecx]
.text:00CE600B lea eax, [esp+8]
.text:00CE600F push eax
.text:00CE6010 call dword ptr [edx+74h]
.text:00CE6013 test al, al
.text:00CE6015 jnz short loc_CE6061
.text:00CE6017 mov ecx, [esi+40h]
.text:00CE601A mov edx, [ecx]
.text:00CE601C call dword ptr [edx+1Ch]
[Updated on: Tue, 12 June 2012 01:31] Report message to a moderator
|