MG/Project Structure
This page describes the folder structure of the MegaGlest Project.
Structure
| Folder | Description |
|---|---|
| top level folder | Contains top level CMakeLists.txt which controls how the sub modules get built using cmake |
| data | Contains game data content like models, textures, xml files, etc which the game loads as required. This is where modders would play most of the time. |
| data/glest_game/data/core | Core game data such as menu textures, fonts and sounds |
| data/glest_game/data/lang | Language files translated into your native tongue (feel free to contribute) |
| data/glest_game/maps | Map files (these are the world definition to play the game in) |
| data/glest_game/scenarios | Scenario files (Lua scripting for story mode) |
| data/glest_game/screens | This is the folder where screenshots are saved when users press the E hotkey in game |
| data/glest_game/techs | Techtrees which contains selected faction definitions (XML, G3D, OGG, etc) |
| data/glest_game/tilesets | Tileset files (this defines how the terrain should look, grassy, sandy, forest, etc) |
| data/glest_game/tutorials | Tutorial files (this is where beginners should start to learn how to play) |
| docs | Contains various readme files, license agreements, etc. This is a good place to start reading for developers. |
| mk | This is where platform specific project files are kept. Currently there are folders for linux and windoze |
| mk/linux | Linux related files |
| mk/fedora | fedora rpm build related files |
| mk/windoze | Windows project files (using Visual Studio 2008 Express) |
| source | All source code for the project lives inside here. |
| source/configurator | A deprecated tool used to modify game settings |
| source/g3d_viewer | A tool for G3D model and particle file viewing |
| source/glest_map_editor | A tool for editing *.gbm (Glest) and *.mgm (MegaGlest) map files |
| source/masterserver | PHP source code for our hosted masterserver |
| source/shared_lib | C / C++ shared library code used in Mega-Glest and some of the tools above |
| source/glest_game | C / C++ Mega-Glest game code |
| source/win32_deps | C / C++ dependencies for Windows Compilation |
Linux Scripts
The following are miscellaneous scripts located in mk/linux:
| Script | Description |
|---|---|
| mg-version.sh | Indicates the current version # for a new release. |
| makedata.sh | Creates a data ONLY archive containing game content for a new release. |
| makedata-diff.sh | Create a game data diff ONLY archive containing data that is different between two releases (usually very small). Edit the variable: OLD_VERSION=3.3.4 to determine which version to compare with) |
| makerelease.sh | Creates a source code archive for a new release. |
| setupBuildDeps.sh | Installs required linux dependencies (Ubuntu, Debian, Fedora and open SuSE based) |