Hex: A number system with 16 characters which are 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F. Thats all you need to know about it for modding.
Meta: The definition of an object. Its what you edit in HMT and any modding tools. Each object has a meta which defines what it can do and how it acts.
ID/Identity: Like the meta's ID card so to speak. Its what HHT edits for effects and that kind of stuff. Within a meta there will be ID's listed. When you see an ID listed in a meta, it means that another meta is being called into use. Ex. A vehi meta controls a vehicle and calls the collision model, visual model, animatino trigger, lights, and everything else to use within the vehi meta for any of the vehicles.
Offset/Address: The location of a specific byte in the file. Ex. 0x157 is the 157th byte in the file.
Longword: Most people call it a long for short. Anyway, its just 4 consecutive bytes. EX. 2A3B4C5D is one long.
Magic: The number that you subtract from any reflexive in the map to find where the reflexive is pointing to. Tools will generate the magic for you, but this is the equation to find it: magic = IndexMagic - ( header.OffsetToIndex + 40 )
Reflexive: 4 bytes that are in reversed order (Read them from right to left.) which, when the magic is subtracted from them, point to a specific place within the map file.
Little Endian: Basicly reversed order. Ex. Little endian swaps the order of things, so say DEEF was the little endian way of writing FEED. DE EF is the little endian version, FE ED is the way you reverse it so you can subtract the magic from it.
Reading XML files:
In the xml files it'll say this at first,
Code: Select all
<plugin>
<tag>weap</tag>
<struct>
Ok, so, when in an xml file it says <offset> then the file is specifying where to find something within the meta. In other words when it says <offset>0x34</offset> its saying that its at the 34th byte in the file. Simple enough, isnt it?
Then, when it goes <type>, it will then specify how to represent something in the file. When it says <type>float</type> then it tells the tool to represent the long at the specific offset stated in that section of the xml file.
So, together it looks like this:
Code: Select all
<value>
<type>float</type>
<offset>0x3E0</offset>
<name>Magnification Range - To</name>
</value>
Now, you may see something that looks like this:
Code: Select all
<value>
<type>short</type>
<offset>0x22</offset>
<name>Rounds Per Shot</name>
</value>
Ok, there is another thing you should know. You'll see this too:
Code: Select all
<value>
<type>reflexive</type>
<offset>0x4FC</offset>
<name>Triggers</name>
</value>
Now, to convert hex to floating point intergers, which are known as floats, you'll need to use a float converter. Hell, I still don't know how to do it without a float converter, and I don't know where one for windows would be.
So, I hope this gives you a better idea about how to edit things in hex. If not, your a sillykins.
-sword