Content: Slate Blackcurrant Watermelon Strawberry Orange Banana Apple Emerald Chocolate Marble
Background: Slate Blackcurrant Watermelon Strawberry Orange Banana Apple Emerald Chocolate Marble
Pattern: Blank Waves Notes Sharp Wood Rockface Leather Honey Vertical Triangles
Welcome to Xbox Chaos: Modding Evolved

Register now to gain access to all of our features. Once registered and logged in, you will be able to contribute to this site by submitting your own content or replying to existing content. You'll be able to customize your profile, receive reputation points as a reward for submitting content, while also communicating with other members via your own private inbox, plus much more! This message will be removed once you have signed in.

Sign in to follow this  
Followers 0
JJIJR

.MAP
How to Inject Raw Pages

8 posts in this topic

Why inject raw pages?
Apart from it eliminating the annoying need to preload maps, it allows your injected assets to work over system-link.


STEP 1 - Making sure you have the right tools.

You need to make sure you are running the latest version of assembly. You can download from the GitHub (Needs to be compiled) or in xerax's site here.

You are also going to need the latest MapExpand, you can also get from the GitHub or download here.

Lastly you will need a hex editor, I use HxD, but similar programs work as well.


STEP 2 - Extracting Your Raw Pages

I'm not going to cover the extraction of raw pages in this tutorial, but you can check out AMD's tutorial on it here. I'm going to assume you are saving the raw page(s) from your Hex editor and name them the chunk's number (ex: in Forge World 4411, 4412, etc.)


STEP 3 - Calculating How Much to Expand

To calculate how much to expand your .map's raw by open all your raw pages in the hex editor and scroll and click to the end. From there round the offset to the nearest 0x1000 and note it, do this for each raw page.

Capture1_zps15615a09.jpg

Add them in a calculator and once you have the sum of all these numbers convert it to decimal and remove the last 3 zeros, this is the number you will input to MapExpand in the next step.


STEP 4 - MapExpand

So to use MapExpand hold shift and right click the MapExpand folder and click "open command window here". Once the command prompt opens, drag your .map file into the MapExpand folder, now simply type "mapexpand" without quotes, press space and type in the name of the map such as "forge_halo.map", press space again and type "resource" without quotes, space again and input that number we got at the end of STEP 3, press space for the last time and type 0, finally press enter. After a few seconds it should tell you that it successfully injected the space into your map and it should give you a offset to where it added the space. In Forge World this number is usually 0x5CF1000. 

Capture2_zps7439aa7c.jpg

STEP 5 - Pasting your Raw Pages and Fixing the PLAY tag.

Now that you have your offset just go to it on your .map and start pasting in your raw (make sure to paste write, not paste insert). Start off in the offset MapExpand gave you and note the offset in which you pasted. From there jump to the next offset that ends in 000. Repeat this for all raw pages.

 

Once you have the raw page's offset your going to want to open your map in Assembly (after saving your changes in your hex editor), and subtract the "Raw Table Offset" from the offsets you have noted, you can find this value under the "Map Information" tab in Assembly.

Capture3_zpsf5664470.jpg

Convert the difference to a decimal, and note the result. Now go to the play tag and go to the corresponding Raw Pages, the number you just noted is the "block offset". The only thing left is to change the "shared cache index" to -1 if it isn't already. Repeat for all the chunks.

Capture4_zpsf5753ef7.jpg

That's it, load up your map! If you encounter any issues post about it below.

 

Credits:

Lord Zedd - Teaching me this and revising the tutorial

Assembly Team - For Assembly, MapExpand, etc.

Share this post


Link to post
Share on other sites

Glad there's finally a proper tutorial out for local injection  :smile: Thanks for working on this

I figured I should finally make one, as it would open doors to awesome game night maps and stuff such as the turbine hog.

OrangeMohawk likes this

Share this post


Link to post
Share on other sites

Good job on writing this up, have a cookie.

 

Btw by having assets load locally you can fix some of the injected sound, pretty sure zedd knows how to do it.

Edited by Akarias

Share this post


Link to post
Share on other sites

a cool game night would be to fool around on the map gamcheat made cliffside its my favorite :P

untill this process is automated, I doubt a map with that many campaign assets will ever be 100% local. Edited by JJIJR

Share this post


Link to post
Share on other sites

:/ if some one teaches me how to put forge on h3 sp maps ill attempt it i learn better visually though not from written tuts lol i get confused easy :/ 

Share this post


Link to post
Share on other sites
Sign in to follow this  
Followers 0