X-Git-Url: https://git.jsancho.org/?a=blobdiff_plain;f=Source%2FGame.cpp;h=723396bd197b1370da05131663fdf5214020cb2a;hb=44f6809cad4e61583d704b3b02972217863b1c43;hp=1002b0a9c4af0c71491840ee69422bdeca3c0003;hpb=6bd4d8e827e8e47b78db4a1f236cba2eed7032b4;p=lugaru.git diff --git a/Source/Game.cpp b/Source/Game.cpp index 1002b0a..723396b 100644 --- a/Source/Game.cpp +++ b/Source/Game.cpp @@ -26,6 +26,8 @@ int directing; float dialoguetime; int dialoguegonethrough[20]; +std::vector Game::textures; + Game::Game() { terraintexture = 0; @@ -52,14 +54,8 @@ Game::Game() memset(selectedlong, 0, sizeof(selectedlong)); memset(offsetx, 0, sizeof(offsetx)); memset(offsety, 0, sizeof(offsety)); - memset(movex, 0, sizeof(movex)); - memset(movey, 0, sizeof(movey)); - memset(endy, 0, sizeof(endy)); - transition = 0; - anim = 0; selected = 0; - loaddistrib = 0; keyselect = 0; indemo = 0; @@ -114,8 +110,6 @@ Game::Game() memset(campaignchoosenext, 0, sizeof(campaignchoosenext)); memset(campaignnumnext, 0, sizeof(campaignnumnext)); memset(campaignnextlevel, 0, sizeof(campaignnextlevel)); - int campaignchoicesmade; - memset(campaignchoices, 0, sizeof(campaignchoices)); memset(campaignlocationx, 0, sizeof(campaignlocationx)); memset(campaignlocationy, 0, sizeof(campaignlocationy)); memset(campaignlocationy, 0, sizeof(campaignlocationy)); @@ -172,7 +166,7 @@ Game::Game() scoreadded = 0; numchallengelevels = 0; - console = 0; + console = false; archiveselected = 0; memset(consoletext, 0, sizeof(consoletext)); @@ -241,27 +235,30 @@ void Game::inputText(char* str, int* charselected, int* nb_chars) { switch(evenement.type) { case SDL_KEYDOWN: if(evenement.key.keysym.sym == SDLK_ESCAPE) { - for(i=0;i<255;i++){ - str[i]=' '; - } + for(i=0;i<255;i++) + str[i]=0; *nb_chars=0; *charselected=0; waiting=false; } else if(evenement.key.keysym.sym==SDLK_BACKSPACE){ if((*charselected)!=0) { - for(i=(*charselected)-1;i<255;i++){ + for(i=(*charselected)-1;i<255;i++) str[i]=str[i+1]; - } - str[255]=' '; + str[255]=0; (*charselected)--; (*nb_chars)--; } } else if(evenement.key.keysym.sym==SDLK_DELETE){ - for(i=(*charselected);i<255;i++){ - str[i]=str[i+1]; - } - str[255]=' '; - (*nb_chars)--; + if((*charselected)<(*nb_chars)){ + for(i=(*charselected);i<255;i++) + str[i]=str[i+1]; + str[255]=0; + (*nb_chars)--; + } + } else if(evenement.key.keysym.sym==SDLK_HOME){ + (*charselected)=0; + } else if(evenement.key.keysym.sym==SDLK_END){ + (*charselected)=(*nb_chars); } else if(evenement.key.keysym.sym==SDLK_LEFT){ if((*charselected)!=0) (*charselected)--; @@ -270,10 +267,9 @@ void Game::inputText(char* str, int* charselected, int* nb_chars) { (*charselected)++; } else if(evenement.key.keysym.sym==SDLK_RETURN) { waiting=false; - } else if((evenement.key.keysym.unicode<127)&&((*nb_chars)<60)&&(evenement.key.keysym.sym!=SDLK_LSHIFT)&&(evenement.key.keysym.sym!=SDLK_RSHIFT)) { - for(i=255;i>=(*charselected)+1;i--){ + } else if(evenement.key.keysym.unicode>=32&&evenement.key.keysym.unicode<127&&(*nb_chars)<60){ + for(i=255;i>=(*charselected)+1;i--) str[i]=str[i-1]; - } str[*charselected]=evenement.key.keysym.unicode; (*charselected)++; (*nb_chars)++;