X-Git-Url: https://git.jsancho.org/?a=blobdiff_plain;f=Source%2FGame.h;h=fc89b4cf0f86c680e188eb87ab355aab06dbc8b2;hb=8afdcba610cded0e54b85069ba051268b29669a6;hp=19604e1d5047931b3aeecb09407d358aab8d9e40;hpb=a5418eb653c419fc82aca6b63b027172f8a97d97;p=lugaru.git diff --git a/Source/Game.h b/Source/Game.h index 19604e1..fc89b4c 100644 --- a/Source/Game.h +++ b/Source/Game.h @@ -68,6 +68,7 @@ struct TextureInfo; class CampaignLevel { private: + int width; struct Position { int x; @@ -86,12 +87,39 @@ public: std::vector nextlevel; Position location; - CampaignLevel() { + CampaignLevel() : width(10) { choosenext = 1; location.x = 0; location.y = 0; } + int getStartX() { + return 30+120+location.x*400/512; + } + + int getStartY() { + return 30+30+(512-location.y)*400/512; + } + + int getEndX() { + return getStartX()+width; + } + + int getEndY() { + return getStartY()+width; + } + + XYZ getCenter() { + XYZ center; + center.x=getStartX()+width/2; + center.y=getStartY()+width/2; + return center; + } + + int getWidth() { + return width; + } + istream& operator<< (istream& is) { is.ignore(256,':'); is.ignore(256,':'); @@ -127,8 +155,6 @@ public: class Game { public: - static std::vector textures; - GLuint terraintexture; GLuint terraintexture2; GLuint terraintexture3; @@ -148,8 +174,6 @@ class Game int endx[100]; int endy[100]; float selectedlong[100]; - float offsetx[100]; - float offsety[100]; int selected; int keyselect; int indemo; @@ -256,12 +280,11 @@ class Game bool autocam; unsigned short crouchkey,jumpkey,forwardkey,chatkey,backkey,leftkey,rightkey,drawkey,throwkey,attackkey; + unsigned short consolekey; bool oldattackkey; - static void LoadTexture(const char *fileName, GLuint *textureid,int mipmap, bool hasalpha); - static void LoadTextureSave(const char *fileName, GLuint *textureid,int mipmap,GLubyte *array, int *skinsize); - static void LoadTextureData(const char *fileName, GLuint *textureid,int mipmap, bool hasalpha); - static void LoadTextureSaveData(const char *fileName, GLuint *textureid,int mipmap,GLubyte *array, int *skinsize, bool reload); + static void LoadTexture(const string fileName, GLuint *textureid,int mipmap, bool hasalpha); + static void LoadTextureSave(const string fileName, GLuint *textureid,int mipmap,GLubyte *array, int *skinsize); void LoadSave(const char *fileName, GLuint *textureid,bool mipmap,GLubyte *array, int *skinsize); bool AddClothes(const char *fileName, GLubyte *array); void InitGame(); @@ -344,33 +367,6 @@ class Game Account* accountactive; }; -//keeps track of which textures are loaded -//TODO: delete them properly -struct TextureInfo { - bool isLoaded; - bool isSkin; - const char* fileName; - GLuint* ptextureid; - int mipmap; - bool hasalpha; - GLubyte* array; - int* skinsize; - - void load() { - if(isSkin) - Game::LoadTextureSaveData(fileName,ptextureid,mipmap,array,skinsize,isLoaded); - else - Game::LoadTextureData(fileName,ptextureid,mipmap,hasalpha); - isLoaded=true; - } - TextureInfo(const char *_fileName, GLuint *_ptextureid,int _mipmap, bool _hasalpha): - isLoaded(false), isSkin(false), array(NULL), skinsize(NULL), - fileName(_fileName), ptextureid(_ptextureid), mipmap(_mipmap), hasalpha(_hasalpha) { } - TextureInfo(const char *_fileName, GLuint *_ptextureid, int _mipmap, GLubyte *_array, int *_skinsize): - isLoaded(false), isSkin(true), hasalpha(false), - fileName(_fileName), ptextureid(_ptextureid), mipmap(_mipmap), array(_array), skinsize(_skinsize) { } -}; - #ifndef __forceinline # ifdef __GNUC__ # define __forceinline inline __attribute__((always_inline))