Jump to navigation Jump to search

ohrrpgce_config.ini is a text file which contains remembered configuration settings for both Custom and Game, mainly global ones. It can also contain game-specific overrides for these global settings for Custom. On the other hand, Game stores its game-specific settings in gameconfig.ini and persist.reld.

(.ini files are still barely used, so their organisation may still be changed. Maybe we should have game-specific settings for Custom in gameconfig.ini instead of using a prefix?)


Directories are searched for a file called ohrrpgce_config.ini in the following order (highest priority first):

  • directory containing the current .rpg file (Note: Game currently doesn't check here!)
  • directory containing the executable (e.g. ohrrpgce-custom/ohrrpgce-game/custom.exe/game.exe)
  • settings_dir

(Warning: there's no fallback to other .ini files for settings not found in the first .ini file encountered, so placing a .ini file next to your .rpg will cause all settings to be forgotten!)


Each line is a separate setting and takes the form key = value, where whitespace is ignored. Lines in the file that aren't recognised (such as comments but also unrecognised key=value lines) will be ignored and preserved by the engine when modifying the file.

Each key may include a prefix which makes the setting only apply in certain cases:

  • game. : applies only to Game
  • edit. : applies only to Custom
  • edit.game_<gamename>. : applies only when editing <gamename>.rpg (filename only; path ignored)

The most specific setting found is used, regardless of the order it appears in the file.

For example, a file containing the lines edit.gfx.backend=sdl and gfx.backend = directx (in either order) causes Game to run with gfx_directx and Custom to use gfx_sdl.

Settings might have extra prefixes, which are optional. For example edit.gfx.gfx_directx.backend_screenshot is a gfx_directx-specific override, while edit.gfx.backend_screenshot will affect all backends.

A bool can be any number (nonzero is true) or any of the strings yes, no, true, false, on, off (with any case).

Available settings[edit]

Not all of the settings can be edited from within Game/Custom, requiring you to edit the text file manually (creating it if necessary) if you want to change them.

  • show_quit_msg: bool (Default true). If false, do not pop up a warning message about saving the game when quitting.
  • gfx.backend: The default graphics backend. Valid options currently include alleg, directx, fb, sdl, console
  • gfx.screenshot_format: File format for F12 screenshots. One of png, bmp, or gif.
  • gfx.gfx_backend.backend_screenshot: bool (Default true.) Whether to take screenshots using the backend's own capability. Only offered by gfx_directx: takes a screenshot of the window as it actually appears, rather than what the engine presented.
  • mapedit.shift_speed_x: int
  • mapedit.shift_speed_y: int
  • mapedit.cursor_follows_mouse: bool
  • mapedit.show_overhead: bool
  • mapedit.wall_style: 0: ants, 1: outlined, 2: pulse
  • mapedit.wall_thickness: int
  • mapedit.per-tileset_current_tile: bool
  • mapedit.tile_animations_enabled: bool
  • mapedit.mouse_pan_multiplier: float in range 1.0 to 5.0, default 1.0.
  • mapedit.shadows_when_skewing: bool
  • mapedit.show_grid: bool
  • mapedit.grid_color: Either RGB triple like rgb(100,255,127) or a master palette index like 14
  • thingbrowser.enable_top_level: bool defaults to YES