MG/Project Structure

From MegaGlest
(Redirected from MG/Misc Scripts)
Jump to navigation Jump to search

This page describes the directory structure of the MegaGlest Project.

Structure[edit]

Folder Description
/ 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 now is moved to separate repository
/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[edit]

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 (for Ubuntu, Debian, Fedora, Opensuse and other distributions)

See Also[edit]