Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

SYSTEM.INI

Primary engine configuration file controlling rendering, gameplay, camera, dialog, debug, and 3D subsystem parameters.

Shipped sample path: /Redguard/SYSTEM.INI (e.g. .../GOG Galaxy/Redguard/Redguard/SYSTEM.INI).

Settings use key=value records grouped by section. Semicolons introduce comments. Switches use 0/1, no/yes, off/on, or false/true. Most numeric fields contain decimal integers, including negative position offsets and thresholds. Camera glide factors and cam_prox_up contain decimal floating-point values. The [3dfx] scale and font-color settings contain comma-separated integer pairs.

The integer configuration reader maps true, yes, and on to 1, and false, no, and off to 0. Missing or empty values produce 0. Other values use signed decimal conversion; numeric values are not normalized to booleans. In particular, [debug] disable_family clears actor family links only when its value is exactly 1. See actor initialization.

File Structure

Standard Windows-style INI file with 10 sections:

  1. [screen] — display resolution and palette settings
  2. [system] — core engine paths, audio, physics, and HUD layout
  3. [debug] — developer diagnostics and logging flags
  4. [game] — gameplay physics thresholds and interaction radii
  5. [cyrus] — player character movement and control parameters
  6. [3dmanager] — 3D object cache and memory budget
  7. [xngine] — renderer texture memory, clipping planes, and sky behavior
  8. [camera] — camera rig offsets, distances, and glide factors for each mode
  9. [dialog] — dialog menu layout and speech settings
  10. [3dfx] — Glide/GOG-specific resolution and font scaling overrides

[screen]

Display mode and palette initialization settings.

KeyDefault ValueDescription
candle_mode2Candle HUD visibility: 0 = only while the show timer runs, 1 = always, 2 = always with the health number. F8 cycles and rewrites it. See candle.
colour_bits8Color depth in bits per pixel (8 = paletted).
resolution1Software renderer resolution index.
Palette_red0Red component of the initial palette background color.
Palette_green0Green component of the initial palette background color.
Palette_blue0Blue component of the initial palette background color.
smk_interlace0Smacker video interlace mode. 0 = disabled.

[system]

Core engine paths, audio configuration, physics constants, HUD element positions, and subsystem enable flags.

world_ini and item_ini point to WORLD.INI and ITEM.INI respectively, which the engine loads for world and item definitions.

KeyDefault ValueDescription
game_bitmapsystem\powerup.gxaGXA for the two HUD power-up slots (frame 0 gauntlet, frame 1 shield).
pointerssystem\pointers.bmpPath to the cursor GXA bitmap archive, stored with a BMP extension.
system_fontfonts\redguard.fntPath to the primary system font.
icon_fontfonts\arialvs.fntPath to the icon/small font.
gui_fontfonts\arialbg.fntPath to the main GUI font.
gui_low_fontfonts\arialvb.fntPath to the low-resolution GUI font.
animation_driveD:\Drive letter used for animation streaming.
back_texture0Background texture index. 0 = none.
volume255Master sound volume (0..255).
sound1Sound system enabled. 1 = on.
fast_sound1Fast sound mixing mode. 1 = on.
fidelity0Sound fidelity level.
redbookonCD audio (Red Book) playback enabled.
redbook_volume200CD audio volume. Only 0–127 is accepted, so the shipped 200 is ignored; see music.
sound_distance64Sound radius: sound_distance × 36 world units (shipped 2304); see positional sound.
post_collide_height50Post-collision step height for ground snapping.
hpost_collide_height50Post-collision step height for hanging/climbing.
pre_validatenoPre-validate collision geometry on load.
normal_frame_rate12Target frame rate for normal gameplay.
use_smooth_fpsyesEnable frame-rate smoothing.
use_smooth_divisoryesEnable frame-rate smoothing divisor.
min_frame_rate6Minimum allowed frame rate.
max_frame_rate300Maximum allowed frame rate.
jump_time6Duration of a jump in frames.
jump_height80Jump height in engine units.
sphere_object_scale256Scale factor for sphere collision objects.
standing_height-2Vertical offset for the player standing position.
disable_textyesDisable on-screen text rendering.
disable_debug_textyesDisable debug text overlay.
normal_ink1Normal ink/outline rendering mode.
slide_range-60000Slide detection range threshold.
statics_loadyesLoad static objects.
flats_loadyesLoad flat/billboard objects.
objects_loadyesLoad dynamic objects.
lights_loadyesLoad light objects.
ropes_loadyesLoad rope objects.
task_systemyesEnable the task/AI system.
animation_systemyesEnable the animation system.
floating_point_physicsyesUse floating-point physics calculations.
rtx_filenameENGLISH.RTXPath to the dialogue/voice container file.
world_iniWORLD.INIPath to the world definitions INI.
item_iniITEM.INIPath to the item definitions INI.
start_fadeonFade in on game start.
compass_xco546Compass top-left X.
compass_yco396Compass top-left Y.
candle_xco12Candle top-left X.
candle_yco8Candle top-left Y.
logbook_xco540Logbook icon top-left X.
logbook_yco20Logbook icon top-left Y.
pickup_xco12Active item icon top-left X, and start X of the prompt text.
pickup_yco386Active item icon top-left Y.
pickup_text_yco436Top Y of the HUD prompt text line.
game_xco1576Power-up slot 1 X.
game_yco16Power-up slot 1 Y.
game_xco2576Power-up slot 2 X.
game_yco296Power-up slot 2 Y.
lock_windowsnoLock window position/size.
disable_drive_checkyesSkip CD drive presence check on startup.
disable_cpu_checkyesSkip CPU speed check on startup.
disable_svga_checkyesSkip SVGA capability check on startup.
report_machinenoLog machine hardware info on startup.
max_active_objects32Reusable actor-pool capacity, clamped to at least 10.
max_effects32Maximum number of simultaneous particle effects.
max_particles512Maximum number of simultaneous particles.
max_remap_objects64Maximum number of palette-remapped objects.
disable_effectsnoDisable particle effects.

[debug]

Developer diagnostics, logging, and display flags. Most are disabled in the shipped build.

network_marker_file=g:\PROJECTS\REDGUARD\DEMO\NETWORK.MRK is a build-time artifact: a hardcoded developer machine path left in the shipped file.

KeyDefault ValueDescription
final_version1Selects release behavior. See Developer mode.
enable_logs0Enable runtime log file writing.
map_lognoLog map loading events.
console_erroryesPrint errors to the console.
software_interruptyesEnable software interrupt handling.
software_breakyesEnable software breakpoint handling.
attempt_recovernoAttempt to recover from errors rather than aborting.
object_lognoLog object system events.
video_lognoLog video/renderer events.
node_markernoDisplay navigation node markers.
task_debugnoEnable task/AI debug output.
memory_manager0Memory manager debug level.
monitor_object(empty)Name of an object to monitor for debug output.
display_mastersnoDisplay master object markers.
display_slavesnoDisplay slave object markers.
display_edgesnoDisplay edge/collision markers.
ignore_errorsyesContinue running on non-fatal errors.
disable_familynoDisable object family grouping.
disable_master_slavesnoDisable master/slave object relationships.
disable_slavesnoDisable slave objects.
family_lognoLog object family events.
script_lognoLog script execution events.
show_managernoDisplay the object manager overlay.
display_node_mapnoDisplay the navigation node map.
display_nodesnoDisplay individual navigation nodes.
display_markersnoDisplay world markers.
network_marker_fileg:\PROJECTS\REDGUARD\DEMO\NETWORK.MRKPath to the network marker file. Build-time developer path; not used in the shipped game.
object_system_lognoLog object system events.
convert_static_anglesnoConvert static object angles on load.
def_checksumyesVerify SOUP386.DEF checksum on load.
render_lognoLog renderer events.
idebug0Interactive debug level.
idebug_refreshnoRefresh interactive debug display each frame.
memory_monitornoEnable memory usage monitoring.

[game]

Gameplay physics thresholds, fall damage, and interaction radii.

KeyDefault ValueDescription
fall_bounce_height100Fall height (engine units) below which the player bounces without damage.
fall_death_height568Fall height at which the player dies.
fall_hurt_height300Fall height at which the player takes damage.
fall_hurt_zap10Damage amount applied at fall_hurt_height.
slide_hurt_height1024Slide distance at which the player takes damage.
slide_hurt_zap10Damage amount applied at slide_hurt_height.
rope_jump_add18Velocity added when jumping from a rope.
rope_attach_angle512Angle threshold for rope attachment (engine angle units).
slide_speed36Player slide speed in engine units per frame.
rtx_pickup_override_time24Ticks for which holding the previous/next item key suppresses an activation prompt and shows the item icon.
swim_depth40Model Y offset in map units for animation groups 141 through 143 on the non-inhibited surface-2/3/4 model-position path. Zero is replaced with 40.
player_dead_time3Time (seconds) before respawn after death.
player_fall_dead_time12Falling-death timeout input. Clamped to at least 3, then multiplied by 12 nominal ticks; the world loop exits only after the elapsed value exceeds that limit.
old_combatoffUse legacy combat system.
lineup_distance128Distance at which enemies line up for combat.
dialog_radius512Radius within which NPCs can initiate dialog.
combat_sphere_scale200Scale factor for combat hit sphere.

[cyrus]

Player character (Cyrus) movement, control, and camera-follow parameters.

KeyDefault ValueDescription
sheath_sword_delay6Frames before the sword auto-sheathes after combat.
auto_defend1Enable automatic defense. 1 = on.
walk_mode0Walk mode index.
turn_speed12Base turning speed.
turn_max_speed48Maximum turning speed.
mouse_turn0Mouse-driven turning. 0 = disabled.
joy_tolerance60Joystick dead-zone tolerance.
camera_distance200Default camera follow distance.
tap_time12Maximum frames between taps for a double-tap input.
poly_push_units16Distance (engine units) the player is pushed out of geometry on collision.
auto_graboffAutomatically grab ledges and ropes.
smooth_post_min2Minimum smoothing steps for post-collision position.
smooth_post_max10Maximum smoothing steps for post-collision position.
smooth_post_divisor2Divisor for post-collision position smoothing.

[3dmanager]

3D object cache, memory budgets, and manager behavior.

KeyDefault ValueDescription
buffer_kbytes800Size of the 3D streaming buffer in kilobytes.
heap_kbytes22000Size of the 3D object heap in kilobytes.
max_objects255Maximum number of 3D objects loaded simultaneously.
compress1Enable compressed object loading. 1 = on.
save_compressed0Save objects in compressed form. 0 = off.
cache_objectsyesCache loaded 3D objects in memory.
cache_lifetime64Number of frames a cached object is retained after last use.
dummy_manager0Use a dummy (no-op) 3D manager. 0 = off.
in_view_enabledyesEnable in-view culling for 3D objects.
shutdown_modeyesPerform full shutdown cleanup on exit.

[xngine]

Renderer memory budgets, clipping planes, perspective settings, and sky behavior.

KeyDefault ValueDescription
texture_kbytes12000Texture memory budget in kilobytes.
gfx_kbytes256General graphics buffer size in kilobytes.
front_plane7Near clipping plane distance.
back_plane3800Far clipping plane distance.
perspective_low_x190Perspective correction X extent at low detail.
perspective_low_y190Perspective correction Y extent at low detail.
perspective_med_x400Perspective correction X extent at medium detail.
perspective_med_y400Perspective correction Y extent at medium detail.
perspective_high_x800Perspective correction X extent at high detail.
perspective_high_y800Perspective correction Y extent at high detail.
perspective_ultra_x800Perspective correction X extent at ultra detail.
perspective_ultra_y800Perspective correction Y extent at ultra detail.
detail8Renderer detail level.
ambient_light32Global ambient light level (0..255).
screen_scale256Screen-space scale factor.
haze_depth768Distance at which atmospheric haze begins.
sky_disable0Disable sky rendering. 0 = sky enabled.
sky_move1Enable sky scrolling. 1 = on.
sky_xrotate3Sky X-axis rotation speed.
sky_yrotate40Sky Y-axis rotation speed.
game_detail2In-game detail preset index.
exclusion0Exclusion zone rendering mode. 0 = off.

[camera]

Camera rig configuration for all gameplay modes: normal follow, combat, hanging, rope, and debug. Coordinates and angles use engine units. Floating-point glide factors control camera lag.

KeyDefault ValueDescription
static_rope_threshold5Velocity threshold below which a rope is considered static.
obstacle_size20Minimum model-radius threshold for camera obstacle candidates; the model radius must be strictly larger.
camera_size10Camera collision sphere radius.
camera_scape_size5Camera collision sphere radius in scape/exterior areas.
target_offset_x-6000Target point X offset from the player.
target_offset_y-14000Target point Y offset from the player.
target_offset_z0Target point Z offset from the player.
offset_pos_x0Camera position X offset.
offset_pos_y-14000Camera position Y offset.
offset_pos_z0Camera position Z offset.
offset_angle_x0Camera angle X offset.
offset_angle_y0Camera angle Y offset.
offset_angle_z0Camera angle Z offset.
camera_distance250Default follow camera distance.
camera_min_distance120Minimum allowed camera distance.
camera_right_pos5000Camera right-side position limit.
camera_left_pos5000Camera left-side position limit.
camera_combat_angle_offset_x134Combat camera X angle offset.
camera_combat_angle_offset_y245Combat camera Y angle offset.
camera_combat_angle_offset_z0Combat camera Z angle offset.
camera_combat_distance260Camera distance in combat mode.
camera_hang_angle_offset_x256Hanging camera X angle offset.
camera_hang_angle_offset_y0Hanging camera Y angle offset.
camera_hang_angle_offset_z0Hanging camera Z angle offset.
camera_hang_distance250Camera distance in hanging mode.
camera_rope_max_vel18000Maximum camera velocity when following a rope.
camera_rope_angle_offset_x96Rope camera X angle offset.
camera_rope_angle_offset_y128Rope camera Y angle offset.
camera_rope_angle_offset_z0Rope camera Z angle offset.
camera_rope_distance300Camera distance in rope mode.
camera_rope_above_angle_offset_x96Rope-above camera X angle offset.
camera_rope_above_angle_offset_y128Rope-above camera Y angle offset.
camera_rope_above_angle_offset_z0Rope-above camera Z angle offset.
camera_rope_above_distance300Camera distance in rope-above mode.
camera_rope_above_aim_x-512Rope-above camera aim X offset.
camera_rope_above_aim_y0Rope-above camera aim Y offset.
camera_rope_above_aim_z0Rope-above camera aim Z offset.
camera_rope_below_angle_offset_x96Rope-below camera X angle offset.
camera_rope_below_angle_offset_y128Rope-below camera Y angle offset.
camera_rope_below_angle_offset_z0Rope-below camera Z angle offset.
camera_rope_below_distance300Camera distance in rope-below mode.
camera_rope_below_aim_x512Rope-below camera aim X offset.
camera_rope_below_aim_y0Rope-below camera aim Y offset.
camera_rope_below_aim_z0Rope-below camera aim Z offset.
camera_debug_angle_offset_x128Debug camera X angle offset.
camera_debug_angle_offset_y256Debug camera Y angle offset.
camera_debug_angle_offset_z0Debug camera Z angle offset.
camera_debug_distance300Camera distance in debug mode.
max_x_angle1692Maximum camera X angle (engine angle units).
min_x_angle400Minimum camera X angle (engine angle units).
max_vel8000Maximum camera velocity.
max_y_vel5000Maximum camera Y-axis velocity.
max_acc5000Maximum camera acceleration.
player_control_x_inc70Player-controlled camera X increment per frame.
player_control_y_inc-70Player-controlled camera Y increment per frame.
glide_x0.9Camera position X glide (lag) factor.
glide_y0.2Camera position Y glide (lag) factor.
glide_z0.9Camera position Z glide (lag) factor.
glide_angle_x0.7Camera angle X glide (lag) factor.
glide_angle_y0.1Camera angle Y glide (lag) factor.
glide_angle_z0.7Camera angle Z glide (lag) factor.
cam_prox_up70.0Camera proximity upward adjustment distance.

[dialog]

Dialog menu layout, line limits, and speech settings.

KeyDefault ValueDescription
menu_start_x35Dialog menu X start position in screen pixels.
menu_start_y25Dialog menu Y start position in screen pixels.
dialog_max_menu_items20Maximum number of items in a dialog menu.
dialog_max_dialog_lines20Number of subtitle slots (minimum 16), not a line limit.
dialog_max_text_width500Subtitle wrap width in 640-wide screen pixels (minimum 150).
dialog_print_text1Display dialog as on-screen text. 1 = on.
dialog_use_speech1Play voiced speech audio during dialog. 1 = on.
dialog_max_distance1600Maximum distance at which dialog audio is played.
menu_traverse_delay4Frames of delay between menu cursor movements.

[3dfx]

Glide renderer overrides, active in the GOG release which runs via the Glide/3dfx code path. These settings take precedence over the software-renderer equivalents where applicable.

KeyDefault ValueDescription
resolution12Glide renderer resolution index.
text_scale1, 1Text scaling factors (X, Y) for the Glide renderer.
anim_text_scale1, 1Animated text scaling factors (X, Y) for the Glide renderer.
font_sel255,255Font selection color values (foreground, background) for selected menu items.
font_norm125,255Font color values (foreground, background) for normal menu items.
font_used125,128Font color values (foreground, background) for used/visited menu items.

Developer mode

[debug] final_version=0 selects developer behavior. The fv command-line option forces release behavior and takes precedence over nfv, which forces developer behavior. Either option overrides the INI value.

In developer mode, startup does not present the book menu and enters the starting world directly. In a world, Escape waits for its release and then exits the game instead of opening the book. Developer mode also enables the camera position/angle diagnostic keys and other developer display paths.

External References