MG/Project Structure

From MegaGlest
Revision as of 15:31, 26 January 2014 by 87.149.72.159 (talk) (Refresh)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

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 game data which ships with the game by default (such as the Megapack). Mods are not placed here but in the users' home directory (ApplicationData on Windows) - they use the same directory structure, though.
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, windoze, macosx and shared (for files used on multiple platforms)
mk/linux Linux related files
mk/fedora fedora rpm build related files
mk/macosx OS X project files (using XCode)
mk/windoze Windows project files (using Visual Studio 2008 Express)
source All source code for the project lives inside here.
source/g3d_viewer A tool for G3D model and particle file viewing
source/glest_game C / C++ MegaGlest game code
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 MegaGlest and some of the tools above
source/tests C / C++ unit tests
source/tools Several utilities related to MegaGlest
source/windows_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)

See Also