From OpenLieroX Wiki
Porting OpenLieroX to another system means to add support in the OpenLieroX source code so that it works on some other system. This can be a mobile phone (or Smartphone), a gaming console or also another operating system (right now, Windows, Linux, MacOSX, FreeBSD as well as any POSIX-compatible system are supported).
Contents |
Information for specific ports
- OLX on PS2
- OLX on Wii
- OLX on Nokia N800/N810 (working version reported)
- OLX on Motorola Z6
- OLX on LG enV2
- OLX on Xbox (very unprobable to come)
- OLX on PSP
In case you want to start a new port, please add it to this list and post some information in the forum or here in the Wiki.
Basic requirements
C++
The most important requirement is that you can compile C++ code for that system.
SDL
SDL is currently used for:
- the input system (keyboard, mouse, gamepads)
- creating the window / screen drawing area
- handling system events (closing the game, etc.)
- drawing on the screen/window
SDL is ported to a lot of systems already. Search on Google for an SDL port for your favourite system (because not all are noted on the official homepage). In many cases, having this will make the porting a lot easier. It also means that the system probably has all the requirements in principle to support OLX.
In case there is no SDL port for the system, you might also port SDL yourself. The SDL code is very portable and you will probably get help from many other people who are interested in it.
Getting rid of the SDL dependency in OLX would be a lot of work (maybe even more work than just porting SDL yourself). Though, it is not impossible and it has been made already much easier than it was earlier. The heaviest part is the graphics code and image manipulations. Though, this is also the part which is most likely replaced by OpenGL code at some time.
OpenAL
Since OLX 0.59, we are using OpenAL for the audio code. (Earlier we used SDL for this. SDL is much more low level though and doesn't have 3D sound support.)
OpenLieroX should work with any OpenAL implementation. There is the OpenAL Soft implementation which should work pretty much on every system (or which should be easy to port).
Boost
OpenLieroX uses some parts of Boost. Right now, that are:
- Boost signals
- Boost process
- Boost shared_ptr
Some other libraries
Like zlib, xml2 and others. I won't list them all here. But most of them are very basic and also pretty much cross platform themself. So even if your system doesn't provide this, the libraries are all Open Source and will most likely be compileable on your system (if the rest of OLX compiles).
Take a look at the file DEPS in your OpenLieroX archive. That file contains a full list of all dependencies.
