Targeted audience:

Required reading:

Required knowledge:


Required Tools

Directories and Path Settings

While all the data and executables must reside in the engine directory, sources have their independent directory tree. They all reside in a directory that we will refer to as 'sources directory', or sources dir. The sources dir is always separate from the engine dir (e.g. D:\Work\Sources\ being my sources dir, while D:\Work\SeriousSam\ is my engine dir).
In the sources dir, each project has its own subdirectory, named by that project. The sources are compiled there as usual, while the last stage in project building must always include copying the final binaries to the Bin\ (or Bin\Debug\) directory in the engine dir.
To enable access to the sources and binaries from the makefiles, you must have the following environment variables and settings set up:

[Win32 specific]
You should set the ENGINE_DIR in your global environment (using autoexec.bat on Win9x, or SystemProperties control panel under WinNT) and adjust the rest in the 'Directories' tab under Tools/Options in VisualC++.
[/Win32 specific]

1) ENGINE_DIR env var must point to the engine directory (e.g. 'D:\Work\SeriousSam'). Do not put the trailing backslash here.

2) Include file path must be set to include both the engine dir and the sources dir. (e.g. D:\Work\Sources; D:\Work\SeriousSam). The sources dir must be here, because all the includes are specified relatively to the sources dir, and the engine dir must be here because automatically generated header files for models are put in the same directory where the models are.

3) Library file path must include Bin\ and Bin\Debug\ subdirectories of the engine dir (e.g. D:\Work\SeriousSam\Bin; D:\Work\SeriousSam\Bin\Debug). Link libraries for the engine and game dlls are put there.

4) Executable file path must include Bin\ subdirectory of the engine dir (e.g. D:\Work\SeriousSam\Bin). This is because the build requires access to the Entity Class Compiler (ecc.exe) which is located there.

[licencee programmers only]
Also, if you will rebuild the engine binaries itself, you must add one more directory to the executable path: the directory where you have installed parser generator tools - Flex and Bison.
[/licencee programmers only]

Project Hierarchy

(only those parts relevant for changing are described, this excludes the editors for now)