User Tools

Site Tools


en:orx:config:settings_main:main

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
en:orx:config:settings_main:main [2018/01/19 03:16 (6 years ago)] – Intro from references sausageen:orx:config:settings_main:main [2023/09/19 23:48 (6 months ago)] (current) sausage
Line 2: Line 2:
  
 Here are defined all the available config properties that will be recognized by orx as 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 [[https://bitbucket.org/orx/orx/src/default/code/bin/SettingsTemplate.ini?at=default|SettingsTemplate.ini]] file along with their short descriptions.+All these settings can be found in the [[https://github.com/orx/orx/blob/master/code/bin/SettingsTemplate.ini?at=default|SettingsTemplate.ini]] file along with their short descriptions.
  
 Please refer to the [[en:orx:config:syntax]] page for more info on how to write config files. Please refer to the [[en:orx:config:syntax]] page for more info on how to write config files.
Line 10: Line 10:
 ==== Summary ==== ==== Summary ====
  
-<code ini>[Config]+<code ini> 
 +[Config]
 DefaultParent = <string> DefaultParent = <string>
-IgnorePath    = <bool></code>+</code>
  
 ==== Details ==== ==== Details ====
  
 Only one section (''Config'') is defined for this module. Here's a list of its available properties: Only one section (''Config'') is defined for this module. Here's a list of its available properties:
-  * ''DefaultParent'': If defined, this section will be used as default implicit parent for all the other config sections. By default, it'not defined. + 
-  * ''IgnorePath'': If set to true, all paths stored in config files (except for block values) will be ignored. Defaults to false.+  * ''DefaultParent'': This section will be used as implicit parent for any other config section. By default there'no default parent section.
  
  
Line 25: Line 26:
 ==== Summary ==== ==== Summary ====
  
-<code ini>[Console] +<code ini> 
-ToggleKey    = <key+[Console] 
-Alias        = <command> [param ...] +ToggleKey = KEY_* 
-MyOtherAlias = <alias[param ...]</code>+ScrollSize = <uint
 +Alias = <command> 
 +MyOtherAlias = <command> 
 +</code>
  
 ==== Details ==== ==== Details ====
  
 Only one section (''Console'') is defined for this module. Here's a list of its available properties: Only one section (''Console'') is defined for this module. Here's a list of its available properties:
-  * ''ToggleKey'': Key used to toggle on/off the interactive console at runtime. A list of available keys can be found  [[input_keyboard|here]]. If an invalid key is provided, the console won't be available to the user. Defaults to KEY_BACKQUOTE. 
-  * <alias>: Aliases can be defined as shortcuts for commands. Those shortcuts can include parameters in their order of use. 
-For example, ''FPS = Config.SetValue Render ShowFPS'', will create an alias named ''FPS''. Calling it with ''FPS true'' will expand to the final command ''Config.SetValue Render ShowFPS true'' and will enable the on-screen display of the framerate. Aliases can be nested. 
  
 +  * ''ToggleKey'': Defines the toggle key for activating the in-game console. A list of available keys can be found  [[input_keyboard|here]]. If an invalid key is provided, the console won't be available to the user. Defaults to KEY_BACKQUOTE.
 +  * ''ScrollSize'': Number of lines to scroll at a time, defaults to 3.
 +  * ''Alias'': Aliases can be defined as shortcuts for commands. Those shortcuts can include parameters in their order of use. Any other key than ToggleKey will be added as a command alias. Commands are case insensitive. For example, ''FPS = Config.SetValue Render ShowFPS'', will create an alias named ''FPS''. Calling it with ''FPS true'' will expand to the final command ''Config.SetValue Render ShowFPS true'' and will enable the on-screen display of the framerate. Aliases can be nested.
 +  * ''MyOtherAlias'': Any other key than ToggleKey will be added as a command alias. Commands are case insensitive.
  
 ===== Clock module ===== ===== Clock module =====
Line 42: Line 47:
 ==== Summary ==== ==== Summary ====
  
-<code ini>[Clock+<code ini> 
-MainClockFrequency = <float></code>+[ClockTemplate
 +Frequency    = <float> 
 +ModifierList = <fixed | multiply | maxed | average> 
 +</code>
  
 ==== Details ==== ==== Details ====
  
 Only one section (''Clock'') is defined for this module. Here's a list of its available properties: Only one section (''Clock'') is defined for this module. Here's a list of its available properties:
-  * ''MainClockFrequency'': This property allows to give a frequency for the main (aka ''Core'') clock update. If no value is provided, the main clock will be updated as often as possible. Best results are achieved by not setting any value for this property and by enabling [[en:orx:config:settings_main:main#Display module|vertical synchronization]]. 
  
 +  * ''Frequency'': Use 'display' to sync the clock with the display refresh rate. Use 0 to run the clock as fast as possible. Defaults to 'display'.
 +  * ''ModifierList'': Core clock property. Each entry is a modifier followed by its value. A value of 0 will disable that modifier. Maxed: value will be used as a max DT, fixed: -1 will match exactly the frequency, average: value is the number of past updates to use for average. Defaults to: fixed -1.
  
 ===== Display module ===== ===== Display module =====
Line 55: Line 64:
 ==== Summary ==== ==== Summary ====
  
-<code ini>[Display] +<code ini> 
-Decoration     = <bool> +[Display] 
-FullScreen     = <bool> +ScreenWidth         = <int> 
-ScreenWidth    = <int> +ScreenHeight        = <int> 
-ScreenHeight   = <int> +ScreenDepth         = <int> 
-ScreenDepth    = <int> +ScreenPosition      = <vector> 
-ScreenPosition = <vector> +RefreshRate         = <int> 
-RefreshRate    = <int> +FullScreen          = <bool> 
-Smoothing      = <bool> +Decoration          = <bool
-Title          = <string+AllowResize         = <bool> 
-VSync          = <bool> +Title               = TitleText 
-AllowResize    = <bool> +Smoothing           = <bool> 
-DepthBuffer    = <bool> +VSync               = <bool> 
-ShaderVersion  = <int>+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>
 </code> </code>
  
Line 76: Line 91:
  
 Only one section (''Display'') is defined for this module. Here's a list of its available properties: Only one section (''Display'') is defined for this module. Here's a list of its available properties:
-  * ''Decoration'': In windowed mode, this will define if decorations (ie. window borders, buttons, ...) will be used for the main display window. This property is enabled by default. + 
-  * ''FullScreen'': Defines if the main display will be full screen or windowed. This property is set to ''false'' by default. +  * ''ScreenWidth'': Resolution width for the main display in pixels. Must be provided. For Android, limit the width of the display framebuffer 
-  * ''ScreenWidth'': Resolution width for the main display in pixels. Must be provided. +  * ''ScreenHeight'': Resolution height for the main display in pixels. Must be provided. For Android, limit the height of the display frame buffer (ignored if ScreenWidth is defined).
-  * ''ScreenHeight'': Resolution height for the main display in pixels. Must be provided.+
   * ''ScreenDepth'': Resolution depth for the main display in bits. Defaults to 32bit.   * ''ScreenDepth'': Resolution depth for the main display in bits. Defaults to 32bit.
-  * ''ScreenPosition'': Only used in windowed mode: position of the window in 'desktop' screen space. +  * ''ScreenPosition'': Only used in windowed mode: position of the window in 'desktop' screen space. Defaults to OS positioning when not specified. 
-  * ''RefreshRate'': Fullscreen refresh rate, defaults to 60Hz.+  * ''FullScreen'': Defines if the main display will be full screen or windowed. This property is set to ''false'' by default
 +  * ''RefreshRate'': Fullscreen refresh rate. Defaults to 60Hz. For Android, defaults to OS refresh rate. 
 +  * ''Decoration'': In windowed mode, this will define if decorations (ie. window borders, buttons, ...) will be used for the main display window. This property is enabled by default. Only used when not in fullscreen. 
 +  * ''AllowResize'': Allows manual resize of the window by the user. Only works in windowed mode, defaults to false. 
 +  * ''DepthBuffer'': Defaults to false, set it to true only if you plan on doing 3D rendering on your own and you need a depth buffer to be created. 
 +  * ''ShaderVersion'': If defined, a matching shader version preprocessor directive will be added to the top of fragment shaders. Default is 120 which is shader version 1.20 ((OpenGL and GLSL shader versions: https://www.opengl.org/wiki/Core_Language_%28GLSL%29#Version)). 
 +  * ''ShaderExtensionList'': If defined, shader extension directives will be added to the top of fragment shaders. 
 +  * ''Monitor'': Index of monitor, defaults to 1 = primary monitor. 
 +  * ''Cursor'': Defaults to 'default'. If a texture is provided, an optional vector can be added as the hotspot. 
 +  * ''IconList'': Up to 16 icons can be defined, the one with the best-fitting resolution will be used automatically. 
 +  * ''DebugOutput'': OpenGL platforms only. Applied upon init or when setting video mode, defaults to false.
   * ''Smoothing'': Sets the default rendering smoothing mode (ie. with or without antialiasing). Defaults to ''false'' (ie. no antialiasing).   * ''Smoothing'': Sets the default rendering smoothing mode (ie. with or without antialiasing). Defaults to ''false'' (ie. no antialiasing).
   * ''Title'': Title for the main display. Will be empty if none is provided.   * ''Title'': Title for the main display. Will be empty if none is provided.
   * ''VSync'': Enables/disables the [[wp>Vertical_sync|vertical synchronization]]. Will use system defaults if none is provided. Best results are usually achieved by enabling this property.   * ''VSync'': Enables/disables the [[wp>Vertical_sync|vertical synchronization]]. Will use system defaults if none is provided. Best results are usually achieved by enabling this property.
-  * ''AllowResize'': Allows manual resize of the window by the user. Only works in windowed mode and defaults to false. 
-  * ''DepthBuffer'': Defaults to false, set it to true only if you plan on doing 3D rendering on your own and you need a depth buffer to be created. 
-  * ''ShaderVersion'': If defined, a matching shader version preprocessor directive will be added at the top of fragment shaders. Default is 120 which is shader version 1.20 ((OpenGL and GLSL shader versions: https://www.opengl.org/wiki/Core_Language_%28GLSL%29#Version)). 
  
 ===== Input module ===== ===== Input module =====
Line 94: Line 115:
 ==== Summary ==== ==== Summary ====
  
-<code ini>[Input] +<code ini> 
-JoystickThreshold = <float> +[Input] ; Main input section, follows the rules from [InputTemplate]
-JoystickMultiplier= <float> +
-SetList           = InputSet1 # InputSet2+
  
-[InputSet1+[InputTemplate; NB: Up to 16 different bindings can exist in the same set for the same input 
-KEY_SPACE   = Jump#Validate +DefaultThreshold = <float> 
-MOUSE_LEFT  = Select +DefaultMultiplier = <float> 
-KEY_LCTRL   = Select +JoyIDList = <int> 
-JOY_1_1     = Attack +KEY_SPACE = Jump # Validate 
-JOY_X_2     = Move +MOUSE_LEFT = Select 
-MOUSE_X     = Move +KEY_LCTRL = Select 
- +JOY_A_1 = Attack 
-CombineList = Select # Attack</code>+JOY_LX_2 = Move 
 ++JOY_LX_1 = MoveRight 
 +-JOY_LX_1 = MoveLeft 
 +MOUSE_X = Move 
 +<Name>Threshold = <float> 
 +<Name>Multiplier = <float> 
 +CombineList = Select # Attack 
 +</code>
  
 ==== Details ==== ==== 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: 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:
-  * ''JoystickThreshold'': Sets the threshold value ((between 0.0 and 1.0)) under which joysticks' axis values are ignored. This property's default value is 0 (ie. any input, as small as it is, will be considered). 
-  * ''JoystickMultiplier'': Defines a value in ]0.0, +inf[ by which all joystick axis input values will be multiplied. Defaults to 1.0. 
-  * ''SetList'': Provides a list of all available input sets. All these sets need to be defined in their own config section so as to be considered valid. The first valid set of this list will be selected by default as the current input set. 
  
-For every input set, here's a list of the available parameters: +  * ''DefaultThreshold'': Sets the [[en:tutorials:input:analog_stick_threshold|threshold]] value ((between 0.0 and 1.0)) under which all input values will be ignored. Defaults to [Input]'one if defined or 0.15 otherwise. 
-  * <button>/<key>/<joystick axis>For every possible physical input ((keyboard keymouse buttonjoystick button or joystick axis)), one or more actions are linkedEvery time this physical input gets activated, the corresponding input actions will be triggered+  * ''DefaultMultiplier'': Defines a value by which all input values will be multiplied. Defaults to [Input]'s one if defined or 1.0 otherwise. 
-  * ''CombineList'': Provides list of all the input actions that needs all of their physical inputs to be active before being triggered. If an action isn't listed here, every time any of its linked physical input is activated, it will be triggered.+  * ''JoyIDList'': List of joystick IDs (1-based) to consider for generic inputs in this set (ie. JOY_A vs JOY_A_<ID>). Defaults to a list of the first four IDs. 
 +  * ''KEY_SPACE''Binds space key to the "Jump" and Validate inputs. 
 +  * ''MOUSE_LEFT'': Binds mouse's left button to the "Select" input. 
 +  * ''KEY_LCTRL'': Binds left control to the "Select" input. 
 +  * ''JOY_A_1'': Binds first joystick's A button to the "Attack" input. 
 +  * ''JOY_LX_2'': Binds second joystick's left X axis to the "Move" input. 
 +  * ''+JOY_LX_1'': Binds first joystick's positive left X half-axis to the "MoveRight" input
 +  * ''-JOY_LX_1'': Binds first joystick's negative left X half-axis to the "MoveLeft" input. 
 +  * ''MOUSE_X'': Binds mouse's X axis to the "Move" input. 
 +  * ''<Name>Threshold'': Defines a value [0.01.0] under which values for the input <Name> will be ignored. Takes precedence over DefaultThreshold, if defined
 +  * ''<Name>Multiplier'': Defines value by which values of for the input <Name> will be multiplied. Takes precedence over DefaultMultiplier, if defined. 
 +  * ''CombineList'': If an input is in this list, it will activate if and only if all its bindings are active. Otherwise, an input will activate if any of its binding is active. If an action isn't listed here, every time any of its linked physical input is activated, it will be triggered.
  
 //NB: Every input action can be linked to up to 4 different physical inputs.// //NB: Every input action can be linked to up to 4 different physical inputs.//
Line 184: Line 218:
 ==== Summary ==== ==== Summary ====
  
-<code ini>[Mouse] +<code ini> 
-ShowCursor = <bool></code>+[Mouse] 
 +ShowCursor = <bool> 
 +Grab       = <bool> 
 +</code>
  
 ==== Details ==== ==== Details ====
Line 191: Line 228:
 Only one section (''Mouse'') is defined for this module. Here's a list of its available properties: Only one section (''Mouse'') is defined for this module. Here's a list of its available properties:
   * ''ShowCursor'': Tells if the mouse cursor should be displayed or not. This property is set to ''true'' by default.   * ''ShowCursor'': Tells if the mouse cursor should be displayed or not. This property is set to ''true'' by default.
 +  * ''Grab'': Defaults to false.
  
 ===== Param (command line parameters) module ===== ===== Param (command line parameters) module =====
Line 212: Line 249:
 //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.// //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: [[en:tutorials:system:commandline_parameters|Commandline Parameters for your game or application]]
  
 ===== Physics module ===== ===== Physics module =====
Line 219: Line 257:
 ==== Summary ==== ==== Summary ====
  
-<code ini>[Physics] +<code ini> 
-AllowSleep          = <bool> +[Physics] 
-DimensionRatio      = <float> +Gravity           = <vector> 
-Gravity             = <vector+AllowSleep        = <bool
-IterationsPerStep   = <int+IterationsPerStep = <int
-ShowDebug           = <bool></code>+DimensionRatio    = <float> 
 +StepFrequency     = <float
 +Interpolate       = <bool
 +ShowDebug         = <bool> 
 +CollisionFlagList = <string> 
 +</code>
  
 ==== Details ==== ==== Details ====
  
 Only one section (''Physics'') is defined for this module. Here's a list of its available properties: Only one section (''Physics'') is defined for this module. Here's a list of its available properties:
 +
   * ''AllowSleep'': Defines if objects are allowed to go into sleep mode in the physics simulation when not stimulated by anything. This improves performances in the physics simulation and should be set to true unless you have a good reason. Its default value is ''true''.   * ''AllowSleep'': Defines if objects are allowed to go into sleep mode in the physics simulation when not stimulated by anything. This improves performances in the physics simulation and should be set to true unless you have a good reason. Its default value is ''true''.
-  * ''DimensionRatio'': Defines the ratio between orx's world (sizes are expressed in pixels) and the physics simulation world (sizes are expressed in meters). Its default value is 0.01 which means 1 pixel is represented by 0.01 meters. ((in other words, 100 pixels = 1 meters)) 
-  * ''Gravity'': Defines the gravity vector used in the physics simulation. Please remember that orx 2D vertical axis Y is oriented toward the bottom of your screen ((you need a positive Y component for your gravity vector for your objects to fall down)). If not provide, the gravity will be null, ie. body won't "fall" by default. 
   * ''IterationsPerStep'': Defines the number of iterations made by the physics simulation for every step (frame). The higher this number is, the more precise and time consuming the simulation will be. Its default value is 10, don't change it unless you feel you could use a better precision or, on the contrary, a faster physics simulation.   * ''IterationsPerStep'': Defines the number of iterations made by the physics simulation for every step (frame). The higher this number is, the more precise and time consuming the simulation will be. Its default value is 10, don't change it unless you feel you could use a better precision or, on the contrary, a faster physics simulation.
-  * ''ShowDebug'': If set to true, debug shapes will be drawn for all physics bodies in Debug and Profile modes only. Defaults to false.+  * ''DimensionRatio'': Defines the ratio between orx's world (sizes are expressed in pixels) and the physics simulation world (sizes are expressed in meters). Defaults to 0.01, ie. 0.01 m/px, which means 1 pixel is represented by 0.01 meters. ((in other words, 100 pixels = 1 meters)) 
 +  * ''StepFrequency'': Frequency used for fixed-step world physics simulation. Defaults to 0, ie. variable DT (using maximum slices of 1/60s). 
 +  * ''Interpolate'': Use linear interpolation between world physics simulation updates. Only used when StepFrequency is defined. Defaults to true. 
 +  * ''ShowDebug'': Defaults to false. Only used in non-Release builds (ie. Debug and Profiler ones). If set to true, debug shapes will be drawn for all physics bodies in Debug and Profile modes only. Defaults to false
 +  * ''CollisionFlagList'': Optional: defines all the literals that can be used to define the SelfFlags and CheckMask properties of Body. This list will grow with every new flag encountered at runtime. 
 +  * ''Gravity'': Defines the gravity vector used in the physics simulation. Please remember that orx 2D vertical axis Y is oriented toward the bottom of your screen ((you need a positive Y component for your gravity vector for your objects to fall down)). If not provide, the gravity will be null, ie. body won't "fall" by default.
  
 +Related config options used on objects with bodies can be found at: [[en:orx:config:settings_structure:orxbody|orxBODY structure]]
 +===== Plugin module =====
 +
 +This module provides functions for loading dynamic code into the core engine and finding symbols within the dynamic modules. 
 +
 +==== Summary ====
 +
 +<code ini>
 +[Plugin]
 +DebugSuffix = DebugSuffixString
 +</code>
 +
 +==== Details ====
 +
 +Only one section (''Plugin'') is defined for this module. Here's a list of its available properties:
 +  * ''DebugSuffix '': The suffix to add to your game. If none is given, orx will use "d" as default. For example, the debug version of mygame.exe would be mygamed.exe unless specified otherwise.
  
 ===== Render module ===== ===== Render module =====
  
 +Render plugin module. Renders visible objects on screen, using active cameras/viewports. 
 ==== Summary ==== ==== Summary ====
  
-<code ini>[Render] + 
-MinFrequency = <float> + 
-ShowFPS      = <bool>+<code ini> 
 +[Render] 
 +ShowFPS = <bool>
 ShowProfiler = <bool> ShowProfiler = <bool>
-ConsoleColor = <vector></code>+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> 
 +</code>
  
 ==== Details ==== ==== Details ====
  
 Only one section (''Render'') is defined for this module. Here's a list of its available properties: Only one section (''Render'') is defined for this module. Here's a list of its available properties:
-  * ''MinFrequency'': This defines the minimal frequency for the rendering clock ((which is also the main/core clock)). This means that if your game framerate drops below this frequency, your clocks will be provided a DT maxed by this frequency, resulting in a smooth slowdown of your game rather than in a jerky/laggy rendering. Uses your target framerate as value here (often 30 or 60 Hz). Its default value is 60Hz, meaning that a game that won't be able to render at least 60 fps will appear to run slower than it should. If you don't want a maxed DT, just set explicitly a negative value. +  * ''ShowFPS'': Displays current FPS in the top left corner of the screen. Its default value is ''false''
-  * ''ShowFPS'': This property tells orx to display or not the current FPS in the top left corner of the main displayIts default value is ''false''+  * ''ShowProfiler'': Displays a layer containing gathered profiling info. Tells orx to display the CPU profiling marker values in real time. Its default value is ''false''
-  * ''ShowProfiler'': This property tells orx to display or not the CPU profiling marker values in real timeIts default value is ''false''+  * ''MinFrequency'': This defines the minimal frequency for the rendering clock ((which is also the main/core clock)). This means that if your game framerate drops below this frequency, your clocks will be provided a DT maxed by this frequency, resulting in a smooth slowdown of your game rather than in a jerky/laggy rendering. Uses your target framerate as value here (often 30 or 60 Hz). Its default value is 60Hz, meaning that a game that won't be able to render at least 60 fps will appear to run slower than it should. Defaults to 10Hz. If you don't want a maxed DT, just set explicitly a negative value. 
-  * ''ConsoleColor'': If providedthis will override the default background color of the interactive console. +  * ''ProfilerOrientation'': portrait|landscape; NB: Defaults to landscape; 
 +  * ''ConsoleBackgroundColor'': If specified, will override console's background color. 
 +  * ''ConsoleBackgroundAlpha'': If specified, will override console's background alpha
 +  * ''ConsoleSeparatorColor'': If specified, will override console's separator color. 
 +  * ''ConsoleSeparatorAlpha'': If specified, will override console's separator alpha
 +  * ''ConsoleLogColor'': If specified, will override console's log color
 +  * ''ConsoleLogAlpha'': If specified, will override console's log alpha
 +  * ''ConsoleInputColor'': If specified, will override console's input color. 
 +  * ''ConsoleInputAlpha'': If specified, will override console's input alpha. 
 +  * ''ConsoleCompletionColor'': If specified, will override console's completion color. 
 +  * ''ConsoleCompletionAlpha'': If specified, will override console's completion alpha. 
 +  * ''ConsoleFontScale'': If specified, will override console's font scale.
  
 ===== Resource module ===== ===== Resource module =====
Line 268: Line 356:
  
 ==== Details ==== ==== Details ====
 +
 +  * ''Config'': Config group: orx will look for resources following the order defined by this list, from first to last.
 +  * ''Sound'': Sound group: orx will look for resources following the order defined by this list, from first to last.
 +  * ''Texture'': Texture group: orx will look for resources following the order defined by this list, from first to last.
 +  * ''WatchList'': If defined, orx will monitor these groups of resources and will reload them as soon as modified. Dev feature, only active on computers.
  
 Only one section (''Resource'') is defined for this module. Only one section (''Resource'') is defined for this module.
Line 278: Line 371:
 By default, orx only has a single resource type((Except on Android where .apk archives are a separate resource type.)): the file system. By default, orx only has a single resource type((Except on Android where .apk archives are a separate resource type.)): the file system.
  
-However new custom-defined resource types, such as network URIs, compressed archives, etc..., can easily be added. Please see the [[https://bitbucket.org/iarwain/resource|Resource tutorial]] for more info on this((Where support for ZIP files has been taken as an example.)). +However new custom-defined resource types, such as network URIs, compressed archives, etc..., can easily be added. Please see the [[https://github.com/iarwain/resource|Resource tutorial]] for more info on this((Where support for ZIP files has been taken as an example.)). 
-In that tutorial, the Resource config section is defined in [[https://bitbucket.org/iarwain/resource/src/87d6ccd8a0ab/bin/windows/resource.ini?at=default|the main config file]], and the code for adding a custom resource type can be found in [[https://bitbucket.org/iarwain/resource/src/87d6ccd8a0ab/src/resource.cpp?at=default|resource.cpp]].+In that tutorial, the Resource config section is defined in [[https://github.com/iarwain/resource/blob/master/bin/windows/resource.ini?at=default|the main config file]], and the code for adding a custom resource type can be found in [[https://github.com/iarwain/resource/blob/master/src/resource.cpp?at=default|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. 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.
Line 296: Line 389:
   * ''BaseName'': Base name used for your screenshot. Its default value is "screenshot-".   * ''BaseName'': Base name used for your screenshot. Its default value is "screenshot-".
   * ''Digits'': Number of digits used at the end of screenshot files. Its default value is 4.   * ''Digits'': Number of digits used at the end of screenshot files. Its default value is 4.
-  * ''Directory'': Directory where to store screenshots. By default, screenshots will be stored in the current active directory. +  * ''Directory'': If not specified, screenshots will be stored in the Documents directory on iOS or in the current active directory otherwise
-  * ''Extension'': Extension used for screenshot files. This also defines the type of encoding for the file. Available values ((when used with orx's default display plugin based on GLFW)) on Win/Linux/OS X are tga (default), png, bmp & dds. On iOS only png (default) & jpg are supported.+  * ''Extension'': Extension used for screenshot files. This also defines the type of encoding for the file. Defaults to png on iOS/Android and to tga otherwise; Available extensions are: png, qoi, jpg, bmp & tga.
  
 //NB: If using all default settings, screenshots will be stored in the current active directory ((usually the executable's one)) and named ''screenshot-0001.tga'', ''screenshot-0002.tga'' and so on.// //NB: If using all default settings, screenshots will be stored in the current active directory ((usually the executable's one)) and named ''screenshot-0001.tga'', ''screenshot-0002.tga'' and so on.//
Line 306: Line 399:
 ==== Summary ==== ==== Summary ====
  
-<code ini>[SoundSystem] +<code ini> 
-DimensionRatio = <float> +[SoundSystem] 
-StreamBufferNumber = <int> +DimensionRatio   = <float> 
-StreamBufferSize = <int></code>+Listeners        = <int> 
 +MuteInBackground = <bool> 
 +</code>
  
 ==== Details ==== ==== Details ====
  
 Only one section (''SoundSystem'') is defined for this module. Here's a list of its available properties: Only one section (''SoundSystem'') is defined for this module. Here's a list of its available properties:
-  * ''DimensionRatio'': Defines the ratio between orx's world (sizes are expressed in pixels) and the sound simulation world (sizes are expressed in meters). Its default value is 0.01 which means 1 pixel is represented by 0.01 meters. ((in other words, 100 pixels = 1 meters)) + 
-  * ''StreamBufferNumber'': Number of buffers to use for sound streamingNeeds to be at least 2, defaults to 4+  * ''DimensionRatio'': Defines the ratio between orx's world (sizes are expressed in pixels) and the sound simulation world (sizes are expressed in meters). Defaults to 0.01, ie. 0.01 m/px, which means 1 pixel is represented by 0.01 meters. ((in other words, 100 pixels = 1 meters)) 
-  * ''StreamBufferSize'': Size of buffers to use for sound streamingNeeds to be a multiple of 4, defaults to 4096.+  * ''Listeners'': How many listeners will be used (maximum of 4), 0 for no sound spatialization at allDefaults to 0
 +  * ''MuteInBackground'': If true, sound will be muted/un-muted when the game enters/leaves backgroundDefaults to true.
  
  
 ==== Latest config settings for the Development Version ==== ==== Latest config settings for the Development Version ====
 {{section>en:orx:config:developmentversion#&noheader&nofooter&noeditbutton}} {{section>en:orx:config:developmentversion#&noheader&nofooter&noeditbutton}}
en/orx/config/settings_main/main.1516360603.txt.gz · Last modified: 2018/01/19 07:16 (6 years ago) (external edit)