Mod:SYSTEM.INI Info
Contents
- 1 General Notes
- 2 [screen] - General display options.
- 3 [system] - Important and critical game settings.
- 4 [debug] - Options relating to debugging the game.
- 5 [game] - Game play specific options.
- 6 [cyrus] - Settings related to Cyrus himself.
- 7 [3dmanager] - Stuff to do with the 3dmanager.
- 8 [xngine] - Items related solely to the xngine, or software, version.
- 9 [camera] - Settings for the camera, or viewpoint.
- 10 [dialog] - Options related to NPC dialog.
- 11 [3dfx] - Stuff for only the 3DFX version of the game.
The SYSTEM.INI file can be found in the main Redguard directory and contains lots of options and settings for the game. This page is an attempt to document the various options and their effect in the game. At this time, only a few of the settings have been tested. If you have any additional information or corrections on any options, please modify this page accordingly.
For most of these settings to take effect, you need to load a new world, for example, by entering or exiting an interior.
General Notes[edit]
There a few items you should note about various game units and such.
- Time Units
- Most of the time specific units are in 'game ticks'. I would assume that this is the default timer rate of 18.2 Hz, or about 1/20 (0.05) of a second, but it could be just about anything.
- Distance Units
- Most distance values are using the game's own coordinate system. It appears as though one game unit is approximately equal to 1 cm (this is a guess made by myself, it could be anywhere from 1 to 10 mm). It almost appears as though there are several unit systems in use by examining the values in the INI file.
- Graphical Units
- All graphical units are in pixels, based on a screen resolution of 640x480. The upper-left corner of the screen is at (0, 0).
- Angles
- All angles again use a custom unit system, not the usual degrees or radians. Looking at the possible values in the INI file, I would guess that angles range from 0 to 2000 representing a full 360 degrees.
The file is divided into sections described by the paragraphs below.
[screen] - General display options.[edit]
The screen section is a small part and contains a few options for adjusting general display properties.
Name | Values | Default | Description |
---|---|---|---|
candle_mode | 0, 1, 2 | 2 | This value controls how the candle representing Cyrus' health is displayed on the screen. Presumably, 0 is no candle, 1 is just a candle, and 2 is a candle and text. |
colour_bits | 8 | 8 | Most likely sets the color depth of the screen mode. Changing this value has no apparent effect in the game. |
resolution | 0 | 0 | Most likely affects what resolution the screen mode is set to. Changing this value has no apparent effect in the game. |
Palette_red Palette_green Palette_blue |
0-255 | 0 | Sets some sort of color value. Changing these values has no apparent effect in the game. |
smk_interlace | 0, 1 | 0 | Most likely affects if the movies are displayed interlaced or not. Interlaced movies will be faster but only have half the resolution (only every other line is displayed). Those with fast systems will want to leave this at 0, while those with slower systems might want to try 1 for better movie performance. |
[system] - Important and critical game settings.[edit]
The system section contains a lot of important and critical game options and settings.
Name | Values | Default | Description |
---|---|---|---|
game_bitmap | system\powerup.gxa | Specifies a bitmap for some purpose, perhaps the startup screen or main menu. No need to change this. | |
pointers | system\pointers.bmp | Most likely specifies an image containing all the mouse cursors for the game. No need to change this. | |
system_font | fonts\redguard.fnt | Points to the file containing some of the required fonts for the game. No need to change this. | |
icon_font | fonts\arialvs.fnt | Another font file. Not sure what they mean by 'icon'. | |
gui_font gui_low_font |
fonts\arialbg.fnt fonts\arialvb.fnt |
Perhaps the font for the debug screen? | |
animation_drive | This value points to your CDROM from which you installed the game from. You can change this to point to your hard drive if you want to run without a CD and copy all the movies over as well. Note that if you run the Redguard options program, this will be reset to your CD drive. | ||
back_texture | 0 | 0 | Unknown |
volume | 0-255 | 255 | Most likely sets the volume level for all sounds from 0 (none) to 255 (loudest). |
sound | 0, 1? | 1 | Possibly turns the sound on (1) or off (0). |
fast_sound | 0, 1 | 0 | If you get a lot of sound stutters, turning this on (1) might help. |
fidelity | 0, 1 | 0 | Something to do with sound? |
redbook | on, off? | on | Turns the music on or off. |
redbook_volume | 0-255 | 255 | Sets the volume of the music from 0 (none) to 255 (loudest). |
sound_distance | 64 | Possibly sets how far away you must be before starting to hear sounds. | |
post_collide_height hpost_collide_height |
50 | Something to do with collision detection. Not sure if post literally means a post. | |
pre_validate | no, yes | no | Unknown |
normal_frame_rate | 12 | Probably sets the target frame rate for the game. The rendering engine will attempt to display that number of frames each second, possibly approximating or 'dropping' things if it can't. | |
use_smooth_fps use_smooth_divisor |
no, yes | yes | Possibly has something to do with trying to achieve a constant frame rate (no sudden drops causing jerks). |
min_frame_rate | 6 | The very minimum frame rate of the rendering system. Presumably if the actual FPS drops below this the game becomes unplayable and bad things happen. Not sure what happens if you change this value. | |
max_frame_rate | 300 | >The maximum number of frames that will be displayed each second. I suppose those with super fast systems could change this to 40-60 or so if they wanted to reduce system load. | |
jump_time | 6 | Something to do with the timing of a jump, either before you take off, or after you land. I haven't noticed much difference when changing this value. | |
jump_height | 80 | Presumably affects how high you can jump, although I didn't notice any effect in the game by changing this value. | |
sphere_object_scale | 256 | ||
standing_height | -2 | ||
disable_text | yes, no | no | Controls the display of certain texts, perhaps subtitles or item descriptions. |
disable_debug_text | yes, no | yes | Controls the display of any debugging message of text. |
normal_ink | 0, 1 | 1 | |
slide_range | -60000 | ||
statics_load | yes, no | yes | Specifies that static objects should be loaded (at startup or map change?). Probably should leave to yes. |
flats_load | yes, no | yes | Specifies that textures and images (I think) should be loaded (at startup or map change?). Probably should leave to yes. |
objects_load | yes, no | yes | Specifies that objects should be loaded (at startup or map change?). Probably should leave to yes. |
lights_load | yes, no | yes | Specifies that lights should be loaded (at startup or map change?). Probably should leave to yes. |
ropes_load | yes, no | yes | Specifies that ropes should be loaded (at startup or map change?). Probably should leave to yes. |
task_system | yes, no | yes | Specifies that the task system should be initialized (at startup or map change?). Probably should leave to yes. |
animation_system | yes, no | yes | Specifies that the animation system should be initialized (at startup or map change?). Probably should leave to yes. |
floating_point_physics | yes, no | yes | Specifies that floating point calculations should be used for any physics computations. Probably should leave to yes. |
rtx_filename | ENGLISH.RTX | Gives the filename containing all the game texts. Since there is only one RTX file, there is no need to change this. | |
world_ini | WORLD.INI | Gives the filename containing data for all the map data. | |
item_ini | ITEM.INI | Gives the filename containing all the item data. | |
start_fade | on, off | on | Most likely sets whether the starting screen is faded in or out. |
compass_xco compass_yco |
546 396 |
Specifies the location on the screen, in pixels, for the compass (tested and confirmed). | |
candle_xco candle_yco |
12 8 |
Specifies the location on the screen, in pixels, for the candle. | |
logbook_xco logbook_yco |
540 20 |
Specifies the location on the screen, in pixels, for the logbook icon when it is displayed. | |
pickup_xco pickup_yco pickup_text_yco |
12 386 436 |
Specifies the location on the screen, in pixels, for the icon and text when you pickup an item. | |
game_xco1 game_yco1 |
576 6 |
Location to display something on the screen in pixels, but I'm not sure what. | |
game_xco2 game_yco2 |
576 96 |
Location to display something on the screen in pixels, but I'm not sure what. | |
lock_windows | no, yes | no | |
disable_drive_check disable_cpu_check disable_svga_check |
yes, no | yes | Presumably disables or enables check on startup to ensure the computer has SVGA, or is fast enough, or has the correct CD in the drive (I think). |
report_machine | yes, no | no | |
max_active_objects | 32 | Number of active objects that can be around at a time. Not quite sure what an active object is. | |
max_effects | 32 | Number of effects that can be displayed at a time. Effects might be something like Dram's fireball. | |
max_particles | 512 | Number of particles that can be displayed at a time. | |
max_remap_objects | 64 | ||
disable_effects | no, yes | no | Enables, or disables, the rendering of effects. Not entirely sure what is classified an effect. |
[debug] - Options relating to debugging the game.[edit]
The debug section contains anything related to debugging the game. Probably not that much use to us since we aren't the developers.
Name | Values | Default | Description |
---|---|---|---|
final_version | 0, 1 | 1 | If true (1) this indicates the final release of the game and any special debug stuff is suppressed. Turning this off (0) does all kinds of funky things. First, you get a message about something before you start. Then, the game automatically starts a new game, no menu or continue or anything. Then, pressing ESC exits the game immediately instead of displaying the main menu. There's no doubt lots of other things that only happen in debug mode as well. In addition, most likely some of the options in the SYSTEM.INI file might only work in, or out, of debug mode. |
enable_logs | 0, 1 | 0 | Enables the creation of log files to monitor various game systems. A number of .LOG files are created by the game usually, whether this is on or off. |
map_log object_log video_log family_log script_log render_log object_system_log |
no, yes | no | Enables creation of various log files monitoring various systems. |
disable_effects | no, yes | no | |
console_error | no, yes | yes | If an error occurs and this setting is yes, it will must likely be displayed in the debug console. |
software_interrupt | no, yes | yes | This might refer to actual software interrupts or indicate that the game should be interrupted/paused when an error or something occurs. |
software_break | no, yes | yes | Something to do with pausing the software on an error perhaps. |
attempt_recover | no, yes | no | If yes, the game will attempt to correct an error when it occurs (or merely ignore it). |
name missing | no, yes | no | More log file options. |
node_marker | no, yes | no | Nodes probably refer to points in the 3D models. |
task_debug | no, yes | no | Perhaps enable/disable debug settings in the task system. |
memory_manager | 0, 1 | 0 | |
monitor_object | Probably specifies a particular item to log or keep an 'eye' on. | ||
display_masters display_slaves display_edges |
no, yes | no | Probably something to do with the 3D rendering system. |
ignore_errors | no, yes | yes | If enabled any errors are ignored and the game continues. |
disable_family disable_master_slaves disable_slaves |
no, yes | no | |
show_manager | no, yes | no | |
display_node_map display_nods display_markers |
no, yes | no | |
network_marker_file | g:\PROJECTS\REDGUARD\DEMO\NETWORK.MRK | Kinda useless to use since we don't have that file. | |
convert_static_angles | no, yes | no | |
def_checksum | no, yes | no | |
idebug | 0, 1 | 0 | |
idebug_refresh | no, yes | no | |
memory_monitor | no, yes | no |
[game] - Game play specific options.[edit]
The game section contains settings related to specifically to game play.
Name | Values | Default | Description |
---|---|---|---|
fall_bounce_height | 100 | Presumably the minimum height from which Cyrus will bounce when he lands. | |
fall_death_height | 568 | Presumably the minimum height from which Cyrus will die when he lands. | |
fall_hurt_height | 300 | Presumably the minimum height from which Cyrus will take damage from the landing. | |
fall_hurt_zap | 10 | The amount of damage taken from a long, non-lethal fall. | |
slide_hurt_height | 1024 | Presumably the minimum height for a slide from which Cyrus will take damage from the landing. | |
slide_hurt_zap | 10 | The amount of damage taken from a long slide. | |
rode_attach_angle | 512 | ||
slide_speed | 36 | Controls how fast Cyrus will slide down a steep incline. | |
rtx_pickup_override_time | 24 | Something to do with text and picking up an item. | |
swim_depth | 40 | Perhaps how deep the water must be for Cyrus to start swimming. | |
player_dead_time | 2 | How long after the player dies before a message box appears. The time is most likely in game 'ticks' which might be 1/20 second each. | |
player_fall_dead_time | 6 | How long after the player dies from a fall before a message box appears. The time is most likely in game 'ticks' which might be 1/20 second each. | |
old_combat | on, off | off | Most likely switches between two combat systems. Not sure what the old combat is like. |
lineup_distance | 128 | Probably the distance Cyrus tries to be from an NPC when initiating dialog. | |
dialog_radius | 512 | How close NPCs have to be before we can talk with them. | |
combat_sphere | 200 | Probably the range in which we can hit things. |
[edit]
The Cyrus section contains settings related to specifically to Cyrus and his actions.
Name | Values | Default | Description |
---|---|---|---|
sheath_sword_delay | 3 | Probably related to the pause before Cyrus sheaths his sword once you press the button. | |
auto_defend | 0, 1 | 1 | This option enables or disables the auto-defend option in the game. |
walk_mode | 0, 1 | 0 | Specifies either walk or running mode. In walk mode you move slower but are prevented from walking over a ledge. |
turn_speed | 8 | Something to do with Cyrus' turning speed. Didn't notice much of an effect in the game when I changed the value. | |
turn_max_speed | 48 | Cyrus' maximum turning speed. Not sure what the difference between this and the turn_speed option is. | |
mouse_turn | 0, 1 | 0 | This option enables or disables the use of the mouse to turn Cyrus (I think). When I changed this value the only effect in the game was that the ALT key no longer activated the camera move mode. The mouse didn't appear to do anything still. Perhaps it depends on the system or mouse. |
joy_tolerance | 60 | Something to do with moving Cyrus with a joystick. | |
camera_distance | 200 | The default distance of the camera behind Cyrus. | |
tap_time | 12 | ||
poly_push_units | 16 | Perhaps something to do with pushing polygons? | |
auto_grab | on, off | off | Might cause Cyrus to automatically grab onto ledges or something. |
smooth_post_min | 2 | ||
smooth_post_max | 10 | ||
smooth_post_divisor | 2 |
[3dmanager] - Stuff to do with the 3dmanager.[edit]
The game section contains settings related to specifically to the 3D manager, whatever that may be. Probably most values here shouldn't be changed.
Name | Values | Default | Description |
---|---|---|---|
buffer_kbytes | 800 | Presumably the amount of memory allocated to the 3D manager in kilobytes. | |
heap_kbytes | 22000 | The size of the game's heap in kilobytes. For those none-programmers, the heap is the memory used for dynamic allocation of everything (maps, textures, items, etc...). If you have a lot of memory you might try increasing this value for better performance (maybe). | |
max_objects | 255 | Perhaps the maximum number of objects that can be loaded at a time. Objects might be stuff that Cyrus can pick up like gold, potions, torches, etc... | |
compress | 0, 1 | 1 | Probably enables or disables the storing of certain data in a compressed format to reduce the amount of memory consumption. I suppose you could disable this if you had a lot of RAM in order to increase performance. |
save_compressed | 0, 1 | 0 | Specifies whether data should be save in a compressed format or not. Uncompressed data would be saved/loaded much quicker but would take more hard disk space. |
cache_objects | yes, no | yes | Specifies the caching on objects. Caching would take up memory but improve the game's performance. |
cache_lifetime | 32 | How long an object stays in the cache before it will be removed. Not sure the units on the number, whether in minutes, seconds or some game specific unit. | |
dummy_manager | 0, 1 | 0 | |
in_view_enabled | no, yes | yes | |
shutdown_mode | no, yes | yes |
[edit]
The game section contains settings related to only to the software, or XnGine, version of the game. They should have no effect in the 3DFX version.
Name | Values | Default | Description |
---|---|---|---|
texture_kbytes | 12000 | The amount of memory to allocate for the texture images in kilobytes. Those with a lot of RAM might try increasing this value for better game performance. | |
gfx_kbytes | 256 | Perhaps the amount of memory to allocate for any GFX image files. I believe GFX files are only used for static images like the startup screen and menus, so increasing this probably wouldn't affect the game's performance. | |
front_plane | 7 | Probably specifies the distance from the camera where objects are started to be clipped. IE, no object closer that 7 units will be seen. | |
back_plane | 7800? | Specifies the maximum distance that an object will be seen before it is clipped. If you increase this value you will see objects farther away but the game's performance will drop. If you have a very fast system running the software version you can try increasing this. | |
perspective_low_x perspective_low_y |
190 | All the perspective options are probably related to how objects appear at different distances or at difference resolutions. | |
perspective_med_x perspective_med_y |
400 | ||
perspective_high_x perspective_high_y |
800 | ||
perspective_ultra_x perspective_ultra_y |
800 | ||
detail | 8 | Specifies some sort of detail level. Presumably if you increase this value the game will be rendered with more detail (thus slowly the game down) and vice-versa. | |
ambient_light | 32 | Sets the value for the ambient light. Ambient light is that which lights all surfaces in the game equally, independent of their direction. If you increase this value things might appear brighter (perhaps a simple gamma correction factor). | |
screen_scale | 256 | ||
haze_depth | 1768 | The depth of the haze which appears at the edge of your visibility. Decreasing this value will make objects far away fade out more quickly. | |
sky_disable | 0, 1 | 0 | Enables or disables the rendering of the sky. If you have a slower system you might try disabling it for better performance. |
sky_move | 0, 1 | 1 | Specifies whether or not the sky appears to move. Disabling this might improve game performance slightly. |
sky_xrotate | 3 | ||
sky_yrotate | 40 | Something to do with the skies angle or how much it rotates. | |
game_detail | 2 | ||
exclusion | 0 |
[camera] - Settings for the camera, or viewpoint.[edit]
The camera section contains many settings controlling the camera's properties and movements.
Name | Values | Default | Description |
---|---|---|---|
static_rope_threshold | 5 | ||
obstacle_size | 20 | Might specify the default size of an object used for navigating the camera around it. | |
camera_size | 10 | The size of the camera used for detecting collisions with other objects. | |
camera_scape_size | 5 | ||
target_offset_x target_offset_y target_offset_z |
-6000 -14000 0 |
Might specify what the camera target relative to the camera origin. | |
offset_pos_x offset_pos_y offset_pos_z |
0 -14000 0 |
||
offset_angle_x offset_angle_y offset_angle_z |
0 | ||
camera_distance | 250 | The default distance of the camera from Cyrus? | |
camera_min_distance | 120 | ||
camera_right_pos camera_left_pos |
5000 | ||
camera_combat_angle_offset_x camera_combat_angle_offset_y camera_combat_angle_offset_z |
135 245 0 |
Related to the angle of the camera during combat. | |
camera_combat_distance | 260 | The distance of the camera from Cyrus during combat. | |
camera_hang_angle_offset_x camera_hang_angle_offset_y camera_hang_angle_offset_z |
256 0 0 |
Angle of the camera when Cyrus is hanging from something. | |
camera_hang_distance | 250 | Distance of the camera from Cyrus when he is hanging from something. | |
camera_rope_max_vel | 18000 | Maximum speed of the camera when Cyrus is on a rope? | |
camera_rope_angle_offset_x camera_rope_angle_offset_y camera_rope_angle_offset_z |
96 128 0 |
Angle of the camera when Cyrus is on a rope. | |
camera_rope_distance | 300 | Distance of the camera from Cyrus when he is on a rope. | |
camera_rope_above_angle_offset_x camera_rope_above_angle_offset_y camera_rope_above_angle_offset_z |
96 128 0 |
||
camera_rope_above_distance | 300 | ||
camera_rope_above_aim_x camera_rope_above_aim_y camera_rope_above_aim_z |
-512 0 0 |
||
camera_rope_below_offset_x camera_rope_below_offset_y camera_rope_below_offset_z |
96 128 0 |
||
camera_rope_below_distance | 300 | ||
camera_rope_below_aim_x camera_rope_below_aim_y camera_rope_below_aim_z |
512 0 0 |
||
camera_debug_angle_offset_x camera_debug_angle_offset_y camera_debug_angle_offset_z |
128 256 0 |
||
camera_debug_distance | 300 | Camera distance from Cyrus when the game is in debug mode. | |
min_x_angle max_x_angle |
400 1692 |
The minimum and maximum camera x-angles when it is being moved around. | |
max_vel | 8000 | The maximum velocity of the camera. | |
max_y_vel | 5000 | The maximum camera velocity in the y-direction. | |
max_acc | 5000 | The maximum acceleration of the camera. | |
player_control_x_inc player_control_y_inc |
70 -70 |
The angle increment in the x and y directionx when the player is moving the camera. | |
gilde_x gilde_y gilde_z |
0.9 0.2 0.9 |
Something to do with how easily the camera glides or moves around. | |
gilde_angle_x gilde_angle_y gilde_angle_z |
1.0 1.0 1.0 |
||
cam_prox_up | 70.0 |
[edit]
The dialog section contains settings related to talking with NPCs.
Name | Values | Default | Description |
---|---|---|---|
menu_start_x menu_start_y |
35 25 |
The pixel location when the dialog menu will appear on the screen. | |
dialog_max_menu_items | 20 | The maximum number of dialog menu items that will be displayed on the screen at a time. | |
dialog_max_dialog_lines | 20 | Perhaps the maximum number of dialog text lines that will be displayed on the screen at a time. | |
dialog_max_text_width | 500 | The maximum length of a text line in pixels that will be displayed. | |
dialog_print_text | 0, 1 | 1 | Enables or disables the dialog subtitles for NPCs. |
dialog_use_speech | 0, 1 | 1 | Enables or disables the NPC dialog speech. |
dialog_max_distance | 1600 | The maximum distance an NPC can be from Cyrus for initiating a conversation. | |
menu_traverse_delay | 4 | The amount of time to delay when the user moves from one dialog menu item to another. If this is set too low you might have trouble properly selecting a menu item. |
[3dfx] - Stuff for only the 3DFX version of the game.[edit]
The 3dfx section contains settings related only to the 3DFX version of the game. They should have no effect in the software version.
Name | Values | Default | Description |
---|---|---|---|
resolution | 7 | Sets the video mode resolution for the game? | |
text_scale | 2, 1 | ||
anim_text_scale | 1, 1 | ||
font_sel | 255, 255 | Might specify which palette index to render a selected text item in. | |
font_norm | 125, 255 | The border and fill colors of a normal text item. | |
font_used | 125, 128 | The border and fill colors of a used dialog menu item. |