About This File
Injects free space into the metadata area of .map files. Useful for injecting tags or resizing chunks. Most research was done by me. Special thanks to Xerax, Dovahkiin, DeadCanadian, and Lord Zedd, along with anyone who helped develop Ascension or any previous editors.
Run it from the command line like this:
mapexpand <path to .map file> <number of 0x10000-byte pages to inject>
For example, to add 0x20000 bytes into forge_halo.map, run
mapexpand "forge_halo.map" 2
There are a few things that you need to be careful of though:
- This only adds extra meta to the .map. You can't use this program to add models or textures - that's an entirely different process.
- This program only works with the retail version of Reach for now. However, the method described in this blog post should work for Halo 3 as well, aside from differing header offsets.
- You must patch your .xex with Zedd's blue flames patches. Using a .xex patched with Reachunlock or a similar program makes the game reject the map file for a currently-unknown reason.
- Don't inject anything while Ascension or another editor is open. Injecting changes the map magic because it involves decreasing the virtual base address of the metadata.
- Ascension can't handle patching between maps of different sizes. To create a patch which requires an expanded map file, you need to set an expanded .map as the original map and instruct users to use this program (perhaps through a .bat file or a similar script) before patching.
- Finally, only inject the number of pages that you actually need. You can always add more later. Adding 50 MB to the file just because you think you might need it is stupid and will probably slow your Xbox down or make the game just crash.
What's New in Version 1.1 See changelog
- Fixed issue with the Visual C++ runtime being necessary to run the program.