123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475 |
- /*!
- * \file include/Game.h
- * \brief Game abstraction
- *
- * \author xythobuz
- */
-
- #ifndef _GAME_H_
- #define _GAME_H_
-
- #include <list>
-
- #include "Camera.h"
- #include "global.h"
- #include "Render.h"
- #include "TombRaider.h"
- #include "World.h"
-
- typedef enum {
- Flag_DebugModel = (1 << 0)
- } GameFlags;
-
- /*!
- * \brief Game abstraction
- */
- class Game {
- public:
-
- Game();
-
- ~Game();
-
- int initialize();
-
- int loadLevel(const char *level);
-
- void destroy();
-
- void handleAction(ActionEvents action, bool isFinished);
-
- void handleMouseMotion(int xrel, int yrel);
-
- void display();
-
- void percentCallback(int percent);
-
- World mWorld;
- entity_t *mLara;
- Render *mRender;
- Camera *mCamera;
-
- private:
-
- void processPakSounds();
- void processTextures();
- void processSprites();
- void processMoveables();
- void processMoveable(int index, int i, int *ent,
- std::vector<skeletal_model_t *> &cache2,
- std::vector<unsigned int> &cache, int object_id);
- void processModel(int index);
- void processRoom(int index);
- void setupTextureColor(texture_tri_t *r_tri, float *colorf);
-
- bool mLoaded;
- char *mName;
- unsigned int mFlags;
- TombRaider mTombRaider;
-
- unsigned int mTextureStart;
- unsigned int mTextureLevelOffset;
- unsigned int mTextureOffset;
- };
-
- #endif
|