diff options
Diffstat (limited to 'README-DEV-OPENGL.txt')
-rw-r--r-- | README-DEV-OPENGL.txt | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/README-DEV-OPENGL.txt b/README-DEV-OPENGL.txt new file mode 100644 index 0000000..8d0c1aa --- /dev/null +++ b/README-DEV-OPENGL.txt @@ -0,0 +1,40 @@ +README for developers + +This file outlines the most important things for developers. + +1. Goal. + + This branch is the main development branch into which features from other development branches will be pulled in after completing their goals. Currently these branches include: + * opengl-dev branch - branch dedicated to rewriting the graphics engine using SDL and OpenGL + * ... + +2. Build system and organisation of directories. + + The directories in the repository are as following: + src/CBot separate CBot library + src/app class CApplication and everything concerned with SDL plus other system-dependent code such as displaying a message box, finding files, etc. + src/common shared structs, enums, defines, etc.; should not have any external dependencies + src/graphics/common interface of graphics engine (CEngine) and device (CDevice), without concrete implementation, shared structs such as Vertex, Material, etc., "effects" classes: CCamera, CLight, CParticle that will use the graphics engine interface + src/graphics/opengl concrete implementation of CEngine and CDevice classes in OpenGL: CGLEngine and CGLDevice + src/graphics/d3d in (far) future - perhaps a newer implementation in DirectX (9? 10?) + src/math mathematical structures and functions + src/object non-graphical game engine, that is robots, buildings, etc.; dependent only on interface of graphics engine, not on concrete implementation + src/ui 2D user interface (menu, buttons, check boxes, etc.); also without dependencies to concrete implementation of graphics engine + src/sound sound and music engine written using fmod library + src/physics physics engine + src/script link with the CBot library + src/old old modules that will be replaced by new code + + Other directories, not very important right now, include: + src/doc contains the Doxygen mainpage text; it will probably be removed to app/main.cpp or some other place soon + src/metafile a separate program for packing data files to .dat format + + The build system is as follows: + /CMakeLists.txt - definition of project, build type setup, general compiler options and reference to src subdirectory + /src/CMakeLists.txt - currently defines two targets: colobot_old - the original game comprised of old sources, compiles and runs only on Windows; colobot_new - new implementation in SDL, compiles and runs on Windows and Linux, for now only "hello world"-like; colobot_old target references also CBot library + /src/CBot/CMakeLists.txt - defines the CBot library target + + There is also a generated header common/config.h with #defines set by CMake. + +3. For other things, refer to README files in respective feature development branches. + |