Skip to content

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_dir=content raw_data_images_dir={#raw_data_dir}\Gallery ```

raw_data_images_dir would evaluate to:

content\Gallery

Unimplemented Settings#

Info

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: 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 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