#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 */