Open Source Tomb Raider Engine
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. /*!
  2. * \file include/RunTime.h
  3. * \brief run time configuration storage
  4. *
  5. * \author xythobuz
  6. */
  7. #ifndef _RUNTIME_H_
  8. #define _RUNTIME_H_
  9. #include <string>
  10. // Defaults
  11. #define DEFAULT_CONFIG_PATH "~/.OpenRaider"
  12. #define DEFAULT_CONFIG_FILE "OpenRaider.ini"
  13. #define DEFAULT_WIDTH 1280
  14. #define DEFAULT_HEIGHT 720
  15. /*!
  16. * \brief Main Game Singleton
  17. */
  18. class RunTime {
  19. public:
  20. RunTime();
  21. std::string getBaseDir();
  22. void setBaseDir(std::string dir);
  23. std::string getPakDir();
  24. void setPakDir(std::string dir);
  25. std::string getAudioDir();
  26. void setAudioDir(std::string dir);
  27. std::string getDataDir();
  28. void setDataDir(std::string dir);
  29. KeyboardButton getKeyBinding(ActionEvents event);
  30. void setKeyBinding(ActionEvents event, KeyboardButton button);
  31. bool isRunning();
  32. void setRunning(bool run);
  33. bool getFPS();
  34. void setFPS(bool fps);
  35. private:
  36. std::string baseDir;
  37. std::string pakDir;
  38. std::string audioDir;
  39. std::string dataDir;
  40. KeyboardButton keyBindings[ActionEventCount];
  41. bool gameIsRunning;
  42. bool showFPS;
  43. };
  44. RunTime &getRunTime();
  45. #endif