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 | Type |
---|---|---|---|---|
game_data_root | The root of any game files (levels, tags, movies, etc.) | any valid relative path | {$APPDIR} | string |
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 | string |
user_mods_dir | The folder to store any user-installed mods | any valid relative path | {#user_data_root}\mods | string |
raw_data_dir | The folder to store any miscellaneous loose files. | any valid relative path | {#game_data_root}\content | string |
raw_data_images_dir | The folder to store any loose images (.PNG, .GIF, .BMP, .JPG) | any valid relative path | {#raw_data_dir}\Gallery | string |
screenshots_dir | The folder to store any user-captured screenshots | any valid relative path | {#user_data_root}\screenshots\ | string |
levels_dir | The folder to store game cache files (.maps) | any valid relative path | {$APPDIR}\maps | string |
fonts_dir | The folder to store any game fonts | any valid relative path | {#levels_dir}\fonts | string |
tags_dir | The folder to store any individual tag files that aren't part of any given cache file | any valid relative path | {$APPDIR}\tags | string |
plugins_dir | The folder that XML plugins will be saved to upon being generated | any valid relative path | {$APPDIR}\plugins | string |
engine_resource_dir | The folder to store any miscellaneous engine resources | any valid relative path | {$APPDIR}\data | string |
Resource Settings (resources)
Setting Name | Description | Valid Values | Default Value | Type |
---|---|---|---|---|
force_regenerate_game_engine_text | Whether or not to forcibly re-create the default game engine text file, overwriting any user changes | true or false | true | bool |
force_regenerate_globals | Whether or not to forcibly re-create the default globals file, overwriting any user changes | true or false | true | bool |
Logger Settings (logging)
Setting Name | Description | Valid Values | Default Value | Type |
---|---|---|---|---|
clear_log_first | 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. | true or false | false | bool |
ImGUI Display Settings (imgui)
Setting Name | Description | Valid Values | Default Value | Type | Notes |
---|---|---|---|---|---|
sys_font | The font package to load for ImGUI | name of any TTF format file in /maps/fonts | font_package_dbg | string | 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 | bool | |
sys_font_size | The font size to use for ImGUI | any float or int | 15.0f | float |
Debug Settings (debug)
Setting Name | Description | Valid Values | Default Value | Type |
---|---|---|---|---|
hsc_debug | Whether or not to print HaloScript parsing details to console | true or false | false | bool |
csc_debug | Whether or not to print CommandScript parsing details to console | true or false | false | bool |
screenshot_debug | Whether or not to print screenshot debugging details to console | true or false | false | bool |
debugMode | Whether or not debug mode is enabled | true or false | true | bool |
placeholder_debug | Whether or not to print extra placeholder info to console at startup | true or false | true | bool |
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 | bool |
Debugging UI (blam_ui) Settings (debug_ui)
Setting Name | Description | Valid Values | Default Value | Type |
---|---|---|---|---|
ui_default_font | The default font package to use for rendering debug text. | Name of any font package (.bin) or folder with fontinfo.xml within its root | fixedsys_ttf | string |
Rendering Settings (rendering)
Setting Name | Description | Valid Values | Default Value | Type |
---|---|---|---|---|
rendering_engine | -- | vulkan, directx, opengl, bgfx | opengl | string |
vulkan_log_level | Minimum severity for Vulkan log messages to be printed to console. | verbose, info, warning, error | warning | string |
vulkan_device | -- | auto, first, any valid device index | auto | string |
Sentry Settings (sentry)
Setting Name | Description | Valid Values | Default Value | Type |
---|---|---|---|---|
enable_sentry | Whether or not to enable Sentry support. | true or false | true | bool |
sentry_host | The URL for Sentry to use to send diagnostics data. | Any valid Sentry ingest URL. | https://[email protected]/5259190 | string |
Font Settings (fonts)
Setting Name | Description | Valid Values | Default Value | Type |
---|---|---|---|---|
use_font_table | Whether or not to use font_table.txt to retrieve the list of available fonts. | true or false | true | bool |
draw_shadow_separately | Whether or not to draw text shadow as a separate text object. (?) | true or false | true | bool |
Console Settings (console)
Setting Name | Description | Valid Values | Default Value | Type |
---|---|---|---|---|
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 | 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 official Bungie games. | true or false | false | bool |
Debug Menu Settings (debug menu)
Setting Name | Description | Valid Values | Default Value | Type |
---|---|---|---|---|
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 | bool |
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 | bool |
Engine Features (features)
Setting Name | Description | Valid Values | Default Value | Type |
---|---|---|---|---|
use_discord_rpc | Whether or not to enable Discord Rich Presence | true or false | true | bool |
show_firstboot | Whether or not to show the firstboot dialog | true or false | true | bool |
show_windows_menubar | Whether or not to show the standard Windows menu bar | true or false | true | bool |
use_custom_cursor | Whether or not to use the game's custom cursor | true or false | true | bool |
enable_imgui_gamepad_nav | Whether or not to allow ImGUI to be used with gamepad navigation | true or false | true | bool |
Networking Settings (network)
Setting Name | Description | Valid Values | Default Value | Type |
---|---|---|---|---|
use_netcode | Whether or not to enable networking | true or false | true | bool |
Multithreading Settings (threading)
Setting Name | Description | Valid Values | Default Value | Type |
---|---|---|---|---|
use_separate_render_thread | Whether or not to run rendering on it's own thread. Changing may have undesirable consequences. | true or false | true | bool |
Appearance Settings (`appearance`)
Setting Name | Description | Valid Values | Default Value | Type |
---|---|---|---|---|
use_themed_windows | Whether or not to use visual themes on dialogs | true or false | true | bool |
use_themed_controls | Whether or not to use visual themes on dialog controls | true or false | false | bool |
Miscellaneous Options (miscellaneous)
Setting Name | Description | Valid Values | Default Value | Type |
---|---|---|---|---|
screenshot_format | The format to use for saving screenshots | TBA | PNG | string |
Special Settings - Don't touch these (special - don't touch these)
Setting Name | Description | Valid Values | Default Value | Type |
---|---|---|---|---|
conf-ver | The configuration version, used for upgrading if need be | any int | 1 | int |
Placeholders
Information on placeholders has been moved [here](Placeholders).
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_dir=content raw_data_images_dir={#raw_data_dir}\Gallery
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 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
-
useMulti - 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: false
-
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 or false
- Default: false
-
havok_impact_phys - Whether or not to use Havok impact simulation
- Valid values: true or false
- 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 or false
- 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 or false
- 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 or false
- 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 or false
- Default: true
-
rendering_engine - The graphics API to utilize for rendering
- Valid values: directx11, opengl
- Default: directx11
Edited by haloman30
Recommended Comments
There are no comments to display.
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now