= Libraries = [[TracNav(TracNav/TOC_Development)]] A list of our external libraries and what we're using them for. || '''Library''' || '''Source''' || '''Versions''' || '''Reason''' || || Ogre || external || 1.6 - 1.8 || The graphics library || || Boost || external || 1.40 - || A compilation of useful sub-libraries, classes, functions and headers || || Bullet || SVN || (*) || Modern physics library written in C++ || || CEGUI || external || 0.6 - 0.7 || A GUI (graphical user interface) library with lua scripting interface || || [wiki:OIS] || SVN || (*) || Input system (mouse, keyboard, joystick, gamepad, ...) || || Lua || external || 5.1 || A scripting language which is used in our [wiki:Loader XML level] files ([wiki:Script more]) || || Tcl || external || 8.4 - 8.5 || A command language for our [wiki:Shell] and other scripts ([wiki:TclBind here] and [wiki:TclThreadManager here]) || || TinyXML || SVN || (*) || To parse XML files in the [wiki:Loader] || || TinyXML++ || SVN || (*) || A more cpp-like interface to TinyXML || || Tolua || SVN || (*) || Binds our C++ functions with Lua || || Tolua++ || SVN || (*) || Extension of tolua for C++ constructs (like templates and std::string) || || C++/Tcl || SVN || (*) || Helps using Tcl in C++ || || ENet || SVN || (*) || A [wiki:Network] library to send and receive packets || || Zlib || external || (**) || A standard compression library used in network library || || Ogg/Vorbis || external || (**) || Audio container and codec || || OpenAL/ALUT || external || (**) || 3D sound in games || || gtest/gmock || SVN || (*) || For unit tests and mocks || (*) These libraries are included in our own source repository because they are either poorly available or we were forced to make changes. You can therefore NOT use your own version. (**) Any current version should work Note: On Windows, we supply precompiled binary packages that are built to work with Orxonox. You do not need to install any libraries except for OpenAL and DirectX. See the [wiki:download] page for further instructions.