;===============================================================================
; chimera.ini
;
; This file provides additional configuration for Chimera beyond commands. This
; file is NOT automatically generated, thus you are responsible for keeping it
; up-to-date. Doing so is NOT required to use Chimera unless you want to take
; advantage of newer features configured with the INI file.
;
; You can get a fresh copy of the ini from the Chimera repo:
;
;     https://github.com/SnowyMouse/chimera/
;
; Lines that begin with a semicolon ';' are comments and are ignored by the ini
; parser. Some of them are used to "comment out" settings. For example:
;
;     ;setting_name=value
;
; Removing the semicolon just before setting_name (AKA "uncommenting" the line)
; will result in the setting being set to "value" when read.
;
; This file *MUST* be encoded using UTF-8. Other encodings will not work.
;===============================================================================


[halo]

;===============================================================================
; Halo initialization settings
;
; This is used to configure how Halo is initialized.
;===============================================================================

; Set this to change where profiles are stored. It can be absolute or relative,
; and can be overridden with -path.
;path=C:\Users\whatever\you\want\to\put\here

; Set this to change where downloaded maps are stored. It can be absolute or
; relative. By default it is set to <path>\chimera\maps .
;download_map_path=C:\Users\whatever\you\want\to\put\here

; Set this to change where to load maps from. It can be absolute or relative.
; By default it is set to maps .
;map_path=maps

; Set this to execute a given list of commands in an 8-bit text file.
;exec=C:\Users\path\to\init.txt

; Set ports; this can be overridden with -port and -cport, respectively. You can
; set client_port=0 to have the OS assign a client port, which is recommended if
; you run multiple Halo instances on your PC.
;server_port=2302
;client_port=0

; Enable the intro videos. This is normally disabled by default as it makes
; starting up the game take much longer and is annoying. Turning this on will
; also turn on the demo outro video *if* on the demo version of the game.
;intro_videos=1

; Set this to 1 to use the console; this can be overridden by -console
console=1

; Set this to 1 to use optimal defaults. This is intended to makes the game
; play more like a proper PC game, enabling the following settings:
;
;     chimera_af true
;     chimera_aim_assist true
;     chimera_block_loading_screen true
;     chimera_block_mouse_acceleration true
;     chimera_diagonals 0.75
;     chimera_fov auto
;     chimera_fov_cinematic auto
;     chimera_fp_reverb true
;     chimera_throttle_fps 300
;     chimera_uncap_cinematic true
;
optimal_defaults=1

; Set this to 0 to disable the menu music
;main_menu_music=0

; Set this to 1 to enable video when Halo is not in focus (e.g. tabbed out)
background_playback=1

; Set this to 1 to enable multiple instances
;
; NOTE: Each instance needs its own client port to join games. Setting
; client_port=0 CAN ensure this.
;
; NOTE: Due to how Halo handles save files, enabling this will result in the
; game crashing if you create checkpoints. If you intend to play the campaign,
; turn this off!
;multiple_instances=1

; Use a custom hash (string up to 32 characters OR "%" for a random hash)
hash=%


[error_handling]

;===============================================================================
; Error handling settings
;
; This is used to configure error handling
;===============================================================================

; Set this to 1 to not show any error boxes created by Chimera
;suppress_fatal_errors=1

; Set this to 1 to show segmentation fault errors
;show_segmentation_fault=1


[video_mode]

;===============================================================================
; Video mode settings
;
; This is used to configure video mode settings
;===============================================================================

; Enable the [video_mode] settings
enabled=1

; Resolution to use
;
; Putting auto will use your primary monitor's current width or height.
;
; NOTE: Halo may fail to start properly if the width or height is not supported
; by your desktop.
width=auto
height=auto

; Refresh rate (Hz)
;
; Putting 0 here will use your system's current refresh rate.
;
; NOTE: While the Halo menu does not list refresh rates above 120 Hz, this
; setting can be used to bypass this limitation.
refresh_rate=0

; Enable double buffer vSync?
;
; This can be used to prevent tearing, but it comes at the cost of several
; frames of input lag (often times >100 ms if @ 60 Hz).
;
; NOTE: If you have access to a monitor with a variable refresh rate (e.g.
; FreeSync, G-Sync, etc.), then it is HIGHLY RECOMMENDED to, instead, use
; chimera_throttle_fps to lock your frame rate to your refresh rate minus 3 (so,
; if you're on a 144 Hz display, lock it to 141 FPS) and play in full screen,
; rather than enabling vSync.
vsync=0

; Play in a window?
;
; On newer versions of Windows, this will incur some input lag due to the
; Desktop Window Manager. If you're on Linux, it is recommended to disable
; compositing if you choose to play in a window.
windowed=1

; Play in borderless fullscreen?
;
; You will need to be in windowed mode (-window or windowed=1) for this to work.
; This can be used to effectively play in full screen without changing video
; modes, although you may experience higher input lag than exclusive full screen
; mode (see video_mode.windowed remark).
;
; Note that resolutions lower than your current resolution will be stretched.
borderless=1

[scoreboard]

;===============================================================================
; Scoreboard settings
;
; This is used to customize the scoreboard.
;===============================================================================

; Set the font (can be smaller, small, large, console, system)
font=small

; Set the fade time in seconds (0.5 = default, 0 = instant)
fade_time=0.5


[name]

;===============================================================================
; Name settings
;
; This is used to customize names displayed when looking at players.
;===============================================================================

; Set the font (can be smaller, small, large, console, system)
font=small


[server_list]

;===============================================================================
; Server list settings
;
; This is used to configure how the server list works.
;===============================================================================

; Set this to 1 to enable automatically getting the server list on open.
auto_query=1

; Set this to the desired master server hostnames
;master_server_list=s1.master.hosthpc.com
;master_server_key=s1.ms01.hosthpc.com
;master_server_nat_primary=natneg1.hosthpc.com
;master_server_nat_secondary=natneg2.hosthpc.com


[memory]

;===============================================================================
; Map memory settings
;
; This is used to configure how to handle how maps are loaded by Chimera. This
; feature does not work if haloce.exe is not LAA patched.
;===============================================================================

; Enable this to load maps directly into RAM rather than use temporary files.
;enable_map_memory_buffer=1

; Size of buffer (in MiB) to allocate for both the ui and one non-ui map
map_size=1024

; Show the time it took to decompress maps
;benchmark=1

; Font to use when downloading (can be smaller, small, large, console, system)
download_font=small

; URL template used to download maps
;  - Supports valid RFC 3986 URLs ( scheme://[username:password@]server[:port]/path )
; Replaces:
;  - {map} with the map name
;  - {game} with the game type ("halor" for PC, "halom" for CE, "halod" for trial)
;  - {server} with the current server's IP address
;  - {password} with the password for the current server
;  - {mirror<x,y,...>} with each comma-separated value until one works.
; The default is the HAC2 / HaloNet map repo.
;download_template=http://maps{mirror<2,1>}.halonet.net/halonet/locator.php?format=inv&map={map}&type={game}

; Enable downloading of retail (AKA HaloMD / Halo PC) maps. If this is disabled,
; then you will get an error if you try to download such maps. This does NOT
; prevent Custom Edition or trial maps from auto-downloading.
;
; NOTE: This is OFF by default due to potentially downloading incompatible maps.
; Ensure you have an English copy of retail Halo PC bitmaps.map and sounds.map
; before turning on this option. Incompatible maps will result in corrupt assets
; loading which can result in extremely loud sounds (aka "earrape").
;download_retail_maps=1


[font_override]

;===============================================================================
; Font override settings
;
; Override the fonts used by Chimera with system fonts. This may have issues on
; Wine. Enabling this will also force the widescreen fix to be on.
;
; You will need to have the latest Direct3D 9 runtime installed. To install it,
; go here: https://www.microsoft.com/en-us/download/details.aspx?id=35
;===============================================================================

; Enable overriding Chimera's fonts
enabled=1


; System font override
system_font_override=1

; Font family
system_font_family=Interstate-Bold

; Font weight (system); Scale of 100 (light) to 900 (boldest) with 400 being
; normal; not all weights work on all fonts.
system_font_weight=400

; Font size
system_font_size=20

; X/Y offsets
system_font_x_offset=0
system_font_y_offset=1

; Shadow offset (if all 0, don't use shadows - much faster but harder to read)
system_font_shadow_offset_x=2
system_font_shadow_offset_y=2


; Large font override
large_font_override=1

; Font family
large_font_family=Interstate-Bold

; Font weight (large); Scale of 100 (light) to 900 (boldest) with 400 being
; normal; not all weights work on all fonts.
large_font_weight=400

; Font size
large_font_size=20

; X/Y offsets
large_font_offset_x=0
large_font_offset_y=1

; Shadow offset (if all 0, don't use shadows - much faster but harder to read)
large_font_shadow_offset_x=2
large_font_shadow_offset_y=2


; Small font override
small_font_override=1

; Font family
small_font_family=Interstate-Bold

; Font weight (small); Scale of 100 (light) to 900 (boldest) with 400 being
; normal; not all weights work on all fonts.
small_font_weight=400

; Font size
small_font_size=15

; X/Y offsets
small_font_offset_x=0
small_font_offset_y=3

; Shadow offset (if all 0, don't use shadows - much faster but harder to read)
small_font_shadow_offset_x=2
small_font_shadow_offset_y=2


; Smaller font override
smaller_font_override=1

; Font family
smaller_font_family=Interstate-Bold

; Font weight (smaller); Scale of 100 (light) to 900 (boldest) with 400 being
; normal; not all weights work on all fonts.
smaller_font_weight=400

; Font size
smaller_font_size=11

; X/Y offsets
smaller_font_offset_x=0
smaller_font_offset_y=4

; Shadow offset (if all 0, don't use shadows - much faster but harder to read)
smaller_font_shadow_offset_x=2
smaller_font_shadow_offset_y=2


; Ticker font override
ticker_font_override=1

; Font family
ticker_font_family=Lucida Console

; Font weight (ticker); Scale of 100 (light) to 900 (boldest) with 400 being
; normal; not all weights work on all fonts.
ticker_font_weight=400

; Font size
ticker_font_size=11

; X/Y offsets
ticker_font_offset_x=0
ticker_font_offset_y=0

; Shadow offset (if all 0, don't use shadows - much faster but harder to read)
ticker_font_shadow_offset_x=2
ticker_font_shadow_offset_y=2


; Console font override
console_font_override=1

; Font family
console_font_family=Hack Bold

; Font weight (console); Scale of 100 (light) to 900 (boldest) with 400 being
; normal; not all weights work on all fonts.
console_font_weight=400

; Font size (console)
console_font_size=14

; X/Y offsets
console_font_offset_x=0
console_font_offset_y=0

; Shadow offset (if all 0, don't use shadows - much faster but harder to read)
console_font_shadow_offset_x=2
console_font_shadow_offset_y=2



[controller]

;===============================================================================
; Controller settings
;
; This is used to configure gamepads.
;===============================================================================

; Enable this to use this feature
;enabled=1

; You can put button text here. Examples:
;     button_1=Button 1
;     axis_2_n=Axis 2 (-)
;     axis_3_p=Axis 3 (+)
;     pov_4_e=POV 4 (East)

; Alternatively, you can find premade controller configs here:
;     https://github.com/SnowyMouse/chimera/tree/master/controller_config


[custom_console]

;===============================================================================
; Custom console configuration
;
; This is the custom console settings.
;===============================================================================

; Enable custom console
enabled=1

; Enable scrollback? (page up/down)
enable_scrollback=1

; Maximum lines
buffer_size=10000

; Soft limit (delete old lines after this many lines are hit)
buffer_size_soft=256

; Line height (1.0 = potentially no gap between lines)
line_height=1.1

; Margins on left and right side
x_margin=10

; Time in seconds before lines start fading
fade_start=3.0

; Time in seconds for lines to completely fade
fade_time=0.75


[custom_chat]

;===============================================================================
; Custom chat configuration
;
; This is the custom chat and server chat. Fonts can be either system, console,
; small, smaller, or large, and will be map-specific.
;===============================================================================

; Enable unsolicited rcon messages to be printed in the console instead of server messages (can disrupt gameplay or usage of the console, so it's off by default)
;server_message_allow_unsolicted_rcon_messages=1

; Server message color (alpha, red, green, blue; 0-1 intensity)
server_message_color_a=0.5
server_message_color_r=0.45
server_message_color_g=0.72
server_message_color_b=1.0

; Server message offset (x and y; HUD pixels)
server_message_x=360
server_message_y=60

; Server message dimensions (width and height; HUD pixels)
server_message_w=350
server_message_h=380

; Server message height when chat is open (HUD pixels)
server_message_h_chat_open=160

; Server message anchor (can be top_left, top_right, center, bottom_left, bottom_right)
server_message_anchor=top_right

; Server message hide when console is visible
server_message_hide_on_console=0

; Server message font (can be smaller, small, large, console, system)
server_message_font=large

; Server message animation time in seconds
server_slide_time_length=0

; Server message display time in seconds (when chat is not in focus)
server_time_up=5.0

; Server message fade out time in seconds
server_fade_out_time=1.0

; Server line height
server_line_height=1.3


; Chat message color - Free-for-all (alpha, red, green, blue; 0-1 intensity)
chat_message_color_ffa_a=0.85
chat_message_color_ffa_r=0.85
chat_message_color_ffa_g=1.0
chat_message_color_ffa_b=0.85

; Chat message color - Red team (alpha, red, green, blue; 0-1 intensity)
chat_message_color_red_a=0.85
chat_message_color_red_r=1.0
chat_message_color_red_g=0.85
chat_message_color_red_b=0.85

; Chat message color - Blue team (alpha, red, green, blue; 0-1 intensity)
chat_message_color_blue_a=0.85
chat_message_color_blue_r=0.85
chat_message_color_blue_g=0.85
chat_message_color_blue_b=1.0

; Chat message offset (x and y; HUD pixels)
chat_message_x=8
chat_message_y=38

; Chat message height when chat is open (HUD pixels)
chat_message_w=612
chat_message_h=300

; Chat message height when chat is open (HUD pixels)
chat_message_h_chat_open=300

; Chat message anchor (can be top_left, top_right, center, bottom_left, bottom_right)
chat_message_anchor=top_left

; Chat message hide when console is visible
chat_message_hide_on_console=1

; Chat message font (can be smaller, small, large, console, system)
chat_message_font=small

; Chat message animation time in seconds
chat_slide_time_length=0.25

; Chat message display time in seconds (when chat is not in focus)
chat_time_up=5.0

; Chat message fade out time in seconds
chat_fade_out_time=1.0

; Chat line height
chat_line_height=1.1


; Chat input color (alpha, red, green, blue; 0-1 intensity)
chat_input_color_a=1.0
chat_input_color_r=1.0
chat_input_color_g=1.0
chat_input_color_b=1.0

; Chat input offset (x and y; HUD pixels)
chat_input_x=8
chat_input_y=338

; Chat input width (HUD pixels)
chat_input_w=612

; Chat input anchor (can be top_left, top_right, center, bottom_left, bottom_right)
chat_input_anchor=top_left

; Chat input font (can be smaller, small, large, console, system)
chat_input_font=small


[hotkey]

;===============================================================================
; Hotkey configuration
;
; Hotkeys can be configured to emit EITHER Halo scripts *OR* Chimera commands.
;===============================================================================

; Enable this to use hotkeys
;enabled=1

; Function key hotkeys
;    f5 (send "taxi" to chat - useful for servers that have this script)
f1=
f2=
f3=
f4=
f5=chimera_send_chat_message 0 taxi
f6=
f7=
f8=
f9=
f10=
f11=
f12=

; Alt+Shift+# hotkeys
;    alt-shift-1 through alt-shift-3: chimera_spectate
;    alt-shift-4: Toggle the debug camera
alt_shift_1=chimera_spectate_previous
alt_shift_2=chimera_spectate_next
alt_shift_3=chimera_spectate 0
alt_shift_4=begin (debug_camera_save) (debug_camera_load) || begin (camera_control 0)
alt_shift_5=
alt_shift_6=
alt_shift_7=
alt_shift_8=
alt_shift_9=
alt_shift_0=
; Numpad
alt_shift_num_1=
alt_shift_num_2=
alt_shift_num_3=
alt_shift_num_4=
alt_shift_num_5=
alt_shift_num_6=
alt_shift_num_7=
alt_shift_num_8=
alt_shift_num_9=
alt_shift_num_0=

; Alt+# hotkeys (default: bookmarks)
; Defaults:
;    alt-1 through alt-9: connect to bookmark
;    alt-0: list bookmarks
alt_1=chimera_bookmark_connect 1
alt_2=chimera_bookmark_connect 2
alt_3=chimera_bookmark_connect 3
alt_4=chimera_bookmark_connect 4
alt_5=chimera_bookmark_connect 5
alt_6=chimera_bookmark_connect 6
alt_7=chimera_bookmark_connect 7
alt_8=chimera_bookmark_connect 8
alt_9=chimera_bookmark_connect 9
alt_0=chimera_bookmark_list
; Numpad
alt_num_1=
alt_num_2=
alt_num_3=
alt_num_4=
alt_num_5=
alt_num_6=
alt_num_7=
alt_num_8=
alt_num_9=
alt_num_0=

; Ctrl+# hotkeys (default: history)
; Defaults:
;    ctrl-1 through ctrl-9: connect to history
;    ctrl-0: list history
ctrl_1=chimera_history_connect 1
ctrl_2=chimera_history_connect 2
ctrl_3=chimera_history_connect 3
ctrl_4=chimera_history_connect 4
ctrl_5=chimera_history_connect 5
ctrl_6=chimera_history_connect 6
ctrl_7=chimera_history_connect 7
ctrl_8=chimera_history_connect 8
ctrl_9=chimera_history_connect 9
ctrl_0=chimera_history_list
; Numpad
ctrl_num_1=
ctrl_num_2=
ctrl_num_3=
ctrl_num_4=
ctrl_num_5=
ctrl_num_6=
ctrl_num_7=
ctrl_num_8=
ctrl_num_9=
ctrl_num_0=

; Ctrl+Alt+Shift+# hotkeys
; Defaults:
;    ctrl-alt-shift-1: block currently held weapon (if in a game where you hold 3+ weapons)
;    ctrl-alt-shift-2: unblock currently held weapon (if in a game where you hold 3+ weapons)
;    ctrl-alt-shift-3: abort the current cutscene (useful for maps that have annoying cutscenes when you start)
ctrl_alt_shift_1=chimera_block_extra_weapon
ctrl_alt_shift_2=chimera_unblock_all_extra_weapons
ctrl_alt_shift_3=begin (cinematic_stop) (camera_control 0) (show_hud 1)
ctrl_alt_shift_4=
ctrl_alt_shift_5=
ctrl_alt_shift_6=
ctrl_alt_shift_7=
ctrl_alt_shift_8=
ctrl_alt_shift_9=
ctrl_alt_shift_0=
; Numpad
ctrl_alt_shift_num_1=
ctrl_alt_shift_num_2=
ctrl_alt_shift_num_3=
ctrl_alt_shift_num_4=
ctrl_alt_shift_num_5=
ctrl_alt_shift_num_6=
ctrl_alt_shift_num_7=
ctrl_alt_shift_num_8=
ctrl_alt_shift_num_9=
ctrl_alt_shift_num_0=

;alt_f4=chimera_aimbot 1
