Hi!
Not sure how to get started, I'm a "little bit" lost (also not sure what I am / should be trying to to do any more at this point) - is there a orx+newcpp_project-Skeleton or something like that (linux, possibly even netbeans-friendly) available for download somewhere? Or a small demo / tutorial / example that's structured in a way that its usable as such?
My "goal" is probably something like: to have a neat, clean environment where I can build orx (in case I want to mess around in the source / experiment) + one or more c++ test projects to play around with (starting out on linux-x86_64, but I might want to try cross-compiling for windows with mingw)... so I can learn stuff.
General recommendations are appreciated too, though.
So far I have (tl;dr="failed"):
- compiled codelite
- compiled orx from source using codelite
- created a new "project" in the "workspace" from the demo
- Tried to create a new project using the orx c++ tutorial as a template + failed.
- kicked out / deleted codelite for storing stuff all over the HD, messing up relative includes, misplacing the sources of the demo + first tutorial while pretending it's in the same folder as the orx source... and not being able to compile its own hello-world template into an executable that doesn't crash. (Yes, I know I'm probably using it wrong / that's all my fault, but somehow it was just hate at first sight xD)
- tried to recreate the 3 projects in netbeans. This time, the source and the demo compiled sort of fine, except that I'm not sure where to put everything so.
- Noticed that the "extern libs" aren't built. by default. Partly "Fixed" that with chaotic zsh scripts, but couldn't find all of the make files (probably not all included)
- Noticed that "demo" is not actually using the orx I built. "Fixed" that with chaotic filesystem hard+softlinking.
- Shoved stuff around and updated locations in source with sed, until everything was in a netbeans + git-friendly directory structure which looked really really neat and practical but somehow broke everything 
- Deleted the whole mess
Uhm... long story short: help pls? :blink:
Comments
I see that you already poked around quite a bit!
First of all, which version are you using? The 1.4 release or the latest from the mercurial repository? I'd recommend going with the hg repository if you're not already using it.
Let's try to address your concerns in separate points.
- Compiling orx -
As you've noticed, it should compile out of the box as long as you have the source + extern dependencies.
The dependencies are pre-compiler, even on the hg repo, for convenience sake.
You can (re-)generate project/build files for a few different system using the premake version that ships with orx (you'll find the binaries in /extern/premake/bin/linux64 in your case). With that you can generate GNU makefiles, code::blocks project or codelite ones. Not sure what netbeans accepts, I've never used it.
When compiling orx, make sure you compile the embedded dynamic versions. You could also go for the static ones, but "embedded" is the keyword here. Also make sure that you have your defines correctly set: when compiling a debug version with __orxDEBUG__ defined, you also need to set __orxDEBUG__ when linking with it, otherwise you'll get some runtime errors. Same thing goes the other way around, don't define __orxDEBUG__ when linking with a non-debug version of orx.
Now, armed with your .so and the include folder, anything should be possible.
- Template project -
Any of the tutorials should be a reasonable template for C/C++, really. You can also follow some of the community tutorials from the wiki (Grey's ones come to mind). Or look to more recent tutorials I wrote:
- resource, which shows how the resource system works, how to prepare a game for patching, how to support custom "archives" as well as some timeline example in config
- simpletest, which is just that: a simple tutorial
They both come with a decent folder structure (at least the one I like for my own projects), and premake files to make it as portable as possible. You can also have a look to older stuff like my Molyjam 2012 game entry: Breaktris
However in this case, the headers/binaries are fairly outdated.
Lemme know if it's still too messy or you need more info.
Cheers,
Rom
iarwain wrote: Yes, after switching to those and using the...:
It already looked a lot better - somehow I totally failed to see both those options on my first try.
There's a lot of info a bit all over the place so it's not always easy to find everything.
Don't hesitate if you have any other questions!