Configuration
The game engine has various configuration settings available that tweak how the engine functions. Many of these are unimplemented and will be introduced at a later date.
Implemented Settings#
Directories and Paths (paths
)#
Setting name | Description | Valid values | Default Value |
---|---|---|---|
game_data_root | The root of any game files (levels, tags, movies, etc.) | any valid relative path |
{$APPDIR} |
user_data_root | The path for any user files (game/map variants, config files, savegames, etc.) | any valid relative path |
{$DOCUMENTS}\My Games\Project Infinity |
user_mods_dir | The folder to store any user-installed mods | any valid relative path |
{#user_data_root}\mods |
raw_data_dir | The folder to store any miscellaneous loose files. | any valid relative path |
{#game_data_root}\content |
raw_data_images_dir | The folder to store any loose images (.PNG, .GIF, .BMP, .JPG) | any valid relative path |
{#raw_data_dir}\Gallery |
screenshots_dir | The folder to store any user-captured screenshots | any valid relative path |
{#user_data_root}\screenshots\ |
Logger Settings (logging
)#
Setting name | Description | Valid values | Default Value |
---|---|---|---|
clear_log_first | Whether or not to clear the log file at startup (only applies for standard logs and reports) | true or false |
true |
enable_multi_log | Whether or not to enable "multi-logging", which creates a new log file for each run | true or false |
true |
log_format | The log format to use, HTML has the option to have stylized logs | html , txt , or both |
html |
multi_log_dir | The directory to store multi-logs | any valid relative path |
logs |
reports_dir | The directory to store reports | any valid relative path |
reports |
use_reports | Whether or not to use reports instead of just debug.txt /debug.html . |
true or false |
true |
stylized_html_logs | Whether or not to enable CSS styling for HTML logs | true or false |
true |
console_color_set | The color set to use for the console | classic , new , or custom |
new |
ImGUI Display Settings (imgui
)#
Setting name | Description | Valid values | Default Value | Notes |
---|---|---|---|---|
sys_font | The font package to load for ImGUI | name of any TTF format file in /maps/fonts |
font_package_dbg | Fonts should be placed in /maps/fonts . If sys_font_force_extension is set to true , the file extension must be set to .bin extension, and this config option should be the font name without the extension. Ex: if the font file is "font-package-en.bin", then this value should be "font-package-en". |
sys_font_force_extension | Whether or not to force a .bin file extension for fonts |
true or false |
true | |
sys_font_size | The font size to use for ImGUI | any float or int |
15.0f |
Debug Settings (debug
)#
Setting name | Description | Valid values | Default Value |
---|---|---|---|
hsc_debug | Whether or not to print HaloScript parsing details to console | true or false |
false |
csc_debug | Whether or not to print CommandScript parsing details to console | true or false |
false |
screenshot_debug | Whether or not to print screenshot debugging details to console | true or false |
false |
debugMode | Whether or not debug mode is enabled | true or false |
true |
placeholder_debug | Whether or not to print extra placeholder info to console at startup | true or false |
true |
Debugging UI (blam_ui) Settings (debug_ui
)#
Setting name | Description | Valid values | Default Value |
---|---|---|---|
ui_default_font | e | Name of any font package (.bin) or folder with fontinfo.xml within its root |
fixedsys_ttf |
Console Settings (console
)#
Setting name | Description | Valid values | Default Value |
---|---|---|---|
extraConsoleOutputPadding | Whether or not to keep some space between console output (equal to 1 line) or not. (original games did not have extra spacing) | true or false |
true |
useEnhancedBooleanCommands | Whether or not to use enhanced boolean command handling | true or false |
false |
useEnhancedGvarMessages | Whether or not to use more informative messages for setting script gvars from console. When disabled, messages will display as they did in the official Bungie games. | true or false |
false |
Debug Menu Settings (debug menu
)#
Setting name | Description | Valid values | Default Value |
---|---|---|---|
useAlternateDebugMenuUnknownGlobalDisplay | Whether or not use an alternative display mode for missing globals in the debug menu. Defaults to false which uses the classic display style seen in Halo 2 |
true or false |
false |
autoGenerateNewDebugMenuFile | If disabled, the engine will not generate the default debug_menu_init.xml file if it isn't found. As such, it will attempt to load debug_menu_init.txt but this will almost certainly fail. |
true or false |
true |
Engine Features (features
)#
Setting name | Description | Valid values | Default Value |
---|---|---|---|
use_discord_rpc | Whether or not to enable Discord Rich Presence | true or false |
true |
show_firstboot | Whether or not to show the firstboot dialog | true or false |
true |
show_windows_menubar | Whether or not to show the standard Windows menu bar | true or false |
true |
use_custom_cursor | Whether or not to use the game's custom cursor | true or false |
true |
enable_imgui_gamepad_nav | Whether or not to allow ImGUI to be used with gamepad navigation | true or false |
true |
Networking Settings (network
)#
Setting name | Description | Valid values | Default Value |
---|---|---|---|
use_netcode | Whether or not to enable networking | true or false |
true |
Multithreading Settings (threading
)#
Setting name | Description | Valid values | Default Value |
---|---|---|---|
use_separate_render_thread | Whether or not to run rendering on it's own thread. Changing may have undesirable consequences. | true or false |
true |
Appearance Settings (appearance
)#
Setting name | Description | Valid values | Default Value |
---|---|---|---|
use_themed_windows | Whether or not to use visual themes on dialogs | true or false |
true |
use_themed_controls | Whether or not to use visual themes on dialog controls | true or false |
false |
Miscellaneous Options (miscellaneous
)#
Setting name | Description | Valid values | Default Value |
---|---|---|---|
screenshot_format | The format to use for saving screenshots | TBA |
PNG |
Special Settings - Don't touch these (special - don't touch these
)#
Setting name | Description | Valid values | Default Value |
---|---|---|---|
conf-ver | The configuration version, used for upgrading if need be | any int |
1 |
Placeholders#
Information on placeholders has been moved here.
Referencing other Config Options#
A configuration value can include the value of another option by using the following format:
{#config_option_id}
````
### Example
Take the following configuration settings:
raw_data_images_dir
would evaluate to:
content\Gallery
Unimplemented Settings#
Many of these settings may not get implemented for reasons that will soon seem obvious. Many of these were conceptualized by a young boy who had little knowledge at the time of how any of this shit works. They describe ambiguous and random features that, in some cases, flat out don't make any sense. They remain here as a reference only in the event that some of these get implemented in the future - just to satisfy that young boy's visions and make them into reality (or something like that).
fpsMax
- Controls the maximum framerate that the engine can run at- Valid values: Any number between
1
and60
-
Default:
60
-
bink-enabled
- Whether or not intro videos will play upon starting the game - Valid values:
true
orfalse
-
Default:
true
-
useSwitches
- Whether or not to respect command-line switches, such as-console
or-devmode
- Valid values:
true
orfalse
-
Default:
true
-
useMulti
- Whether or not to ignore levels whose scenario path starts with/levels/multi
- Valid values:
true
orfalse
-
Default:
true
-
useMulti
- Whether or not to ignore levels whose scenario path starts with/levels/solo
- Valid values:
true
orfalse
-
Default:
true
-
useLegacyFileStructure
- Whether or not to use the traditional Bungie-style file structure/maps
,/bink
, etc. - Valid values:
true
orfalse
-
Default:
true
-
useDedicated
- Whether or not to use Dedicated servers in favor of Peer-to-Peer networking. - Valid values:
true
orfalse
-
Default:
true
-
dedicatedHost
- The default host IP for dedicated servers - Valid values:
any valid DNS hostname or IP address
-
Default:
343.host.elaztek.com
-
dedicatedFallback
- A fallback host in the event that the primary dedicated host is offline or unreachable - Valid values:
any valid DNS hostname or IP address
-
Default:
i01.host.elaztek.com
-
dedicatedFallback2
- A secondary fallback host in the event that the primary dedicated host and fallback server are both offline or unreachable - Valid values:
any valid DNS hostname or IP address
-
Default:
contingency.host.elaztek.com
-
ui
- The type of UI to use upon starting the game - Valid values:
default
,classic
,halo3
,imgui
-
Default:
default
-
mp3Enabled
- Whether or not to support MP3-format sound - Valid values:
true
orfalse
-
Default:
true
-
checkSignatures
- Whether or not to check cache file signatures - Valid values:
true
orfalse
-
Default:
true
-
enableElaztekExtended
- Whether or not to enable the Elaztek Extended Framework - Valid values:
true
orfalse
-
Default:
true
-
launchMode
- The release mode to launch the engine in - Valid values:
retail
,alpha
,beta
,dev
,press
,safemode
,debug
,screen
-
Default:
debug
-
init-level
- The level to load by default when first starting the game - Valid values:
any level path
-
Default:
levels/ui/mainmenu/mainmenu
-
s_hsc_ver
- The HaloScript version that should be used - Valid values:
any valid release of HSC
-
Default:
15267.10.13.16.0467.blamite
-
havok_cloth_phys
- Whether or not to use Havok Cloth simulation - Valid values:
true
orfalse
-
Default:
false
-
havok_impact_phys
- Whether or not to use Havok impact simulation - Valid values:
true
orfalse
-
Default:
false
-
havok_physics_engine
- The Havok Physics preset to utilize - Valid values:
havok
,h2v
,contingencycryengine
,madness
,none
,spaaace
,michael
-
Default:
none
-
achi_enabled
- Whether or not to enable achievement support - Valid values:
true
orfalse
-
Default:
false
-
voice_server
- The IP of the TeamSpeak 3 server to utilize for voice communication - Valid values:
any valid TS IP
-
Default:
voice.inf.elaztek.com
-
voice_default_channel
- The channel ID to join by default - Valid values:
any valid channel id
-
Default:
57
-
show_ts_window
- Whether or not to show a TeamSpeak window for voice connectivity - Valid values:
true
orfalse
-
Default:
false
-
poly_limit
- The maximum number of polygons to render in a given frame - Valid values:
any valid int16, anything higher will cause issues
-
Default:
32767
-
r_wireframe
- Whether or not to render 3D scenes in wireframe mode - Valid values:
true
orfalse
-
Default:
false
-
render_preset
- The rendering preset to use by default - Valid values:
blam
,halo
,halo2
,halo3
,omaha
,storm
,osiris
,ue4
,unity
,groundhog
-
Default:
blam
-
fog
- Whether or not fog is enabled - Valid values:
true
orfalse
-
Default:
true
-
rendering_engine
- The graphics API to utilize for rendering - Valid values:
directx11
,opengl
- Default:
directx11