#ifdef tb_generate_documentation
#error This file should not be included in any project. It is for generating TurtleBrains documentation using Doxygen.
//-------------------------------------------------------------------------------------------------------------------//
///
/// @mainpage Getting Started
///
/// %TurtleBrains is a C++ Game Development framework great for two-dimensional games and building simple applications like game tools.
/// It is currently in alpha status and the API may continue to change until it gets more stable. Check
/// out the following features of the %TurtleBrains framework to see if %TurtleBrains is a fit for your particular project.
///
/// # Is %TurtleBrains for your project?
/// - @subpage pageWhatIsTurtleBrains
/// - @subpage pageLicenseDetails
/// - @subpage pageCodingStandards
/// - @ref pageMadeWith
///
/// # Setting up %TurtleBrains
/// Getting the framework setup is not terribly hard, but it could be easier with some work and for that reason the
/// documentation in this area will be very brief and slightly incomplete as it is expected that this process changes
/// in future versions to be much easier. Perhaps my template project using premake will get released. Until then it is
/// going to require an intermediate understanding of C++ includes and linker options within your IDE.\n\n
///
/// Start by @subpage pageDownloads "Download TurtleBrains the latest version".\n
/// - Create a new project with your IDE, (recommend a win32 console application for Visual Studio for ease, or define WIN32 in IDE options)
/// - Add all %TurtleBrains% source files to your project, most IDE's should support drag and drop of source directory.
/// - C++11 is used within the source files, so you may need to set an option in your IDE.
/// - (Because Objective-C .mm files are used on mac, it may be required to remove those from Windows/Linux builds)
/// - Add the external_libraries/includes directory to the compilers include search paths.
/// - Add the appropriate external_libraries/libraries/ to the linkers search paths.
/// - Windows requires linking with: OpenGL32, glew32, and OpenAL32
/// - Mac OS X requires linking with: AppKit.framework, OpenGL.framework, glew, and OpenAL.framework
/// - Linux requires linking with: xlib, GL, GLEW, and openal
/// - Add a preprocessor (in the IDE options) define for your platform: tb_windows, tb_macosx or tb_linux
/// - If starting from a empty project in Visual Studio, also make sure WIN32 is defined.
/// - Add a source file including the main() function which starts up the project and you should be good to go!
///
/// @ref pageApplicationDevelopment "Starting with Application Development"\n
/// @ref pageGameDevelopment "Starting with Game Development"
///
/// # Questions? Ask the developer!
///
/// @htmlonly @endhtmlonly
///
//-------------------------------------------------------------------------------------------------------------------//
///
/// @page pageWhatIsTurtleBrains What is TurtleBrains
///
/// @details %TurtleBrains will help you create a real-time application or game using OpenGL. It is possible and simple
/// to add native (to the operating system) controls like menus, message boxes and customized dialog boxes. This
/// allows the creation of tools for game development, or simple controls for interacting with your application.
/// Being aimed at game developers %TurtleBrains also contains a collection of helpers like a StateMachine,
/// SpriteManager and Input.
///
/// # %TurtleBrains Features
/// - Window and OpenGL Context creation. (legacy or 3.2 contexts)
/// - Simplified Menus and Dialogs for native system controls. (game editors/tools)
/// - Fire and forget audio management with data driven events using OpenAL.
/// - Data driven sprite and sprite animation management.
/// - TileSystem which loads tilemaps and layers created with Tiled map editor.
/// - Entity management with intersection tests, (circle, aabb), and behavior stack.
///
/// # %TurtleBrains is great for
/// - simple real-time applications with an OpenGL renderer for primary window.
/// - rapid game development for two-dimensional games.
/// - window/context management for three-dimensional games with OpenGL, when scene graphs/rendering help is not needed.
///
/// # %TurtleBrains is less great at
/// - making an application with complex system controls and features.
/// - making a three-dimensional game when rendering help is required.
///
/// # Supported Platforms
/// - Windows
/// - Mac OS X
/// - Linux* (No Application Menu, Dialog, Status Bar objects).
/// - Future support for iOS and Android devices may be added.
///
//-------------------------------------------------------------------------------------------------------------------//
///
/// @page pageCodingStandards Coding Standards
/// All written code is kept at a high standard as defined by
/// this coding standards document.\n
/// Some C++11 language features are used.
///
/// @author Tim "BlackBird" Beaudet
///
//-------------------------------------------------------------------------------------------------------------------//
///
/// @page pageLicenseDetails Licensing Details
/// A license has not been chosen at this point in time. Although from much appreciated advice, a dual licensing scheme may
/// be created with GPLv3 and a purchasable closed license. The following states the intentions regarding licensing
/// the %TurtleBrains framework.
/// - Free, and open source, for personal use, or use in hobby projects with an install base of less than ~1000.
/// - Low, one time, per person, fee to be used in a commercial project or projects with more than 1000 installs.
/// The fee would be to encourage giving back to the time and energy spent in developing and maintaining %TurtleBrains.
///
//-------------------------------------------------------------------------------------------------------------------//
///
/// @page pageDownloads Download %TurtleBrains
///
/// # Deployed Releases
/// No official release has been deployed at this time, though the development repository is avialable.
///
/// # Development Repository (SVN)
/// Grabbing the latest and greatest is usually okay although on occasion an issue may occur as this is in active
/// development. I'm not perfect so please let me know if it does. Due to the way documentation is
/// deployed, this documentation may get slightly out of sync with the code in the development repository, but should
/// remain stable for any of the actual deployed releases.\n\n
/// Also note the source is currently closed (copyright Tim Beaudet) until a license can be choosen and applied. For
/// more information read the @ref pageLicenseDetails.\n\n
/// http://www.timbeaudet.com/turtlebrains
///
//-------------------------------------------------------------------------------------------------------------------//
// Note: pageVersions is disabled due to // vs /// as it may not be needed?
//
// @page pageVersions Versioning
// @brief Some information on the versioning of the TurtleBrains API.
// @details There will be more information here before TurtleBrains gets released publicly.
// TODO: TIM: Documentation: This section is incomplete, finish teaching the user how to use TurtleBrains.
//
//-------------------------------------------------------------------------------------------------------------------//
#endif /* tb_generate_documentation */