MG/Development

Introduction
For people who would like to work on MegaGlest, the MegaGlest team has tried to work hard to make things as easy for the users as possible. Below is a list of links to try to assist anyone who is interested in helping with development or just to learn for your own enjoyment.

MegaGlest is hosted at GitHub:
 * Game engine: megaglest-source
 * Game assets: megaglest-data
 * Masterserver: megaglest-masterserver

Please refer to the topics below for further information.

Accessing GIT

 * Getting The Code
 * Project Structure

Compiling

 * Linux Compiling (cmake)
 * Windows Compiling (VC++)
 * CodeBlocks Compiling
 * Mac Compiling
 * FreeBSD Compiling (cmake)
 * Misc Scripts

Installers
Installers make it easy for people to get the software setup on their computers, so when the MegaGlest team makes a new stable release, they also prepare/build Installers. As of v3.5.1 megaglest's build system support 'make install' style installation on Linux based platforms. The following is an example of how to do this in Ubuntu:

cd mk/linux mkdir build cd build cmake ../../.. make -j 3 sudo make install megaglest

Testing
Once a new revision is successfully compiled, newly added features need extensive testing so that a stable and working version is shipped.

Testing the game menu
If there are problems with the game related to the game menu, edit source/shared_lib/include/platform/sdl/thread.h and uncomment the following line (remove the leading double slash) before recompiling.

//#define DEBUG_MUTEXES