/*! \file orxonox.h \brief Orxonox core functions */ #ifndef _ORXONOX_H #define _ORXONOX_H #include "comincl.h" #include "glincl.h" class CommandNode; class WorldEntity; class DataTank; class World; class Camera; class GameLoader; class ResourceManager; //! Orxonox core singleton class /** */ class Orxonox { private: static Orxonox* singletonRef; Orxonox (); char configfilename[256]; //!< Filename of the configuration-file. World* world; //!< Reference to the current running world. DataTank* resources; //!< DataContainer CommandNode* localinput; //!< Command Handler SDL_Surface* screen; //!< The current Screen GameLoader* gameLoader; //!< The gameLoader ResourceManager* resourceManager; //!< The ResourceManager bool bQuitOrxonox; //!< If Orxonox should Quit bool pause; //!< Pause mode Uint32 lastframe; //!< Time of the last Frame unsigned int argc; //!< Count of Arguments of orxonox char** argv; //!< Values of th Arguments of orxonox. void getConfigFile (int argc, char** argv); // subsystem initialization int initVideo (); int initSound (); int initInput (); int initNetworking (); int initResources (); int initWorld (); public: static Orxonox* getInstance (); virtual ~Orxonox (); void start(); void quitGame(); void eventHandler (SDL_Event* event); bool systemCommand (Command* cmd); int init (int argc, char** argv); CommandNode* getLocalInput(); World* getWorld(); SDL_Surface* getScreen (); //void mainLoop(); }; int startHelp(int argc, char** argv); int startOrxonox(int argc, char** argv); #endif /* _ORXONOX_H */