Table of Contents

Main settings

Here are defined all the available config properties that will be recognized by orx as main settings.
All these settings can be found in the SettingsTemplate.ini file along with their short descriptions.

Please refer to the syntax page for more info on how to write config files.

Config module

Summary

[Config]
DefaultParent = <string>

Details

Only one section (Config) is defined for this module. Here's a list of its available properties:

Console module

Summary

[Console]
ToggleKey = KEY_*
ScrollSize = <uint>
Alias = <command>
MyOtherAlias = <command>

Details

Only one section (Console) is defined for this module. Here's a list of its available properties:

Clock module

Summary

[ClockTemplate]
Frequency    = <float>
ModifierList = <fixed | multiply | maxed | average>

Details

Only one section (Clock) is defined for this module. Here's a list of its available properties:

Display module

Summary

[Display]
ScreenWidth         = <int>
ScreenHeight        = <int>
ScreenDepth         = <int>
ScreenPosition      = <vector>
RefreshRate         = <int>
FullScreen          = <bool>
Decoration          = <bool>
AllowResize         = <bool>
Title               = TitleText
Smoothing           = <bool>
VSync               = <bool>
DepthBuffer         = <bool>
ShaderVersion       = <int>
ShaderExtensionList = <+ | ->
Monitor             = <int>
Cursor              = arrow | ibeam | crosshair | hand | hresize | vresize | default | path/to/texture # <vector>
IconList            = path/to/texture1 # ... # path/to/textureN 
DebugOutput         = <bool>

Details

Only one section (Display) is defined for this module. Here's a list of its available properties:

Input module

Summary

[Input] ; Main input section, follows the rules from [InputTemplate]
 
[InputTemplate] ; NB: Up to 16 different bindings can exist in the same set for the same input
DefaultThreshold = <float>
DefaultMultiplier = <float>
JoyIDList = <int>
KEY_SPACE = Jump # Validate
MOUSE_LEFT = Select
KEY_LCTRL = Select
JOY_A_1 = Attack
JOY_LX_2 = Move
+JOY_LX_1 = MoveRight
-JOY_LX_1 = MoveLeft
MOUSE_X = Move
<Name>Threshold = <float>
<Name>Multiplier = <float>
CombineList = Select # Attack

Details

One main section (Input) and as many subsections as defined sets are used for this module. Here's a list of the available parameters for the main Input section:

NB: Every input action can be linked to up to 4 different physical inputs.

Here are lists of the available physical inputs:

iOS module

Summary

[iOS]
AccelerometerFrequency = <float>

Details

This section is only used for iOS (iPhone/iPod Touch/iPad).

Only one section (iOS) is defined for this module. Here's a list of its available properties:

Locale (localization) module

Summary

[Locale]
LanguageList = Language1 # Language2
 
[Language1]
MyTextEntry      = <string>
MyOtherTextEntry = <string>

Details

One main section (Locale) and as many subsections as defined languages are used for this module. Here's a list of the available parameters for the main Locale section:

For every languages, there can be as many keys as needed. Each key/value pair is made of the key used in code with the orxLocale module 3) and its corresponding content translated in the current language.

Here's a simple example.

[Locale]
LanguageList = English # French
 
[English]
Greetings = Welcome everybody!
 
[French]
Greetings = Bienvenue à tous!

When calling

orxLocale_GetString("Greetings");

the localized content in the current language will be returned.

Mouse module

Summary

[Mouse]
ShowCursor = <bool>
Grab       = <bool>

Details

Only one section (Mouse) is defined for this module. Here's a list of its available properties:

Param (command line parameters) module

Summary

[Param]
config = path/to/config1 ... path/to/configN
plugin = path/to/Plugin1 ... path/to/pluginN

Details

Only one section (Param) is defined for this module. Every command line parameter registered in code to the orxParam module 4) can be defined here. The long name of the parameter has to be used.

If a param is defined directly on the command line, it will prevail on any value entered in this config section.

Internally, orx defines a config command line parameter allowing to provide extra config files in addition to the main one 5).
It also defines a plugin command line parameter allowing to load external plugins when initialized.

NB: Lists are not used for these properties, you need to provide the parameter value in the same way you would do it on the command line.

To learn how to use orxParam, see: Commandline Parameters for your game or application

Physics module

Module that handles physics interactions.

Summary

[Physics]
Gravity           = <vector>
AllowSleep        = <bool>
IterationsPerStep = <int>
DimensionRatio    = <float>
StepFrequency     = <float>
Interpolate       = <bool>
ShowDebug         = <bool>
CollisionFlagList = <string>

Details

Only one section (Physics) is defined for this module. Here's a list of its available properties:

Related config options used on objects with bodies can be found at: orxBODY structure

Plugin module

This module provides functions for loading dynamic code into the core engine and finding symbols within the dynamic modules.

Summary

[Plugin]
DebugSuffix = DebugSuffixString

Details

Only one section (Plugin) is defined for this module. Here's a list of its available properties:

Render module

Render plugin module. Renders visible objects on screen, using active cameras/viewports.

Summary

[Render]
ShowFPS = <bool>
ShowProfiler = <bool>
ProfilerOrientation = portrait | landscape
ConsoleBackgroundColor = <vector>
ConsoleBackgroundAlpha = <float>
ConsoleSeparatorColor = <vector>
ConsoleSeparatorAlpha = <float>
ConsoleLogColor = <vector>
ConsoleLogAlpha = <float>
ConsoleInputColor = <vector>
ConsoleInputAlpha = <float>
ConsoleCompletionColor = <vector>
ConsoleCompletionAlpha = <float>
ConsoleFontScale = <float>

Details

Only one section (Render) is defined for this module. Here's a list of its available properties:

Resource module

Summary

[Resource]
Config             = path/to/storage1 # ... # path/to/storageN
Sound              = path/to/storage1 # ... # path/to/storageN
Texture            = path/to/storage1 # ... # path/to/storageN
WatchList          = Texture # Config # Sound # ... ; NB: If defined, orx will monitor these groups of resources and will reload them as soon as modified. Dev feature, only active on computers;
 
UserResourceGroupX = path/to/storage1 # ... # path/to/storageN

Details

Only one section (Resource) is defined for this module. This section allows the user to define all the storages9) for all the resource groups.

In addition to orx's own internal groups (respectively Config, Sound and Texture), the user can add his own groups for his own custom resources.

When a resource of a given group is requested, orx will go through all the storages that have been defined for that group10) till a resource with a matching name is found.

By default, orx only has a single resource type11): the file system.

However new custom-defined resource types, such as network URIs, compressed archives, etc…, can easily be added. Please see the Resource tutorial for more info on this12). In that tutorial, the Resource config section is defined in the main config file, and the code for adding a custom resource type can be found in resource.cpp.

As a development feature, orx supports hotloading of modified resources at runtime. This is enabled by defining the “WatchList” list. Resource files defined here will be reloaded when modified on the filesystem, immediately updating them in the game. Additionally, if “Config” watching is enabled, any shaders, spawners, fonts, texts, and sound configuration sections will be updated immediately.

Screenshot module

Summary

[Screenshot]
BaseName  = <string>
Digits    = <int>
Directory = path/to/directory
Extension = <string>

Details

Only one section (Screenshot) is defined for this module. Here's a list of its available properties:

NB: If using all default settings, screenshots will be stored in the current active directory 13) and named screenshot-0001.tga, screenshot-0002.tga and so on.

SoundSystem module

Summary

[SoundSystem]
DimensionRatio   = <float>
Listeners        = <int>
MuteInBackground = <bool>

Details

Only one section (SoundSystem) is defined for this module. Here's a list of its available properties:

Latest config settings for the Development Version

We endeavor to keep the config properties on this page up to date as often as possible. For up to the minute config information for the latest version of Orx, check the most recent published at:

CreationTemplate.ini and

SettingsTemplate.ini

Additionally these files can be found under your orx source tree in the orx/code/bin folder.

2)
between 0.0 and 1.0
3)
or referenced by an orxTEXT in config file
4)
whether it's a parameter internally registered by orx or one you registered in your own code
5)
the one named after the executable
6) , 14)
in other words, 100 pixels = 1 meters
7)
you need a positive Y component for your gravity vector for your objects to fall down
8)
which is also the main/core clock
9)
The location containers. For the file system resource type, those are folders.
10)
following a left to right priority order
11)
Except on Android where .apk archives are a separate resource type.
12)
Where support for ZIP files has been taken as an example.
13)
usually the executable's one