Difference between revisions of "MG/Project Structure"
Jump to navigation
Jump to search
(Refresh) |
|||
(3 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
− | This page describes the folder structure of the [[MegaGlest]] | + | This page describes the folder structure of the [[MegaGlest]] Project. |
==Structure== | ==Structure== | ||
Line 10: | Line 10: | ||
|- | |- | ||
|<tt>data</tt> | |<tt>data</tt> | ||
− | |Contains game data content like models, textures, xml files, etc which the game loads as required. This is | + | |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. |
|- | |- | ||
|<tt>data/glest_game/data/core</tt> | |<tt>data/glest_game/data/core</tt> | ||
Line 40: | Line 40: | ||
|- | |- | ||
|<tt>mk</tt> | |<tt>mk</tt> | ||
− | |This is where platform specific project files are kept. Currently there are folders for ''linux'' and '' | + | |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) |
|- | |- | ||
|<tt>mk/linux</tt> | |<tt>mk/linux</tt> | ||
Line 47: | Line 47: | ||
|<tt>mk/fedora</tt> | |<tt>mk/fedora</tt> | ||
|fedora rpm build related files | |fedora rpm build related files | ||
+ | |- | ||
+ | |<tt>mk/macosx</tt> | ||
+ | |OS X project files (using XCode) | ||
|- | |- | ||
|<tt>mk/windoze</tt> | |<tt>mk/windoze</tt> | ||
Line 53: | Line 56: | ||
|<tt>source</tt> | |<tt>source</tt> | ||
|All source code for the project lives inside here. | |All source code for the project lives inside here. | ||
− | |||
− | |||
− | |||
|- | |- | ||
|<tt>source/g3d_viewer</tt> | |<tt>source/g3d_viewer</tt> | ||
|A tool for G3D model and particle file viewing | |A tool for G3D model and particle file viewing | ||
+ | |- | ||
+ | |<tt>source/glest_game</tt> | ||
+ | |C / C++ MegaGlest game code | ||
|- | |- | ||
|<tt>source/glest_map_editor</tt> | |<tt>source/glest_map_editor</tt> | ||
Line 67: | Line 70: | ||
|- | |- | ||
|<tt>source/shared_lib</tt> | |<tt>source/shared_lib</tt> | ||
− | |C / C++ shared library code used in | + | |C / C++ shared library code used in MegaGlest and some of the tools above |
|- | |- | ||
− | |<tt>source/ | + | |<tt>source/tests</tt> |
− | |C / C++ | + | |C / C++ unit tests |
+ | |- | ||
+ | |<tt>source/tools</tt> | ||
+ | |Several utilities related to MegaGlest | ||
|- | |- | ||
− | |<tt>source/ | + | |<tt>source/windows_deps</tt> |
|C / C++ dependencies for Windows Compilation | |C / C++ dependencies for Windows Compilation | ||
|} | |} |
Revision as of 15:31, 26 January 2014
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) |