X-Git-Url: https://git.jsancho.org/?a=blobdiff_plain;f=Source%2FGameTick.cpp;h=c9e3a9691ff0aca2851ebe9c47d0bd5df776d0f3;hb=6e5fc0433956e44ba9ae92b544e51ac15c27c451;hp=273c7f6d64c5411d49125def785bfccf8cb2897a;hpb=54cbb28b51da68b2280068a41e7964f78dec6858;p=lugaru.git diff --git a/Source/GameTick.cpp b/Source/GameTick.cpp index 273c7f6..c9e3a96 100644 --- a/Source/GameTick.cpp +++ b/Source/GameTick.cpp @@ -1524,7 +1524,7 @@ void Game::Loadlevel(const char *name){ if(console){ emit_sound_np(consolesuccesssound); freeze=0; - console=0; + console=false; } if(!stealthloading){ @@ -5870,7 +5870,7 @@ void Game::Tick(){ displaytime[i]+=multiplier; } - keyboardfrozen=0; + keyboardfrozen=false; Input::Tick(); if(Input::isKeyPressed(SDLK_F6)){ @@ -5924,25 +5924,36 @@ void Game::Tick(){ 18 stereo configuration */ - if(!console){ + if(!console) { //campaign over? if(mainmenu&&endgame==1) mainmenu=10; + //go to level select after completing a campaign level + if(campaign&&winfreeze&&mainmenu==0&&campaignchoosenext[campaignchoicewhich[whichchoice]]==1) { + mainmenu=5; + gameon=0; + winfreeze=0; + fireSound(); + flash(); + if(musictoggle){ + OPENAL_SetFrequency(OPENAL_ALL, 0.001); + emit_stream_np(stream_menutheme); + pause_sound(leveltheme); + } + LoadCampaign(); + } //escape key pressed //TODO: there must be code somewhere else that handles clicking the Back button, merge it with this if(Input::isKeyPressed(SDLK_ESCAPE)&& - (gameon||mainmenu==0||(mainmenu>=3&&mainmenu!=8&&!(mainmenu==7&&entername)))){ + (gameon||mainmenu==0||(mainmenu>=3&&mainmenu!=8&&!(mainmenu==7&&entername)))) { selected=-1; if(mainmenu==0&&!winfreeze) mainmenu=2; //pause - else if(mainmenu==0&&winfreeze&&campaignchoosenext[campaignchoicewhich[whichchoice]]==1){ - mainmenu=100; - gameon=0; - winfreeze=0; - }else if(mainmenu==1||mainmenu==2) + else if(mainmenu==1||mainmenu==2){ mainmenu=0; //unpause + } //play menu theme - if(musictoggle&&(mainmenu==1||mainmenu==2||mainmenu==100)){ + if(musictoggle&&(mainmenu==1||mainmenu==2)){ OPENAL_SetFrequency(OPENAL_ALL, 0.001); emit_stream_np(stream_menutheme); pause_sound(leveltheme); @@ -5967,17 +5978,17 @@ void Game::Tick(){ mainmenu=gameon?2:1; break; case 4: case 18: mainmenu=3; break; - case 6: case 7: case 9: case 10: case 100: + case 6: case 7: case 9: case 10: mainmenu=5; break; } } } - if(mainmenu){ + if(mainmenu) { MenuTick(); } - if(!mainmenu){ + if(!mainmenu) { if(hostile==1)hostiletime+=multiplier; else hostiletime=0; if(!winfreeze)leveltime+=multiplier; @@ -6012,10 +6023,10 @@ void Game::Tick(){ } } if(chatting) - keyboardfrozen=1; + keyboardfrozen=true; if(Input::isKeyPressed(SDLK_BACKQUOTE)&&debugmode){ - console=1-console; + console=!console; if(console){ OPENAL_SetFrequency(OPENAL_ALL, 0.001); } else { @@ -6076,9 +6087,9 @@ void Game::Tick(){ winfreeze=0; if((Input::isKeyDown(SDLK_ESCAPE))&&!campaign&&gameon){ if(console){ - console=0; + console=false; freeze=0; - }else if(winfreeze){ + } else if(winfreeze) { mainmenu=9; gameon=0; } @@ -7720,7 +7731,7 @@ void Game::TickOnceAfter(){ killhotspot=0; } - if(!editorenabled&&gameon&&!mainmenu){ + if(!editorenabled&&gameon&&!mainmenu) { if(changedelay!=-999) changedelay-=multiplier/7; if(player[0].dead) @@ -7759,17 +7770,16 @@ void Game::TickOnceAfter(){ (player[0].dead|| (alldead&&maptype==mapkilleveryone)|| (winhotspot)|| - (killhotspot))&& - !winfreeze) + (killhotspot))) loading=1; if((player[0].dead|| (alldead&&maptype==mapkilleveryone)|| (winhotspot)|| (windialogue)|| (killhotspot))&& - changedelay<=0){ - if(whichlevel!=-2&&!loading&&!player[0].dead){ - winfreeze=1; + changedelay<=0) { + if(whichlevel!=-2&&!loading&&!player[0].dead) { + winfreeze=true; changedelay=-999; } if(player[0].dead) @@ -7777,15 +7787,16 @@ void Game::TickOnceAfter(){ } } - if(campaign) - if(mainmenu==0&&winfreeze&&(campaignchoosenext[campaignchoicewhich[whichchoice]])==1) + if(campaign) { + // campaignchoosenext determines what to do when the level is complete: + // 0 = load next level + // 1 = go back to level select screen + // 2 = stealthload next level + if(mainmenu==0&&winfreeze&&(campaignchoosenext[campaignchoicewhich[whichchoice]])==1){ if(campaignnumnext[campaignchoicewhich[whichchoice]]==0) endgame=1; - else if(mainmenu==0&&winfreeze){ - if(campaignchoosenext[campaignchoicewhich[whichchoice]]==2) - stealthloading=1; - else - stealthloading=0; + } else if(mainmenu==0&&winfreeze) { + stealthloading = (campaignchoosenext[campaignchoicewhich[whichchoice]]==2); if(!stealthloading){ fireSound(firestartsound); @@ -7813,6 +7824,7 @@ void Game::TickOnceAfter(){ stealthloading=0; } + } if(loading==3) loading=0;