<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
      <title>Config — Orx: Portable Game Engine</title>
      <link>https://forum.orx-project.org/index.php?p=/</link>
      <pubDate>Thu, 21 May 2026 18:21:21 +0000</pubDate>
          <description>Config — Orx: Portable Game Engine</description>
    <language>en</language>
    <atom:link href="https://forum.orx-project.org/index.php?p=/discussions/tagged/config/feed.rss" rel="self" type="application/rss+xml"/>
    <item>
        <title>Modifying Config File vs Nesting Objects in Structs - Time to execute</title>
        <link>https://forum.orx-project.org/index.php?p=/discussion/9107/modifying-config-file-vs-nesting-objects-in-structs-time-to-execute</link>
        <pubDate>Mon, 26 Oct 2020 02:55:09 +0000</pubDate>
        <category>Help request</category>
        <dc:creator>sacked</dc:creator>
        <guid isPermaLink="false">9107@/index.php?p=/discussions</guid>
        <description><![CDATA[<p>I'm currently tying some things to an Animation.  A player can pick something up and they bend down and are set as uncontrollable, when the animation ends I figured I could use an animation event handler to set and unset the "controllable" property that I'd place inside the config file.  What I'm wondering is whether it would be too much overhead to constantly pull config file information to see whether someone can actually move or not, or whether I'm better off creating a struct with the "controllable" bool and placing the orxObject inside the struct.</p>

<p>As a side thought I was also hoping to make a server/client architecture in the future, and was wondering whether its a terrible idea tying things to animations in this case, and how much having the server not actually display the animations on the screen will affect its animation routine.</p>
]]>
        </description>
    </item>
    <item>
        <title>orxSolver</title>
        <link>https://forum.orx-project.org/index.php?p=/discussion/9084/orxsolver</link>
        <pubDate>Wed, 19 Feb 2020 02:42:24 +0000</pubDate>
        <category>Projects - Tools</category>
        <dc:creator>krypto42</dc:creator>
        <guid isPermaLink="false">9084@/index.php?p=/discussions</guid>
        <description><![CDATA[<p>It's been a long time since my first (and last) thread here. I've gotten to a point where I'm trying to work on my game again, an RPG. I needed to figure out a way to make a list of attributes for characters that would be easily configurable, so I thought of creating a solver DSL for defining the relationships between attributes, in any arbitrary order so long as no loops are detected, which could then be attached to arbitrary orxObjects to automatically generate any dependent attributes on that object. The reasoning for this is to have an easy repository for all equations used in the game, which could be reused not just for stats but also damage calculations, or anything else really.</p>

<p>An example using hp, where equipped_list and effects_list are keys on the object that are just lists of other sections that currently affect the character:</p>

<pre><code>[StatSolver]
Equations  = StatEquations
Defaults   = StatDefaults
Update     = change

[StatDefaults]
base_hp      = 10
base_mult_hp = 1
damage_hp    = 0

[StatEquations]
max_hp                = Clamp(0, max_hp_cap, (base_hp * base_mult_hp) + (equipment_mod_hp * equipment_mod_mult_hp))
total_hp              = max_hp + (temporary_mod_hp * temporary_mod_mult_hp) - damage_hp
max_hp_cap            = infinity
equipment_mod_hp      = Sum(equipped_list, equip_modifier_hp, default: 0)
equipment_mod_mult_hp = Sum(equipped_list, equip_modifier_mult_hp, default: 0)
temporary_mod_hp      = Sum(effects_list, temp_modifier_hp, default: 0)
temporary_mod_mult_hp = Sum(effects_list, temp_modifier_mult_hp, default: 0)
</code></pre>

<p>This would, given any orx object, generate the attributes base_hp, base_mult_hp, damage_hp, total_hp, max_hp_cap, equipment_mod_hp, equipment_mod_mult_hp, temporary_mod_hp, and temporary_mod_mult_hp on that object.</p>

<p>I've currently got a parser and topological sort working, I've started on setting up a VM for it, but I noticed that the orxConfig API isn't thread safe, which I would need if I wanted to solve for multiple characters in parallel if the equations are referencing lists of config sections, but not if they're just referencing other variables on the object itself, since that can be saved to a hashtable beforehand. The only solutions I can think of so far are either manually doing mutex locks when reading the config (not ideal), duplicating the code from the config module to read values from another section without modifying the config section stack (also not ideal), or just dealing with solving for one object at a time (which limits how much it can be used). Just wondering if there's any tips on this.</p>
]]>
        </description>
    </item>
    <item>
        <title>Resource And Save File Location (and maybe also encrypting)</title>
        <link>https://forum.orx-project.org/index.php?p=/discussion/9086/resource-and-save-file-location-and-maybe-also-encrypting</link>
        <pubDate>Mon, 16 Mar 2020 21:10:16 +0000</pubDate>
        <category>General discussions</category>
        <dc:creator>magic_m</dc:creator>
        <guid isPermaLink="false">9086@/index.php?p=/discussions</guid>
        <description><![CDATA[<p>Hey, I was wondering if there are some best practices for classic type save files and on how and where to store resources. Also, what and how should be encrypted?</p>

<p>Thanks in advance. <img src="https://forum.orx-project.org/resources/emoji/smile.png" title=":)" alt=":)" height="20" /></p>
]]>
        </description>
    </item>
    <item>
        <title>Dynamic Casting of Config Models at Runtime</title>
        <link>https://forum.orx-project.org/index.php?p=/discussion/9055/dynamic-casting-of-config-models-at-runtime</link>
        <pubDate>Thu, 31 Oct 2019 17:44:20 +0000</pubDate>
        <category>General discussions</category>
        <dc:creator>zgcrowno</dc:creator>
        <guid isPermaLink="false">9055@/index.php?p=/discussions</guid>
        <description><![CDATA[<p>Hey all, so basically, what I'm trying to do is this: I have a ScrollObject descendent called "Orb" which may be instantiated by creating a ScrollObject from either of two config models (named "OrbP1" and "OrbP2", respectively). Let's say I've already created an instance of "OrbP1", but at runtime, want to make that an instance of "OrbP2" instead, meaning that it now has the graphic, body, etc. associated with an "OrbP2" instead of an "OrbP1". Does anyone have any good advice as to how to go about this? Thanks so much.</p>
]]>
        </description>
    </item>
    <item>
        <title>Spatialized sounds</title>
        <link>https://forum.orx-project.org/index.php?p=/discussion/9009/spatialized-sounds</link>
        <pubDate>Sun, 29 Jul 2018 12:46:48 +0000</pubDate>
        <category>General discussions</category>
        <dc:creator>sausage</dc:creator>
        <guid isPermaLink="false">9009@/index.php?p=/discussions</guid>
        <description><![CDATA[<p>It would be great if the spatialized stereo effect on objects playing mono sounds could be reduced or be more subtle or switched off. Is this possible?</p>

<p>An object at (0, 0) plays in both left and right equally, but you only have to stray a few pixels to the left and right for the sounds to be either one side or the other.</p>

<p>Perhaps I'm not understanding the role of config properties <code>Attenuation</code> and <code>RefDistance</code>. We have little information on this topic except for the config property explanations which are very brief.</p>

<p>Of course I can use the technique of having an generic empty object sit in the centre of the screen to play sounds, but I lose the benefit of functions like <code>orxObject_SetPitch</code> which would affect all sounds playing on it. Perhaps I need to look at buses for this.</p>
]]>
        </description>
    </item>
   <language>en</language>
   </channel>
</rss>
