]> git.jsancho.org Git - lugaru.git/blobdiff - Source/GameTick.cpp
fixed menu clicks carrying over
[lugaru.git] / Source / GameTick.cpp
index ee3ddea78f1d5bd032e38034d633747b971b29a2..d5ddeb41c1145626da341555137d53462c034cec 100644 (file)
@@ -2176,8 +2176,7 @@ void Game::MenuTick(){
                 mainmenu=1;
             }
         }
-    }
-    if(mainmenu==3){
+    }else if(mainmenu==3){
         if(Input::MouseClicked()){
 
             if(selected!=-1)
@@ -2296,8 +2295,7 @@ void Game::MenuTick(){
                     break;
             }
         }
-    }
-    if(mainmenu==4){
+    }else if(mainmenu==4){
         if(Input::MouseClicked()&&selected!=-1&&!waiting){
             fireSound();
             if(selected<9&&keyselect==-1)
@@ -2317,9 +2315,7 @@ void Game::MenuTick(){
                 if(newscreenheight<0)newscreenheight=screenheight;
             }
         }
-    }
-
-    if(mainmenu==5){
+    }else if(mainmenu==5){
 
         if(endgame==2){
             accountactive->endGame();
@@ -2383,8 +2379,7 @@ void Game::MenuTick(){
                     break;
             }
         }
-    }
-    else if(mainmenu==9){
+    }else if(mainmenu==9){
         if(Input::MouseClicked()&&selected<numchallengelevels&&selected>=0&&selected<=accountactive->getProgress()){
             fireSound();
             flash();
@@ -2410,17 +2405,14 @@ void Game::MenuTick(){
             flash();
             mainmenu=5;
         }
-    }
-    if(mainmenu==10){
+    }else if(mainmenu==10){
         endgame=2;
         if(Input::MouseClicked()&&selected==3){
             fireSound();
             flash();
             mainmenu=5;
         }
-    }
-
-    if(mainmenu==6){
+    }else if(mainmenu==6){
         if(Input::MouseClicked()) {
             if(selected>-1){
                 fireSound();
@@ -2434,8 +2426,7 @@ void Game::MenuTick(){
                 }
             }
         }
-    }
-    if(mainmenu==7){
+    }else if(mainmenu==7){
         if(Input::MouseClicked()) {
             if(selected!=-1){
                 fireSound();
@@ -2451,7 +2442,7 @@ void Game::MenuTick(){
                     mainmenu=1;
 
                     for(int j=0;j<255;j++){
-                        displaytext[0][j]=' ';
+                        displaytext[0][j]=0;
                     }
                     displaychars[0]=0;
                     displayselected=0;
@@ -2459,8 +2450,7 @@ void Game::MenuTick(){
                 }
             }
         }
-    }
-    if(mainmenu==8){
+    }else if(mainmenu==8){
         if(Input::MouseClicked()&&selected>-1){
             fireSound();
             flash();
@@ -2468,8 +2458,7 @@ void Game::MenuTick(){
                 accountactive->setDifficulty(selected);
             mainmenu=5;
         }
-    }
-    if (mainmenu==18) {                        
+    }else if(mainmenu==18){                    
         if(Input::MouseClicked()&&selected==0) {
             newstereomode = (StereoMode)(newstereomode + 1);
             while(!CanInitStereo(newstereomode)) {
@@ -2536,7 +2525,7 @@ void Game::MenuTick(){
                 fireSound(firestartsound);
 
                 for(int i=0;i<255;i++){
-                    displaytext[0][i]=' ';
+                    displaytext[0][i]=0;
                 }
                 displaychars[0]=0;
 
@@ -2953,55 +2942,6 @@ void Game::doTutorial(){
 void Game::doDebugKeys(){
        float headprop,bodyprop,armprop,legprop;
     if(debugmode){
-               if(Input::isKeyPressed(SDLK_v)){
-                       freeze=1-freeze;
-                       if(freeze){
-                               OPENAL_SetFrequency(OPENAL_ALL, 0.001);
-                       }
-               }
-
-               if(Input::isKeyPressed(SDLK_BACKQUOTE)){
-                       console=1-console;
-                       if(console){
-                               OPENAL_SetFrequency(OPENAL_ALL, 0.001);
-                       } else {
-                               freeze=0;
-                               waiting=false;
-                       }
-               }
-
-               if(console)
-            freeze=1;
-               if(console&&!Input::isKeyDown(SDLK_LMETA)){
-                       inputText(consoletext[0],&consoleselected,&consolechars[0]);
-                       if(!waiting) {
-                               archiveselected=0;
-                               cmd_dispatch(this, consoletext[0]);
-                               if(consolechars[0]>0){
-
-                                       for(int k=14;k>=1;k--){
-                                               for(int j=0;j<255;j++){
-                                                       consoletext[k][j]=consoletext[k-1][j];
-                                               }
-                                               consolechars[k]=consolechars[k-1];
-                                       }
-                                       for(int j=0;j<255;j++){
-                                               consoletext[0][j]=' ';
-                                       }
-                                       consolechars[0]=0;
-                                       consoleselected=0;
-                               }
-                       }
-
-                       consoleblinkdelay-=multiplier;
-                       if(consoleblinkdelay<=0){
-                               consoleblinkdelay=.3;
-                               consoleblink=1-consoleblink;
-                       }
-               }
-
-
-
         if(Input::isKeyPressed(SDLK_h)){
             player[0].damagetolerance=200000;
             player[0].damage=0;
@@ -6096,11 +6036,11 @@ void Game::Tick(){
                if(!winfreeze)leveltime+=multiplier;
 
         //keys
-               if(Input::isKeyDown(SDLK_ESCAPE)){
-                       chatting=0;
-                       console=0;
-                       freeze=0;
-                       displaychars[0]=0;
+               if(Input::isKeyPressed(SDLK_v)&&debugmode){
+                       freeze=1-freeze;
+                       if(freeze){
+                               OPENAL_SetFrequency(OPENAL_ALL, 0.001);
+                       }
                }
 
                if(Input::isKeyPressed(chatkey)&&!console&&!chatting&&debugmode)
@@ -6110,9 +6050,8 @@ void Game::Tick(){
                        inputText(displaytext[0],&displayselected,&displaychars[0]);
                        if(!waiting) {
                                if(displaychars[0]){
-                                       for(int j=0;j<255;j++){
-                                               displaytext[0][j]=' ';
-                                       }
+                                       for(int j=0;j<255;j++)
+                                               displaytext[0][j]=0;
                                        displaychars[0]=0;
                                        displayselected=0;
                                }       
@@ -6128,6 +6067,46 @@ void Game::Tick(){
                if(chatting)
             keyboardfrozen=1;
 
+               if(Input::isKeyPressed(SDLK_BACKQUOTE)&&debugmode){
+                       console=1-console;
+                       if(console){
+                               OPENAL_SetFrequency(OPENAL_ALL, 0.001);
+                       } else {
+                               freeze=0;
+                               waiting=false;
+                       }
+               }
+
+               if(console)
+            freeze=1;
+               if(console&&!Input::isKeyDown(SDLK_LMETA)){
+                       inputText(consoletext[0],&consoleselected,&consolechars[0]);
+                       if(!waiting) {
+                               archiveselected=0;
+                               if(consolechars[0]>0){
+                    consoletext[0][consolechars[0]]=' ';
+                    cmd_dispatch(this, consoletext[0]);
+                                       for(int k=14;k>=1;k--){
+                                               for(int j=0;j<255;j++)
+                                                       consoletext[k][j]=consoletext[k-1][j];
+                                               consolechars[k]=consolechars[k-1];
+                                       }
+                                       for(int j=0;j<255;j++)
+                                               consoletext[0][j]=0;
+                                       consolechars[0]=0;
+                                       consoleselected=0;
+                               }
+                       }
+
+                       consoleblinkdelay-=multiplier;
+                       if(consoleblinkdelay<=0){
+                               consoleblinkdelay=.3;
+                               consoleblink=1-consoleblink;
+                       }
+               }
+
+
+
                if(Input::isKeyDown(SDLK_q)&&Input::isKeyDown(SDLK_LMETA)){
                        tryquit=1;
                        if(mainmenu==3){
@@ -6153,11 +6132,16 @@ void Game::Tick(){
                if((Input::isKeyPressed(jumpkey)||Input::isKeyPressed(SDLK_SPACE))&&!campaign)
                        if(winfreeze)
                 winfreeze=0;
-               if((Input::isKeyDown(SDLK_ESCAPE))&&!campaign&&gameon)
-                       if(winfreeze){
+               if((Input::isKeyDown(SDLK_ESCAPE))&&!campaign&&gameon){
+            if(console){
+                console=0;
+                freeze=0;
+            }else if(winfreeze){
                                mainmenu=9;
                                gameon=0;
                        }
+        }
+
 
 
         //TODO: what is this test?