<?xml version="1.0" encoding="utf-8"?>
<!-- generator="Kunena 1.0.10"> -->
<rss version="0.91">
    <channel>
        <title>Orx - Portable Game Engine - Forum</title>
        <description>Kunena Site Syndication</description>
        <link>http://www.orxproject.org</link>
        <lastBuildDate>Sun, 20 May 2012 17:29:41 -0600</lastBuildDate>
        <generator>Kunena 1.0.10</generator>
        <image>
	        <url>http://www.orxproject.org/components/com_kunena/template/default/images/english/emoticons/rss.gif</url>
	        <title>Powered by Kunena</title>
	        <link>http://www.orxproject.org</link>
	        <description>Kunena Site Syndication</description>
        </image>
        <item>
            <title>Subject: Assertion Failed? - by: iarwain</title>
            <link>http://www.orxproject.org/forum?func=view&amp;catid=16&amp;id=4294#4302</link>
            <description>I believe Grey explained why he'd rather not upload the source on another thread on the forum. :)

If you get the same message it means you still have a physics body with a zero size. Probably due to a missing texture or a wrong path. If you post an archive of your whole project I can have a look if you want.</description>
            <pubDate>Sun, 20 May 2012 15:12:27 -0600</pubDate>
        </item>
        <item>
            <title>Subject: Help me, please! - by: iarwain</title>
            <link>http://www.orxproject.org/forum?func=view&amp;catid=16&amp;id=4079#4301</link>
            <description>I'm not sure what you mean by a perfect demo. There are separate tutorials for using sounds and for playing animations. Everything is at http://orx-project.org/wiki/en/orx/tutorials/main#basic</description>
            <pubDate>Sun, 20 May 2012 15:06:30 -0600</pubDate>
        </item>
        <item>
            <title>Subject: orx SDK - by: beachbum</title>
            <link>http://www.orxproject.org/forum?func=view&amp;catid=17&amp;id=4109&amp;limit=20&amp;start=20#4289</link>
            <description>Hey good to know , I was just editing the batch file to run a different map, thx for the info.</description>
            <pubDate>Tue, 15 May 2012 22:06:25 -0600</pubDate>
        </item>
        <item>
            <title>Subject: TimeLine and Commands - by: iarwain</title>
            <link>http://www.orxproject.org/forum?func=view&amp;catid=17&amp;id=3955&amp;limit=20&amp;start=20#4288</link>
            <description>2 days ago I added support for optional parameters for commands (similar to C++, optional parameters are the last parameters sent).
When describing commands here, I'll put the optional parameters within []. I'll also add a way to query which commands are available at runtime (and see their prototype).
Later I'll add command auto-completion as well as a console (basic overlay render + history).

But for now, I've added some commands:

- Object.SetPosition GUID Position [Global=false]
- Object.SetRotation GUID Rotation [Global=false]
- Object.SetScale GUID Scale [Global=false]
- Object.GetPosition GUID [Global=false]
- Object.GetRotation GUID [Global=false]
- Object.GetScale GUID [Global=false]

The system finally becomes usable for real-case scenarios.</description>
            <pubDate>Tue, 15 May 2012 18:57:19 -0600</pubDate>
        </item>
        <item>
            <title>Subject: Tile Engine - by: iarwain</title>
            <link>http://www.orxproject.org/forum?func=view&amp;catid=16&amp;id=4216#4287</link>
            <description>No worries! :)

I keep calling orx a small game engine but in the facts it's becoming bigger and bigger everyday with currently ~160k lines of code. So feel free to ask as many questions as you need, I don't expect anyone to read all that code! :P</description>
            <pubDate>Tue, 15 May 2012 16:55:52 -0600</pubDate>
        </item>
        <item>
            <title>Subject: New people! - by: Antaka</title>
            <link>http://www.orxproject.org/forum?func=view&amp;catid=12&amp;id=20&amp;limit=20&amp;start=160#4283</link>
            <description>Thanks for the welcome!

I try to search for the answers in the forum and the tutorials first, but as you have seen I've already start asking hehehe</description>
            <pubDate>Mon, 14 May 2012 23:29:48 -0600</pubDate>
        </item>
        <item>
            <title>Subject: New animation module - by: iarwain</title>
            <link>http://www.orxproject.org/forum?func=view&amp;catid=17&amp;id=3886#4280</link>
            <description>Hi SAS and welcome here!

Well I'm not sure what you are expecting to find here actually, so apologies if I didn't understand your message correctly.

This thread is about supporting 2D skeletal animation in orx which is a 2D-oriented game engine (mostly sprite base hence this thread). There's no editor for orx (yet).

If you're looking for a sprite editor, have you tried softwares such as GraphicsGale (http://www.humanbalance.net/gale/us/)?

That being said, orx (as a game engine), supports any blending/rotation combinations as it's using 3D OpenGL behind the scene.

Hope this helps! :)</description>
            <pubDate>Mon, 14 May 2012 20:56:05 -0600</pubDate>
        </item>
        <item>
            <title>Subject: Ugh, Another problem. =\ - by: grumly</title>
            <link>http://www.orxproject.org/forum?func=view&amp;catid=12&amp;id=4229&amp;limit=20&amp;start=20#4279</link>
            <description>The zip seems to be broken. You can get the file there (http://orx.svn.sourceforge.net/viewvc/orx/trunk/tutorial/data/anim/soldier_full.png?revision=2905).</description>
            <pubDate>Mon, 14 May 2012 16:36:22 -0600</pubDate>
        </item>
        <item>
            <title>Subject: Android demo problems - by: lydesik</title>
            <link>http://www.orxproject.org/forum?func=view&amp;catid=16&amp;id=4172#4277</link>
            <description>there is a log file in
/data/data//files/

you can retrieve it with adb pull

but it's not really usefull as everything is already sent to logcat

on which device are you running exaclty? manufacturer / model ?

it might be that the share compiler / linker doesn't like something (like variable name etc...)

lydesik</description>
            <pubDate>Mon, 14 May 2012 06:21:25 -0600</pubDate>
        </item>
        <item>
            <title>Subject: orxObject_Delete during update - by: acksys</title>
            <link>http://www.orxproject.org/forum?func=view&amp;catid=17&amp;id=4097#4275</link>
            <description>Glad you were able to find it. I thought there was something wrong with my Xcode project!</description>
            <pubDate>Sun, 13 May 2012 21:39:47 -0600</pubDate>
        </item>
        <item>
            <title>Subject: Breaktris [MolyJam] - by: Mhyre</title>
            <link>http://www.orxproject.org/forum?func=view&amp;catid=14&amp;id=4265#4273</link>
            <description>I  think  I got the very last build, I came pretty late to know about the MolyJam and it was more than over when I realized Orx had a game for it.

So, if anything.. :)</description>
            <pubDate>Sun, 13 May 2012 21:30:57 -0600</pubDate>
        </item>
        <item>
            <title>Subject: XCode project for my game - by: iarwain</title>
            <link>http://www.orxproject.org/forum?func=view&amp;catid=16&amp;id=4262#4270</link>
            <description>Yeah, good luck with XCode! ^^

Though I have to admit once you get the hang of it, XCode 4 is actually usable (and is 10X better than XCode 3!).
The most annoying part was to figure out how to setup all the schemes to have something vaguely similar to other IDEs.

There's also a good point: by default XCode 4 uses llvm/clang which includes a static code analyzer, much improved error/warning messages over any other C/C++ compiler and compiles lightning fast compared to visual and gcc.

For my own iOS projects I usually create a new project from start that doesn't contain orx but simply links with the universal static library I compile separately (that contains simulator, arm6 and arm7 binaries).</description>
            <pubDate>Sun, 13 May 2012 19:49:55 -0600</pubDate>
        </item>
        <item>
            <title>Subject: Working title: The Clarion Project - by: sausage</title>
            <link>http://www.orxproject.org/forum?func=view&amp;catid=13&amp;id=1318&amp;limit=20&amp;start=60#4266</link>
            <description>Nah it's ok, I appreciate that. You'd have to spend a lot of time playing the original game and watching the floor preview control to see how it behaves. But I'm pleased to say that I now have it going on the right track.</description>
            <pubDate>Sun, 13 May 2012 16:13:33 -0600</pubDate>
        </item>
        <item>
            <title>Subject: Masking / Clipping child objects within a parent? - by: iarwain</title>
            <link>http://www.orxproject.org/forum?func=view&amp;catid=16&amp;id=2313#4237</link>
            <description>Stencil buffer is definitely a valid approach but keep in mind that since iOS 4.0, one cannot have a separate stencil buffer: it must be part of the depth buffer.
I'd personally go for a compositing approach, using one of the texture as a mask (like a manually handled stencil buffer if you will), this has the advantage to be supported on all the platforms supported by orx and not require any custom written rendering. But it's more a matter of taste I think.</description>
            <pubDate>Fri, 11 May 2012 23:14:56 -0600</pubDate>
        </item>
        <item>
            <title>Subject: Scroll? - by: iarwain</title>
            <link>http://www.orxproject.org/forum?func=view&amp;catid=12&amp;id=4204#4232</link>
            <description>A bit late, but you can find the latest version of Scroll here: https://bitbucket.org/iarwain/scroll</description>
            <pubDate>Fri, 11 May 2012 22:59:45 -0600</pubDate>
        </item>
        <item>
            <title>Subject: Write a review and support Orx - by: faistoiplaisir</title>
            <link>http://www.orxproject.org/forum?func=view&amp;catid=12&amp;id=3917#4206</link>
            <description>Hi,

My first game will (probably) be released during May, I'll try to do that because I love ORX and it's community ;) !

Thanks!</description>
            <pubDate>Thu, 10 May 2012 11:47:09 -0600</pubDate>
        </item>
        <item>
            <title>Subject: Circle Pong - by: iarwain</title>
            <link>http://www.orxproject.org/forum?func=view&amp;catid=13&amp;id=4196#4200</link>
            <description>Just tried it, nice work there, congrats! :)

I really like the splash screen too! :P

I wish I could play with the mouse in single player though, would feel great.

If you send me privately your project I can help you to build a release version and/or builds for other platforms.

How was your learning experience? Not too exhausting, I hope!</description>
            <pubDate>Wed, 09 May 2012 20:23:26 -0600</pubDate>
        </item>
        <item>
            <title>Subject: Processor usage at 50% - by: iarwain</title>
            <link>http://www.orxproject.org/forum?func=view&amp;catid=16&amp;id=4115#4198</link>
            <description>Hi again!

Sorry for the delay but I wanted to try it on a few different computers before reporting.

VSync worked on all of them (all using NVidia or ATI cards) and the CPU was about 3%-8% depending on the machines.

Using MainClockFrequency with VSync off was indeed maxing out cores (16.6% on a 6-cores, 12.5% on a 8-cores and 50% on a dual core).

I'll look into that issue soon.</description>
            <pubDate>Wed, 09 May 2012 20:19:24 -0600</pubDate>
        </item>
        <item>
            <title>Subject: How to fire orxEVENT_TYPE_KEYBOARD? - by: iarwain</title>
            <link>http://www.orxproject.org/forum?func=view&amp;catid=16&amp;id=4166#4178</link>
            <description>Nope, you're not. I'd love to plug that event back but for now it sounds much more reasonable to remove it for the time being.</description>
            <pubDate>Mon, 07 May 2012 02:58:02 -0600</pubDate>
        </item>
        <item>
            <title>Subject: Picking objects with the mouse - by: iarwain</title>
            <link>http://www.orxproject.org/forum?func=view&amp;catid=16&amp;id=4162#4176</link>
            <description>That would be for a function compiled in a .c/.cpp file: being static means it's local to the translation unit.

Here's the function is in a header hence defined everywhere the header is included. orx.h includes all the public headers so this function will be defined basically everywhere.

Were the compiler to decide it doesn't want to inline the function, a local version (to the translation unit) will be stored.
If the function wasn't static and didn't get inlined, all the translation modules using it would have their own public copy, leading to a symbol conflict at link time. Here the static keyword ensures that this will never happen, if the code doesn't get inline, the local version will not be public and there won't be any symbol clash at link time.</description>
            <pubDate>Mon, 07 May 2012 02:54:41 -0600</pubDate>
        </item>
        <item>
            <title>Subject: Drawning lines? - by: iarwain</title>
            <link>http://www.orxproject.org/forum?func=view&amp;catid=16&amp;id=4113#4158</link>
            <description>In that case I'd recommend having a single &quot;path&quot; object and issuing a orxDisplay_DrawPolyLine() call.

Also you might want to consider using catmull-rom splines for a smoother path (there are functions for that in the orxMath module I believe).</description>
            <pubDate>Sun, 06 May 2012 02:13:37 -0600</pubDate>
        </item>
        <item>
            <title>Subject: Profiler Output Explanation - by: iarwain</title>
            <link>http://www.orxproject.org/forum?func=view&amp;catid=16&amp;id=4088#4153</link>
            <description>Using power of two for width/length, beside that it doesn't matter where you place things in it.
And no, no other consideration, it's only to reduce the number of batches. :)</description>
            <pubDate>Wed, 02 May 2012 00:44:38 -0600</pubDate>
        </item>
        <item>
            <title>Subject: Are there any ways to mess up the orxConfig stack? - by: iarwain</title>
            <link>http://www.orxproject.org/forum?func=view&amp;catid=16&amp;id=4133#4134</link>
            <description>Mmh, no, not really.

Deleting a section that was pushed could be problematic, maybe, but that's the only thing I can think of.
Using orxConfig_SelectSection() could potentially screw up code calling you when it expected to be in a specific section, hence my advice of always using Push/Pop.</description>
            <pubDate>Tue, 01 May 2012 19:16:56 -0600</pubDate>
        </item>
        <item>
            <title>Subject: Enable/disable physics on a specific body? - by: iarwain</title>
            <link>http://www.orxproject.org/forum?func=view&amp;catid=16&amp;id=4095#4118</link>
            <description>Yep, it can be done with all the structures &quot;supported&quot; by orxOBJECTs. Though in most cases they can be enabled/disabled instead of completely removed, orxBODY being a special case. :)</description>
            <pubDate>Mon, 30 Apr 2012 12:31:26 -0600</pubDate>
        </item>
        <item>
            <title>Subject: Set global default settings in a config - by: iarwain</title>
            <link>http://www.orxproject.org/forum?func=view&amp;catid=17&amp;id=3482#4100</link>
            <description>I actually thought about it a while ago, though I stumbled upon the issue of different section having using the same key and didn't find a graceful way to solve that.
The issue being that the config module is structure agnostic and doesn't have a single clue if we're looking at an object property or a graphic one, for example.

Now we could handle those default values on a per case basis in all the different modules, but that's *a lot* of work and a lot of duplicated code.

So I'm still thinking about it but it's not one of my highest priority to be honest, the skeletal animation is giving me a much harder time than I anticipated as I want it to be as easy as possible to author animation in config files and the decentralized aspect of the object hierarchy isn't helping so I might have to take a different way, we'll see.</description>
            <pubDate>Sun, 29 Apr 2012 20:46:40 -0600</pubDate>
        </item>
        <item>
            <title>Subject: orxClock_FindFirst problem - by: iarwain</title>
            <link>http://www.orxproject.org/forum?func=view&amp;catid=16&amp;id=4064#4086</link>
            <description>Well, I'm glad you issue got sorted! And now you can also take advantages of the many new things that have been done since the latest release. :)</description>
            <pubDate>Sat, 28 Apr 2012 04:56:25 -0600</pubDate>
        </item>
        <item>
            <title>Subject: Equilibria for iPhone and Android - by: acksys</title>
            <link>http://www.orxproject.org/forum?func=view&amp;catid=13&amp;id=3461&amp;limit=20&amp;start=20#4080</link>
            <description>Anyone else who would like to be in the test group, please send me the UDID and model of your iOS device.

Thanks in advance to the testers.</description>
            <pubDate>Fri, 27 Apr 2012 07:31:14 -0600</pubDate>
        </item>
        <item>
            <title>Subject: Broken link in navigation bar - by: sonicbhoc</title>
            <link>http://www.orxproject.org/forum?func=view&amp;catid=14&amp;id=4066#4075</link>
            <description>odd... o.o</description>
            <pubDate>Thu, 26 Apr 2012 13:27:25 -0600</pubDate>
        </item>
        <item>
            <title>Subject: Animating text? - by: iarwain</title>
            <link>http://www.orxproject.org/forum?func=view&amp;catid=16&amp;id=4008#4070</link>
            <description>Great! There's a bunch of non-obvious things to discover there, the config system, of course, but also localization, inputs, profiler or memory banks are worth a glance, for example. ;)

Don't hesitate with questions, hopefully it'll be useful not only to you but also to other people that might come with the same ones later on. :)</description>
            <pubDate>Thu, 26 Apr 2012 12:54:36 -0600</pubDate>
        </item>
        <item>
            <title>Subject: ORX syntax highlighter,auto-completion for np++ - by: jim</title>
            <link>http://www.orxproject.org/forum?func=view&amp;catid=12&amp;id=3158&amp;limit=20&amp;start=20#4061</link>
            <description>Thanks iarwain, I am now subscribed :D</description>
            <pubDate>Wed, 25 Apr 2012 22:42:46 -0600</pubDate>
        </item>
        <item>
            <title>Subject: orx Console - by: iarwain</title>
            <link>http://www.orxproject.org/forum?func=view&amp;catid=16&amp;id=4034#4059</link>
            <description>Excellent, good to know! :)</description>
            <pubDate>Wed, 25 Apr 2012 21:40:55 -0600</pubDate>
        </item>
        <item>
            <title>Subject: Mobile interface - by: iarwain</title>
            <link>http://www.orxproject.org/forum?func=view&amp;catid=16&amp;id=4055#4056</link>
            <description>Currently, both iOS and Android versions map single touch events to the mouse module and accelerometer info to the joystick one.

Only multi-touch events will need to be handled separately (events are sent the orx way for all of them).

In any case, I'd try to use the orxInput module as much as possible as it provides a nice abstraction layer and allow to plug things behind the scene depending on the actual platform used or allowing to trigger inputs programmatically (mapping optinoal buttons from config with no code, remapping all the controls easily, either interactively or in config files, tutorial inputs, etc...).</description>
            <pubDate>Wed, 25 Apr 2012 16:01:57 -0600</pubDate>
        </item>
        <item>
            <title>Subject: Chocolate Mousse! - by: Grey</title>
            <link>http://www.orxproject.org/forum?func=view&amp;catid=13&amp;id=4017#4032</link>
            <description>oh pshh, semantics ;)

I haven't actually measured the angles myself, and I'm not going to hazard a guess as to if they're 105/105/150 or 120/120/120 haha -- either way, it looks good, and does what I want :D (so far!)</description>
            <pubDate>Tue, 24 Apr 2012 13:02:58 -0600</pubDate>
        </item>
        <item>
            <title>Subject: Twitter for my first game ... - by: iarwain</title>
            <link>http://www.orxproject.org/forum?func=view&amp;catid=13&amp;id=3372#4012</link>
            <description>Thanks!

Got it, tested it and even on our crappy Samsung Intercept (http://en.wikipedia.org/wiki/Samsung_Intercept) it wasn't running too too bad. :)</description>
            <pubDate>Mon, 23 Apr 2012 23:32:12 -0600</pubDate>
        </item>
        <item>
            <title>Subject: Read a string from ini? - by: iarwain</title>
            <link>http://www.orxproject.org/forum?func=view&amp;catid=16&amp;id=3988#4011</link>
            <description>@sonicbhoc: no you're right, the const is important

@Knolan: Yep, that would be a 32bit version. Really outdated if you ask me, the current SVN one is much more advanced. :)</description>
            <pubDate>Mon, 23 Apr 2012 23:28:46 -0600</pubDate>
        </item>
        <item>
            <title>Subject: Capabilities - by: faistoiplaisir</title>
            <link>http://www.orxproject.org/forum?func=view&amp;catid=17&amp;id=3943#3978</link>
            <description>No problem &amp; you're welcome ;)

Everybody here seems to love orx, and we are all trying to do our best to make orx and orx's support better ^^</description>
            <pubDate>Thu, 19 Apr 2012 07:51:53 -0600</pubDate>
        </item>
        <item>
            <title>Subject: How do I get orxBODY_JOINT? - by: iarwain</title>
            <link>http://www.orxproject.org/forum?func=view&amp;catid=16&amp;id=3907#3966</link>
            <description>My pleasure! Glad it's now working fine!</description>
            <pubDate>Wed, 18 Apr 2012 12:07:31 -0600</pubDate>
        </item>
        <item>
            <title>Subject: Help with dynamic drawing - by: iarwain</title>
            <link>http://www.orxproject.org/forum?func=view&amp;catid=16&amp;id=3759#3965</link>
            <description>Well actually all rendering calls should to be made  after  orxRENDER_EVENT_START and  before  orxRENDER_EVENT_STOP.

Now the easiest way to draw at a given depth is to override an object's rendering. Well actually you don't have to override it, you can draw behind, on top or actually substitute your own drawing.
The depth is controlled via the Z coordinate, as usual.

There are two events sent: orxRENDER_OBJECT_START and orxRENDER_OBJECT_STOP.
If you make your drawing calls when listening to the start event, it'll be displayed behind the object, if it's done when listening to the stop event, it'll be displayed on top of the object.
If you want to override the object's redering, listen to orxRENDER_OBJECT_START, make your draw calls there and return orxSTATUS_FAILURE from the event handler: that'll tell orx not to do any regular rendering for that object.

One thing to note: only objects that have a valid orxGRAPHIC attached to them are considered by the renderer. If you only need a placeholder graphic, one solution is to use the embedded &quot;pixel&quot; texture if you don't want to define an external one.

Let me know if you need more details about the whole procedure!

PS: You can also listen to the orxRENDER_VIEWPORT_START/orxRENDER_VIEWPORT_STOP events if you need to draw things before/after a viewport has been rendered.</description>
            <pubDate>Wed, 18 Apr 2012 12:05:38 -0600</pubDate>
        </item>
        <item>
            <title>Subject: Access class instance from event handler callback? - by: iarwain</title>
            <link>http://www.orxproject.org/forum?func=view&amp;catid=16&amp;id=3923#3939</link>
            <description>That's actually what I used in Scroll, some events are handled internally: that allows me to call virtual methods on objects like ScrollObject::OnCollide(), ScrollObject::OnSeparate(), ScrollObject::OnNewAnim(), etc...

And for you own custom events, you can of course stuff anything you want in the payload. :)</description>
            <pubDate>Mon, 16 Apr 2012 19:13:41 -0600</pubDate>
        </item>
        <item>
            <title>Subject: strange build error - by: sonicbhoc</title>
            <link>http://www.orxproject.org/forum?func=view&amp;catid=16&amp;id=3915#3918</link>
            <description>Didn't happen on my computer. I was trying to build on someone else's (8 year old) rig, but it worked on mine.</description>
            <pubDate>Sat, 14 Apr 2012 15:29:02 -0600</pubDate>
        </item>
        <item>
            <title>Subject: Release frequently? - by: Grey</title>
            <link>http://www.orxproject.org/forum?func=view&amp;catid=12&amp;id=3774#3906</link>
            <description>@acksys: At first glance that looks pretty good, I'll take another look when I get back from my meetings etc this afternoon. :)</description>
            <pubDate>Tue, 10 Apr 2012 19:10:20 -0600</pubDate>
        </item>
        <item>
            <title>Subject: Syncing Clocks - by: iarwain</title>
            <link>http://www.orxproject.org/forum?func=view&amp;catid=16&amp;id=3880#3904</link>
            <description>That's a good option!

What I did in a recent proto is that I add a new clock (a paused one) to all my game objects (ie. not menu ones) that I remove when un-pausing. By default my objects don't have any clock, so it's easy for me.
That's also the strategy I used for slowing down projectiles around the player in Mushroom Stew when the time special weapon is activated.</description>
            <pubDate>Mon, 09 Apr 2012 19:32:56 -0600</pubDate>
        </item>
        <item>
            <title>Subject: Getting a handle on a sound object - by: sonicbhoc</title>
            <link>http://www.orxproject.org/forum?func=view&amp;catid=16&amp;id=3896#3901</link>
            <description>Thanks a bunch. You rock!</description>
            <pubDate>Sun, 08 Apr 2012 19:44:16 -0600</pubDate>
        </item>
        <item>
            <title>Subject: Assembly Language Megaprimer - by: acksys</title>
            <link>http://www.orxproject.org/forum?func=view&amp;catid=12&amp;id=3872#3895</link>
            <description>Have been on vacation in Puerto Rico for the past few days, and for a couple more days. I haven't been using the computer for much except maps :)

Thanks for the Agner Fog link. That looks like a really valuable resource. I think the learning curve on most of those is a bit high for a beginner (me), but not too bad. The &quot;Basics&quot; section of optimizing_assembly.pdf is understandable and looks like a good reference, too.

Lots of good links at the bottom of the page, too.</description>
            <pubDate>Sun, 08 Apr 2012 09:15:49 -0600</pubDate>
        </item>
        <item>
            <title>Subject: Breaktris - by: iarwain</title>
            <link>http://www.orxproject.org/forum?func=view&amp;catid=13&amp;id=3871#3878</link>
            <description>Hehe I guess your mouse is on the right but it's not the case everywhere! ;)
Also, it shouldn't be too bad to move the mouse on the other side of the keyboard when playing it, but maybe if we push the concept more we'll offer the option of choosing on which side the games end (as well as network gameplay I guess).

It's only a prototype, we have a few ideas on how to make the game more interesting for both players and not having one player wait passively for the ball to come back. We'll see if we get the time to put our ideas in practice though.</description>
            <pubDate>Tue, 03 Apr 2012 18:40:37 -0600</pubDate>
        </item>
        <item>
            <title>Subject: [REQUEST] Change output directory structure of orx - by: iarwain</title>
            <link>http://www.orxproject.org/forum?func=view&amp;catid=17&amp;id=3875#3876</link>
            <description>Yes, it's definitely something we need to address. Actually AlgoJerVIA started something like that in his work with premake, I just hadn't the time to try his file yet, it has been sitting on my desktop for weeks. :(

OS X uses what they call universal binaries (many architectures within one single lib/bin). I don't know if this is available for linux or not but that could be an alternative there too.

I don't know if I want to add an extra folder depth though, they might all end up at the same level (and even with an extra depth win32 will probably be windows as win32/x64 doesn't mean much. ;)).</description>
            <pubDate>Tue, 03 Apr 2012 18:35:17 -0600</pubDate>
        </item>
        <item>
            <title>Subject: noob, linux, building from source doesn't work - by: iarwain</title>
            <link>http://www.orxproject.org/forum?func=view&amp;catid=16&amp;id=3354&amp;limit=20&amp;start=20#3870</link>
            <description>Sorry you had to go through all those issues, but yes, I'd recommend having two linux boxes too, a 32b one and a 64b one.
That's actually what I use myself, a Mint64 and a Ubuntu32 both run under VirtualBox.

Good luck with that light, but I hope it's a sunny day and nothing else. ;)</description>
            <pubDate>Mon, 02 Apr 2012 17:51:58 -0600</pubDate>
        </item>
        <item>
            <title>Subject: Feature: ResetDelay for spawners in config - by: sonicbhoc</title>
            <link>http://www.orxproject.org/forum?func=view&amp;catid=17&amp;id=3861#3868</link>
            <description>If you do that, it would make orx even more of a joy to use!</description>
            <pubDate>Fri, 30 Mar 2012 06:53:42 -0600</pubDate>
        </item>
        <item>
            <title>Subject: LINKLLIST HELP - by: iarwain</title>
            <link>http://www.orxproject.org/forum?func=view&amp;catid=16&amp;id=3838#3863</link>
            <description>Yes they do by default.

The size you give is the actual number of items contained in each segment of a bank. Usually try for a power of two for better memory alignment friendliness, something like 32, 64, 128 or 256 depending on your needs.
Then when the first segment is full, a new segment will be allocated, and so on.
Memory is never given back nor segments are deleted, for performance reasons.

If you give the orxBANK_KU32_FLAG_NOT_EXPANDABLE as a parameter when creating a bank, when the first segment is full no new segment will get created and allocations will fail (and you get an error message in debug too).</description>
            <pubDate>Wed, 28 Mar 2012 15:04:29 -0600</pubDate>
        </item>
        <item>
            <title>Subject: orxDisplay_FillPolygon not working properly? - by: iarwain</title>
            <link>http://www.orxproject.org/forum?func=view&amp;catid=16&amp;id=3830#3857</link>
            <description>Sure!

Sorry it slipped out of my mind during the week end so I'll try to do that in the coming days. :)</description>
            <pubDate>Mon, 26 Mar 2012 13:18:25 -0600</pubDate>
        </item>
        <item>
            <title>Subject: Spawner crash in SVN 2839 - by: iarwain</title>
            <link>http://www.orxproject.org/forum?func=view&amp;catid=17&amp;id=3846#3856</link>
            <description>Ah yes, and so as to prevent too many redundant checks, I don't check parameters for &quot;private&quot; (ie. static in C) functions that can only be called from within the same file as I expect those calls to have been thoroughly checked by the programmer who wrote them. ;)</description>
            <pubDate>Mon, 26 Mar 2012 13:17:09 -0600</pubDate>
        </item>
        <item>
            <title>Subject: Creating a laser - by: iarwain</title>
            <link>http://www.orxproject.org/forum?func=view&amp;catid=16&amp;id=3837#3841</link>
            <description>Hi!

There's been a thread on this issue (http://orx-project.org/forum?func=view&amp;catid=17&amp;id=3430#3453): using spawner parenting with objects that have a physics body.

It's a bug in orx that has been solved a month ago.

To verify it's the same issue, remove the body from your laser and if it follows correctly your spawner that means it was the bug I fixed.</description>
            <pubDate>Sat, 24 Mar 2012 16:08:56 -0600</pubDate>
        </item>
        <item>
            <title>Subject: Create an object that collides with everything - by: iarwain</title>
            <link>http://www.orxproject.org/forum?func=view&amp;catid=16&amp;id=3783#3827</link>
            <description>The scale will be applied to the shape. However if it's only 1 pixel wide and your ShotPart is also small it's more than probable than Box2D &quot;misses&quot; the collision.

You can widen your screen border off-screen and that should help. Let me know if you want the problem. :)</description>
            <pubDate>Thu, 22 Mar 2012 20:14:18 -0600</pubDate>
        </item>
        <item>
            <title>Subject: How do I set my program's icon? - by: Grey</title>
            <link>http://www.orxproject.org/forum?func=view&amp;catid=16&amp;id=3820#3824</link>
            <description>edit: and Iarwain's info is doubtless better so ignore mine! XD</description>
            <pubDate>Thu, 22 Mar 2012 19:50:24 -0600</pubDate>
        </item>
        <item>
            <title>Subject: Orx Physics tutorial video - by: acksys</title>
            <link>http://www.orxproject.org/forum?func=view&amp;catid=12&amp;id=3817#3822</link>
            <description>Sounds good to me.</description>
            <pubDate>Thu, 22 Mar 2012 19:31:27 -0600</pubDate>
        </item>
        <item>
            <title>Subject: IRC anyone? - by: iarwain</title>
            <link>http://www.orxproject.org/forum?func=view&amp;catid=12&amp;id=1688#3819</link>
            <description>Just bumping this thread to make it more visible for new comers!

#orx-project on irc.freenode.net

EDIT: I actually &quot;stickied&quot; it. :)</description>
            <pubDate>Thu, 22 Mar 2012 16:31:11 -0600</pubDate>
        </item>
        <item>
            <title>Subject: Attaching and detaching spawners to an object - by: sonicbhoc</title>
            <link>http://www.orxproject.org/forum?func=view&amp;catid=16&amp;id=3806#3808</link>
            <description>As I thought. Thanks a bunch!</description>
            <pubDate>Mon, 19 Mar 2012 19:08:35 -0600</pubDate>
        </item>
        <item>
            <title>Subject: Best way to apply delay FX? - by: acksys</title>
            <link>http://www.orxproject.org/forum?func=view&amp;catid=16&amp;id=3792#3805</link>
            <description>http://www.youtube.com/watch?v=spBu23HuEPc

Works great!</description>
            <pubDate>Mon, 19 Mar 2012 18:30:55 -0600</pubDate>
        </item>
        <item>
            <title>Subject: Is there an easy way to flip object body? - by: iarwain</title>
            <link>http://www.orxproject.org/forum?func=view&amp;catid=16&amp;id=3784#3787</link>
            <description>I'd go with a negative scale too, but careful it's going to affect all coordinate-related calls, including speed, children, etc...

If you want to make sure you don't get any side effect, you can also move the collision shapes or have 2 sets of shapes, and only activate the set corresponding to the current orientation (to enable/disable the shapes, simply change their flags, when set to 0 it will not collide with any body else).</description>
            <pubDate>Sat, 17 Mar 2012 16:38:29 -0600</pubDate>
        </item>
        <item>
            <title>Subject: Another problem... D: - by: faistoiplaisir</title>
            <link>http://www.orxproject.org/forum?func=view&amp;catid=16&amp;id=3742&amp;limit=20&amp;start=20#3779</link>
            <description>With a little search on google with term 'learn C++', I found this website : http://www.learncpp.com/

I didn't read it, but it seems there's a lot of section, covering the beginning and more. 

Ok, it's long to read/understand/pratice, but really, you need some basics. You can't have positive result with your code if you don't understand it. 

I'm sure that there's a ton of basics tutorial where you can learn this language, google can help you ! ;)

Another example, if you have problem to setup a simple project with Visual Studio, a google search with &quot;visual studio tutorial&quot; will certainly give you some good informations.

When you have a problem, the first thing do to is: search by yourself, after that, if don't find the solution, you can ask somewhere/someone! It's the best way to learn something ;)</description>
            <pubDate>Thu, 15 Mar 2012 12:22:45 -0600</pubDate>
        </item>
        <item>
            <title>Subject: Latest engine discussion on reddit - by: iarwain</title>
            <link>http://www.orxproject.org/forum?func=view&amp;catid=12&amp;id=3756#3757</link>
            <description>Thanks a lot for spreading the word!
Also I think you gave a .com link instead of .org on one of your posts. ;)</description>
            <pubDate>Tue, 13 Mar 2012 00:14:40 -0600</pubDate>
        </item>
        <item>
            <title>Subject: Problem with Code? - by: ChaoticCactus</title>
            <link>http://www.orxproject.org/forum?func=view&amp;catid=16&amp;id=3732#3741</link>
            <description>Oooh.

I see now! 

Well, thanks all!
:P</description>
            <pubDate>Fri, 09 Mar 2012 07:59:58 -0700</pubDate>
        </item>
        <item>
            <title>Subject: First example crashes on orxConfig_Load - by: iarwain</title>
            <link>http://www.orxproject.org/forum?func=view&amp;catid=16&amp;id=3728#3731</link>
            <description>I'm glad it works!

And no worries for the name, I was just teasing. :)

If you have any other question, don't hesitate. Approaching orx might sound tricky at first but in my opinion it's all worth it if you decide to stick around. :)</description>
            <pubDate>Wed, 07 Mar 2012 18:26:43 -0700</pubDate>
        </item>
        <item>
            <title>Subject: Problem with Build - by: iarwain</title>
            <link>http://www.orxproject.org/forum?func=view&amp;catid=16&amp;id=3713#3727</link>
            <description>Glad it worked!

But really, using plugins + launcher doesn't bring much now that making stand alones is fairly easy. :)

It's just that I haven't taken the time to adapt my first 9 tutorials to be stand alone executables since I simplified the stand alone creation.</description>
            <pubDate>Wed, 07 Mar 2012 13:52:04 -0700</pubDate>
        </item>
        <item>
            <title>Subject: Reducing orxLOG information - by: iarwain</title>
            <link>http://www.orxproject.org/forum?func=view&amp;catid=16&amp;id=3725#3726</link>
            <description>Hi!

Yep, by doing so you asked debug/log entries to not be made in a file on disk (but still being displayed on console). :)

The flag you should remove is orxDEBUG_KU32_STATIC_FLAG_TAGGED.</description>
            <pubDate>Wed, 07 Mar 2012 13:49:40 -0700</pubDate>
        </item>
        <item>
            <title>Subject: How to install ORX on code::blocks - by: iarwain</title>
            <link>http://www.orxproject.org/forum?func=view&amp;catid=16&amp;id=3680#3718</link>
            <description>You're welcome. Looking forward to seeing what kind of game you're going to make! :)</description>
            <pubDate>Tue, 06 Mar 2012 12:02:14 -0700</pubDate>
        </item>
        <item>
            <title>Subject: Size for sprites - by: iarwain</title>
            <link>http://www.orxproject.org/forum?func=view&amp;catid=12&amp;id=3709#3717</link>
            <description>As Grey said, there's no norm, it all depends on you display resolution and how big you want your sprite to be displayed. :)</description>
            <pubDate>Tue, 06 Mar 2012 12:01:27 -0700</pubDate>
        </item>
        <item>
            <title>Subject: Help with Grey's Tutorial 2 - by: Grey</title>
            <link>http://www.orxproject.org/forum?func=view&amp;catid=16&amp;id=3690#3712</link>
            <description>.ini files are simply renamed .txt files -- you can make them with 'notepad' in windows.

C:\MyProject\ would contain several folders. a 'bin', 'lib', 'include' and 'data' folder to start, as well as the 'project' folder.

the 'project' folder will contain all your project files for visual studio (assuming you use that) or the equivalent files for your IDE. This will also include your source code most likely.

Assuming you followed my tutorial 0, your 'bin' folder will contain (to begin with) nothing but two dlls, orx.dll and orxd.dll (if you also build the profiling version of orx, you would also put an orxp.dll here)

the 'lib' folder will contain orx.lib and orxd.lib (and possibly orxp.lib)

the 'include' folder will be a direct copy of the 'include' folder that comes in the orx svn folder. (there should also be one inside the prebuild archives if you use those)

the 'data' folder will have either nothing, or various images depending on how far through my tutorials you have gone.</description>
            <pubDate>Mon, 05 Mar 2012 21:47:21 -0700</pubDate>
        </item>
        <item>
            <title>Subject: Sonar (Working Title) - by: Grey</title>
            <link>http://www.orxproject.org/forum?func=view&amp;catid=13&amp;id=3494#3707</link>
            <description>Progress has slowed a little, but I -hope- that the next few days will see the most basic of pvp gameplay in place. Working on syncing torpedos across the network, (re)spawn locations, and players actually dying right now :)</description>
            <pubDate>Sun, 04 Mar 2012 16:40:33 -0700</pubDate>
        </item>
        <item>
            <title>Subject: orxTextBox - by: iarwain</title>
            <link>http://www.orxproject.org/forum?func=view&amp;catid=16&amp;id=3667#3705</link>
            <description>Let me know if you have any problem with the input system. :)

By the way, I think you meant to use the &quot;quote&quot; tag in your post, not the &quot;code&quot; one! ;)</description>
            <pubDate>Sun, 04 Mar 2012 05:11:18 -0700</pubDate>
        </item>
        <item>
            <title>Subject: [WIP] Implement premake - by: iarwain</title>
            <link>http://www.orxproject.org/forum?func=view&amp;catid=17&amp;id=3581#3704</link>
            <description>I'm afraid we still need to support the dynamic version for legal issues.
Not everybody is willing to provide the source of their games And some of orx's dependencies on some platforms (namely libsndfile on win/linux/osx and openal-soft on win) are licensed under LGPL which prevents static linking in private source projects.
Hence we need to support dynamic linking at least on those 3 platforms.

I didn't have the opportunity to check your work yet as I'm having some computer problems that will hopefully soon be resolved. :/</description>
            <pubDate>Sun, 04 Mar 2012 05:08:57 -0700</pubDate>
        </item>
        <item>
            <title>Subject: Controlling FPS - by: luciano</title>
            <link>http://www.orxproject.org/forum?func=view&amp;catid=16&amp;id=3021&amp;limit=20&amp;start=20#3699</link>
            <description>yes, it's true... Mmmm maybe I do a &quot;battery saving mode&quot; in my games, only if the frame rate control makes a difference.</description>
            <pubDate>Sat, 03 Mar 2012 18:50:04 -0700</pubDate>
        </item>
        <item>
            <title>Subject: Max 8 vertices limit - by: jim</title>
            <link>http://www.orxproject.org/forum?func=view&amp;catid=16&amp;id=3398#3692</link>
            <description>That would be so great :)</description>
            <pubDate>Sat, 03 Mar 2012 01:55:18 -0700</pubDate>
        </item>
        <item>
            <title>Subject: Minimum configuration to develop for IPhone - by: Mhyre</title>
            <link>http://www.orxproject.org/forum?func=view&amp;catid=12&amp;id=3340#3679</link>
            <description>I have a very nice VM of Mac OS X Lion that runs just fine and has XCode. It's on my gamer notebook (under repair) and I plan to get some Orx things to run on it once I get it back :)</description>
            <pubDate>Thu, 01 Mar 2012 16:27:22 -0700</pubDate>
        </item>
        <item>
            <title>Subject: orxFile_Exists issue - by: iarwain</title>
            <link>http://www.orxproject.org/forum?func=view&amp;catid=17&amp;id=2241#3676</link>
            <description>Hi!

I totally forgot about that issue till I saw that post today, looking for something else. Sorry about that, the life with 2 babies is much more hectic than with only one, it's not a linear progression by any stretch! ;)

I'll fix that issue tonight. :)</description>
            <pubDate>Thu, 01 Mar 2012 15:52:31 -0700</pubDate>
        </item>
        <item>
            <title>Subject: Homing: Angular Velocity vs Vector Normalization - by: sonicbhoc</title>
            <link>http://www.orxproject.org/forum?func=view&amp;catid=16&amp;id=3657#3666</link>
            <description>Thanks, I looked at the mushroom stew homing code. That's probably just what we need! However, I won't be able to look at the opensteer stuff any time soon; too many projects. And Java won't load through this firewall.</description>
            <pubDate>Wed, 29 Feb 2012 20:35:43 -0700</pubDate>
        </item>
        <item>
            <title>Subject: FX starting and immediately stopping - by: sonicbhoc</title>
            <link>http://www.orxproject.org/forum?func=view&amp;catid=16&amp;id=3659#3665</link>
            <description>Woah, how did I miss that!?</description>
            <pubDate>Wed, 29 Feb 2012 20:23:09 -0700</pubDate>
        </item>
        <item>
            <title>Subject: orxThreading - by: luciano</title>
            <link>http://www.orxproject.org/forum?func=view&amp;catid=17&amp;id=3649#3653</link>
            <description> iarwain wrote: 
 I was working at Ubisoft Montreal when they developed Shears and I think it's a great tool. 
but orx is better! jaja :P

 Beside, Shears' main author is a very good friend of mine so I can't say bad things publicly! ;) 

jajaja shurely :P</description>
            <pubDate>Mon, 27 Feb 2012 20:12:47 -0700</pubDate>
        </item>
        <item>
            <title>Subject: New Looking For Starting Point - by: iarwain</title>
            <link>http://www.orxproject.org/forum?func=view&amp;catid=12&amp;id=3638#3648</link>
            <description>Yep Obj-C is fine though you might have some hard time using it on windows/linux targets due to the lack of good complementary libraries.

As you're willing to go down the code route, I hope you'll enjoy your trip using orx. And again, don't hesitate to ask questions if you get stuck and the forum/wiki didn't provide you with a satisfactory solution.</description>
            <pubDate>Mon, 27 Feb 2012 15:15:31 -0700</pubDate>
        </item>
        <item>
            <title>Subject: events problem - by: iarwain</title>
            <link>http://www.orxproject.org/forum?func=view&amp;catid=16&amp;id=2952&amp;limit=20&amp;start=20#3647</link>
            <description>Nice!

Don't pay attention to the SDL and SFML plugins, the most recent ones are GLFW.

Also if you compile orx with the &quot;embedded&quot; configurations, the plugins will be inside orx.lib, so you don't have to worry about them at all.

Well now you have your own version of orx, the headers are in orx/code/include and the compiled libraries are in orx/code/library/dynamic (both .lib and .dll). That's all you need for developing your game. :)</description>
            <pubDate>Mon, 27 Feb 2012 14:44:03 -0700</pubDate>
        </item>
        <item>
            <title>Subject: Creating a clock exactly like the global one - by: sonicbhoc</title>
            <link>http://www.orxproject.org/forum?func=view&amp;catid=16&amp;id=3613#3637</link>
            <description>Oh. Well thanks! I'll be sure to get this working sometime soon...</description>
            <pubDate>Sun, 26 Feb 2012 19:02:37 -0700</pubDate>
        </item>
        <item>
            <title>Subject: Contexts? - by: iarwain</title>
            <link>http://www.orxproject.org/forum?func=view&amp;catid=16&amp;id=3612#3632</link>
            <description>You might want to re-read the tutorial #2 then. ;)</description>
            <pubDate>Sun, 26 Feb 2012 02:17:12 -0700</pubDate>
        </item>
        <item>
            <title>Subject: Drawing text dinamically - by: iarwain</title>
            <link>http://www.orxproject.org/forum?func=view&amp;catid=16&amp;id=3617#3630</link>
            <description>No problem, I'm glad it works for you. :)</description>
            <pubDate>Sun, 26 Feb 2012 02:13:58 -0700</pubDate>
        </item>
        <item>
            <title>Subject: I can't see my objects!!! - by: iarwain</title>
            <link>http://www.orxproject.org/forum?func=view&amp;catid=16&amp;id=3589#3622</link>
            <description>I'm glad the second explanation did the trick!

And no worries for the language, my native language isn't English either and it's the same for a lot of people around here. :)</description>
            <pubDate>Sat, 25 Feb 2012 17:40:12 -0700</pubDate>
        </item>
        <item>
            <title>Subject: Mirroring stuff - by: iarwain</title>
            <link>http://www.orxproject.org/forum?func=view&amp;catid=16&amp;id=3611#3620</link>
            <description>Mmh, haven't done that for a long time, but you can try to set a negative scale on your object, that should theoretically work. :)</description>
            <pubDate>Sat, 25 Feb 2012 17:37:48 -0700</pubDate>
        </item>
        <item>
            <title>Subject: Setting the &quot;clean on delete&quot; flag in code - by: sonicbhoc</title>
            <link>http://www.orxproject.org/forum?func=view&amp;catid=16&amp;id=3602#3610</link>
            <description>Thanks!</description>
            <pubDate>Sat, 25 Feb 2012 08:24:57 -0700</pubDate>
        </item>
        <item>
            <title>Subject: Orx cannot run my game in release mode - by: iarwain</title>
            <link>http://www.orxproject.org/forum?func=view&amp;catid=16&amp;id=3505&amp;limit=20&amp;start=20#3586</link>
            <description>Because it takes me 6-8 hours for making all the packages for a release and I don't think I'll be willing to do that again any time soon since my spare time has been drastically reduced with the second baby.</description>
            <pubDate>Thu, 23 Feb 2012 13:36:32 -0700</pubDate>
        </item>
        <item>
            <title>Subject: SVN build error in orxPhysics.cpp - by: iarwain</title>
            <link>http://www.orxproject.org/forum?func=view&amp;catid=17&amp;id=3573#3574</link>
            <description>Mmh, interesting, my XCode 3/iOS SDK 4.2 has no problem with malloc.h.

Apparently it got moved to malloc/malloc.h later on. Ah well, stdlib.h it is! Thanks for reporting that issue.</description>
            <pubDate>Wed, 22 Feb 2012 01:16:23 -0700</pubDate>
        </item>
        <item>
            <title>Subject: DrawCircle causes SIGSEGV - by: iarwain</title>
            <link>http://www.orxproject.org/forum?func=view&amp;catid=17&amp;id=3524#3566</link>
            <description>Hehe, the BackgroundColor issue sure was sneaky!
If you want to be sure your primitive draw calls will always be displayed, you can to them when handling the orxRENDER_EVENT_STOP instead. (There are also events for viewports rendering, btw.)

Mmh, I don't think I checked the 32b version, I'll check that tomorrow night, just in case, but hopefully everything will work just fine on your gentoo. :)

Let me know!</description>
            <pubDate>Mon, 20 Feb 2012 13:09:37 -0700</pubDate>
        </item>
        <item>
            <title>Subject: Setting an input value - by: iarwain</title>
            <link>http://www.orxproject.org/forum?func=view&amp;catid=16&amp;id=3538#3550</link>
            <description>Yep, I think so. At least that's the way I'd do it. :)</description>
            <pubDate>Thu, 16 Feb 2012 19:41:48 -0700</pubDate>
        </item>
        <item>
            <title>Subject: Add FX to a viewport - by: iarwain</title>
            <link>http://www.orxproject.org/forum?func=view&amp;catid=17&amp;id=3545#3549</link>
            <description>If you have a pointer to the camera, simply call orxCamera_SetParent() on it.

If you don't have it, you can either go through the camera list, or better, if you have more than one camera, you can get it from your viewport with orxViewport_GetCamera().</description>
            <pubDate>Thu, 16 Feb 2012 19:40:48 -0700</pubDate>
        </item>
        <item>
            <title>Subject: Should I use SelectSection or Push/Pop Section? - by: iarwain</title>
            <link>http://www.orxproject.org/forum?func=view&amp;catid=16&amp;id=3537#3544</link>
            <description>No problem! :)</description>
            <pubDate>Thu, 16 Feb 2012 16:25:13 -0700</pubDate>
        </item>
        <item>
            <title>Subject: orxDisplay_DrawCircle dosen't work - by: AlgoJerViA</title>
            <link>http://www.orxproject.org/forum?func=view&amp;catid=16&amp;id=3507#3522</link>
            <description>There is a bug related to DrawCircle so I will open another thread for it...</description>
            <pubDate>Tue, 14 Feb 2012 18:00:41 -0700</pubDate>
        </item>
        <item>
            <title>Subject: How to achive these in ORX? - by: iarwain</title>
            <link>http://www.orxproject.org/forum?func=view&amp;catid=12&amp;id=3136#3516</link>
            <description>Just had some quick fun last night by modifying some config in the tutorial.
If you get it from bitbucket, there's a new file names spaceship.ini.
If you edit data/compositing.ini and uncomment the last line (the inclusion of spaceship.ini), you'll get a much different result, without having to change any line of code or recompile. :)

[img size=1024]http://orx-project.org/images/fbfiles/images/compositing_0002.png[/img]</description>
            <pubDate>Tue, 14 Feb 2012 12:45:34 -0700</pubDate>
        </item>
        <item>
            <title>Subject: orxConfig_PushSection( orxOBJECT ) - by: iarwain</title>
            <link>http://www.orxproject.org/forum?func=view&amp;catid=17&amp;id=3499#3515</link>
            <description>Not sure if this thread requires an answer or not, but the reason why there isn't such immediate shortcut is that the config module doesn't know anything about objects, and introducing a circular dependency would be pretty bad. :)

Actually the config module doesn't know about anything that exists in orx, beside the file &amp; memory modules.

If you were to use Scroll, there's a method on ScrollObject which allows you to do that:
void ScrollObject::PushSection(orxBOOL _bUseInstanceName = orxFALSE);

By default it'll push the &quot;source&quot; config name and it can optionally push the instance name instance. Every ScrollObject has a unique instance name.</description>
            <pubDate>Tue, 14 Feb 2012 12:30:43 -0700</pubDate>
        </item>
        <item>
            <title>Subject: Project Milana: Orx developers needed! - by: Mhyre</title>
            <link>http://www.orxproject.org/forum?func=view&amp;catid=13&amp;id=3118#3510</link>
            <description> acksys wrote: 
 
You have a lot of people on your team. Are you using any kind of online system to organize the communication, besides email? 

Not all the people working for me are working on the project - Mails, MSN ans Skype are fairly used, but considering the two pixel artists live far awar from me (Canada and China, lucky me in France, ha!), I made a pixel folder on a server with a todolist and milestones. Both artists got FTP access to that folder and got their own subfolder in there, where they simply upload what they made and check the list.</description>
            <pubDate>Tue, 14 Feb 2012 00:32:51 -0700</pubDate>
        </item>
        <item>
            <title>Subject: variables and arithmetic in ini files - by: iarwain</title>
            <link>http://www.orxproject.org/forum?func=view&amp;catid=16&amp;id=3399#3503</link>
            <description> jim wrote: 
 Well, I will be using Lua scripting for my game in ORX. I will be integrating some ORX function to Lua. I don't know anything about ORX module though. So if my integration goes well, I will post in on forum. 

Hi jim,

I'm sure a lot of people (me included) would benefit from some Lua  bindings!

Don't worry about making it a plugin as it's a bit more complex as the API has to be somewhat generic. A good Lua set of bindings is all we need. No pressure though! :)</description>
            <pubDate>Mon, 13 Feb 2012 14:17:19 -0700</pubDate>
        </item>
        <item>
            <title>Subject: UseSelfAsParent makes spawner move twice as fast. - by: iarwain</title>
            <link>http://www.orxproject.org/forum?func=view&amp;catid=17&amp;id=3430#3502</link>
            <description>A spawner has to be owner of the spawned objects, that's how it can track of the currently active object number and delete them when the CleanOnDelete property is set to true.

You could change the owner manually when receiving the spawn event, but that would break both theses features. If you don't need them I guess it's ok.

If your parent isn't your main body, you should consider using a joint to link the different parts together instead.

This way applying any force/impulse/torque to a sub-body will be propagated to the full compound.</description>
            <pubDate>Mon, 13 Feb 2012 13:56:36 -0700</pubDate>
        </item>
        <item>
            <title>Subject: Pey - Orx Project Organizer - by: iarwain</title>
            <link>http://www.orxproject.org/forum?func=view&amp;catid=13&amp;id=650&amp;limit=20&amp;start=40#3496</link>
            <description>And here it is online: https://bitbucket.org/iarwain/pey

That's the same repository that will contain orx when I'm done with the next version (ie. after finishing the skeletal animation support).

The project is currently looking for a dev/maintainer so feel free to contact me if you're interested and I'll give you write access to the repository (or simply clone it on your own account if you'd rather do that).

@Eyecreate: Sorry for such a long delay, really. :(</description>
            <pubDate>Mon, 13 Feb 2012 03:02:28 -0700</pubDate>
        </item>
        <item>
            <title>Subject: To strange for me to explain - by: iarwain</title>
            <link>http://www.orxproject.org/forum?func=view&amp;catid=16&amp;id=3374#3495</link>
            <description>The physics debug drawing is now on the SVN.

It'll work in debug &amp; profile modes only and will display all the debug shapes when the config property Physics.ShowDebug is set to true. (The property can be changed on-the-fly during execution.)

Here's what it looks like:

http://www.orx-project.org/images/fbfiles/images/PhysicsDebug.png</description>
            <pubDate>Mon, 13 Feb 2012 02:30:27 -0700</pubDate>
        </item>
        <item>
            <title>Subject: Specifying transparent color for bitmaps? - by: iarwain</title>
            <link>http://www.orxproject.org/forum?func=view&amp;catid=16&amp;id=3484#3493</link>
            <description>That would be the orxDisplay_SetBitmapColorKey(). :)

Unfortunately it's more of a legacy feature for platforms that don't support alpha channel and it's currently not implemented in any default plugin.

I could still easily implement the feature though. However, in the case of .jpg images, it's unlikely to work properly as the JPEG compression alters the pixel values and you will end up with weird color patches and transparency that will not match the original contour.</description>
            <pubDate>Sun, 12 Feb 2012 18:25:41 -0700</pubDate>
        </item>
        <item>
            <title>Subject: Help a noob - by: iarwain</title>
            <link>http://www.orxproject.org/forum?func=view&amp;catid=16&amp;id=3376&amp;limit=20&amp;start=20#3492</link>
            <description>No worries. I'm glad it worked. :)</description>
            <pubDate>Sun, 12 Feb 2012 18:12:58 -0700</pubDate>
        </item>
        <item>
            <title>Subject: Large PNG won't load for orxGRAPHIC - by: acksys</title>
            <link>http://www.orxproject.org/forum?func=view&amp;catid=17&amp;id=3483#3489</link>
            <description>Thanks. Ya, I have already warned him we will need something significantly lighter in production :D</description>
            <pubDate>Sun, 12 Feb 2012 17:52:41 -0700</pubDate>
        </item>
        <item>
            <title>Subject: Ocean (An Orx Content Editor) - by: iarwain</title>
            <link>http://www.orxproject.org/forum?func=view&amp;catid=13&amp;id=2772&amp;limit=20&amp;start=40#3460</link>
            <description> ainvar wrote: 
 What I have in mind is to have full flexibility to add features to the editor.
For example...I'd like to add drawings of joints to know exactly where they are and how they act. I'd like to use vectorial drawings to draw such objects.
The same for spawners.
I'd like to add new objects like triggers, paths, gui controls and so on. 

That said, I think it would be easier (and less time consuming) to do that with a custom control instead of using ORX. 

That's probably true. :) (Well, except for physics display as soon I'll have Box2D own display system hooked up in orx. ;))

 
The editor I'm trying to do is more like a &quot;Visual Studio for Game Engine&quot; editor. 
You edit contents as you edit sources. Then you compile and test.

My goal it to have a tool to create a project containing all informations needed by a game engine. 

That's where I think things might get a bit more tricky. Game engines can have wildly different features and maintaining the set of tools/features available for engine X or Y while editing can become a huge task.

 I want to be able to draw scenes with layers, place objects in a map, define the kind of animations the objects can do, add sounds for objects and music for the scenes, add gui objects, add fonts/text and localization helpers and physics editor too. 

That sounds great if not a bit ambitious. :)

 I want to be able to export all contents for ORX or for any other engine that needs an editor like that.

I could do the same using ORX inside Ocean but for me it takes more time than using a custom control for static drawing.
What I miss more the the opportunity to directly draw into the editor view with something similar to GDI. 
With ORX all must be a stretched bitmap. While this is perfect for runtime, it's not for the kind of editor I mean. 

No, that's definitely a big limitation for the kind of display you need.
But if you go with an editor display only, you will get the opposite issue: you won't be able to represent things how they'll look into a game engine, and then the users will have to do back and forth every time they try to modify or tweak the properties of an object so that they can actually see how it'll look in-game.
Sure there are features that are likely to be common by most engines, like applying a teint or an alpha. Or even tiling or mirroring. But then come blending mode, anti aliasing modes, visual FXs, shaders, custom rendering, including 3D one, etc...

And that will not be rendered correctly - if at all - in the editor unless you rewrite everything related to display/rendering yourself (which is already a huge task for one single engine let alone many).
Otherwise that will require the users to constantly save and start the game, go to the place they want to test (might take many minutes in-game to get there) whenever they're setting or tweaking backgrounds, lighting or overall ambiance.

I think the best option is actually a mix: let the engine draw game content and use your own direct drawing for editor content.

Instead of embedding the engine window and have everything rendered by it, you can ask the engine to render to a texture instead.
If you start the engine in a separate thread inside the editor process, you could get the texture content directly from memory or, worst case scenario, have it sent via named pipes in the case of separate process.

 About the animation graph: 
I think the way orx uses animations is really great. Well, I think the way orx is done is great!.
For that reason the internal structure of the editor will be close to the one used by orx, expecially for animations and the animation transitions.
If other engines have a different way to handle animations I think it will be not a problem to write a nice exporter plugin because in ORX structure (or the close imitiation of Ocean) there will be all information needed. 

Maybe. I'm a bit more skeptical about that part but it might be something that can be solved, I don't know.
It's just that if an engine is missing a feature, like the animation graph for example. Whatever you export won't be handled by the engine at all. Unless you extend the engine yourself with that feature with writing a runtime layer that users will have to use on top of the engine, maybe?

 That said, I want to think more about that before make any modification. 

I'm afraid I can't be of much help there, sorry! :)</description>
            <pubDate>Fri, 10 Feb 2012 18:59:07 -0700</pubDate>
        </item>
        <item>
            <title>Subject: [SOLVED]Creating and interacting w &quot;custom&quot; fields - by: iarwain</title>
            <link>http://www.orxproject.org/forum?func=view&amp;catid=16&amp;id=3329#3457</link>
            <description>Nice!

Looking forward to learning more about your project. :)</description>
            <pubDate>Fri, 10 Feb 2012 15:25:05 -0700</pubDate>
        </item>
        <item>
            <title>Subject: Designing for different aspect ratios using Orx? - by: acksys</title>
            <link>http://www.orxproject.org/forum?func=view&amp;catid=16&amp;id=3431#3443</link>
            <description>Thanks! I will certainly be doing this for Android, so this is very helpful info.</description>
            <pubDate>Thu, 09 Feb 2012 06:23:12 -0700</pubDate>
        </item>
        <item>
            <title>Subject: [Solved]Spawner timing issues - by: sonicbhoc</title>
            <link>http://www.orxproject.org/forum?func=view&amp;catid=16&amp;id=3417#3442</link>
            <description>Oh, then maybe I misunderstood what you were saying. Either way, for now, I don't think I'll need to mess with this as much for now; after fixing the way my enemies move, some of those timing issues went away. But I'll still probably have to end up coming up with some way to organize all of this stuff in the C code eventually.</description>
            <pubDate>Thu, 09 Feb 2012 06:01:38 -0700</pubDate>
        </item>
        <item>
            <title>Subject: [Solved]Shooting at the player - by: sonicbhoc</title>
            <link>http://www.orxproject.org/forum?func=view&amp;catid=16&amp;id=3429#3441</link>
            <description>thanks guys!</description>
            <pubDate>Thu, 09 Feb 2012 05:57:15 -0700</pubDate>
        </item>
        <item>
            <title>Subject: What is the &quot;best&quot; resolution for bitmaps? - by: iarwain</title>
            <link>http://www.orxproject.org/forum?func=view&amp;catid=12&amp;id=3432#3440</link>
            <description> AlgoJerViA wrote: 
 I guess this is one of does question that never really will be answered but anyway. 

It's hard to get a general answer, for sure, but let's try our best. :)

 I assume that bitmaps a normally stored uncompressed in memory so that's pretty clear but does it directly mean anything to the performance of the game if the memory size of the bitmap is larger? 

So, actually, the bitmaps aren't stored in central memory but on GPU memory as OpenGL textures.
Well technically they're stored on central memory for a tiny amount of time while they're on their way to the GPU. ;)

And yes, they're uncompressed unless you're using compressed bitmap which are only available with orx for iOS for now (thanks to tdomhan).

As such, it's good to know on which architecture you're running. Basically GPU textures have some contraints. Some architectures for example only allow textures which width/height are powers of two.
In that case, if your bitmap is say (200x60), orx will actually create a (256x64) texture to store it. That's wasted space there but at least that's portable.

Even when platforms accept non power-of-two (NPOT) textures, having them with power-of-two size makes them slightly faster to use for the GPU.

Also, using what people recently call a texture atlas (similar to the sprite sheet for old timers), will make rendering much more efficient as the GPU will work with only one texture when displaying a lot of different objects.
Every time we need to tell the GPU to switch to a different texture, we have to stop the current rendering batch and switch the context on the GPU. This operation has some time cost which isn't negligible.

As a side note, whenever we need to display a bitmap that doen't have the same blending mode as the previous one, or a different shader or event a different smoothing, we also need to interrupt the current rendering batch and issue a draw call. The less draw calls we issue by frame, the better in term of performances.

If you sync the svn, I added yesterday markers for orxDisplay_DrawArrays in the profiler. Everytime this gets called means we interrupt the current batch and issue a draw call to the GPU. That gives a good idea of how many draw calls are issued by frame.
Also keep in mind that the rendering of the profiler itself uses 18 calls and the display of the FPS uses 1.

 When orx does scaling is it saving a smaller copy of the bitmap in memory, I read somewhere that scaling at run time is expensive, is that the reason and does that mean that zoom function should be avoided if the game gets to slow? 

That was true with pure 2D rendering (aka blitting) as the source itself needed to be modified before being drawn. And that was CPU intensive, especially if you threw a rotation in there. :)

That's not the case at all with 3D accelerated rendering. What happens behind the scene is that we create quads (actually it's 2 triangles, but for simplicity sake, let's call them quads).
Every time a sprite is rendered, a quad is created and textured with the appropriate bitmap (let's ignore custom shaders for now. :)).
So the bitmap/texture isn't modified at all, and when filling (aka rasterizing) the quad on screen, for every display pixel the GPU will do a look up to the correct texel in the texture.
So the size of the bitmap/texture isn't really important there (let's forget about the obscure topic that is GPU cache :)).

 Will a very small bitmap be harder to process it is scaled to a large size? 

As explained above, the bitmap/texture itself is left untouched. The GPU is simply doing lookups for every displayed pixel in the original texture, based on the texture coordinate (often called UV).

 Is it realistic to make object that have graphic size of say 3000*3000, lets say a planet in a 2d space game. 

Well, to sum it up, you should try to make spritesheets/texture atlas whenever you can (in orx you can then specify subparts of it for your bitmap using the TextureCorner and TextureSize config properties of the orxGRAPHIC). These atlas should have power-of-two sizes whenever you can, to make it optimal in term of speed.

That being said, most hardware have limitations on the max size for textures. Most of the time it's 1024 or 2048 for a side.

You also want to group your bitmaps by their use on screen. For example, putting all your pause menu bitmaps in one texture is a good practice as they're likely to be rendered at the same time and that will optimize them as being part of one single batch.

Same for your background, if you level only use a limited set of bitmaps for one background that can fit inside a texture, group them inside.

Well you see the logic now, I guess. :)

 Also on a side i wounder about the bounds of the world, is there a maximum distance that two objects can have and has that an effect on performance? 

No there isn't any limitation there that would affect performance. The limitation comes however on the precision.
Floating point numbers (aka floats) have a limited precision. The way they are represented on computers (http://en.wikipedia.org/wiki/IEEE_754-1985) means that they're very precise around 0 and get less and less precise the bigger the number is.

In orx we use them to define distance in pixels. That means that up to millions value (&lt; 10 000 000) we still have a sub-pixel precision. However, if we get above that number, our precision will be measured in pixels, and then tens of pixels, etc...

That's why games that need to cover huge areas usually use fixed points for coordinates. In this case they still have the same fixed precision close to 0 or very far from it. Fixed points are represented with integers but orx doesn't have any fixed point support (yet, it has been planned since the beginning but isn't very high priority and that's why you see macros such as orx2F(), ...).
Also note that some architectures don't have a FPU and can't work at all with floats (like the Nintendo DS, for example).

Note that if you're going to develop an open space game, you'll probably reach another performance limitation if you have a huge bunch of objects that exist simultaneously (think of 20 000+). But I wouldn't worry about that in early development stage anyway. :)

That can be solved with a partitioner. I've planned to add one to orx (likely to be a loose quadree/octree) but haven't had the time yet.


Hope this helps!</description>
            <pubDate>Thu, 09 Feb 2012 05:27:59 -0700</pubDate>
        </item>
        <item>
            <title>Subject: Can I use force to move a body? - by: iarwain</title>
            <link>http://www.orxproject.org/forum?func=view&amp;catid=16&amp;id=3322#3386</link>
            <description>I'll look for your other post(s) then but I'm curious to know which problems you encountered with spawners.</description>
            <pubDate>Mon, 06 Feb 2012 01:09:31 -0700</pubDate>
        </item>
        <item>
            <title>Subject: MSVS 2010 and Orx - by: Mystic</title>
            <link>http://www.orxproject.org/forum?func=view&amp;catid=12&amp;id=3353#3371</link>
            <description>Hi :) 
Thank you, I will. The engine is absolutely perfect  </description>
            <pubDate>Sun, 05 Feb 2012 06:19:32 -0700</pubDate>
        </item>
        <item>
            <title>Subject: Too many items in AnimationList - by: iarwain</title>
            <link>http://www.orxproject.org/forum?func=view&amp;catid=16&amp;id=3364#3367</link>
            <description>acksys' idea of splitting lists was was very good and I should update some tutorials on the wiki regarding that feature at some point, when I get some time.

As for defining everything manually, some things can be automated in some cases.
For example, if your directions are all behaving the same way, you could prefix everything by the direction itself (such as Left, Right, Up and Down) and create the config info for those directions at runtime, in the Init() callback, for example.

A way to do so, is defining a template for one direction (ie. all the anims/links for one direction), then having a list of directions (the 4 mentioned above), for each of them you replicate that template with the direction as prefix.

Not sure if that makes any sense but here's an example of creating config info at runtime for creating all the frames of one animation without having to write them all manually. (http://orx-project.org/forum?func=view&amp;catid=17&amp;id=1467#1476)

Everytime you're going to write manually config data that could be automated because they share a similar pattern, I'd advise letting the computer do it for you at runtime as it will save you quite some time, be more flexible if you want to add cases and be much less error prone than copy/paste + find/replace. :)</description>
            <pubDate>Sat, 04 Feb 2012 02:01:31 -0700</pubDate>
        </item>
        <item>
            <title>Subject: orxObject_GetPosition &amp; orxObject_GetWorldPosition - by: Movement617</title>
            <link>http://www.orxproject.org/forum?func=view&amp;catid=12&amp;id=3350#3357</link>
            <description>Thanks for your help, faistoiplaisir and iarwain. I now understander it completely - the one gets the absolute coordinate and the other one gets the relative. Thank you again  </description>
            <pubDate>Thu, 02 Feb 2012 21:50:58 -0700</pubDate>
        </item>
        <item>
            <title>Subject: Collision with two parts of the same body - by: iarwain</title>
            <link>http://www.orxproject.org/forum?func=view&amp;catid=16&amp;id=3326#3328</link>
            <description>Yes, you can acces this info: the part names are provided in the event payload.

[code]
typedef struct __orxPHYSICS_EVENT_PAYLOAD_t
{
  orxVECTOR       vPosition;              /**&lt; Contact position : 12 */
  orxVECTOR       vNormal;                /**&lt; Contact normal : 24 */
  const orxSTRING zSenderPartName;        /**&lt; Sender part name : 28 */
  const orxSTRING zRecipientPartName;     /**&lt; Recipient part name : 32 */

} orxPHYSICS_EVENT_PAYLOAD;
[/code]</description>
            <pubDate>Sun, 29 Jan 2012 22:43:18 -0700</pubDate>
        </item>
        <item>
            <title>Subject: [SOLVED]Simple Movement - by: iarwain</title>
            <link>http://www.orxproject.org/forum?func=view&amp;catid=16&amp;id=2572#3323</link>
            <description>Just a quick precision, don't type cast an orxBODY * to orxPHYSICS_BODY *, you're likely to end up corrupting memory by doing so. :)

And you want to use orxBody_ApplyImpulse and not orxPhysics_ApplyImpulse. The whole orxPhysics API is mostly used internally only and everything has been wrapped in the orxBody or even orxObject modules.

As sonicbhoc said, it's much better to open a new thread and I just saw yours so I'm going to reply to it shortly.</description>
            <pubDate>Sun, 29 Jan 2012 19:24:13 -0700</pubDate>
        </item>
        <item>
            <title>Subject: Several newbie questions (Windows/Visual C++) - by: sonicbhoc</title>
            <link>http://www.orxproject.org/forum?func=view&amp;catid=16&amp;id=3109#3320</link>
            <description>Another suggestion for the false positive problem: use MinGW instead of MSVS2008 or MSVS2010. MinGW uses GCC which I prefer anyway.

I use Eclipse (http://www.eclipse.org/) with MinGW (www.mingw.org/). This makes cross platform compiling very easy; I have one development environment for building Windows and Linux binaries (I haven't gotten around to Mac, as I don't have a Mac). Installing MinGW is easy, and Eclipse should pick it up by default. You might have to add its directories to the path though.

If you use MinGW, you have to change almost nothing for Linux compiling.</description>
            <pubDate>Sun, 29 Jan 2012 12:20:26 -0700</pubDate>
        </item>
        <item>
            <title>Subject: Split value in config ini file onto multiple lines - by: iarwain</title>
            <link>http://www.orxproject.org/forum?func=view&amp;catid=16&amp;id=2912&amp;limit=20&amp;start=20#3316</link>
            <description>I'm glad you like it.

And I totally forgot to mention the trimming of white spaces, which also include CR, LF and tab.</description>
            <pubDate>Fri, 27 Jan 2012 00:13:34 -0700</pubDate>
        </item>
        <item>
            <title>Subject: Xcode 4 links wrong version in orx-iphone - by: iarwain</title>
            <link>http://www.orxproject.org/forum?func=view&amp;catid=17&amp;id=3219#3314</link>
            <description>Well that's the thing. This doesn't exist in XCode 3, at least not like that.

And XCode 4 converts incorrectly the project file if I set the dependency in XCode 3 using the target sub-tree and it ends up in linking against the wrong version. I'll try to find more info about that next week end.</description>
            <pubDate>Tue, 24 Jan 2012 20:41:17 -0700</pubDate>
        </item>
        <item>
            <title>Subject: Camera setup - by: iarwain</title>
            <link>http://www.orxproject.org/forum?func=view&amp;catid=16&amp;id=3299#3312</link>
            <description> godexsoft wrote: 
 Wow thanks for the explanation. The whole story is a bit more complicated than I could hope though :) 

My pleasure! I should probably write a wiki entry to explain that more as it's a concept more frequent in 3D games and I can understand why it's confusing.

 So basically I can't use &quot;screen space&quot; coordinates to put my elements on screen, right? It's not very handy in terms of design-&gt;implementation :-) 

So yes, you can setup your camera so that your world space visually matches your screen space. You'll still actually work in the world space but the whole rendering process will give a 1-&gt;1 transformation in the end, making it look like screen space.

 What I'm trying to say is that a designer will give you a 320x480 png image with all ui elements present on the &quot;screen&quot; and you will have to find the 0.0-1.0 mapping for them. It's not too hard though as it's just simple math. 

Well, actually it's optional! The whole relatice positioning/scaling is only there to help achieve resolution-independence (which is nice when you're going on a devices with slightly different aspect ratio, like say, Android! ;)).
If you don't want to use relative positioning, you can still go old school.
When using relative coords, the camera's center is (0, 0), that means the top left corner is (-0.5, -0.5) and the bottom right one (0.5, 0.5).
When going with non-relatice coords, the camera's center is still (0, 0), unfortunately (consider it as the camera's pivot), which means the top left corner is (-FrustumWidth/2, -FrustumHeight/2) and the bottom right one (FrustumWidth/2, FrustumHeight/2).

 Now how to specify that you don't want to use relative position? 
Easy, that's the  UseParentSpace  config property.

By default its value is  both , which means both positions and scales will be considered as being relative.
You can specify  none ,  position  or  scale  as values to either go completely non-relative or have only one aspect defined as relative values.

Now if you find annoying that the camera's center is (0, 0) instead of the top left corner, the easiest way is to use an intermediary agent. By inserting a main-in-the-middle object, you can add a transformation. Let's call this middle agent &quot;UIRoot&quot;. For a (480, 320) camera:
[code]
[UIRoot]
ParentCamera   = Camera
UseParentSpace = position
Position       = (-240, -160, 0)
Scale          = 1
ChildList      = UIObject1 # ... ; Put all your UI items here
[/code]

Would compensate for (0, 0) being in the middle of the camera.
In this case though, you should *not* add UseParentSpace to the UIObjects config as that would replace their UIRoot parent with the camera. :)

In the same way, you can create containers, like a background + 2 buttons that are always together can be defined as a hierarchy with ChildList, which makes it very easy to move things around, either offline or even at runtime.

 So if I understand correctly the &quot;camera space&quot; coordinates visible on screen are always 0.0-&gt;1.0 on both x and y, right? What about world space coordinates? how are they different from camera space? 

The relative coords only exist when using ParentCamera and only at creation time. They're here to simplify resolution independent positioning. But orx will immediately transform them as real world space coords.

That means that objects rendered are inside the rectangle going from top left (CameraPos.X - FrustumWidth/2, CameraPos.Y - FrustumHeight/2) to bottom right (CameraPos.X + FrustumWidth/2, CameraPos.Y + FrustumHeight/2) (world space), and mapped to your viewport on screen (screen space).

That's why, if you have a static camera and set its CameraPos = (FrustumWidth/2, FrustumHeight/2) you end up of &quot;matching&quot; word space coordinates to screen space ones (assuming you're using only one fullscreen viewport of the same aspect ratio than the camera).
When you go in landscape mode, all you want is actually to move your top left corner to the &quot;next physical corner&quot;, which means rotation of 90°.

 
Thanks!
Alex 

My pleasure. If I weren't so bad with art (and lazy), I'd post a wiki entry with nice images to explain all this. :)</description>
            <pubDate>Mon, 23 Jan 2012 16:03:36 -0700</pubDate>
        </item>
        <item>
            <title>Subject: [SOLVED] Capturing Android events - by: iarwain</title>
            <link>http://www.orxproject.org/forum?func=view&amp;catid=16&amp;id=2879#3296</link>
            <description> faistoiplaisir wrote: 
 For the global volume, actually behaviour is exactly whats you said in your example, so it's perfect :)
 

Excellent, thanks! :)</description>
            <pubDate>Sun, 22 Jan 2012 09:20:11 -0700</pubDate>
        </item>
        <item>
            <title>Subject: Does Orx support @2x naming convention for iOS? - by: iarwain</title>
            <link>http://www.orxproject.org/forum?func=view&amp;catid=16&amp;id=3189#3293</link>
            <description>Thanks for the link for the exact iOS detection code, btw. As for the retina, that's already how we detect it in the iOS display plugin.</description>
            <pubDate>Sun, 22 Jan 2012 06:06:29 -0700</pubDate>
        </item>
        <item>
            <title>Subject: libgcc_s_dw2-1.dll is missing in tutorial - by: iarwain</title>
            <link>http://www.orxproject.org/forum?func=view&amp;catid=16&amp;id=3280#3292</link>
            <description>I changed the MinGW binaries last night (as well as the CodeLite project files) and you shouldn't need that DLL anymore if you're using the SVN. :)
If you want to rebuild orx using Code::Blocks or any other non CodeLite-way, simply use the same compiler/linker flags that are defined in the CodeLite project (those are XML files so they're easy to read).

Let me know if you have any other questions/issues.

Cheers!</description>
            <pubDate>Sun, 22 Jan 2012 06:02:56 -0700</pubDate>
        </item>
        <item>
            <title>Subject: Of orx, Scroll, C, C++ and Obj-C, OOP and DOD - by: iarwain</title>
            <link>http://www.orxproject.org/forum?func=view&amp;catid=12&amp;id=3268#3287</link>
            <description> godexsoft wrote: 
 Well, to be honest, I use that in Tapmania :) 

I guess that was before doing the performance test, then? ;)

 std::vector on the other hand is almost always better than custom arrays and stuff like that. 

I don't agree. In my experience, it's actually quite the contrary, at least when it comes to the default STL implementations that ship with compilers.
The link I posted earlier (http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007 2271.html) gives a good breakdown of common issues that come with default implementations.
Now I haven't checked C++11 in that matter, and it's possible they might have been fixed.

 I can't agree. Generating good asm code is a task for the compiler, not for the programmer. 

That wasn't my point, actually. My point is that the more you diverge from the underlying workflow, the more it gets harder to debug a release build from the source.

However, you actually raise an interesting point. Game console CPUs have historically a lot more constraints than regular PCs (or ARM CPUs, in that respect). They're getting better but it's not uncommon to not have branch prediction or out-of-order execution, for example, and you have to take those in account when writing your code.

 Perhaps there is a big difference when you are developing games for console platforms.. I found it very convenient to use modern c++ along with lots of libraries on iPhone/Android development.. even in game development for non-console platforms. 

I'm all with you about the convenience. It's just not the highest priority in all domains and performance tend to be the top one on console game engines.
And even for convenience, STL is lacking some precious features like intrusive containers.

 Of course. I didn't look carefully and missed the point. Yes, there is a bug in c++03 which, afaik, is fixed in c++11. The behaviour you describe is just bad design of c++03. But you may agree, that it's unlikely you will have a setup like this anyway. I mean i can't think of a scenario where you would have this kind of member functions along with inheritance. 

Afaik it was there before C++03 but I'm glad to learn that they addressed this issue in C++11. And about the likeliness, that was the first example that came to mind because I stumbled upon one case of it last November, in a much more complex situation, of course. :)

Same for the virtual methods called in c-tor/d-tor. It was done in a 3rd party library we were using and we didn't have access to its source. I ended up using my favorite hex editor to directly patch the library binaries.

 I have zero experience on console platforms so I will just trust your experience here :) 

Well, it's getting better with recent architectures, but there are still a lot of constraints to take into account when writing low level code. :)

 Smart pointers, however, are used in a much wider scope than just memory allocation. My example resource template can also be called a smart pointer because it's basically based on the same concept. 

Ah I see what you mean, I took the term too literally, I guess. :)

 I agree that heap usage must be minimised as much as possible. But you will agree that allocations are nothing bad unless you allocate/release hundreds of objects at 60hz :) 

Well, even if you don't do it that often and performance aside, you'll still end up with the memory fragmentation issue as I assume all your allocations are not the same size over your entire game. :)

 
I mean there is nothing wrong with allocating a lot of stuff once and then just use it. For example you will have to load a &quot;map&quot; into memory. You will have to load your resources and textures are definitely big enough to go onto the heap while you process them. 

I agree!
Though it depends on how many resources you have to track and what your load times are. How it's done in most of the games and engines on/with which I've worked (not including games that support streaming) is that resources are pre-processed offline to match the actual architecture (including endianness and data organization, like pushing actual data on the outer part of the disc to benefit from higher transfer rates) and are then loaded in a single pass in memory + pointers fixup.
That's an interesting strategy only if you have 10 000s or 100 000s assets to load for your level though, not really adapted for small to medium sized games.

 That being said, in c/c++ we have the stack and primitive types or even structures and classes which we can use without heap allocations.
For example in Java you can't make a &quot;point struct&quot; and have an array of active points/vertices on the stack. You are forced to use a class which will always end up on the heap. 
Then, to be efficient in Java, your only choice is having two static arrays of floats/ints, one for X values and one for Y values. Only that way they wont be dynamically allocated. 

Eek, it's been so long since I wrote some Java code (13+ years) that I didn't even remember that. I never wrote any game in Java though. :)</description>
            <pubDate>Fri, 20 Jan 2012 15:11:10 -0700</pubDate>
        </item>
        <item>
            <title>Subject: orx on iPhone - fps at ~45 - by: iarwain</title>
            <link>http://www.orxproject.org/forum?func=view&amp;catid=16&amp;id=3235#3276</link>
            <description>That's what's killing me: using glOrtho, setting up a smaller frustum or using a zoom should give the exact same UV coordinates in the end. There's no reason at all for the GPU to behave differently based on that only, especially in the last 2 cases. There must be a side effect I have yet to find happening somewhere. :)</description>
            <pubDate>Thu, 19 Jan 2012 10:12:19 -0700</pubDate>
        </item>
        <item>
            <title>Subject: Is config encryption enough to prevent cheating? - by: acksys</title>
            <link>http://www.orxproject.org/forum?func=view&amp;catid=16&amp;id=3248#3266</link>
            <description>Ah.. well yes, I may have gotten ahead of myself there.

The GameKit documentation does recommend using the NSCoding class to encode the GC object, but there isn't a mention of encryption, or I missed it. Maybe Apple doesn't think anyone actually jailbreaks their iOS.

However, it looks like the iPhone SDK does include encryption libraries that can be used for this purpose, and a good discussion of that is here: http://www.cocos2d-iphone.org/forum/topic/6982

With that method, though, the &quot;key&quot; would still be contained in the source code, so iarwain's suggestion of CRC would still add some security. This is interesting anyway for implementing a social component independent of a service like Game Center...

This is all theoretical at the moment, though. I would like to have the problem that thousands of players are competing so hard in my game they are willing to go to such great lengths to cheat :)</description>
            <pubDate>Wed, 18 Jan 2012 16:44:54 -0700</pubDate>
        </item>
        <item>
            <title>Subject: Scroll / Orx and C++, a survey for all orx users - by: faistoiplaisir</title>
            <link>http://www.orxproject.org/forum?func=view&amp;catid=12&amp;id=2505&amp;limit=20&amp;start=20#3230</link>
            <description>Hi,

I took a look at the native version. I think it's easy to do. Similar methods are available in Java and Native API.

But, since I never compile myself the native version, and because I don't use it, I think I don't do that quickly.

But If someone need that immediatly, I can do an effort :)
If no one need it immediatly, it can wait ^^

In the futur (probably my next game) I will use the native version. In this case, I will change that to support more than one touch (for now, I confirm, the native version manage only one touch).

So, just be patient ^^</description>
            <pubDate>Tue, 17 Jan 2012 03:44:18 -0700</pubDate>
        </item>
        <item>
            <title>Subject: [SOLVED] TTF Fonts? - by: iarwain</title>
            <link>http://www.orxproject.org/forum?func=view&amp;catid=16&amp;id=2951#3227</link>
            <description>No worries. Even with a 32x32 size (which is probably more than enough for nice looking Chinese characters), it'd be under 4MB.
And we could probably cut the textures by group of pages, as mentioned above.
Also please note that textures can be created programmatically, so if storage is an issue, one could still use FreeType2 to generate the glyphs/textures during loading, for example.</description>
            <pubDate>Mon, 16 Jan 2012 18:31:42 -0700</pubDate>
        </item>
        <item>
            <title>Subject: [SOLVED] Zoom scene with custom pivot - by: iarwain</title>
            <link>http://www.orxproject.org/forum?func=view&amp;catid=16&amp;id=3207#3225</link>
            <description>Glad it worked!</description>
            <pubDate>Mon, 16 Jan 2012 18:24:07 -0700</pubDate>
        </item>
        <item>
            <title>Subject: Orx Android project with multiple activities? - by: acksys</title>
            <link>http://www.orxproject.org/forum?func=view&amp;catid=16&amp;id=3131#3222</link>
            <description>Thanks, lydesik. Very helpful.</description>
            <pubDate>Mon, 16 Jan 2012 11:53:33 -0700</pubDate>
        </item>
        <item>
            <title>Subject: Purpose of orxBOOL, orxFLOAT... - by: iarwain</title>
            <link>http://www.orxproject.org/forum?func=view&amp;catid=12&amp;id=3170#3181</link>
            <description> grumly wrote: 
 Thank you for the explanations. I understood that I needed to write orx2F before float values I typed, like orx2F(0.5f) instead of just 0.5f. Apparently orxS32 is the equivalent to int. 

No problem! Now you see what the logic behind the orx2F and such is. :)
orxS32 is indeed the equivalent of int on 32b architectures. orxU32 being the equivalent of unsigned int.

 
I'm reading a site that says a bool is 32 bits in c++, I thought naively it was just 1 bit. Then it doesn't sound so wierd that an orxBOOL is 32 bits as well. 

Well, it might be implementation defined, I don't have the standards at hand.
I know that Microsoft used to have 32b bools back in old versions of visual studio but switched to 1bit bools a few years ago, all those bools being packed which means that having 1 bool or 8 bool variables consecutively in memory would still take 1 byte of memory (there's no way to address less than 1 byte in modern architectures): ie. sizeof(bool) == 1 == sizeof(char).</description>
            <pubDate>Mon, 09 Jan 2012 17:40:25 -0700</pubDate>
        </item>
        <item>
            <title>Subject: 关于Android Native Dev的疑问 - by: iarwain</title>
            <link>http://www.orxproject.org/forum?func=view&amp;catid=20&amp;id=3115#3138</link>
            <description>@jtianling: it's nice to see you're still around here for the Chinese posters!

@chevin: Thanks for the info, it's definitely useful but I think you should post them in a separate thread on the English section for more people to benefit from them. :)</description>
            <pubDate>Tue, 03 Jan 2012 15:35:23 -0700</pubDate>
        </item>
        <item>
            <title>Subject: New Function Request - by: Peso</title>
            <link>http://www.orxproject.org/forum?func=view&amp;catid=17&amp;id=3120#3128</link>
            <description>Hi iarwain,
good news! Thanks.</description>
            <pubDate>Tue, 27 Dec 2011 11:45:02 -0700</pubDate>
        </item>
        <item>
            <title>Subject: Stop and remove all sounds added to an object - by: iarwain</title>
            <link>http://www.orxproject.org/forum?func=view&amp;catid=16&amp;id=3089#3121</link>
            <description>You're welcome!</description>
            <pubDate>Fri, 23 Dec 2011 11:16:36 -0700</pubDate>
        </item>
        <item>
            <title>Subject: AVG detects Orx as trojan - by: iarwain</title>
            <link>http://www.orxproject.org/forum?func=view&amp;catid=12&amp;id=3105#3108</link>
            <description>Just in case, a small detail: only sync the /trunk folder if you don't want to sync GB of non-useful branches. :)

If you have any questions, don't hesitate, the wiki has some info but it's not always easy to find what one's looking for.</description>
            <pubDate>Wed, 14 Dec 2011 22:05:42 -0700</pubDate>
        </item>
        <item>
            <title>Subject: error in compiling Tutorial code in linux x86_64 - by: iarwain</title>
            <link>http://www.orxproject.org/forum?func=view&amp;catid=16&amp;id=3099#3104</link>
            <description>My pleasure!

If you still have issues, please let us know. Don't hesitate to ask questions here, sometimes it can help save some hours and frustration. :)</description>
            <pubDate>Wed, 14 Dec 2011 02:43:04 -0700</pubDate>
        </item>
        <item>
            <title>Subject: 哈哈，报道贴 - by: jtianling</title>
            <link>http://www.orxproject.org/forum?func=view&amp;catid=20&amp;id=960#3103</link>
            <description>事实上，这个是个法国人做的，并且主要还是英文......</description>
            <pubDate>Wed, 14 Dec 2011 00:19:41 -0700</pubDate>
        </item>
        <item>
            <title>Subject: Not able to combine animations and shaders? - by: iarwain</title>
            <link>http://www.orxproject.org/forum?func=view&amp;catid=16&amp;id=3030#3086</link>
            <description>Indeed! Well then, whenever you can communicate (probably after release?), let us know. :)</description>
            <pubDate>Tue, 06 Dec 2011 18:02:29 -0700</pubDate>
        </item>
        <item>
            <title>Subject: GUI and Cario support in Orx - by: iarwain</title>
            <link>http://www.orxproject.org/forum?func=view&amp;catid=12&amp;id=3080#3081</link>
            <description>Hi ming and welcome here!

First of all, thanks for your appreciation.

As for GUI support, someone began to create a GUI plugin based on CEGUI a couple of years ago but never finished it. I know the plugin was in a somewhat workable state but I don't think I have the latest sources for it unfortunately.

As for vector drawing, I guess you mean Cairo. There isn't any plans to support that so far but that could be done without too much hassle by writing different render and display plugins, I think.</description>
            <pubDate>Tue, 06 Dec 2011 02:48:31 -0700</pubDate>
        </item>
        <item>
            <title>Subject: [SOLVED]Draw Order Issues - by: iarwain</title>
            <link>http://www.orxproject.org/forum?func=view&amp;catid=16&amp;id=3070#3077</link>
            <description> sonicbhoc wrote: 
 What's the default FrustrumNear? 

0
 
Right now, my camera has a Z of -1 and a FrustrumFar of 1, and the default FrustrumNear.

What exactly do these three values do? 

It defines the frustum of the camera, ie the portion of space seen by the camera that verifies the equation written earlier.</description>
            <pubDate>Sat, 03 Dec 2011 13:23:40 -0700</pubDate>
        </item>
        <item>
            <title>Subject: &quot;The American Dream&quot; on Android - by: newton64</title>
            <link>http://www.orxproject.org/forum?func=view&amp;catid=13&amp;id=3022#3075</link>
            <description>Ahhh, good to know! I'll go back through and see if I can find any instances of that problem.

Thanks!</description>
            <pubDate>Fri, 02 Dec 2011 21:50:45 -0700</pubDate>
        </item>
        <item>
            <title>Subject: Object deletion - by: iarwain</title>
            <link>http://www.orxproject.org/forum?func=view&amp;catid=16&amp;id=3017#3025</link>
            <description>Hehe, don't mention it. :)
For the side effects, the biggest (that I can remember) was when using a SetLifeTime(0) on a parent object, we'd then immediately delete its children while traversing the collection of objects during the next &quot;tick&quot;. And of course, removing items while traversing the collection resulted in dangling pointers in the traversal code.

As for the old version, that's wisdom speaking. However only been fixes have been added over the past few months, no new features. :)</description>
            <pubDate>Tue, 29 Nov 2011 15:29:48 -0700</pubDate>
        </item>
        <item>
            <title>Subject: Drawing a text dinamically - by: iarwain</title>
            <link>http://www.orxproject.org/forum?func=view&amp;catid=16&amp;id=2997#3000</link>
            <description>Some quick details though:

Orx is an engine and not a library, which means you usually don't issue direct game loop commands such as doing the rendering yourself. As you've noticed, objects exist in a 3D world, are &quot;seen&quot; by a camera that will then render to the screen or a texture view a viewport. Objects are updated in the game simulation and you can modify them at will.

If you want to bypass that scheme and issue direct orders, like direct string rendering, there are ways to do it such as by listening to the render events and call directly the orxDisplay API, but those are advanced techniques to be used only in very specific cases and can lead to breaking the whole game loop if not carefully handled. :)</description>
            <pubDate>Mon, 28 Nov 2011 01:40:28 -0700</pubDate>
        </item>
        <item>
            <title>Subject: A ton of spawner issues and questions - by: Yoder</title>
            <link>http://www.orxproject.org/forum?func=view&amp;catid=16&amp;id=2949#2991</link>
            <description>Okay, so we were thinking the same thing.

I understand that that was your approach; I was merely explaining my reasoning. :)

We will be using the config system to make the changes to the bullets at runtime. I wasn't aware that &quot;config system&quot; could refer to that aspect of orx as well.

Thanks for the encouragement!</description>
            <pubDate>Sun, 27 Nov 2011 19:16:56 -0700</pubDate>
        </item>
        <item>
            <title>Subject: Visual game developing. Am I in the wrong place? - by: kerkidas</title>
            <link>http://www.orxproject.org/forum?func=view&amp;catid=16&amp;id=2897#2970</link>
            <description>Thank you. I'll get started and I'll ask for help again if I get stuck.

I really appreciate your support.</description>
            <pubDate>Sat, 26 Nov 2011 05:54:32 -0700</pubDate>
        </item>
        <item>
            <title>Subject: Deactivate physics on object? - by: iarwain</title>
            <link>http://www.orxproject.org/forum?func=view&amp;catid=16&amp;id=2960#2969</link>
            <description>Hi!

You can access any component stored on an orxOBJECT by calling orxOBJECT_GET_STRUCTURE.

In this case, to get a body, you need to call:

[code]
orxBODY *pstBody = orxOBJECT_GET_STRUCTURE(pstObject, BODY);
[/code]

In your case you probably want to modify the flags/mask of your body when you get the collision so that future collisions will be filtered out.</description>
            <pubDate>Sat, 26 Nov 2011 03:10:54 -0700</pubDate>
        </item>
        <item>
            <title>Subject: Clock Unregister issue - by: iarwain</title>
            <link>http://www.orxproject.org/forum?func=view&amp;catid=16&amp;id=2940#2968</link>
            <description>Thanks for your appreciation! It's a bit buggy as a result of being updated to a version of orx/scroll that have evolved over the past 2 years, but I'll try to clean that soon.

Yes there are a few unused assets, I started with the DragonLady as the playable character as she was the one that was the most visually advanced of all the available resources for the compo. She's not a boss but you can play with her, except she only had melee attacks and, being a bad designers, I wasn't sure how to use that in the game.
Btw, all the characters in game can be either AI-controlled or controlled by the player. I added a very simple virtual interface to their actions. Those actions are linked directly to orxINPUTs in the case of a player character. In the case of AI, the &quot;brain&quot; simply activates those virtual actions instead of modifying the characters directly.
This way you can easily debug characters by controlling them directly or add multiplayer and allow players to chose among all the available characters. The only exception is the end boss which is completely scripted and has no virtual interface.

As for your collection of objects, if you use Scroll, you can traverse all the available objects on a per class basis.

[code]
Scroll::GetNextObject() will go through all the ScrollObject-based objects whereas
Scroll::GetNextObject() will only go through the objects of type Type.
[/code]
They're both as performant as I'm only using a single list and grouping objects based on their class for a better cache friendliness when updating them.

As you've probably already found, ScrollObject gives a virtual Update() method if you want to do object processing without having to register your own clock callback for that purpose.</description>
            <pubDate>Sat, 26 Nov 2011 03:02:40 -0700</pubDate>
        </item>
        <item>
            <title>Subject: Debug build of Mushroomstew - by: iarwain</title>
            <link>http://www.orxproject.org/forum?func=view&amp;catid=16&amp;id=2514#2967</link>
            <description>My pleasure!

I'll try to fix the remaining bugs soon-ish in order to have something clean for people to play with. :)</description>
            <pubDate>Sat, 26 Nov 2011 02:53:38 -0700</pubDate>
        </item>
        <item>
            <title>Subject: HasFX - by: iarwain</title>
            <link>http://www.orxproject.org/forum?func=view&amp;catid=17&amp;id=2942#2961</link>
            <description>Hi duenez!

I see your point but I feel that you should approach the problem from the opposite.

Taking the invulnerability example, I think you should store that status on your object (in your own structure linked to the orxOBJECT) and use it to activate/deactivate the effects it has, including the fact your object can't be damaged, FX, sound, etc.

For me an FX is the result of a status change and not the status itself. Does it make sense?

But yes, I can add a HasFX() accessor nonetheless. I'll try to do it next week.</description>
            <pubDate>Sat, 26 Nov 2011 02:03:24 -0700</pubDate>
        </item>
        <item>
            <title>Subject: AddTimer - by: iarwain</title>
            <link>http://www.orxproject.org/forum?func=view&amp;catid=16&amp;id=2934#2936</link>
            <description>Hi javierely1 and welcome here!

First of all, you don't need to cast your timer callback as long as its definition is compatible. The last parameter, context, is simply a value we'll then transmit to your callback when we call it. If you don't need any context to be transmitted to your callback, then you can simply leave it to orxNULL.

Here's some code:

[code]

// Your callback function
void orxFASTCALL StartEnemyWave(const orxCLOCK_INFO *_pstInfo, void *_pContext)
{
  // Do whatever you want in it
}

And its registration to the main clock:

orxClock_AddTime(orxClock_FindFirst(orx2F(-1.0f), orxCLOCK_TYPE_CORE), StartEnemyWave, orxConfig_GetListFloat(&quot;ListDelay&quot;, wave_delay), 1, orxNULL);
[/code]

Note that in your exemple you were getting a string from config and not a float for your delay.</description>
            <pubDate>Wed, 23 Nov 2011 13:29:17 -0700</pubDate>
        </item>
        <item>
            <title>Subject: [SOLVED] Variable Wave Delays - by: iarwain</title>
            <link>http://www.orxproject.org/forum?func=view&amp;catid=16&amp;id=2922#2930</link>
            <description>I see you already got the assistance of the &quot;roi du spawner&quot;, but I still have a trick up my sleeve. :)

There's a much more efficient way of doing what you want. There are many spawner events to which you can listen and act upon the spawner directly.
One of them is orxSPAWNER_EVENT_SPAWN, which is fired everytime an object is spawned. It also contains both the spawned object and the spawner, so no need to crawl through all your objects to update your spawner, it's right there. If you were to create objects &quot;Enemy&quot; from anywhere else, this also has the advantage that you could track them separately, on a per spawner basis.

You can also listen to orxSPAWNER_EVENT_WAVE_STOP, if you wanted to act whenever a wave is over (useful if you decide to spawn more than 1 Enemy per wave).

Lastly, it you set a TotalObject limit on your spawner, no need anymore to track the number of spawned objects manually.

In config, you setup your TotalLimit to 3. In your code you listen to the orxSPAWNER_EVENT_EMPTY, whenever you hit that event, you can then set your spawner limit to something else, update the wave delay and then reset it (orxSpawner_Reset()).

If you're very lazy like me, you can also add the AutoReset property that will call the reset for you, and instead of the empty event, you can listen to orxSPAWNER_EVENT_RESET.

The event approach has the advantage of not crawling through all the objects in your Update and only do the bare minimum for your spawner logic.

Something like:

[code]
Config:

[Spawner]
Object = Enemy
WaveSize = 1
WaveDelay = 1.5
ObjectSpeed = (-80, 0, 0)
CleanOnDelete = True
AutoReset = true


; Now some user-only config for your spawner logic

StageList = 3 # 2 # 0; All the different spawner stages, the 0 means we don't set any more stages after that
DelayList = 1.0 # 0.5 # 0.2; When reaching 3 objects-&gt; Delay = 1.0, 2 more objects -&gt; 0.5, etc...
SpeedList = (-100, 0, 0) # (-120, 0, 0) # (-150, 0, 0); Same logic for the speeds

[EnemySpawner]
Spawner = Spawner

In code:

You have to keep an Index somewhere in your code for your spawner, let's assume it's global here and called u32StageIndex

orxSTATUS orxFASTCALL SpawnerEventHandler(const orxEVENT *_pstEvent)
{
  if((_pstEvent-&gt;eType == orxEVENT_TYPE_SPAWNER)
  &amp;&amp; (_pstEvent-&gt;eID == orxSPAWNER_EVENT_RESET))
  {
    orxVECTOR vTemp;
    orxSPAWNER *pstSpawner = orxSPAWNER(_pstEvent-&gt;hSender);

    orxConfig_PushSection(orxSpawner_GetName(pstSpawner));

    // Updates spawner
    orxSpawner_SetTotalObjectLimit(pstSpawner, orxConfig_GetListU32(&quot;StageList&quot;, u32StageIndex));
    orxSpawner_SetWaveDelay(pstSpawner, orxConfig_GetListFloat(&quot;DelayList&quot;, u32StageIndex));
    orxSpawner_SetObjectSpeed(pstSpawner, orxConfig_GetListVector(&quot;SpeedList&quot;, u32StageIndex, &amp;vTemp));

    // Updates stage index
    u32StageIndex++;

    orxConfig_PopSection();
  }

  return orxSTATUS_SUCCESS;
}
[/code]
Note that orxSpawner_SetTotalObjectLimit() with 0 actually removes the limit, so no more empty/auto-reset will happen.</description>
            <pubDate>Wed, 23 Nov 2011 11:54:18 -0700</pubDate>
        </item>
        <item>
            <title>Subject: [SOLVED] Set Nametag from random line in text file - by: rebthegreat</title>
            <link>http://www.orxproject.org/forum?func=view&amp;catid=16&amp;id=2822&amp;limit=20&amp;start=20#2920</link>
            <description>We're all systems go with the SVN version!</description>
            <pubDate>Tue, 22 Nov 2011 08:24:35 -0700</pubDate>
        </item>
        <item>
            <title>Subject: Eclipse doesn't update after changing config files - by: iarwain</title>
            <link>http://www.orxproject.org/forum?func=view&amp;catid=12&amp;id=2913#2915</link>
            <description>Thanks for the info!</description>
            <pubDate>Mon, 21 Nov 2011 19:42:08 -0700</pubDate>
        </item>
        <item>
            <title>Subject: Orx Wallpapers - by: Mhyre</title>
            <link>http://www.orxproject.org/forum?func=view&amp;catid=14&amp;id=2821#2901</link>
            <description> acksys wrote: 
 Looking good at 1440x900, too. (http://imgur.com/dllpj) 

Glad you like them! :)</description>
            <pubDate>Sun, 20 Nov 2011 15:38:31 -0700</pubDate>
        </item>
        <item>
            <title>Subject: SOLVED: I cannot download ORX - by: kerkidas</title>
            <link>http://www.orxproject.org/forum?func=view&amp;catid=16&amp;id=2862#2896</link>
            <description>Thank you. Once I get started on the engine I'll check it out.</description>
            <pubDate>Sun, 20 Nov 2011 03:36:17 -0700</pubDate>
        </item>
        <item>
            <title>Subject: Better Eclipse settings / preferences for Android - by: iarwain</title>
            <link>http://www.orxproject.org/forum?func=view&amp;catid=16&amp;id=2888#2890</link>
            <description>Thanks for the link. I'm sure it'll be helpful to others. One day, I too will compile the Android version. ;)</description>
            <pubDate>Fri, 18 Nov 2011 00:39:44 -0700</pubDate>
        </item>
        <item>
            <title>Subject: Using spawners to generate complex bullet patterns - by: sonicbhoc</title>
            <link>http://www.orxproject.org/forum?func=view&amp;catid=16&amp;id=2820#2863</link>
            <description>Really? Well, that opens up our options quite a bit. Thank you! I'll let you know if simply setting the position causes issues in our program but this sounds promising.

Thanks to the both of you. See you later!</description>
            <pubDate>Wed, 16 Nov 2011 06:05:18 -0700</pubDate>
        </item>
        <item>
            <title>Subject: Detecting multiple fingers/touches (iOS, Android) - by: faistoiplaisir</title>
            <link>http://www.orxproject.org/forum?func=view&amp;catid=16&amp;id=2488#2850</link>
            <description>Hi Newton64,

Take a look at the TouchManager.inl, in the method:

void TouchManager::GetActiveIdArraySingle(const orxSTRING zPickInput,orxU32** ppuArray, orxU32* puCount)

The zPickInput is used with the orxInput_XXX function. The content of this var come from the config, like that :

[Input]
MOUSE_LEFT	= PickInGame

In the sample code, the content of zPickInput is &quot;PickInGame&quot;.

But, note that this function is used only when you compile TouchManager.inl without the __MULTITOUCH__ defined. So, multitouch is disabled if you use this function.

When multitouch is enabled (it means you have a #define __MULTITOUCH__ in your code), you don't need to add an input in the config. Actually, Multitouch works without input, only using orx event.

Note: if you try to enable multitouch on your phone, don't forgot to add this line to your main activity :

// We want the multitouch support !
wantsMultitouch = true;

This var come from the base class activity of the nvidia framework (NvEventQueueActivity). The default value for this var is ... false ... in the framework. So you have to set it to true to add multitouch support to your app !


Hope this help !</description>
            <pubDate>Tue, 15 Nov 2011 14:58:39 -0700</pubDate>
        </item>
        <item>
            <title>Subject: Windowed ORX - by: ainvar</title>
            <link>http://www.orxproject.org/forum?func=view&amp;catid=12&amp;id=2326&amp;limit=20&amp;start=40#2844</link>
            <description>For who wants to try a version of the Ocean editor, I put an executable in this thread (http://orx-project.org/forum?func=view&amp;catid=13&amp;id=2772#2839)

I'll continue to inform you about Ocean on the specified thread.

Bye</description>
            <pubDate>Tue, 15 Nov 2011 09:16:16 -0700</pubDate>
        </item>
        <item>
            <title>Subject: XCode template exe doesn't update after build? - by: rebthegreat</title>
            <link>http://www.orxproject.org/forum?func=view&amp;catid=16&amp;id=2792#2836</link>
            <description>Ooh, fancy fancy!</description>
            <pubDate>Mon, 14 Nov 2011 22:19:09 -0700</pubDate>
        </item>
        <item>
            <title>Subject: CodeLite windows / VS2010Express solutions? - by: sausage</title>
            <link>http://www.orxproject.org/forum?func=view&amp;catid=12&amp;id=2698&amp;limit=20&amp;start=20#2833</link>
            <description>Well no, maybe if I did my research first and actually read it.   </description>
            <pubDate>Mon, 14 Nov 2011 15:52:29 -0700</pubDate>
        </item>
        <item>
            <title>Subject: Animation on object removal - by: sonicbhoc</title>
            <link>http://www.orxproject.org/forum?func=view&amp;catid=16&amp;id=2814#2817</link>
            <description>Ah, OK. I just wanted to make sure that you didn't have something that got called on object death that we could modify. That could actually be a pretty cool function to add, but it might not be worth the time or effort at the moment.</description>
            <pubDate>Fri, 11 Nov 2011 13:19:49 -0700</pubDate>
        </item>
        <item>
            <title>Subject: Does Orx run in iOS Simulator? - by: iarwain</title>
            <link>http://www.orxproject.org/forum?func=view&amp;catid=12&amp;id=2811#2812</link>
            <description>It works great in the iOS simulator. I've tried it with iPhone/iPad with or without retina support.
I haven't tried with the latest iOS version though, but it should be fine I think (maybe a few quirks to fix as always when a new iOS version is released).

However, you won't be able to freely test multi-touch nor accelerometer on the simulator version. You also need to be aware that the simulator is likely to run much faster than the actual device in most cases. That's about it. :)</description>
            <pubDate>Wed, 09 Nov 2011 20:01:04 -0700</pubDate>
        </item>
        <item>
            <title>Subject: Photoshop CS5 can't open orxfontgen TGA file - by: iarwain</title>
            <link>http://www.orxproject.org/forum?func=view&amp;catid=12&amp;id=2806#2810</link>
            <description>Definitely, good to know! :)
I've been opening those files with a few different image editors (including Paint.NET, Gimp and XNView) so photoshop is the ugly duckling this time.
I guess we should really put together a FAQ section in the wiki for things like this. :)</description>
            <pubDate>Wed, 09 Nov 2011 18:09:35 -0700</pubDate>
        </item>
        <item>
            <title>Subject: GetWorldPosition problem on ANDROID - by: acksys</title>
            <link>http://www.orxproject.org/forum?func=view&amp;catid=16&amp;id=2770#2803</link>
            <description>Looking good. I did as you said and now screen coordinates make sense with world coordinates and my picking functions are working in my project.  B) 

Areas in the status bar on my project (landscape mode) are shown as x==0, y==0 in World coordinates

Whereas areas in the status bar and near the android buttons on the demo project (portrait mode) are still shown sometimes in bogus coordinates as described above.

But again, the coordinates on the actual game area look good and Absolute Picking is working. I'll be doing more dev and testing on my project in a couple days, so I'll test it thoroughly.

Thanks for the quick fix!</description>
            <pubDate>Tue, 08 Nov 2011 19:00:33 -0700</pubDate>
        </item>
        <item>
            <title>Subject: physics events problems with xcode 4 - by: iarwain</title>
            <link>http://www.orxproject.org/forum?func=view&amp;catid=16&amp;id=2744#2775</link>
            <description>No worries, I like the kind of bugs that get solved without me having to do any work. ;)</description>
            <pubDate>Mon, 07 Nov 2011 14:52:35 -0700</pubDate>
        </item>
        <item>
            <title>Subject: Quitting a plugin application - by: sonicbhoc</title>
            <link>http://www.orxproject.org/forum?func=view&amp;catid=16&amp;id=2759#2765</link>
            <description>I figured there was a better way to do this. Thanks!</description>
            <pubDate>Fri, 04 Nov 2011 15:19:30 -0600</pubDate>
        </item>
        <item>
            <title>Subject: Doubly-linked lists - by: iarwain</title>
            <link>http://www.orxproject.org/forum?func=view&amp;catid=17&amp;id=2735#2762</link>
            <description>No worries!
In good old C tradition, everything you see in header files you can use freely. :)</description>
            <pubDate>Fri, 04 Nov 2011 15:10:35 -0600</pubDate>
        </item>
        <item>
            <title>Subject: [SOLVED] Android: OpenGL error on textures - by: newton64</title>
            <link>http://www.orxproject.org/forum?func=view&amp;catid=16&amp;id=2695#2761</link>
            <description>Gotcha. Didn't know if the warnings about not finding the .pkm files were serious or not...though clearly, the program runs just fine anyway. I think I'll stick to .png's with alpha, myself.

Thanks for the info!</description>
            <pubDate>Fri, 04 Nov 2011 13:49:26 -0600</pubDate>
        </item>
        <item>
            <title>Subject: [FIXED]Releasing input fires orxFX_EVENT_STOP - by: sonicbhoc</title>
            <link>http://www.orxproject.org/forum?func=view&amp;catid=17&amp;id=2737#2756</link>
            <description>Forgot to do that. Done!</description>
            <pubDate>Thu, 03 Nov 2011 21:45:24 -0600</pubDate>
        </item>
        <item>
            <title>Subject: [REQUEST]Set an object's alpha from the code - by: iarwain</title>
            <link>http://www.orxproject.org/forum?func=view&amp;catid=17&amp;id=2749#2754</link>
            <description>No problem. In that case none is actually applied, which has the same result as using the color white (ie. fully lit).</description>
            <pubDate>Thu, 03 Nov 2011 20:12:29 -0600</pubDate>
        </item>
        <item>
            <title>Subject: Text and Font wrapping- quick question (hopefully) - by: SeanF</title>
            <link>http://www.orxproject.org/forum?func=view&amp;catid=16&amp;id=2716#2742</link>
            <description>Thanks for that :) Should be fine making our own, just wanted to make sure the functionality didn't already exist. 

Cheers, 

Sean</description>
            <pubDate>Wed, 02 Nov 2011 22:01:38 -0600</pubDate>
        </item>
        <item>
            <title>Subject: [SOLVED] Not receiving orxEVENT_TYPE_SOUND events - by: iarwain</title>
            <link>http://www.orxproject.org/forum?func=view&amp;catid=16&amp;id=2532&amp;limit=20&amp;start=20#2734</link>
            <description>Ah I see, I missed the API level 8 label in the corner of the function description in their doc. Subtle.

Is that really that non-trivial to get the version of Android used by a device? Sounds to me like one of the fundamental requirements of any OS.</description>
            <pubDate>Wed, 02 Nov 2011 11:37:21 -0600</pubDate>
        </item>
        <item>
            <title>Subject: [SOLVED] Bus error on Mac OS 10.7 - by: iarwain</title>
            <link>http://www.orxproject.org/forum?func=view&amp;catid=16&amp;id=2582#2730</link>
            <description>Hi jonc and welcome here!

Glad it helped you. We should probably add a FAQ to orx's wiki and put that info there. I'll try to start a FAQ in a few days but I seriously lack of time lately. :/</description>
            <pubDate>Tue, 01 Nov 2011 19:18:52 -0600</pubDate>
        </item>
        <item>
            <title>Subject: Rendering vertex with orx - by: iarwain</title>
            <link>http://www.orxproject.org/forum?func=view&amp;catid=16&amp;id=2706#2723</link>
            <description>It's actually not that bad but it definitely requires some knowledge of OpenGL. It might feel overwhelming at first but that feeling should dissipate quickly. :)</description>
            <pubDate>Tue, 01 Nov 2011 11:47:44 -0600</pubDate>
        </item>
        <item>
            <title>Subject: [SOLVED] Android crash in eglCreateContext - by: faistoiplaisir</title>
            <link>http://www.orxproject.org/forum?func=view&amp;catid=16&amp;id=2687#2694</link>
            <description>Ok for all ! You're right !

So, LogCat is very very usefull ! And you can add your log in the tool, you just have to call the orxDEBUG_PRINT() or something like that in your code.

For orx[d].ini, actually it's necessary. I forgot to mention that.

Initially, in the first version of this port, Lydesik do something to pass the &quot;main.ini&quot; name to orx using the AndroitManifest.xml. It was working. But know, Lydesik rewrote the android port, using the nvidia framework, and he didn't restore this.

It's just a &quot;time problem&quot;. It's not difficult to restore that. Perhaps, I will do that soon, don't know. So actually, the loaded main ini file is always orx.ini (just add an empty orx.ini that include your main.ini file for example?).

Can you wrote somewhere a summary with all your problems (when solved) ? So later, we can complete/modify the wiki ?

Cheers !</description>
            <pubDate>Fri, 28 Oct 2011 11:57:38 -0600</pubDate>
        </item>
        <item>
            <title>Subject: [SOLVED] undefined reference to orxMain (Android) - by: newton64</title>
            <link>http://www.orxproject.org/forum?func=view&amp;catid=16&amp;id=2663#2686</link>
            <description>Not using multitouch in this project, but it'll be good to know.

Thanks!</description>
            <pubDate>Fri, 28 Oct 2011 09:15:03 -0600</pubDate>
        </item>
        <item>
            <title>Subject: Box2D Joints - by: iarwain</title>
            <link>http://www.orxproject.org/forum?func=view&amp;catid=16&amp;id=73#2682</link>
            <description>Will do!

Also note that I recently added a debug warning message at runtime:

[code]
  orxASSERT((orxEvent_IsSending() == orxFALSE) &amp;&amp; &quot;Calling orxObject_Delete() from inside an event handler is *NOT* safe: please consider calling orxObject_SetLifeTime(orxFLOAT_0) instead.&quot;);
[/code]</description>
            <pubDate>Thu, 27 Oct 2011 18:29:36 -0600</pubDate>
        </item>
        <item>
            <title>Subject: Sender vs. Recipient for Orx physics events - by: iarwain</title>
            <link>http://www.orxproject.org/forum?func=view&amp;catid=16&amp;id=2671#2680</link>
            <description>Good idea, I'll add that soon.

And yes, my guess is that it depends on the actual object's creation order but I haven't gone into Box2D's code to verify that so it might be completely wrong! :)</description>
            <pubDate>Thu, 27 Oct 2011 17:17:27 -0600</pubDate>
        </item>
        <item>
            <title>Subject: orxDisplay_GetBitmapData() crashing on Android? - by: drp</title>
            <link>http://www.orxproject.org/forum?func=view&amp;catid=16&amp;id=2629#2678</link>
            <description>@lydesik, thanks for the details and the support
@iarwain, thanks for everything xD

It's a nice community here.</description>
            <pubDate>Thu, 27 Oct 2011 16:35:05 -0600</pubDate>
        </item>
        <item>
            <title>Subject: More Specific Questions related to orx trunk files - by: iarwain</title>
            <link>http://www.orxproject.org/forum?func=view&amp;catid=16&amp;id=2607#2677</link>
            <description>Your message tells you that the files were already compiled (4 projects up-to-date). I have no idea what you mean by control+clicking to debug projects. :)

Sounds to me you have all the files you need to use orx now, so I'm not exactly sure what your question is.

All in all, I'd recommend to start by looking for some beginner's tutorial on how to use visual studio so that you can get familiar with its development environment.
Unfortunately I don't know any site of the top of my head but I'm sure google should provide your with interesting links, or maybe someone here has some to share?

The important part is becoming familiar with how C/C++ development work with visual studio.
When you're getting comfortable with it you can then think about game development and Android as those are definitely more tricky.

The road might look steep but it's definitely not that bad if you can keep your motivation. :)</description>
            <pubDate>Thu, 27 Oct 2011 16:06:41 -0600</pubDate>
        </item>
        <item>
            <title>Subject: Orx online - by: iarwain</title>
            <link>http://www.orxproject.org/forum?func=view&amp;catid=12&amp;id=2666#2674</link>
            <description>At some point we were dreaming of writing plug-ins to embed orx in web pages. This was many years ago but maybe someone will find the time to do something similar one day. :)</description>
            <pubDate>Thu, 27 Oct 2011 15:49:58 -0600</pubDate>
        </item>
        <item>
            <title>Subject: Very novice question (not for the faint at heart) - by: iarwain</title>
            <link>http://www.orxproject.org/forum?func=view&amp;catid=16&amp;id=2647#2661</link>
            <description>My pleasure! :)</description>
            <pubDate>Wed, 26 Oct 2011 03:15:08 -0600</pubDate>
        </item>
        <item>
            <title>Subject: [Help] How to switch animation in an object? - by: iarwain</title>
            <link>http://www.orxproject.org/forum?func=view&amp;catid=16&amp;id=2628#2660</link>
            <description>Mmh, if I understand correctly, this sounds like a mix of traditional sprite animation and skeletal animation (as in what is done with vector graphics in flash, for example).

That's the first time I've seen such approach. But yes, if you want to use orx's animation system, you'll need an object hierarchy and create your own SetAnim wrapper functions that will go through the hierarchy and apply the corresponding animation, by using a suffix based on the bodypart, for example.
I began to work on a skeletal animation system for orx in a branch, but it'll use an object hierarchy too. It'll use animation keys to apply interpolated values of position, rotation and scale on the object children. It's something that can already be done on the user side but I want to formalize an easy way to do it in orx, using config files and adding the concept of animation channels.

But anyway, yes, I'm afraid you need to have a hierarchy of objects as mentioned earlier unless you want to listen to the render object events and manage your own custom animation/rendering code for those objects.

Cheers!</description>
            <pubDate>Wed, 26 Oct 2011 03:12:04 -0600</pubDate>
        </item>
        <item>
            <title>Subject: orxObject definitions in other code units - by: 4babce</title>
            <link>http://www.orxproject.org/forum?func=view&amp;catid=16&amp;id=2633#2657</link>
            <description>Ah, glad to hear it!</description>
            <pubDate>Tue, 25 Oct 2011 22:40:35 -0600</pubDate>
        </item>
        <item>
            <title>Subject: Display transparent layer - by: iarwain</title>
            <link>http://www.orxproject.org/forum?func=view&amp;catid=16&amp;id=2608#2619</link>
            <description>My pleasure!

The texture 'pixel' is mentioned in the CreationTemplate.ini file, but it's very easy to miss.

You can also modify/create textures on the fly. An example of this can be found in the display/orxFont.c file: that's how we create the default font texture from a memory buffer.</description>
            <pubDate>Mon, 24 Oct 2011 14:59:04 -0600</pubDate>
        </item>
        <item>
            <title>Subject: [FIXED]Getting pointer to spawner returns orxNULL - by: iarwain</title>
            <link>http://www.orxproject.org/forum?func=view&amp;catid=16&amp;id=2595#2617</link>
            <description>I'm glad you like it!

Don't hesitate to spread the word around you! I tried a few times on some game dev-related forums over the past few years but I'm definitely not a very good communicator. :)</description>
            <pubDate>Mon, 24 Oct 2011 14:53:18 -0600</pubDate>
        </item>
        <item>
            <title>Subject: Noob Question(s) - by: iarwain</title>
            <link>http://www.orxproject.org/forum?func=view&amp;catid=12&amp;id=2580#2611</link>
            <description>Seeing your other thread, I guess you figured SVN out so I'll go reply there instead. :)</description>
            <pubDate>Mon, 24 Oct 2011 12:55:58 -0600</pubDate>
        </item>
        <item>
            <title>Subject: Execute orx game on linux - by: iarwain</title>
            <link>http://www.orxproject.org/forum?func=view&amp;catid=12&amp;id=2598#2600</link>
            <description>Hi Luciano and welcome here!

By default linux is not using the executable's folder to look for libraries, so you need to make sure you either put the liborx*.so in a folder that is inside your LD_LIBRARY_PATH variable (like /usr/lib, for example) or by actually using this flag when compiling your executable: [code]-Wl,-rpath ./[/code]

If you already did that and your program is finding the correct liborx*.so at runtime and it's still not working, it might be that they're not binary compatible (that would happen if you were using a version of gcc prior to 4.5.0 as liborx*.so is built with gcc 4.5.0 and this is not compatible with gcc 4.4.x, for example).
But if that were to be the problem, I'm sure you'd get errors at link time and not only at runtime. :)

Which version of orx are you using btw?

Let me know if this helps you finding your problem! :)

Cheers!</description>
            <pubDate>Sat, 22 Oct 2011 21:23:52 -0600</pubDate>
        </item>
        <item>
            <title>Subject: Random FX, not very random. - by: iarwain</title>
            <link>http://www.orxproject.org/forum?func=view&amp;catid=16&amp;id=2576#2578</link>
            <description>Mmh, I remember answering a similar question but I think it was faistoiplaisir who asked it to me in private a few months ago.

So I see two simple solutions depending on the result you want:
- you could actually define a given number of options like fast, medium and slow, for example, and put them in different FXs. Then you can pick randomly one of those FXs when you apply them (if you store their name in a config list, by using this indirection, the random selection will be done for you by orx). That's the approach I use in my bounce playground for the particles spawned from the cursor.
- you can duplicate this FX under different name and still keeping the random range inside. Instead of doing so in config manually, I'd do it at runtime. Let's say you have less than 1000 flakes simultaneously alive. Than means that having 1000 FXs would give you an unique random everytime as when you come back to the first one it won't be in memory anymore and thus its random will get reevaluated. So that's how it works: keep a counter somewhere in memory. At loadtime you create a section whose name contains the counter for each value (MyFX0, MyFX1, ...) and everytime you create such section you then set its parent to the real FX definition and keep the section itself empty. You now have 1000 random FXs that can be played simultaneously! When you need to apply one, simply recreate its name based on the current value of your counter then increase/modulo the counter.

A last, less easy, option would be to add FXs not from config but programmatically, but that means you'd be responsible for creating them and then deleting them. I'm too lazy to do that myself. ;)</description>
            <pubDate>Thu, 20 Oct 2011 11:06:13 -0600</pubDate>
        </item>
        <item>
            <title>Subject: Input logging and playback [SOLVED] - by: iarwain</title>
            <link>http://www.orxproject.org/forum?func=view&amp;catid=16&amp;id=2561#2569</link>
            <description>No worries, as I said, there's no pressure nor obligation.
I was just pointing out that the wiki was there if you wanted to share some of your knowledge at some point. :)</description>
            <pubDate>Wed, 19 Oct 2011 16:54:43 -0600</pubDate>
        </item>
        <item>
            <title>Subject: Using the joystick in a tutorial project ? - by: iarwain</title>
            <link>http://www.orxproject.org/forum?func=view&amp;catid=16&amp;id=2547#2560</link>
            <description> grumly wrote: 
 Thank you for your help, now it works fine.

Yes I'm named after grumly the bear that makes cheap jokes    

I guess a video is needed for non-French people: http://www.youtube.com/watch?v=APwfHC7jDpE

 
The warnings I get when compiling are lines refering to glfw like these :
Génération de code en cours
f:\workspace\orx\extern\glfw-2.7\lib\win32\win32_fullscreen.c(168) : warning C4748: /GS ne peut pas protéger les paramètres et les variables locales contre le dépassement de mémoire tampon locale, car les optimisations sont désactivées dans la fonction
f:\workspace\orx\extern\glfw-2.7\lib\win32\win32_fullscreen.c(72) : warning C4748: /GS ne peut pas protéger les paramètres et les variables locales contre le dépassement de mémoire tampon locale, car les optimisations sont désactivées dans la fonction 

Ça fait bizarre de voir les messages d'erreur en Français, je n'y suis pas habitué. :D

So yes, don't worry about those, I'll recompile GLFW with the proper flags at some point.

 
But now I get the joystick working I don't think I need to think about compiling orx again. 

Well, yes and no. You should use the SVN version if you can as there's been a ton of fixes and improvements since the latest release. Including major ones for iPhone/Android. If I were you I'd stick with it. :)

 Thanks again for the fast help, I hope I manage to get my project far enough to show it here. 

My pleasure! Looking forward to learning more about your project.</description>
            <pubDate>Wed, 19 Oct 2011 15:26:08 -0600</pubDate>
        </item>
        <item>
            <title>Subject: [iOS] poWindow - by: iarwain</title>
            <link>http://www.orxproject.org/forum?func=view&amp;catid=16&amp;id=2535#2557</link>
            <description>Thanks for the details, I'm sure it'll be helpful to others (including myself).

That reminds me of similar issues I encountered when switching to iOS 4.2 and orx kept crashing. Turned out that what was a perfectly valid way of setting up the OGL contexts and the framebuffer on different threads wasn't working anymore.
I had to find some work around by modifying the initialization sequence for the contexts and by using two separate framebuffer for on-screen and off-screen rendering.

I sure hope that switching to iOS 5 won't bring the same kind of surprises.</description>
            <pubDate>Wed, 19 Oct 2011 12:38:32 -0600</pubDate>
        </item>
        <item>
            <title>Subject: iphone retina display support - by: iarwain</title>
            <link>http://www.orxproject.org/forum?func=view&amp;catid=17&amp;id=2550#2556</link>
            <description>Hi!

By a little outdated you probably mean more than 2 months as I fixed the retina display in August with a similar fix. ;)

However the touch coordinates eluded me (I was probably just looking at how ugly orx's profiler looked on retina display and was happy when it got fixed and stopped there), so I'll apply your patch for that tonight.

Thanks!</description>
            <pubDate>Wed, 19 Oct 2011 12:34:41 -0600</pubDate>
        </item>
        <item>
            <title>Subject: unable to find a usable pixel format - by: iarwain</title>
            <link>http://www.orxproject.org/forum?func=view&amp;catid=16&amp;id=2537#2542</link>
            <description>Hi dadalili,

So far every time people reported this issue they fixed it by installing a new version of their video card drivers, it mostly happens on windows where there's no default capable OpenGL implementation.</description>
            <pubDate>Tue, 18 Oct 2011 11:07:38 -0600</pubDate>
        </item>
        <item>
            <title>Subject: [SOLVED] Box2D and orxObject_SetPosition - by: iarwain</title>
            <link>http://www.orxproject.org/forum?func=view&amp;catid=16&amp;id=2493#2531</link>
            <description>Ahah yep, this might need a new thread but I'll give you a hint here anyway! ;)

You can deactivate file logging if you need. Actually the full logging process works with flags that can be changed at runtime (like adding timestamp, file name, ...). There orxLOG() macro will set default flags but there are sister macros that will target either console or file or even let you decide of all the flags. All this magic is in orxDebug.h. ;)</description>
            <pubDate>Mon, 17 Oct 2011 12:24:59 -0600</pubDate>
        </item>
        <item>
            <title>Subject: Error in config section of Wiki - by: iarwain</title>
            <link>http://www.orxproject.org/forum?func=view&amp;catid=17&amp;id=2525#2526</link>
            <description>Thanks for pointing it out. Should now be fixed.</description>
            <pubDate>Sun, 16 Oct 2011 22:18:51 -0600</pubDate>
        </item>
        <item>
            <title>Subject: Plugin vs Stand-Alone Application - by: sausage</title>
            <link>http://www.orxproject.org/forum?func=view&amp;catid=12&amp;id=2520#2524</link>
            <description>On the off chance you need any help with that, there was discussion on converting over here:

http://orx-project.org/forum?func=view&amp;catid=16&amp;id=1200#1200</description>
            <pubDate>Sun, 16 Oct 2011 15:28:13 -0600</pubDate>
        </item>
        <item>
            <title>Subject: Undesired Parallax Scrolling - by: iarwain</title>
            <link>http://www.orxproject.org/forum?func=view&amp;catid=16&amp;id=2507#2513</link>
            <description>My pleasure! Don't hesitate if you have any other question.

PS: Nice blog btw, I'm looking forward your next post. :)</description>
            <pubDate>Thu, 13 Oct 2011 15:23:29 -0600</pubDate>
        </item>
        <item>
            <title>Subject: setup - by: faistoiplaisir</title>
            <link>http://www.orxproject.org/forum?func=view&amp;catid=16&amp;id=2489#2491</link>
            <description>Hi,

I think this error mean that the file orxd.lib doesn't exist, so the linker failed.

This file exist in your project ? This file is produced by compiling the orxLIB project when you open the solution code\build\windows\msvs2010\orx.sln in your case (it produce .lib, and .dll for windows).

I suggest you to begin by trying the tutorial located in \tutorial\build\msvs2010\Tutorial.sln

Hope this help !

EDIT

By scrolling down the topics, on the first page, I saw that :
http://orx-project.org/forum?func=view&amp;catid=16&amp;id=2310
Did you take a look at this ? I think it's exactly your problem. Read it !</description>
            <pubDate>Wed, 12 Oct 2011 06:28:48 -0600</pubDate>
        </item>
        <item>
            <title>Subject: Android assets don't update when changed - by: acksys</title>
            <link>http://www.orxproject.org/forum?func=view&amp;catid=16&amp;id=2470#2487</link>
            <description>faistoiplaisir, thanks for your reply.

I took your suggestion and started again using the latest version in the trunk. So far, so good!

I like what I am seeing with Orx. I've started developing a game with a small team and we want to support iOS, Android, and possibly desktop with the same code and the least hassle. It looks like Orx might make this possible for us!

Cheers</description>
            <pubDate>Tue, 11 Oct 2011 20:04:03 -0600</pubDate>
        </item>
        <item>
            <title>Subject: Error in OpenAL - by: iarwain</title>
            <link>http://www.orxproject.org/forum?func=view&amp;catid=16&amp;id=2463#2486</link>
            <description>As long as it works. :)

You shouldn't have any problem as long as you set the ownership after disabling the parent though.</description>
            <pubDate>Tue, 11 Oct 2011 15:39:22 -0600</pubDate>
        </item>
        <item>
            <title>Subject: Please help with the animation rotation problem - by: rong.yang</title>
            <link>http://www.orxproject.org/forum?func=view&amp;catid=16&amp;id=2471#2479</link>
            <description>Thanks for your reply, I think I might try the custom shader solution.

Cheers!</description>
            <pubDate>Sun, 09 Oct 2011 22:21:43 -0600</pubDate>
        </item>
        <item>
            <title>Subject: Foreign character font generation with OrxFontGen - by: iarwain</title>
            <link>http://www.orxproject.org/forum?func=view&amp;catid=16&amp;id=2472#2477</link>
            <description>My pleasure, I like easy fixes. :)

The recent version of orx will detect non UTF-8 unicode files for config and will display an appropriate error message, however the input character set for the font tool doesn't have this feature (yet).</description>
            <pubDate>Sun, 09 Oct 2011 19:50:09 -0600</pubDate>
        </item>
        <item>
            <title>Subject: Android Audio - by: lydesik</title>
            <link>http://www.orxproject.org/forum?func=view&amp;catid=16&amp;id=2458#2462</link>
            <description>Hi liamkjaer,

first could you try to use .ogg file instead of .wav file.
on android .ogg works better that .wav files.

your .ini and code seems correct to me

second, on android sfx loading is asynchronous,
which means when you create an orxSOUND with AddSound, orx try to create and immediately play the sample, unfortunately, the sample is not yet ready to be played....

the workaround is to tell in the .ini file to keep the sample loaded in memory (with KeepInCache = true) and preload the samples in the Init() function of your game...

ofcourse, if you still try to add a SFX quickly in the game, your sample may still not be ready... so add nice splash screen to allow android to load all the samples...

hope it will help</description>
            <pubDate>Thu, 06 Oct 2011 15:36:01 -0600</pubDate>
        </item>
        <item>
            <title>Subject: orxiPhone.m - by: drp</title>
            <link>http://www.orxproject.org/forum?func=view&amp;catid=16&amp;id=2445#2447</link>
            <description>That all makes sense, categories should work. In any case I will give it a shot and get back to you so (hopefully) it's useful for others xD</description>
            <pubDate>Mon, 03 Oct 2011 18:24:15 -0600</pubDate>
        </item>
        <item>
            <title>Subject: v1.3rc0 has been released! - by: sausage</title>
            <link>http://www.orxproject.org/forum?func=view&amp;catid=18&amp;id=2049#2444</link>
            <description>No worries, good idea I'll give that a try.</description>
            <pubDate>Mon, 03 Oct 2011 15:00:06 -0600</pubDate>
        </item>
        <item>
            <title>Subject: orxSOUNDs and orxOBJECTs - by: iarwain</title>
            <link>http://www.orxproject.org/forum?func=view&amp;catid=12&amp;id=2402#2426</link>
            <description>No worries! I wasn't sure if you were working on a personal project or not so I thought I'd ask. :)

So I'd guess you're working with Gustav? If so, I sent him a version of Scroll, a thin C++ layer built on top of orx that brings some new interesting game features. If you're planning on using it let me know as I often add new features and fix issues in it. :)</description>
            <pubDate>Fri, 30 Sep 2011 14:44:04 -0600</pubDate>
        </item>
        <item>
            <title>Subject: [SOLVED] Updated orxTEXT not aligning properly - by: newton64</title>
            <link>http://www.orxproject.org/forum?func=view&amp;catid=16&amp;id=2414#2424</link>
            <description>Well, don't go completely changing the code just because I made a newbie mistake ;)</description>
            <pubDate>Thu, 29 Sep 2011 12:48:30 -0600</pubDate>
        </item>
        <item>
            <title>Subject: Grey: tutorial 2 help - by: iarwain</title>
            <link>http://www.orxproject.org/forum?func=view&amp;catid=16&amp;id=2374#2413</link>
            <description>And now it's done. :)
If you sync the SVN, orx will check for unsupported BOMs (here's the complete list that gets checked: http://en.wikipedia.org/wiki/Byte_order_mark#Representations_of_byte_order_marks_by_encoding) before loading config files and will output a message in debug builds.</description>
            <pubDate>Wed, 28 Sep 2011 10:29:46 -0600</pubDate>
        </item>
        <item>
            <title>Subject: Collision detection problem - by: iarwain</title>
            <link>http://www.orxproject.org/forum?func=view&amp;catid=16&amp;id=2408#2412</link>
            <description>No worries, happy to help! :)</description>
            <pubDate>Wed, 28 Sep 2011 10:28:12 -0600</pubDate>
        </item>
        <item>
            <title>Subject: Orx Android : Gravity - by: eric256</title>
            <link>http://www.orxproject.org/forum?func=view&amp;catid=13&amp;id=2091#2405</link>
            <description>Cool Game!

Couple things:

When I fail a level it disappears and a new level appears to be created.  I would like to get to keep trying the same level over and over :)
Initial Velocities on the planets could make for some more interesting interactions.
Some clear explanation of what is happening at the edges of the screen might help me, I expected it to sail off and instead it almost bounces.
Could be cool to get points for being close but not hitting, so if you sailed off into the distance you wouldn't get any points.


Just some ideas, realy liked it, very cool!</description>
            <pubDate>Tue, 27 Sep 2011 09:52:19 -0600</pubDate>
        </item>
        <item>
            <title>Subject: [SOLVED]orxOBJECT_GET_STRUCTURE won't grab orxTEXT - by: iarwain</title>
            <link>http://www.orxproject.org/forum?func=view&amp;catid=16&amp;id=2398#2404</link>
            <description>Ahah no worries, that gives me the occasion to write my #1000 post on this forum! ;)</description>
            <pubDate>Mon, 26 Sep 2011 00:03:38 -0600</pubDate>
        </item>
        <item>
            <title>Subject: Reddit mention - by: newton64</title>
            <link>http://www.orxproject.org/forum?func=view&amp;catid=12&amp;id=2392#2394</link>
            <description>Yeah, someone in that thread linked to some of my games, so my own site saw a spike in visitors.

Hey, no such thing as bad publicity.</description>
            <pubDate>Tue, 20 Sep 2011 12:09:02 -0600</pubDate>
        </item>
        <item>
            <title>Subject: mp3 support - by: lydesik</title>
            <link>http://www.orxproject.org/forum?func=view&amp;catid=12&amp;id=2360#2391</link>
            <description>mp3 should works with android (orx support any file the default android MediaPlayer can play)</description>
            <pubDate>Mon, 19 Sep 2011 04:06:56 -0600</pubDate>
        </item>
        <item>
            <title>Subject: Portable ? - by: iarwain</title>
            <link>http://www.orxproject.org/forum?func=view&amp;catid=12&amp;id=2356#2380</link>
            <description>No problem!

You can use any language that interfaces with C, and I'm sure that with little work bindings could be generated by programs such as tolua. :)

If you have any questions, especially about features as the doc is lagging a bit behind, don't hesitate! :)</description>
            <pubDate>Fri, 16 Sep 2011 05:27:27 -0600</pubDate>
        </item>
        <item>
            <title>Subject: Sound groups - by: iarwain</title>
            <link>http://www.orxproject.org/forum?func=view&amp;catid=12&amp;id=2370#2373</link>
            <description>No worries, I'd much rather have people asking a lot of questions than getting frustrated when they can't find something and turn their back to orx. :)

I understand now what you wanted, sorry about that.

Also if you feel adventurous and want to support a virtually unlimited number of sounds/streams, you can do the mixing in software on your side and feeding the result to a stream via the packet event. That being said the limit of simultaneous sounds that can be played, even if platform dependent, is usually pretty comfortable.

Your approach should work just fine. Let me know if you have any other questions! :)</description>
            <pubDate>Wed, 14 Sep 2011 22:21:22 -0600</pubDate>
        </item>
        <item>
            <title>Subject: Kunena plain post view? - by: iarwain</title>
            <link>http://www.orxproject.org/forum?func=view&amp;catid=14&amp;id=2368#2369</link>
            <description>Hi sausage,

I have no idea. I went quickly through kunena's doc but couldn't find anything about that. That reminds me I should probably update the whole site as all the components are 2 years old.</description>
            <pubDate>Wed, 14 Sep 2011 19:52:03 -0600</pubDate>
        </item>
        <item>
            <title>Subject: Crash when calling orxShader_AddFloatParam on iOS - by: iarwain</title>
            <link>http://www.orxproject.org/forum?func=view&amp;catid=16&amp;id=2353#2363</link>
            <description>Excellent, thanks for letting me know!</description>
            <pubDate>Tue, 13 Sep 2011 18:09:29 -0600</pubDate>
        </item>
        <item>
            <title>Subject: Screenshots do not support PNG or JPG format. - by: iarwain</title>
            <link>http://www.orxproject.org/forum?func=view&amp;catid=17&amp;id=2348#2352</link>
            <description>I also updated the wiki entry: http://orx-project.org/wiki/en/orx/config/settings_main/main?&amp;#screenshot_module</description>
            <pubDate>Mon, 12 Sep 2011 17:20:19 -0600</pubDate>
        </item>
        <item>
            <title>Subject: Encrypted config file and section inheritance - by: iarwain</title>
            <link>http://www.orxproject.org/forum?func=view&amp;catid=16&amp;id=2337#2347</link>
            <description>Ok, the code's in.

You now have access to orxConfig_CopyFile() which will do a raw copy of a file, including comments and inclusions with an optional encryption key.
If the source file is encrypted, the current key will be used to decrypt it and the key passed in parameter will only be used to encrypt the destination file.
If no key is passed as parameter, the destination file will not be encrypted, even if the source file is.

You  can't  copy a file over itself.

I also updated orxCrypt to use that scheme by default and you can still do the merging which was the old default behavior by specifying -m on the command line. If not merging, only one file can be provided as input. Only the windows binaries have been updated on the server.

Let me know if you have any issues with it, I tested everything quickly, it seemed ok but I might have missed special cases.</description>
            <pubDate>Sat, 10 Sep 2011 03:09:31 -0600</pubDate>
        </item>
        <item>
            <title>Subject: Non-Scrolling Game - by: iarwain</title>
            <link>http://www.orxproject.org/forum?func=view&amp;catid=16&amp;id=2344#2346</link>
            <description> OrxRox wrote: 
 Okay, so this thread is here so that I don't have to keep making new threads, since I have lot's of questions. I am using the 08_Physics tutorial as a base for my game. I have the physics worked out and tweaked as I want it. 

Good idea for the thread. As for using the tutorial #8 as a base, I'd suggest to use tutorial #10, #11 or #12 instead as those are stand alone whereas the 9 earlier tutorials are plugins (approach that will not work on some platforms such as iOS).

 
First question: how do I add a playable character, and how do I program what he'll do? I just need an object that can register keyboard input, and then I need to know where to put the behavior code(when this is pressed, move left, when that is pressed, do that, when nothing is pressed, do some animation).

It looks like MushroomStew linked an input with an action in the config file for MushroomStew:
KEY_UP      = Jump
But how do I program &quot;Jump&quot;? where do I put the code to that? 08_Physics did the same thing:
KEY_LEFT    = RotateLeft
But I couldn't find how the camera implemented &quot;RotateLeft&quot;. Where does the code to these things go? 

First of all, I can only encourage you to check Grey's tutorials if you haven't done so already as he covered those step by step: http://orx-project.org/wiki/en/orx/tutorials/community/grey

Now, for details, what you need first is an update function. For that, the easiest way is to register one to the main clock.
You can put all your logic in that function (or in functions called by it). For example, when updating your input, that's where you'll add the calls to orxInput_IsActive() / orxInput_HasNewStatus().

In the case of tutorial #8, all the code is in /tutorial/src/08_Physics.c

For Mushroom Stew it's slightly different, it uses Scroll which is a thin C++ layer built on top of orx that adds the concept of modular game object. They come with custom virtual methods such as update but you can achieve the same thing pretty easily with orx itself (after all, Scroll is only a thin layer wrapping orx). The version of Scroll used in Mushroom Stew is outdated and won't even compile with a recent version of orx. I can send you the latest version of Scroll if you want, along some explanations, but it's still a WIP so it might have some bugs and only a handful of people are using it for their development. If you're interested anyway, just drop me a line either by email or with a PM.</description>
            <pubDate>Fri, 09 Sep 2011 13:25:18 -0600</pubDate>
        </item>
        <item>
            <title>Subject: Grey's tut #3 problem - by: iarwain</title>
            <link>http://www.orxproject.org/forum?func=view&amp;catid=16&amp;id=2320#2325</link>
            <description>No worries. Been there, done that! ;)</description>
            <pubDate>Tue, 06 Sep 2011 05:56:24 -0600</pubDate>
        </item>
        <item>
            <title>Subject: Cannot open file: &quot;orxd.lib&quot; - by: iarwain</title>
            <link>http://www.orxproject.org/forum?func=view&amp;catid=16&amp;id=2310#2323</link>
            <description>I don't have much to add to 4babce's post except maybe that, if you're not familiar with the way compiling/linking is done in C/C++, you should probably check C/C++ beginner/tutorial sites (such as http://www.cprogramming.com).

I'm the first to admit using/compiling C/C++ is not that intuitive at first and some languages/tool chains are much more user-friendly but once you learn and understand all the basics, everything will make much more sense. :)</description>
            <pubDate>Tue, 06 Sep 2011 05:11:32 -0600</pubDate>
        </item>
        <item>
            <title>Subject: Tutorial 10 - StandAlone - source code missing - by: iarwain</title>
            <link>http://www.orxproject.org/forum?func=view&amp;catid=12&amp;id=2303#2304</link>
            <description>Hi and welcome here, Melvina!

I just checked the links for tutorials #10, 11 &amp; 12 (the three stand alone tutorials) on the wiki and the linked seemed ok to me. Would you mind telling me to which links you're referring?

There are two files: CreationTemplate.ini and SettingsTemplate.ini, in the /bin folder, that contain all the config properties recognized by orx. Of course you can add your own for your own needs. You should have a summary of all these info in the README file.
I'd also suggest using the current SVN version as it has a bunch of fixes and some new features that have been added since the latest release.

Thanks for your interest and don't hesitate if you have any question! =)</description>
            <pubDate>Fri, 02 Sep 2011 04:33:15 -0600</pubDate>
        </item>
        <item>
            <title>Subject: Can't finish Grey's Tutorial 2! - by: OrxRox</title>
            <link>http://www.orxproject.org/forum?func=view&amp;catid=16&amp;id=2298#2301</link>
            <description>@4babce Thank you! It works now.</description>
            <pubDate>Thu, 01 Sep 2011 19:35:50 -0600</pubDate>
        </item>
        <item>
            <title>Subject: Top-down rendering order - by: iarwain</title>
            <link>http://www.orxproject.org/forum?func=view&amp;catid=17&amp;id=2291#2294</link>
            <description> graag wrote: 
 Hmm, you mean kind of pivot that would give an offset from objects position to be used by the renderer to work out the drawing order. Neat idea.

I was considering shapes and in particular circle to cope with rotating objects where the object shape does not correspond to sprite bbox e.g. wings of a windmill or hands of a clock. But setting a reference position that would not be transformed by rotations should also work.

I see one minor problem with using a reference position.
A point will be harder to indicate in a map editor compared to a shape. I guess a vector will have to suffice B). 

Ahah, yes, well you can still have a custom display like a circle with gradient to make it more obvious to find. :)

Speaking of editor, are you interested in trying Scroll/ScrollEd. It's a thin C++ wrapper on top of orx (nothing precompiled) that brings a few convenient wrappers for events and object handling as well as a level editor coupled with your game (you can run your game directly from the editor and load/save is part of the gig). You can also bind C++ classes to config sections for your objects this way every time an object is built from a section the corresponding C++ class will get instanciated for you in contiguous memory chunks, linked to the orx object and you get notified through virtual method calls.
Even when I don't use the level editing I still use Scroll for all my personal devs as I find it much faster to develop using it.
The downside is it's still in late alpha so the stability might not be as good as orx itself and most of all, there's no real doc available yet. It's also licensed under zlib license, so no problem on this.

So far there are 3 testers that develop their game with it but I'm looking to get a wider audience. :)

 
Well bad wording I guess. I meant rather modifying orxObject_CreateFromConfig or other more suited CreateFromConfig.

The idea was to use the same shapes as in physics case, probably using the same code to create them based on a description in config file.  

Ah ok, I get it now! :)

 Very interesting idea with the advantage that Orx would not need to be touched ;-). Initially I discarded it based on my misunderstanding of collision behaviour. I though that physics bboxes are point-like in Z (objects at different Z offsets do not collide), however I did some tests and they behave as being infinite in Z. Nice to know :-D. 

Ahah yeah, the only physics plugin available right now is based on Box2D that doesn't even have a 3rd coordinate component. You can achieve filtering with flags/mask and play with that if you want to group by depth, but of course you have much less options in flags/masks than with depth values.

 Still I have some issues with this approach. To most of them I found workarounds still it would mean that some more though would be needed when designing the game besides one switch and placing the objects properly on a map ;-)

1) Layers
- Some additional layers would be required:
  - ground tiles
  - speech bubbles
  - flying objects like birds, cannon bals, balloons, whatever
  - GUI
 

If you use Scroll, there are 9 emulated layers in the editor by default, but you can use any number of layers as long as it's an odd number (it'll assume that the gameplay layer is always 0 and then you can N-1/2 layers for the foreground and as many for the background). It'll also output a warning message if you use physics bodies for objects not in the gameplay layer but they can easily be removed.

As for GUI I always use the camera parent space in order to have a resolution independent positioning and/or scaling of GUI objects. It's also easy to keep them in a layer rendered last by doing so.

 
Those could be set at Z values outside from Y coordinate range. However I'm not sure if OrxFrustrum would like to be that large. Scaling the Y-&gt;Z relation would help but then I would definitely have to calculate it upon object creation (which leads to point 2). 

You can have a frustum as deep as you want but as it's a float32 precision you get much more precise values closer to 0.

 
Still to make it convenient to use some limit on Y map size and it's top coordinate would have to be imposed.

2) How would I make sure that Y-&gt;Z translation is done automatically upon object creation. Some OnCreate call back?? 

Using Scroll, yes, otherwise you have to manually listen to the object events and specifically to the one of ID = orxOBJECT_EVENT_CREATE (that's actually how Scroll hooks the ScrollObject::OnCreate() method).

 
3) Does not solve the small/rotating objects issue. Though I guess SetPosition could be made to use Reference Position you proposed ... 

Yes, you'd use your own SetPosition that would do the actual transformation before sending it to orx.

 
3) I was hoping to use Scroll and ScrollEd. However they seem to use layers defined as Z offsets, and the concept looks quite entrenched. 

Ah well, see, I should read the posts entirely before replying, now I know that all my Scroll/ScrollEd talk in this post was completely useless. ;)

Yes, for the layers it's just a convenience concept for the editor itself. You can define as many as you want or only 1 if you'd rather. Layers are primarily like in photoshop/gimp, simply used so that you will only edit objects in the current layer and control the order of display, nothing really more. 

 
BTW
I took Scroll from MushroomStew and modified it to work with Orx SVN HEAD. Also started to write down what I've learned about usage/interior of Scroll. Interested? 

Again, I should have read all that. Well, what I offer is that I send you the latest version I have. The editor (especially the object selection) has been improved (it now uses a catalog with sets). There's been a bunch of improvements and bug fixes too. And for you writing what you've learned about it, that'd be great and most welcomed!

You can contact me directly at the email address you can find in the README file, I'll send you an up-to-date version of Scroll that runs with the current svn HEAD of orx too.

 
Those two comments I did not understand (it's quite late here so maybe this time I'm to sleepy ...). How would it differ from adjusting Z offset? From my quick tests Z component of the pivot does not seem to affect renderer in any way ... 

I meant using the pivot to store a Z offset you'd then use in your SetPosition() wrapper. It's was really poorly explained, sorry about that. :)

 
Thanks for your ideas. Quite some stuff to think over. Still if my modifs to the renderer would got incorporated it would mean less work for me ;-). 

I totally understand. I'll try to have a look today if I find the time otherwise it might be delayed for another week, having a newborn and a toddler is definitely affecting a lot my spare time. ;)

 
One more thing, in my implementation rotation of an object is taken into account which I think would not be the case for simple XZ game logic (not relevant for a scenario that has to use SetPosition). Though I'm starting to reconsider if that is a good thing  :S.

Cheers,
Graag 

Mmh, I'll look at it when I'm more awake, right now I can't think straight. 5:45 AM, time to hit the hay! :D

Cheers!

EDIT: And with the new version of Scroll comes an email with most steps needed to use it and the editor, but I'm sure you've figured most if not all of them! :)</description>
            <pubDate>Sun, 28 Aug 2011 06:46:07 -0600</pubDate>
        </item>
        <item>
            <title>Subject: Problems building orx on linux 32 - by: iarwain</title>
            <link>http://www.orxproject.org/forum?func=view&amp;catid=16&amp;id=2287#2290</link>
            <description>Ah yes, sorry, totally forgot to mention that!</description>
            <pubDate>Tue, 23 Aug 2011 12:01:22 -0600</pubDate>
        </item>
        <item>
            <title>Subject: tried to build tutorial 10 - by: iarwain</title>
            <link>http://www.orxproject.org/forum?func=view&amp;catid=16&amp;id=2266#2286</link>
            <description>If it runs from codelite, the exe has been generated.
Maybe it's a path ame issue and you're not looking for what was actually created by codelite?

EDIT: I have to go run an errand and won't be there for a couple of hours. Hopefully you'll find your issue soon enough. :)</description>
            <pubDate>Wed, 17 Aug 2011 20:01:35 -0600</pubDate>
        </item>
        <item>
            <title>Subject: Congratulations! - by: iarwain</title>
            <link>http://www.orxproject.org/forum?func=view&amp;catid=12&amp;id=2264#2273</link>
            <description>Thanks!</description>
            <pubDate>Wed, 17 Aug 2011 17:38:47 -0600</pubDate>
        </item>
        <item>
            <title>Subject: simple orx scene editor - by: jtianling</title>
            <link>http://www.orxproject.org/forum?func=view&amp;catid=13&amp;id=2120#2263</link>
            <description>Is it meant that your company use orx? It's a great step for orx.</description>
            <pubDate>Mon, 15 Aug 2011 08:21:47 -0600</pubDate>
        </item>
        <item>
            <title>Subject: Package Support? - by: iarwain</title>
            <link>http://www.orxproject.org/forum?func=view&amp;catid=17&amp;id=2259#2262</link>
            <description>Well, I am one of the original developers and the main one nowadays. However when we started ~8 years ago there were other people directly involved.

Mainly I didn't write the memory and file modules and the Android port.

You can find the full detailed credits in the AUTHORS file. :)

Thanks, I'll get some rest right now! :D</description>
            <pubDate>Sat, 13 Aug 2011 04:18:51 -0600</pubDate>
        </item>
        <item>
            <title>Subject: feeling dumb - by: deamonboyx1</title>
            <link>http://www.orxproject.org/forum?func=view&amp;catid=16&amp;id=2244#2258</link>
            <description>and that is one of my plans more platforms = more users = more sales opportunity</description>
            <pubDate>Sat, 13 Aug 2011 00:21:20 -0600</pubDate>
        </item>
        <item>
            <title>Subject: stupid virus scanners - by: deamonboyx1</title>
            <link>http://www.orxproject.org/forum?func=view&amp;catid=17&amp;id=2243#2257</link>
            <description>i will but im also going to dive into orx and see what i can pull out on my own and ill do a tutorial for how i setup codelite with gcc 4.5.2 later</description>
            <pubDate>Sat, 13 Aug 2011 00:20:13 -0600</pubDate>
        </item>
        <item>
            <title>Subject: compiling from source - linux 64bit - by: iarwain</title>
            <link>http://www.orxproject.org/forum?func=view&amp;catid=16&amp;id=2163#2239</link>
            <description> Als wrote: 
 
Iarwain thank you for information and really fast response. You doing great work.  

You're welcome, there's usually always someone around to reply within a day or two max. Thanks again for your appreciation. :)

 I found there is missing codelite project file for glfw, but make works great. 

True! GLFW is one of the rare dependencies that had a decent multiplatform build system so I didn't feel the need to add a custom codelite project file. :)

 My numbers FPS from work pc corresponds with configuration (C2D@2.4 and NV7600GT with Nouveau :)) on my home game rig (i7-2600@4.5, GTX570) with SVN build and on Fedora 15 is 8500 FPS. It seems that engine scales well. 

It doesn't do too bad so far, I remember that Laschweinski noted that it was even slightly faster than Cocos2D on the iOS devices he tested (but that was a while ago so it might not be true today, haven't tried it myself :)).

EDIT: I should soon add a loose quadtree(aka cover fieldtree)-based partitioner to speed up rendering of worlds that contain a huge amount of objects.

 Yes, I confirm it, it works great. 

Excellent!

 I like features that you incorporate to orx. I think orx is the right engine for my project. I now go play with it   

I hope you'll like what you'll find then. :D

Don't hesitate to ask questions around here as there are many more-or-less hidden features that are not really well documented or shown in tutorials. Two examples that come right now to my mind are the physics joint support (I still need to write the wiki section about that!) and the fact that you can modify sound packets on the fly (by listening to the orxSOUND_EVENT_PACKET event) when streaming sounds: I use it in one of my current projects that contains a soft synthesizer so as to swap instruments and change sound envelopes on the fly.</description>
            <pubDate>Thu, 04 Aug 2011 15:18:39 -0600</pubDate>
        </item>
        <item>
            <title>Subject: CLI wrapper for orx  (mORX) - by: iarwain</title>
            <link>http://www.orxproject.org/forum?func=view&amp;catid=13&amp;id=234#2232</link>
            <description>Hey, nice to see you around here! =)

Well, I definitely agree, maintaining the wrapper manually is probably a daunting task. And quite a lot has changed since last time you worked on it too. ;)

That being said, there might be tools out there to help making such wrappers. Hope to see you here more often! :)</description>
            <pubDate>Fri, 29 Jul 2011 03:46:52 -0600</pubDate>
        </item>
        <item>
            <title>Subject: Board organisation proposal - by: MNIM</title>
            <link>http://www.orxproject.org/forum?func=view&amp;catid=14&amp;id=2194#2230</link>
            <description>Well, that *is* a plus point. :D</description>
            <pubDate>Mon, 25 Jul 2011 18:45:48 -0600</pubDate>
        </item>
        <item>
            <title>Subject: orxconfig_load is missing a call to orxfile_close - by: iarwain</title>
            <link>http://www.orxproject.org/forum?func=view&amp;catid=17&amp;id=2225#2229</link>
            <description>Wooops! Fixed, thanks for pointing that out!</description>
            <pubDate>Mon, 25 Jul 2011 17:37:15 -0600</pubDate>
        </item>
        <item>
            <title>Subject: Stellar Planes (dev thread) - by: iarwain</title>
            <link>http://www.orxproject.org/forum?func=view&amp;catid=13&amp;id=2197#2227</link>
            <description>Well, everything's ready for you to go on the svn. :)
I probably won't release any packages for linux64 before the next global release as the code base changed significantly since last release.</description>
            <pubDate>Mon, 25 Jul 2011 14:42:33 -0600</pubDate>
        </item>
        <item>
            <title>Subject: Linux Packages - by: iarwain</title>
            <link>http://www.orxproject.org/forum?func=view&amp;catid=13&amp;id=1535#2217</link>
            <description>Nice!

I'm currently installing a 64b linux box here so hopefully I should be able to test it soon and updated the project files to support both 32b and 64b.</description>
            <pubDate>Sun, 24 Jul 2011 15:53:16 -0600</pubDate>
        </item>
        <item>
            <title>Subject: How to set animation duration in the code - by: laschweinski</title>
            <link>http://www.orxproject.org/forum?func=view&amp;catid=12&amp;id=2192#2206</link>
            <description>I see..</description>
            <pubDate>Fri, 22 Jul 2011 01:47:17 -0600</pubDate>
        </item>
        <item>
            <title>Subject: delete children object - by: iarwain</title>
            <link>http://www.orxproject.org/forum?func=view&amp;catid=12&amp;id=2185#2186</link>
            <description>As discussed offline, that was due to the fact children were tagged for deletion (SetLifeTime(0.0f)) instead of being deleted immediately. And objects that have a lifetime are only updated if enabled.

I changed that for an immediate deletion of all children that should work just fine but let me know if it has any side effect.</description>
            <pubDate>Thu, 07 Jul 2011 01:55:29 -0600</pubDate>
        </item>
        <item>
            <title>Subject: the nD - by: iarwain</title>
            <link>http://www.orxproject.org/forum?func=view&amp;catid=12&amp;id=2183#2184</link>
            <description>Hi shadow on the second moon, and welcome among us.

I wasn't sure what to think when I first heard of the nD a couple of weeks ago.
If it's for real and not a joke, then yes, it shouldn't be too hard to have orx run on it, with a couple of missing features (such as custom shader support or on-the-fly sound processing, I guess). Probably a few days of work.

They plan on having SDL as SDK and there's already plugins based on SDL for orx. Though those plugins are currently also using OpenGL, they should still provide a good base/template.

I'll be happy to make modifications to adapt orx's core (like restricting memory budgets, for example) for the nD hardware if you're willing to contribute for some of the plugins.

Let me know if you have any other questions.

Cheers,

- iarwain</description>
            <pubDate>Tue, 05 Jul 2011 23:31:37 -0600</pubDate>
        </item>
        <item>
            <title>Subject: ios application lifecycle - by: iarwain</title>
            <link>http://www.orxproject.org/forum?func=view&amp;catid=16&amp;id=2180#2182</link>
            <description>Yes, we should definitely do all this.

Actually, I've already written some code in that direction but never had the opportunity to test it  on device .

In code/src/main/orxiPhone.m there's this code:

[code]

- (void) applicationWillTerminate:(UIApplication *)_poApplication
{
  /* Sends event */
  orxEvent_SendShort(orxEVENT_TYPE_SYSTEM, orxSYSTEM_EVENT_CLOSE);
}

- (void) applicationDidEnterBackground:(UIApplication *)_poApplication
{
  /* Sends event */
  if(orxEvent_SendShort(orxEVENT_TYPE_SYSTEM, orxSYSTEM_EVENT_BACKGROUND) != orxSTATUS_FAILURE)
  {
    /* Adds render inhibiter */
    orxEvent_AddHandler(orxEVENT_TYPE_RENDER, RenderInhibiter);
  }
}

- (void) applicationWillEnterForeground:(UIApplication *)_poApplication
{
  /* Sends event */
  if(orxEvent_SendShort(orxEVENT_TYPE_SYSTEM, orxSYSTEM_EVENT_FOREGROUND) != orxSTATUS_FAILURE)
  {
    /* Removes render inhibiter */
    orxEvent_RemoveHandler(orxEVENT_TYPE_RENDER, RenderInhibiter);
  }
}

- (void) applicationWillResignActive:(UIApplication *)_poApplication
{
  /* Sends event */
  orxEvent_SendShort(orxEVENT_TYPE_SYSTEM, orxSYSTEM_EVENT_FOCUS_LOST);
}

- (void) applicationDidBecomeActive:(UIApplication *)_poApplication
{
  static orxBOOL sbFirstActivation = orxTRUE;

  /* First activation? */
  if(sbFirstActivation != orxFALSE)
  {
    /* Updates status */
    sbFirstActivation = orxFALSE;
  }
  else
  {
    /* Sends event */
    orxEvent_SendShort(orxEVENT_TYPE_SYSTEM, orxSYSTEM_EVENT_FOCUS_GAINED);
  }
}
[/code]

So as you can see we send some orxEVENT to synchronize with the info we get from iOS. We also force to inhibit the redering unless the user handles the event and asks us not to do it (not sure someone would want to do that anytime but at least the option's there ^^).

I didn't think of sound though and I only did the render part as Apple's doc says it'd crash the app if any OpenGL call were to be made while the app is in background.

As you can see, the user can listen to those events and do whatever he wants like pausing his game and disabling his objects (which would then mute the sound) when needed. :)</description>
            <pubDate>Mon, 04 Jul 2011 06:34:46 -0600</pubDate>
        </item>
        <item>
            <title>Subject: unloading textures - by: tdomhan</title>
            <link>http://www.orxproject.org/forum?func=view&amp;catid=16&amp;id=1866&amp;limit=20&amp;start=40#2173</link>
            <description>I mentioned something in the wiki. Also added some note to the PVRTexTool now.

although I'm anyway wondering if anybody finds this article in the wiki ^^
maybe we should include the (useful) arcitles of others somehow in the whole wiki structure.(most of mine are just notes to myself :/ )

I don't know when I'll find some time for integrating the new version of orx. but I'll let you know if I encounter any bugs after integrating.</description>
            <pubDate>Wed, 29 Jun 2011 15:40:19 -0600</pubDate>
        </item>
        <item>
            <title>Subject: font problem and ttf support - by: tdomhan</title>
            <link>http://www.orxproject.org/forum?func=view&amp;catid=12&amp;id=1830&amp;limit=20&amp;start=20#2157</link>
            <description>ok cool thanks for your help!</description>
            <pubDate>Thu, 23 Jun 2011 05:29:54 -0600</pubDate>
        </item>
        <item>
            <title>Subject: forwarding orxObject_Enable to all children - by: iarwain</title>
            <link>http://www.orxproject.org/forum?func=view&amp;catid=17&amp;id=2093#2155</link>
            <description>Well,  ChildList  will both set frame hierarchy and object ownership.

 ParentCamera  also set the frame hierarchy with Camera parent of the created object/camera.

Lastly, the Spawner config property  UseSelfAsParent  will create a frame hierarchy with all the spawned objects as children of the spawner.

In the case of the spawner, ownership will also be done (in a similar way than with  ChildList  on objects) but can be negated with the property  CleanOnDelete =false.

To sum it up, you can't have the frame hierarchy without the ownership in config (but you can have the opposite to some extent). Is that what you need? :)</description>
            <pubDate>Wed, 22 Jun 2011 17:20:09 -0600</pubDate>
        </item>
        <item>
            <title>Subject: profiler hiccups - by: iarwain</title>
            <link>http://www.orxproject.org/forum?func=view&amp;catid=17&amp;id=2117#2151</link>
            <description>Ah no worries. If it can help you, I don't mind signing NDAs.

Otherwise I'm afraid you'll have to trace the push/pop calls by yourself so as to spot the problem. :) Let me know if you find something!</description>
            <pubDate>Wed, 22 Jun 2011 15:40:03 -0600</pubDate>
        </item>
        <item>
            <title>Subject: OpenAL limit on number of playing sound clips - by: iarwain</title>
            <link>http://www.orxproject.org/forum?func=view&amp;catid=16&amp;id=2035#2142</link>
            <description>Indeed! Fixed now. Sorry about that! ^^</description>
            <pubDate>Thu, 16 Jun 2011 15:21:29 -0600</pubDate>
        </item>
        <item>
            <title>Subject: ipad landscape mode - by: iarwain</title>
            <link>http://www.orxproject.org/forum?func=view&amp;catid=16&amp;id=1831#2136</link>
            <description>Good to know, thanks for the info! :)

Yup, a page in the wiki might be a good thing. Do you feel like adding it?</description>
            <pubDate>Tue, 14 Jun 2011 20:27:43 -0600</pubDate>
        </item>
        <item>
            <title>Subject: starting an animation at a random position - by: iarwain</title>
            <link>http://www.orxproject.org/forum?func=view&amp;catid=16&amp;id=2094#2103</link>
            <description>Yep, you can access all the properties of an orxANIM, using the orxAnim.h API.

The annoying step is to actually get the anim you want. You have to query the orxANIMSET for that.

Usually you have an orxANIMPOINTER on your orxOBJECT, you can then retrieve the orxANIMSET from it.
From the orxANIMSET, you can get the orxANIM using its handle, given by the orxANIMPOINTER with GetCurrent/TargetAnimHandle.

It's a bit convoluted. I'll try to add more accessors in the new anim system. :)</description>
            <pubDate>Mon, 06 Jun 2011 17:30:33 -0600</pubDate>
        </item>
        <item>
            <title>Subject: xcode view-based iphone template - by: Kenn</title>
            <link>http://www.orxproject.org/forum?func=view&amp;catid=13&amp;id=1306#2087</link>
            <description>Well, could you send me projet template with some basic source codes which is working for you? I would really appreciate it :)</description>
            <pubDate>Sat, 28 May 2011 07:51:12 -0600</pubDate>
        </item>
    </channel>
</rss>
