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.

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. /*!
  2. * \file include/Game.h
  3. * \brief Game abstraction
  4. *
  5. * \author xythobuz
  6. */
  7. #ifndef _GAME_H_
  8. #define _GAME_H_
  9. #include <vector>
  10. #include "Camera.h"
  11. #include "global.h"
  12. #include "Render.h"
  13. #include "TombRaider.h"
  14. #include "World.h"
  15. /*!
  16. * \brief Game abstraction
  17. */
  18. class Game {
  19. public:
  20. Game();
  21. ~Game();
  22. int initialize();
  23. int loadLevel(const char *level);
  24. void destroy();
  25. void handleAction(ActionEvents action, bool isFinished);
  26. void handleMouseMotion(int xrel, int yrel);
  27. void display();
  28. int command(std::vector<char *> *args);
  29. //! \fixme should be private
  30. entity_t *mLara;
  31. private:
  32. void processPakSounds();
  33. void processTextures();
  34. void processSprites();
  35. void processMoveables();
  36. void processMoveable(int index, int i, int *ent,
  37. std::vector<skeletal_model_t *> &cache2,
  38. std::vector<unsigned int> &cache, int object_id);
  39. void processModels();
  40. void processRooms();
  41. void setupTextureColor(texture_tri_t *r_tri, float *colorf);
  42. bool mLoaded;
  43. char *mName;
  44. TombRaider mTombRaider;
  45. unsigned int mTextureStart;
  46. unsigned int mTextureLevelOffset;
  47. unsigned int mTextureOffset;
  48. };
  49. #endif