OpenMW
|
00001 #ifndef _GAME_RENDER_GLOBALMAP_H 00002 #define _GAME_RENDER_GLOBALMAP_H 00003 00004 #include <string> 00005 00006 #include <OgreTexture.h> 00007 00008 namespace Loading 00009 { 00010 class Listener; 00011 } 00012 00013 namespace MWRender 00014 { 00015 00016 class GlobalMap 00017 { 00018 public: 00019 GlobalMap(const std::string& cacheDir); 00020 00021 void render(Loading::Listener* loadingListener); 00022 00023 int getWidth() { return mWidth; } 00024 int getHeight() { return mHeight; } 00025 00026 void worldPosToImageSpace(float x, float z, float& imageX, float& imageY); 00029 00030 void cellTopLeftCornerToImageSpace(int x, int y, float& imageX, float& imageY); 00031 00032 void exploreCell (int cellX, int cellY); 00033 00034 private: 00035 std::string mCacheDir; 00036 00037 std::vector< std::pair<int,int> > mExploredCells; 00038 00039 Ogre::TexturePtr mOverlayTexture; 00040 std::vector<Ogre::uchar> mExploredBuffer; 00041 00042 int mWidth; 00043 int mHeight; 00044 00045 int mMinX, mMaxX, mMinY, mMaxY; 00046 }; 00047 00048 } 00049 00050 #endif 00051