Hex
Now you know which files to edit, it's time to get hacking. Each relevant piece of character data is stored in one or more bytes. For those of you that don't know (for shame!) a byte is equal to eight bits. A bit is a binary digit, with a value of 1 or 0. Thus, each byte can have a value that ranges from 00000000 (or 0 in decimal terms) to 11111111 (255). Of course, a long string of binary numbers isn't particularly easy to read, and pretty time-consuming to alter. We need a shorthand, and that's where hex comes in. Hex is also a shorthand for binary: a way of representing with one digit what binary does with four. F is equal to 15 or 1111. Similarly, FF is equal to 255 or, in binary, 11111111.
For those of you that aren't familiar with hexadecimal numbers (and if not, why not?) here's a very brief explanation of the theory. In hex, there are sixteen symbols to represent numbers rather than the usual ten. They range from 0 to 9 as usual, and then A stands for 10, B for 11 and so on up to F, which is equal to 15, and then you add another digit. In this numerical base, 10 is equal to 16, 20 is 32, and so on.
All well and good, but how does that help us? Remember, a byte is equal to eight bits (binary digits), and so the lowest value is 00 and the highest possible value for a byte is FF.
All of these codes are stored on a table, and it's quite easy to represent, if a little cumbersome. Here is a table of Hex Codes. You may wish to view the table in a new window.
As mentioned before, each byte can take a value between 00 and FF. However, some figures are only meaningful within a specific range of numbers. In many cases you may not wish to max everything out.
I suggest an upper bound of 25 (19 in hex) for Strength, Dexterity, Constitution, Intelligence, Wisdom and Charisma, and 100 (64 in hex) for exceptional Strength. If put a score of FF in each of the bytes assigned to the character's money, then your character will be severely encumbered, so mind how you go!
You'll notice that I've only provided codes for 46 of the bytes in the character files. That leaves quite a lot unaccounted for. If you know what attributes any of the other byte codes control, drop me a line!
