From 70b695ef3df7ba44870404933f140ef49f4df57c Mon Sep 17 00:00:00 2001 From: Petr Ohlidal Date: Sat, 23 Jan 2021 18:53:27 +0100 Subject: [PATCH] :books: Doxygen: added codebase overview page --- doc/doxygen/Doxyfile.conf.in | 1 + doc/doxygen/Overview.h | 22 ++++++++++++++++++++++ 2 files changed, 23 insertions(+) create mode 100644 doc/doxygen/Overview.h diff --git a/doc/doxygen/Doxyfile.conf.in b/doc/doxygen/Doxyfile.conf.in index 1f24d783e4..de64c686fe 100644 --- a/doc/doxygen/Doxyfile.conf.in +++ b/doc/doxygen/Doxyfile.conf.in @@ -762,6 +762,7 @@ WARN_LOGFILE = # Note: If this tag is empty the current directory is searched. INPUT = @DOXYGEN_SOURCE_DIR@/MainPage.h \ + @DOXYGEN_SOURCE_DIR@/Overview.h \ @PROJECT_SOURCE_DIR@/source # This tag can be used to specify the character encoding of the source files diff --git a/doc/doxygen/Overview.h b/doc/doxygen/Overview.h new file mode 100644 index 0000000000..500f98379e --- /dev/null +++ b/doc/doxygen/Overview.h @@ -0,0 +1,22 @@ +/*! + * @page Codebase overview + * + * # The application + * + * Rigs of Rods is a monolithic C++ program with it's own main input/rendering loop. + * The entry point is a standard main() function which performs all initialization, message processing and cleanup. + * + * # Input handling + * Inputs are received via OIS library's listener mechanism. + * Class RoR::AppContext is the sole listener for all inputs and serves as a dispatcher between various subsystems. + * Gameplay inputs are defined by enum events and handled by InputEngine. RoR::InputEngine also reads input configuration files '*.map', the default being 'input.map'. + * + * # Rendering + * Graphical output is done via OGRE 3D rendering engine (not to be confused with game engine). + * Startup is done by RoR::AppContext::SetUpRendering(). + * Window events are handled by RoR::AppContext via OGRE's OgreBites::WindowEventListener. Note Ogre::FrameListener interface is not used, we roll our own rendering loop in main(). + * + * + * + * + */