Whether or not to clear the log file at startup (only applies for standard logs and reports)
true or false
true
bool
enable_multi_log
Whether or not to enable "multi-logging", which creates a new log file for each run
true or false
true
bool
log_format
The log format to use, HTML has the option to have stylized logs
html, txt, or both
html
string
multi_log_dir
The directory to store multi-logs
any valid relative path
/logs/
string
reports_dir
The directory to store reports
any valid relative path
/reports/
string
use_reports
Whether or not to use reports instead of just debug.txt/debug.html.
true or false
true
bool
stylized_html_logs
Whether or not to enable CSS styling for HTML logs
true or false
true
bool
console_color_set
The color set to use for the console
classic, new, or custom
new
string
show_header_in_stylized_reports
If enabled, the log header will be included even in stylized reports. The header was originally only visible in plain HTML or text logs.
true or false
true
bool
include_extras_in_stylized_reports
If enabled, the additional blank line and Ώ ∞ messages will be printed after the header. These serve no purpose other than as a cosmetic feature.
true or false
false
bool
bypass_queue
If enabled, the logger queue will not be used outside of initial startup. May cause increased IO usage, but can be used to ensure that no log messages are lost in the event of an exception.
The font package to load for ImGUI. 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".
name of any TTF format file in /maps/fonts
font_package_dbg
string
sys_font_force_extension
Whether or not to force a .bin file extension for fonts
true or false
true
bool
sys_font_size
The font size to use for ImGUI
any float or int
15.0f
float
allow_imgui_mouse_change
Whether or not to allow ImGUI to change the mouse pointer.
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
config_colors_debug
If enabled, will print a series of dummy messages for each warning severity. Useful for ensuring messages are displaying properly.
true or false
true
disable_tag_class_version_checking
Each time a tag is compiled, the version of the plugin/tag class is embedded into the file. By default, the engine will reject loading any tag compiled with a different plugin version - as doing so will likely result in a crash or other errors. By enabling this setting, the engine will try to load the tag anyways - though a warning is still logged.
true or false
false
bool
disable_tag_fieldset_version_checking
Just like with plugin versions, compiled tags also have the fieldset version embedded. The fieldset version refers to the version of the tag fields. If fields types are removed or have their data size changed, the fieldset version is incremented. It is NOT incremented when new fields are added but old ones are unchanged. Setting this to true will allow the engine to load any incompatiable tags, though just like with the plugin version checking - this will likely result in a crash.
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
bool
useEnhancedBooleanCommands
Whether or not to use enhanced boolean command handling
true or false
false
bool
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 original blam! engine.
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 blam.
true or false
false
bool
autoGenerateNewDebugMenuFile
If enabled, the engine will always re-generate the default debug_menu_init.xml file, even if it already exists. This should be disabled if you wish to customize your debug menu layout or items.
The engine Placeholders system is deprecated as of Build #333. Some of the below functionality will be made available through script globals, but will use a different implementation.
Configuration files no longer support placeholders, as they tend to be unreliable and only serve to complicate debugging and diagnostics during early engine initialization - as there is a period of time early on where the placeholder values are not expanded. Additionally, the utility offered by the placeholders system is extremely limited - and the components which can and do benefit from it are better served by game engine globals instead.
Many of these settings may not get implemented for reasons that will soon seem obvious. Many of these were conceptualized by a young haloman30 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 kid'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 and 60
Default: 60
bink-enabled - Whether or not intro videos will play upon starting the game
Valid values: true or false
Default: true
useSwitches - Whether or not to respect command-line switches, such as -console or -devmode
Valid values: true or false
Default: true
useMulti - Whether or not to ignore levels whose scenario path starts with /levels/multi
Valid values: true or false
Default: true
useSolo - Whether or not to ignore levels whose scenario path starts with /levels/solo
Valid values: true or false
Default: true
useLegacyFileStructure - Whether or not to use the traditional Bungie-style file structure /maps, /bink, etc.
Valid values: true or false
Default: true
useDedicated - Whether or not to use Dedicated servers in favor of Peer-to-Peer networking.
Valid values: true or false
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 or false
Default: true
checkSignatures - Whether or not to check cache file signatures
Valid values: true or false
Default: true
enableElaztekExtended - Whether or not to enable the Elaztek Extended Framework
Valid values: true or false
Default: true
launchMode - The release mode to launch the engine in