As with any problem, first of ask yourself a question:
"Why does HaloCE take longer to load on start-up, when I have more maps?"
If you give it some thoughts, I'm sure you'll come across the following conclusion:
"more map = more loading time"
The more maps you have, the more maps have to be loaded into Halo's memory on start-up.
(ok it's does a bit more than this on start up, but not really relevant for this step-by-step thingy)
Alright so, Halo loads all the maps you have present in your maps folder on start-up into Halo's memory. More maps, more to load, more time it needs to start up.
So how can we change what maps are loaded?
Well either change the maps before we start Halo or change Halo's memory after we started Halo!
So how do we change Halo's memory?
Well keep reading and I'll teach you :D (fun, fun, fun)
Basically what we are going to do is replace the name of a map that Halo has loaded inside its memory, with a map name that was not present during start up.
Or in e3p0 example, replace "yoyorast_island" with "tactics" using a "special program".
Here is step by step process to achieve this, it does exactly the same as what e3p0 did in his video.
If it's not clear enough I'll post a video later over the weekend, since I'm keen on getting more people coding on Halo.
Step 1:
Download Cheat Engine from (
http://www.cheatengine.org/downloads.php )
What is Cheat Engine? (
http://www.cheatengine.org/aboutce.php )
Step 2:
Install Cheat Engine
Step3:
Start up Halo Custom Edition
(without having the map that you would like to "magically" load in the maps folder)
Step4:
Click multiplayer -> Lan -> Create Game
At this stage you should see a list with all the maps that are present in your maps folder and that have been loaded in Halo's memory.
I recommend that you write down the name of the map you want to replace or follow e3p0's maps example. (any map will do basically)
Step5:
Keep halo custom edition running (alt-tab or have Halo run in window mode
-window smart choice) and move the .map file that you magically want to load into the maps folder.
This would be tactics.map in e3p0's case.
Step6:
Now that the "new map" is present in the maps folder.
Start up Cheat Engine, again keep HaloCE running.
Skip the Cheat Engine tutorial offer for now, maybe you can do it later? :D
Once it's done loading "click the computer icon" (select a process to open)
Step7:
Select haloce.exe as the process that you would like to open
Step8:
(I'll assume you're using the same maps as e3po did in his youtube video, but basically any map will do)
As a Value Type select "Text" and type in the text box the map name of the map that was already present before Halo start up, example: yoyorast_island
Step9:
Un-check the Case Sensitive box (just to be safe) and Press "First Scan"
Step10:
Now in the column on the left, you should see just 1 result popping up. This result shows you the memory address where Halo stored the map name.
(Incase you see multiple results, it means you went ingame with that map. In this case go ingame once more with a completly different map and you'll be fine or just restart Halo and re-do the step-by-step process.)
Step11:
Double click this address.
The address should now be moved to the center column at the bottom.
The Type column should be String[] by default for this search and the Value column should show you the map name that you searched for. In e3p0 case: yoyorast_island
Step12:
Double click on the map name in the Value column.
A screen should pop-up which allows you to type.
Type in the mapname of the map you want to magically load and press OK
At this stage "yoyorast_island" should have changed to "tactics" in the Value column.
Step13:
Go back to halo - reload the map list by pressing Back and then "Create Game" again.
Select the newly appeared map
Press Play
.....
Profit!
So now what?
Basically what you want to do is write a small program that automates the process of injecting the map that you want to play into Halo's memory after Halo has already loaded.
But we'll save this for another day.
I hope you learned something today! ^_^
Sean Aero, signing off <3