The skeleton contains simple wrappers for initializing and destroying everything in the engine.


Generally, when writing a game, you will create a lot of small stub functions to dig deep into the various SGX components. A common case involves getting the mouse cursor, like this:

CSGXInputManager::get()->getMouseX();

or

CSGXInputManager::get()->isMouseButtonDown(CSGXInputManager::eMouseButtonLeft);

This is far too long-winded to understand when you're starting out, so the "skeleton" was born.



If you only use a subset of the components, then you must either:

* Not use the skeleton (since it uses everything)
* Accept the fact you may have code bloat, if all libraries are linked but not unsed.
* Stop the skeleton from referencing these libraries.


This is not a problem without the skeleton since you, as the programmer, will only initialize/destroy the libraries you _actually_ use.


So, to ignore specific libraries from the skeleton, define one or more of the following symbols in the C++ pre-processor defines section of your compiler, and build.

SGX_EXCLUDE_AUDIO_LIB
SGX_EXCLUDE_COLLISION_LIB
SGX_EXCLUDE_INPUT_LIB
SGX_EXCLUDE_FILESYSTEM_LIB
SGX_EXCLUDE_GRAPHICS_LIB
 SGX_EXCLUDE_GRAPHICS_FTGL_LIB
SGX_EXCLUDE_GUI_LIB
SGX_EXCLUDE_NETWORK_LIB
SGX_EXCLUDE_PHYSICS_LIB
SGX_EXCLUDE_SCRIPTING_LIB
SGX_EXCLUDE_VIDEO_LIB

