Coding
Getting the source
Just have a look at our Getting the source page to get more information about this.
Requirements
In order to compile UFO:Alien Invasion under Linux you need to install some packages.
Tools:
- gcc/g++
- make
- pkg-config
- python3
- zip
Libraries (with headers)
- intl (gettext)
- libcurl header
- libjpeg8 header
- libpng header
- Lua version >= 5.3
- OpenGL-header files (usually comes with your graphic card drivers; or you may use the 'mesa' source package)
- ogg vorbis header
- SDL2
- SDL2_ttf (sdl2-ttf)
- SDL2_mixer (libsdl2-mixer)
- Vorbis
- zlib header version >= 1.2.3
Compiling the source
Don't forget to compile the maps when you are not using any pre packaged version. Otherwise the tactical missions won't start up.
Also make sure, that you compile the language files (po-files from src/po
). Otherwise you will only see placeholders in the ufopedia and some other places.
You can now create the pk3 archives by typing
make pk3
- also see the packaging notes. This step is optional.
After compiling the source and maps you will most likely run the game.
Debugging the game
There is a debugging article available with more information about this topic.
The Debug commands will help you here as well.
Contributing
If you want to contribute to the project you need an account at sourceforge.net or submit your patches anonymously to our issue tracker. There is also a TODO-list and a Changelog available. Please also have a look at the coding guidelines.
Documentation
The Doxygen code documentation can be found here. It is most likely out of date, but you can always generate a current one yourself by typing:
make doxygen-docs
in the root of your ufoai working directory.
External Links
Coding help
- {{https|www.gamedev.net/|GameDev.net}
- flipCode Archives
- C-Programming articles
- NeHe OpenGL tutorials
Tutorials on the net
some of them are Quake1 or Quake3 related but maybe give a starting point...