/*! \file orxonox.h \brief Orxonox core functions */ #ifndef ORXONOX_H #define ORXONOX_H #include "stdincl.h" class CommandNode; class WorldEntity; class DataTank; class World; class Camera; class GameLoader; //! Orxonox core singleton class /** */ class Orxonox { private: static Orxonox* singleton_ref; Orxonox (); ~Orxonox (); char configfilename[256]; World* world; DataTank* resources; CommandNode* localinput; Camera* localcamera; SDL_Surface* screen; GameLoader* gameLoader; bool bQuitOrxonox; bool pause; Uint32 lastframe; void get_config_file (int argc, char** argv); // main loop functions void synchronize (); void handle_input (); void time_slice (); void collision (); void display (); // subsystem initialization int init_video (); int init_sound (); int init_input (); int init_networking (); int init_resources (); int init_world (); public: static Orxonox* getInstance (); void start(); void quitGame(); void event_handler (SDL_Event* event); bool system_command (Command* cmd); int init (int argc, char** argv); CommandNode* get_localinput(); Camera* get_camera(); World* get_world(); void mainLoop(); }; #endif