Halomods Community Portal: Documentation of Early Modding - Halomods Community Portal

Jump to content

Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

Documentation of Early Modding

Before HMT, SparkEdit, HHT

#1 User is offline   nintendo9713 

  • Advanced Member
  • PipPipPip
  • Group: Members
  • Joined: 09-May 11

Posted 26 February 2014 - 05:14 AM

I'm hoping some older / semi-active people see this (kornman, xbox7887, etc), but I was wondering if there was any documentation to the early stages of modding, and how the reverse engineering sequence played out. I've tried browsing the Halomods archive and I've found some good ones like Grenadiac's Mapfile Structure and Iron_Forge's Offset List, but I'm interested in how Iron_Forge found those offsets (methods, any other tools besides hex, etc) (Grenadiacs Installment #3 got cut off somehow :/ but 1 and 2 are really close to what I want.

I recently bought and read Hacking the Xbox: A Guide to Reverse Engineering and thoroughly enjoyed it. I have both the Black Art of Halomods and Halo 2 Hacks, but those are more of using the latest (at the time) programs.

I'm really interested in how the first mods were discovered via hex editing, but I am really interested in Halo 1, reverse engineering the map structure, finding offsets, etc. If anybody has anything they can link for reading, I'd greatly appreciate it.

#2 User is offline   kornman00 

  • SourceGuy 2.0
  • Group: Administrators
  • Joined: 15-November 01


Users Awards

Posted 02 March 2014 - 04:56 PM

I can't really speak for the map modders. I started with the game saves ~2002. My background at the time was mostly related to Gameshark/GameGenie on the consoles/handhelds. I didn't have or know about modded xboxes at the time, but as soon as Action Replay came out with some half assed game save transfer software, I used it to 'crack open' the game save bin file. I kid you not, I just dropped that thing in notepad and just started browsing for any noticable text, as I didn't have any desktop hex editors on hand at first. But this really didn't matter as part of the 'fill memory with garbage data' process caused bytes from the .rdata section of the XBE to be copied into the uninitialized memory. This is how I came across the script function documentation way back when, because the associated hs_doc strings found in the .rdata section were used as garbage data for the allocated, but uninitialized, game state.

The additional kicker was that the old C compiler used back in the early days of the xbox was apparently shit at culling unreferenced debug strings from the final binary. I'm pretty sure this code trickery was used, which the C compiler/linker of that time wasn't able to detect the data in the expression was touched only at compile time. Stubbs the Zombie for Xbox and Mac seemed to suffer from this same no-culling problem, but Halo2 didn't (as the engine was pretty much compiled as C++)

#3 User is offline   nintendo9713 

  • Advanced Member
  • PipPipPip
  • Group: Members
  • Joined: 09-May 11

Posted 03 March 2014 - 04:01 PM

Thanks for the insight, I'm still browsing through the archive trying to find some more technical documentation. I just enjoy reverse engineering literature and wanted to read more on Halo's process. I know community modding tanked with 360 and I unwillingly will assume even less with Xbox One. Besides Brawl, I can't think of any active modding games on consoles on current / last generation.

#4 User is offline   Cuda 

  • ☹☹☹☹☹☹☹☹☹☹☹☹☹☹☹☹☹☹☹☹☹
  • PipPipPip
  • Group: Members
  • Joined: 06-May 11
  • LocationNo.

Posted 06 March 2014 - 08:16 AM

I feel we cannot understate the importance of the early basic mods on important maps might i suggest logs

#5 User is offline   41hc1 

  • Newbie
  • Pip
  • Group: Members
  • Joined: 19-May 14

Posted 19 May 2014 - 01:26 AM

How do you even open the PC .maps for Stubbs? HaloMapTools just gives an unhandled exception.

#6 User is offline   kornman00 

  • SourceGuy 2.0
  • Group: Administrators
  • Joined: 15-November 01


Users Awards

Posted 19 May 2014 - 02:11 PM

Stubbs I believe had one or two things different in the cache header. If that's not what is causing the exception, then it's probably one of the new tag groups they added, or a change to an existing one that HMT is trying to read (eg, the scenario most likely).

#7 User is offline   deathbysnoosnoo 

  • Newbie
  • Pip
  • Group: Members
  • Joined: 21-August 14

Posted 21 August 2014 - 05:24 PM

View Postkornman00, on 02 March 2014 - 04:56 PM, said:

I can't really speak for the map modders. I started with the game saves ~2002. My background at the time was mostly related to Gameshark/GameGenie on the consoles/handhelds. I didn't have or know about modded xboxes at the time, but as soon as Action Replay came out with some half assed game save transfer software, I used it to 'crack open' the game save bin file. I kid you not, I just dropped that thing in notepad and just started browsing for any noticable text, as I didn't have any desktop hex editors on hand at first. But this really didn't matter as part of the 'fill memory with garbage data' process caused bytes from the .rdata section of the XBE to be copied into the uninitialized memory. This is how I came across the script function documentation way back when, because the associated hs_doc strings found in the .rdata section were used as garbage data for the allocated, but uninitialized, game state.

The additional kicker was that the old C compiler used back in the early days of the xbox was apparently shit at culling unreferenced debug strings from the final binary. I'm pretty sure this code trickery was used, which the C compiler/linker of that time wasn't able to detect the data in the expression was touched only at compile time. Stubbs the Zombie for Xbox and Mac seemed to suffer from this same no-culling problem, but Halo2 didn't (as the engine was pretty much compiled as C++)



My gamesave mod is still on the internet with thousands of downloads, it's sort of humbling :)

Share this topic:


Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic