The Halo 3 Editing Kit includes a standalone build of that game (halo3_
The standalone build is configuered differently from the retail build of Halo 3 that's part of MCC - bugs or features found in one might not be found in the other. For that reason maps should always receive final testing as map cache files loaded by MCC itself.
Usage
The UI works to a limited degree but not all maps can be loaded using it. Map load should be done by adding the required game_start
command to init.txt
. Note: you need to use the full scenario tag path as this is a tag build. For example:
; load tags\levels\solo\020_base\020_base.scenario:
game_start levels\solo\020_base\020_base
; load tags\levels\solo\040_voi\040_voi.scenario:
game_start levels\solo\040_voi\040_voi
If you want to load an stock scenario it might be easier to use the debug menu.
Once you are in-game you can change the map using the console. If you modify tags for the currently loaded map it will be automatically reloaded. You do not need to do anything to enable this behaviour, just edit and let it reload! Major changes might result in the map/game reset, minor changes should be seamless apart from a loading screen.
Use cases
This build offers a number of benefits for testing over compiling cache files or using player simulation:
- As mentioned above tag reloading is enabled for standalone and Sapien.
- You have access to a HaloScript console which lets you toggle globals and call functions at will.
- It will be closer to the experience of playing through level in the cache build than player simulation.
Keyboard shortcuts/hotkeys
Some of these shortcuts are only used in certain windows or editor modes.
General
- ~: Opens the command console.
- Shift+Esc: Exit Standalone
- Ctrl+M: Disables mouse look and enables the cursor
- Shift+Return: Clears console output
- Home Opens the debug menu. Use the arrow keys and <kdb>enter</kdb> to select an item. The menu or a submenu is closed using <kdb>End</kdb>. Entering the number or letter on the left of an has the same effect as selecting it using the arrow keys and pressing <kdb>Enter</kdb>
- If you want to add items to the menu create a
bin\debug_menu_user_init.txt
file using the same syntax asbin\\debug_menu_init.txt
. The two menus will be merged together. Don't edit the stock menu as updates will overwrite it.
- If you want to add items to the menu create a
Encounters and AI
- F1: Selects the spawned actor in the center of the game view.
- F2 Select next encounter. You can also use the console command
ai_select <encounter>
. - F3: Select previous encounter.
- F4: When an encounter is selected, selects the next actor.
- Shift+F4: Selects the previous actor.
- F5: Cycles through render modes for actor sprays:
- Actions
- Activation status
- None
- F6: Erase all spawned actors, e.g. those created with
ai_place
.
Player Cheats
- Left Parenthesis Teleports the player to location they are looking at. Only seems to work if it's further above the player?
- Ctrl+C: Toggles deathless players
Debug Toggles
- F10: Toggles profile summary. Pressing it multiple times will switch between the following modes:
- All
- Objects
- Graphics
- Occlusion
- Effects
- AI
- Game-state
- Environment Artist
- Disabled
- Ctrl+F10: Disables profile summary output
- Ctrl+I: Toggles input debug
- Shift+W: Toggles weapon debug
- Ctrl+F11: Toggles 4x3 view in widescreen
- Ctrl+F: Toggles display framerate
- Ctrl+R: Toggles render model vertex
- Ctrl+J: Saves current camera position
- Ctrl+K: Loads last camera position
- Ctrl+L: Teleports player to camera position
- Ctrl+6: Toggles texture cache usage
- Shift+6: Toggles texture cache debug mip
- Ctrl+7: Toggles texture cache status
- Shift+7: Toggles texture cache graph
- Ctrl+8: Toggles geometry cache status
- Shift+8: Toggles geometry cache graph
- =: Increase game speed by 0.10 units
- -: Decrease game speed by 0.10 units
- Shift+=: Increase game speed by 1.00 units
- Shift+-: Decrease game speed by 0.50 units
Camera Perspective
- Backslash: While controlling a unit, press this key to posses the closest unit.
- Right Parenthesis While controlling a unit, press this key to switch to through any existing units.
Debug director flying controls
To use the debug freecam press Backspace until you are in flying camera mode. Movement of the camera is a little different than in Sapien. You do not hold the middle mouse button and the camera moves in the direction it's pointed rather than its vertical movement being controlled exclusively with buttons.
- Backspace: Cycle camera modes (1st person, 3rd person, flying)
- Use the mouse to aim
- Move with W, A, S, and D
- Go up with R and down with F (camera relative, not world relative)
- Increase/decrease camera speed by scrolling down/up
- Temporarily boost camera speed by holding Ctrl
- Toggle biped control without switching the camera back to first person by pressing the middle mouse button.
Object spawning
You can quickly spawn a variety of objects for testing:
- Spawn all vehicles by entering
cheat_all_vehicles
into the console. - Spawn all weapons by by entering
cheat_all_weapons
into the console.
Known issues & Fixes
- Sound doesn't play - Copy over the
fmod
folder from your install of H3 or ODST depending on which game you are working on. - Levels that make use of the script function
soft_ceiling_enable
will cause scripts to fail to compile due to post processing not done by standalone. You can fix this by setting the script globalscenario_load_all_tags
to true. The only level known to be affected by this is110_hc
otherwise known as the singleplayer level namedCortana
.
Acknowledgements
Thanks to the following individuals for their research or contributions to this topic:
- AKlinth (Pointing out that the debug menu is undocumented.)