Misc: Generic Newb Halo Hacking

This is where the Admins will put tutorials submitted by users.
Locked
Andredaar





Posts: 10
Joined: Fri Jan 16, 2004 9:37 pm

Misc: Generic Newb Halo Hacking

Post by Andredaar »

Ok, here is some of my notes on halo hacking. If there are any errors please let me know. :lol: Thanks to Enixile for getting me started and some others for helping me lose my title as super n00b. Happy modding...
This was revised and corrected by Enixile.

NOTES ON HALO HACKING
Definitions

Byte: 2 characters (0-10 and/or A-F) ex: 4c, 34, da, etc.
Word: 2 bytes ex: 1a 23, 12 34, ac 31, etc.
Dword: Also refered to as double word, integer, or int, its 2 words (hence double word) ex: 1a 23 12 34, 12 54 0a c5 etc.
Meta: The controls and data, it takes resources and uses them to do something.
Pointer: A dword that stores an offset within it. Directly from the map, it has magic added. ex: The values use in offset swapping are actually meta pointers, they have magic added.
Identifier: Also called IDENT a unique number representing a tag. It is a different value in every map. First byte is 'E'.
Offset: An address to a value somewhere in the file.
Value: Number referring to something in the code.
Tag Type: Categories that tags are put in, such as projectile tags are in the "proj" tag type.
Endians: Endian is the style the information is stored in. Big endian is stores information in a normal readable state, and little endian stores the information backwards.
Index: The offset list/tag information list inside of a map.
Tag: Any object used in the map.

Useful Programs
HMT, HMTV3, Halo Map Tools - An easy to use tool great for swapping projectiles and stuff. Also cam be used for more complex things
SE, SparkEdit - 3D map viewing and editing tool. Used mostly for placement of objects.
HHD Hex Editor - Used for editing the hex in halo maps.
HHHT, Helpful Halo Hacking Tool - Used to apply PPF patches to levels
HEK, Halo Editing Kit - A likely myth, a program unlikely to released for making levels and mods simple form GearBox Software for Halo PC. The release date is unknown and may be non existant.

Swapping Identifiers
1. Locate the Meta for whatever your changing using the offset list.
2. Locate the tag for whatever your changing. ex: jorp
3. Locate the identifier of the object your changing, Its the 4 bytes following 4 '.'s after the tag.
4. Locate the identifier for what your putting in there on your offset list.
5. Replace the ident for the original object with the ident for the second object

Finding the Index
1. Open any map.
2. Go to offset 0x10.
3. Get the int there.
4. Swap it's endian.
5. Go to the result as an offset.
6. Go to +0x28 for pc maps and +0x24 for xbox maps.

Notes on the index

Every 32 bytes is a tag page.
The first every four bytes up until 12 bytes are the tag types.
Then the next four bytes is the identifier.
After those, the next four bytes is the meta pointer.
Then finally the last four bytes is the filename pointer.

Swapping Endian
It's simply reversing the order of the bytes in groups of four.
Examples: 01 23 45 56 = 56 45 23 01; a0 d1 f2 c2 = c2 f2 d1 a0


Swapping Offsets
Swapping offsets is simply switching two tags around. You can swap anything from bitmaps to vehicles to particles to projectiles, etc.
1) Get a hex editor and an offset list, like Iron Forge's: http://forge.halomods.com/offsets/retail.php
2) Open the map you want to swap in, in the hex editor.
3) Look up the offset for the the tag you want to change on the offset list under the proper category.
4) Goto that objects offset in your hex editor.
5) Now at that offset there is a dword that should end with 40, 41, 80, or 81.
6) Now on the offset list look up what you want to go in place of that tag.
7) Replace the dword at the offset for the new dword or "value" from the new object.
8) Now just save the map and run.
9) Enjoy! :D
Last edited by Andredaar on Sat Jan 31, 2004 9:44 am, edited 4 times in total.
kaptainkommie




Wordewatician 500

Posts: 732
Joined: Wed Nov 26, 2003 11:59 pm
Location: Raleigh, NC, USA

Post by kaptainkommie »

nice post.
Andredaar





Posts: 10
Joined: Fri Jan 16, 2004 9:37 pm

Post by Andredaar »

hey think i could put this on halomods.com as a tutorial? im not sure what you have to do to submit tutorials...
Demonic Spartan





Posts: 1659
Joined: Sat Dec 06, 2003 12:44 pm
Contact:

Post by Demonic Spartan »

No idea, maybe just try contacting Grenadiac about it...? :?
Image
Andredaar





Posts: 10
Joined: Fri Jan 16, 2004 9:37 pm

Post by Andredaar »

duh good idea, i'll ask around in the irc tonight...
FlakLikaDuk





Posts: 264
Joined: Mon Jan 19, 2004 3:59 pm

Post by FlakLikaDuk »

Andredaar wrote: HEK, Halo Editing Kit - A likely myth, a program unlikely to released for making levels and mods simple form GearBox Software for Halo PC. The release date is unknown and may be non existant.
Blasphemer! don't say things like this we NEED THIS!. j/k but i really want the HEK out NOW.
"I only drink the blood of my enemies, and ocassionally a strawberry Yoohoo." --Sarge RvB
Demonic and me made this blooper video check it out!
kaptainkommie




Wordewatician 500

Posts: 732
Joined: Wed Nov 26, 2003 11:59 pm
Location: Raleigh, NC, USA

Post by kaptainkommie »

I shoulda stickied this earlier, but better late that never. [STICKY]
User avatar
HunterXI





Posts: 3927
Joined: Sat Nov 22, 2003 11:21 am
Location: Azeroth
Contact:

Post by HunterXI »

yes, this does deserve to be stickied...

tho Kaptain, I think we have too many stickies. can you look at removing one or 2...?
This post printed on 100% recycled electrons.
kaptainkommie




Wordewatician 500

Posts: 732
Joined: Wed Nov 26, 2003 11:59 pm
Location: Raleigh, NC, USA

Post by kaptainkommie »

Andredaar wrote:hey think i could put this on halomods.com as a tutorial? im not sure what you have to do to submit tutorials...
You need to email the tutorial to Grenadiac. He'll read it and if he deems it worthy, it'll be posted as a tutorial. This information is on the main site somewhere...
Locked