Make your own free website on Tripod.com





The Infinity Engine File Format Hacking Project(IEFFHP) has info about the file structures

AXE is a good free hex editor(The homepage is down so get it here)

Get Infinity Explorer. This program is good because you can use it to open your files instead of running BG2 to check if they work.

At TeamBG.com get the biftool with front end, and the Infinity Engine Editor Pro

Once you have these programs you can do the next part. We'll go through changing the amount of experience points you get for killing an ogre.

Use the Biftool to extract Creatures.bif . Once that is finished run AXE.
In AXE go to File->open-> go to the bg2 directory in your hard drive then go to the data folder-> in there open the folder creatures-> open the file Ogre01.cre

Now go to IEFFHP and go to the creatures section. Near the begining of the CRE v1.0
Description, you will see experience value (i.e. value in XP for killing this creature)
To the left of that it says 4 (dword); this means that the XP value for a creature is 4
bytes. To the left of that it says 0x0014; this is the offset that the 4 bytes start at. An offset
is like the address of a byte in a file. In AXE the column to the left is the offset column. The
number in that column will tell you the offset of the byte that is next to it. As you move
the mouse across the Bytes filed, the offset number at the far bottom left of the window will
change. You want to be at offset 0x0014, so just move the mouse to that position. The
number at that spot is four bytes. One byte is
two characters. (E4 06 BF etc.) So the number at 0x0014 is 0E 01 00 00. If you go
to the View bar in AXE you will see Show Base Converter at the bottom. Open that
and type 0E 01 00 00 into the hex field. The converter should return that that
is 270 . We want to make an ogre worth 70000000 exp, so type that into the Long
field. It should return 80 1D 2C 04. Now just type that into the file starting
at offset 0x0014. Then you can save the file into the override folder and go
kill an ogre for some major experience!


Now lets say you have the desire to see Ogre's named Super Ogre. You would go to IEFFHP
and see that the name is in two different parts, Long and Short. I usually
just make them the same. Then you can see the offset is 0x008 for Long name, and 0x00C
for Short. So go to those in AXE and you may be confused because you don't see
the name there, but rather numbers. Those numbers are the String Reference
(strref) of the Ogre's name in the dialog.tlk file. To see what the name is you have to
convert the number to decimal then check the dialog file. To do this, you can use
Infinity Engine Editor Pro. Open that program and then go to the Dialog.tlk
editor. The Ogre's long name is strref A9 18 which converts to 6313 in base 10. Type
6313 into IEEP and hit read. It will say Ogre. To change the ogre's name, move
the radio button to write. Now type Super Ogre, or whatever you want, into the
text box and hit write. It will give you a strref number. Convert that to Hex and
type it into offset 0x008. Save into override and go check it out.