Orx supports the creation of your own game projects by providing a very useful script called:
init
Depending on your operating system, init
will create a project for Visual Studio, Codelite, Code::Blocks, XCode, and gmake.
This is available in the root of your Orx folder. 1)
There are two commands:
init.sh
for Mac or Linuxinit.bat
for Windows.cd your way into the orx folder to try out the command.
When typing the init
command above, depending on what operating system you are on, you will receive the following output:
c:\Work\orx>init == Not enough arguments: [] == Usage: c:\Work\orx\init.bat name = name: Project name, relative or full path, required
You only need to specify a path in order to create and name a project. For example:
c:\Work\orx>init c:\temp\MyGame [ 12:56:59 ] Initializing [ MyGame ] in [ c:\temp\ ] [ 12:56:59 ] == Creating files: + MyGame\.editorconfig + MyGame\build\premake4.lua + MyGame\data\config\MyGame.ini + MyGame\data\config\MyGamed.ini + MyGame\data\config\MyGamep.ini + MyGame\data\sound\appear.ogg + MyGame\data\texture\logo.png + MyGame\src\MyGame.cpp [ 12:57:01 ] Generating build files for [ windows ]: * gmake Building configurations... Running action 'gmake'... Generating windows/gmake/Makefile... Generating windows/gmake/MyGame.make... Done. * codelite Building configurations... Running action 'codelite'... Generating windows/codelite/MyGame.workspace... Generating windows/codelite/MyGame.project... Done. * codeblocks Building configurations... Running action 'codeblocks'... Generating windows/codeblocks/MyGame.workspace... Generating windows/codeblocks/MyGame.cbp... Done. * vs2013 Building configurations... Running action 'vs2013'... Generating windows/vs2013/MyGame.sln... Generating windows/vs2013/MyGame.vcxproj... Generating windows/vs2013/MyGame.vcxproj.user... Generating windows/vs2013/MyGame.vcxproj.filters... Done. * vs2015 Building configurations... Running action 'vs2015'... Generating windows/vs2015/MyGame.sln... Generating windows/vs2015/MyGame.vcxproj... Generating windows/vs2015/MyGame.vcxproj.user... Generating windows/vs2015/MyGame.vcxproj.filters... Done. * vs2017 Building configurations... Running action 'vs2017'... Generating windows/vs2017/MyGame.sln... Generating windows/vs2017/MyGame.vcxproj... Generating windows/vs2017/MyGame.vcxproj.user... Generating windows/vs2017/MyGame.vcxproj.filters... Done. [ 12:57:01 ] Init successful!
For those who prefer not to use the commandline, init can be clicked directly from the Windows Explorer (for windows), Finder on Mac, or for Linux… could be anything really.
When you click on init.bat
or init.sh
, you will be asked for a path. If you enter something like:
c:\work\MyGame
Then the folder above will be created, and MyGame
will be name of the Solution / Workspace / or Project.
In the same way for Linux or Mac if you could enter something like:
~/Documents/MyGame
The init
command will create a folder MyGame
in the folder path specified and will give you the following sub-directories:
build
will contain builds for all the IDEs for your operating system. Just pick the one you want to use.
data
contains some sample config files, sounds and textures.
src
contains a basic setup source file.
You don't need to bring in the include
or lib
folders from the Orx folder. Your $(ORX) variable will enable your project to see those dependencies from the Orx folder automatically. Therefore your project can be created anywhere, and will still compile fine.
In the same way, you don't need to manually copy over orx*.dll files (or orx*.so) files, as your project is already configured to copy these into the bin
folder for you on each compile.
That's about it. A lot of work has gone into making this as bullet proof as possible, so you should have no trouble spinning up new projects whenever you need one.
Problem 1: If you receive an error compiling your own game project with something like:
cannot find -lorxd
This is because you either:
init
can make use of Orx's dll(s) that reside there. If they are missing you will get linker errors trying to find orx.dll or orx.so libraries;Debug
, Profile
and Release
.
Problem 2: The dll files at the $ORX location are not being copied into my game's bin
folder.
Ensure you have compiled all three required Orx library configurations. Compile Debug
, Profile
and Release
. If the post-event copy step in your game project cannot find all three files at $ORX, then none will be copied over to your project's bin
folder.