X-Git-Url: https://git.jsancho.org/?a=blobdiff_plain;f=Source%2FGameTick.cpp;h=4d4747ca7222dabd74ff9eee5a21b66ded8ce2df;hb=15afca9070b3eca896db35c4a9204c5f8570ee4a;hp=9314be18ddbb6bbb42f1e4cde6c6cf9ccf2a809c;hpb=d98fef54edac5077cbb07aed8409b28ed20d2421;p=lugaru.git diff --git a/Source/GameTick.cpp b/Source/GameTick.cpp index 9314be1..4d4747c 100644 --- a/Source/GameTick.cpp +++ b/Source/GameTick.cpp @@ -27,6 +27,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. #include #endif +#include #include #include "Game.h" #include "openal_wrapper.h" @@ -77,7 +78,7 @@ extern bool keyboardfrozen; extern bool loadingstuff; extern XYZ windvector; extern bool debugmode; -static int music1; +static int leveltheme; extern int mainmenu; extern bool visibleloading; extern XYZ envsound[30]; @@ -495,7 +496,7 @@ static void ch_size(Game *game, const char *args) static int find_closest() { int closest = 0; - float closestdist = 1.0/0.0; + float closestdist = std::numeric_limits::max(); for (int i = 1; i < numplayers; i++) { float distance; @@ -1271,9 +1272,9 @@ void Game::Setenvironment(int which) float temptexdetail; environment=which; - pause_sound(stream_music1snow); - pause_sound(stream_music1grass); - pause_sound(stream_music1desert); + pause_sound(stream_snowtheme); + pause_sound(stream_grasstheme); + pause_sound(stream_deserttheme); pause_sound(stream_wind); pause_sound(stream_desertambient); @@ -1405,14 +1406,14 @@ void Game::Loadlevel(int which){ stealthloading=0; whichlevel=which; - if (which == -1) { + if(which == -1){ tutoriallevel = -1; Loadlevel("tutorial"); - } else if (which >= 0 && which <= 15) { + }else if(which >= 0 && which <= 15){ char buf[32]; snprintf(buf, 32, "map%d", which + 1); Loadlevel(buf); - } else + }else Loadlevel("mapsave"); } @@ -2128,376 +2129,379 @@ void Game::Loadlevel(const char *name){ +/* +Values of mainmenu : +1 Main menu +2 Menu pause (resume/end game) +3 Option menu +4 Controls configuration menu +5 Main game menu (choose level or challenge) +6 Deleting user menu +7 User managment menu (select/add) +8 Choose difficulty menu +9 Challenge level selection menu +10 End of the campaign congratulation (is that really a menu?) +11 Same that 9 ??? => unused +18 stereo configuration +*/ + void Game::MenuTick(){ //menu buttons - if(mainmenu==1||mainmenu==2){ - if(Input::MouseClicked()&&selected==1){ - if(!gameon){ - fireSound(firestartsound); - flash(); - //new game - if(accountactive) { - mainmenu=5; - } else { - mainmenu=7; + switch(mainmenu){ + case 1: + case 2: + if(Input::MouseClicked()&&selected==1){ + if(!gameon){ + fireSound(firestartsound); + flash(); + //new game + mainmenu=accountactive?5:7; + selected=-1; + }else{ + //resume + mainmenu=0; + pause_sound(stream_menutheme); + resume_stream(leveltheme); } - selected=-1; - }else{ - //resume - mainmenu=0; - pause_sound(stream_music3); - resume_stream(music1); } - } - if(Input::MouseClicked()&&selected==2){ - fireSound(); - flash(); - //options - mainmenu=3; - if(newdetail>2)newdetail=detail; - if(newdetail<0)newdetail=detail; - if(newscreenwidth>3000)newscreenwidth=screenwidth; - if(newscreenwidth<0)newscreenwidth=screenwidth; - if(newscreenheight>3000)newscreenheight=screenheight; - if(newscreenheight<0)newscreenheight=screenheight; - } - - if(Input::MouseClicked()&&selected==3){ - fireSound(); - flash(); - if(!gameon){ - //quit - tryquit=1; - pause_sound(stream_music3); - }else{ - //end game - gameon=0; - mainmenu=1; + if(Input::MouseClicked()&&selected==2){ + fireSound(); + flash(); + //options + mainmenu=3; + if(newdetail>2)newdetail=detail; + if(newdetail<0)newdetail=detail; + if(newscreenwidth>3000)newscreenwidth=screenwidth; + if(newscreenwidth<0)newscreenwidth=screenwidth; + if(newscreenheight>3000)newscreenheight=screenheight; + if(newscreenheight<0)newscreenheight=screenheight; } - } - } - if(mainmenu==3){ - if(Input::MouseClicked()){ - if(selected!=-1) + if(Input::MouseClicked()&&selected==3){ fireSound(); - - switch(selected){ - case 0: { - extern SDL_Rect **resolutions; - bool isCustomResolution = true; - bool found = false; - for(int i = 0; (!found) && (resolutions[i]); i++){ - if((resolutions[i]->w == screenwidth) && (resolutions[i]->h == screenwidth)) - isCustomResolution = false; - - if((resolutions[i]->w == newscreenwidth) && (resolutions[i]->h == newscreenheight)){ - i++; - if(resolutions[i] != NULL){ - newscreenwidth = (int) resolutions[i]->w; - newscreenheight = (int) resolutions[i]->h; - }else if(isCustomResolution){ - if((screenwidth == newscreenwidth) && (screenheight == newscreenheight)){ + flash(); + if(gameon){ + //end game + gameon=0; + mainmenu=1; + }else{ + //quit + tryquit=1; + pause_sound(stream_menutheme); + } + } + break; + case 3: + if(Input::MouseClicked()){ + + if(selected!=-1) + fireSound(); + + switch(selected){ + case 0: { + extern SDL_Rect **resolutions; + bool isCustomResolution = true; + bool found = false; + for(int i = 0; (!found) && (resolutions[i]); i++){ + if((resolutions[i]->w == screenwidth) && (resolutions[i]->h == screenwidth)) + isCustomResolution = false; + + if((resolutions[i]->w == newscreenwidth) && (resolutions[i]->h == newscreenheight)){ + i++; + if(resolutions[i] != NULL){ + newscreenwidth = (int) resolutions[i]->w; + newscreenheight = (int) resolutions[i]->h; + }else if(isCustomResolution){ + if((screenwidth == newscreenwidth) && (screenheight == newscreenheight)){ + newscreenwidth = (int) resolutions[0]->w; + newscreenheight = (int) resolutions[0]->h; + }else{ + newscreenwidth = screenwidth; + newscreenheight = screenheight; + } + }else{ newscreenwidth = (int) resolutions[0]->w; newscreenheight = (int) resolutions[0]->h; - }else{ - newscreenwidth = screenwidth; - newscreenheight = screenheight; } - }else{ - newscreenwidth = (int) resolutions[0]->w; - newscreenheight = (int) resolutions[0]->h; + found = true; } - found = true; } - } - - if(!found){ - newscreenwidth = (int) resolutions[0]->w; - newscreenheight = (int) resolutions[0]->h; - } - } break; - case 1: - newdetail++; - if(newdetail>2)newdetail=0; - break; - case 2: - bloodtoggle++; - if(bloodtoggle>2)bloodtoggle=0; - break; - case 3: - difficulty++; - if(difficulty>2)difficulty=0; - break; - case 4: - ismotionblur=1-ismotionblur; - break; - case 5: - decals=1-decals; - break; - case 6: - musictoggle=1-musictoggle; - if(!musictoggle){ - pause_sound(music1); - pause_sound(stream_music2); - pause_sound(stream_music3); - - for(int i=0;i<4;i++){ - oldmusicvolume[i]=0; - musicvolume[i]=0; + if(!found){ + newscreenwidth = (int) resolutions[0]->w; + newscreenheight = (int) resolutions[0]->h; + } + } break; + case 1: + newdetail++; + if(newdetail>2)newdetail=0; + break; + case 2: + bloodtoggle++; + if(bloodtoggle>2)bloodtoggle=0; + break; + case 3: + difficulty++; + if(difficulty>2)difficulty=0; + break; + case 4: + ismotionblur=1-ismotionblur; + break; + case 5: + decals=1-decals; + break; + case 6: + musictoggle=1-musictoggle; + + if(!musictoggle){ + pause_sound(leveltheme); + pause_sound(stream_fighttheme); + pause_sound(stream_menutheme); + + for(int i=0;i<4;i++){ + oldmusicvolume[i]=0; + musicvolume[i]=0; + } } - } - if(musictoggle) - emit_stream_np(stream_music3); - break; - case 7: - flash(); - //options - mainmenu=4; - selected=-1; - keyselect=-1; - break; - case 8: + if(musictoggle) + emit_stream_np(stream_menutheme); + break; + case 7: + flash(); + //options + mainmenu=4; + selected=-1; + keyselect=-1; + break; + case 8: + flash(); + + if(newdetail>2)newdetail=detail; + if(newdetail<0)newdetail=detail; + if(newscreenwidth<0)newscreenwidth=screenwidth; + if(newscreenheight<0)newscreenheight=screenheight; + + SaveSettings(*this); + mainmenu=gameon?2:1; + break; + case 9: + invertmouse=1-invertmouse; + break; + case 10: + usermousesensitivity+=.2; + if(usermousesensitivity>2)usermousesensitivity=.2; + break; + case 11: + volume+=.1f; + if(volume>1.0001f)volume=0; + OPENAL_SetSFXMasterVolume((int)(volume*255)); + break; + case 12: + flash(); + + newstereomode = stereomode; + mainmenu=18; + keyselect=-1; + break; + case 13: + showdamagebar=!showdamagebar; + break; + } + } + break; + case 4: + if(Input::MouseClicked()&&selected!=-1&&!waiting){ + fireSound(); + if(selected<9&&keyselect==-1) + keyselect=selected; + if(keyselect!=-1) + setKeySelected(); + if(selected==9){ flash(); + mainmenu=3; + if(newdetail>2)newdetail=detail; if(newdetail<0)newdetail=detail; + if(newscreenwidth>3000)newscreenwidth=screenwidth; if(newscreenwidth<0)newscreenwidth=screenwidth; + if(newscreenheight>3000)newscreenheight=screenheight; if(newscreenheight<0)newscreenheight=screenheight; - - SaveSettings(*this); - if(mainmenu==3&&gameon)mainmenu=2; - if(mainmenu==3&&!gameon)mainmenu=1; - break; - case 9: - invertmouse=1-invertmouse; - break; - case 10: - usermousesensitivity+=.2; - if(usermousesensitivity>2)usermousesensitivity=.2; - break; - case 11: - volume+=.1f; - if(volume>1.0001f)volume=0; - OPENAL_SetSFXMasterVolume((int)(volume*255)); - break; - case 12: - flash(); - - newstereomode = stereomode; - mainmenu=18; - keyselect=-1; - break; - case 13: - showdamagebar=!showdamagebar; - break; + } } - } - } - if(mainmenu==4){ - if(Input::MouseClicked()&&selected!=-1&&!waiting){ - fireSound(); - if(selected<9&&keyselect==-1) - keyselect=selected; - if(keyselect!=-1) - setKeySelected(); - if(selected==9){ - flash(); - - mainmenu=3; - - if(newdetail>2)newdetail=detail; - if(newdetail<0)newdetail=detail; - if(newscreenwidth>3000)newscreenwidth=screenwidth; - if(newscreenwidth<0)newscreenwidth=screenwidth; - if(newscreenheight>3000)newscreenheight=screenheight; - if(newscreenheight<0)newscreenheight=screenheight; + break; + case 5: + if(endgame==2){ + accountactive->endGame(); + endgame=0; } - } - } - if(mainmenu==5){ + if(Input::MouseClicked()){ + if((selected-7>=accountactive->getCampaignChoicesMade())){ + fireSound(); + flash(); + startbonustotal=0; - if(endgame==2){ - accountactive->endGame(); - endgame=0; - } + loading=2; + loadtime=0; + targetlevel=7; + if(firstload) TickOnceAfter(); + else LoadStuff(); + whichchoice=selected-7-accountactive->getCampaignChoicesMade(); + visibleloading=1; + stillloading=1; + Loadlevel(campaignmapname[campaignchoicewhich[selected-7-accountactive->getCampaignChoicesMade()]]); + //Loadlevel(campaignmapname[levelorder[selected-7]]); + campaign=1; + mainmenu=0; + gameon=1; + pause_sound(stream_menutheme); + } + if(selected>=1 && selected<=5){ + fireSound(); + flash(); + } + switch(selected){ + case 1: + startbonustotal=0; + + loading=2; + loadtime=0; + targetlevel=-1; + if(firstload)TickOnceAfter(); + if(!firstload)LoadStuff(); + else { + Loadlevel(-1); + } - if(Input::MouseClicked()){ - if((selected-7>=accountactive->getCampaignChoicesMade())){ + mainmenu=0; + gameon=1; + pause_sound(stream_menutheme); + break; + case 2: + mainmenu=9; + break; + case 3: + mainmenu=6; + break; + case 4: + mainmenu=gameon?2:1; + break; + case 5: + mainmenu=7; + break; + } + } + break; + case 6: + if(Input::MouseClicked()) { + if(selected>-1){ + fireSound(); + if(selected==1) { + flash(); + accountactive = Account::destroy(accountactive); + mainmenu=7; + } else if(selected==2) { + flash(); + mainmenu=5; + } + } + } + break; + case 7: + if(Input::MouseClicked()) { + if(selected!=-1){ + fireSound(); + if(selected==0&&Account::getNbAccounts()<8){ + entername=1; + } else if (selected-1){ + fireSound(); + flash(); + if(selected<=2) + accountactive->setDifficulty(selected); + mainmenu=5; + } + break; + case 9: + if(Input::MouseClicked()&&selected=0&&selected<=accountactive->getProgress()){ fireSound(); flash(); + startbonustotal=0; loading=2; loadtime=0; - targetlevel=7; - if(firstload) TickOnceAfter(); - else LoadStuff(); - whichchoice=selected-7-accountactive->getCampaignChoicesMade(); - visibleloading=1; - stillloading=1; - Loadlevel(campaignmapname[campaignchoicewhich[selected-7-accountactive->getCampaignChoicesMade()]]); - //Loadlevel(campaignmapname[levelorder[selected-7]]); - campaign=1; + targetlevel=selected; + if(firstload)TickOnceAfter(); + if(!firstload)LoadStuff(); + else Loadlevel(selected); + campaign=0; + mainmenu=0; gameon=1; - pause_sound(stream_music3); + pause_sound(stream_menutheme); } - if(selected>=1 && selected<=5){ + if(Input::MouseClicked()&&selected==numchallengelevels){ fireSound(); flash(); + mainmenu=5; } - switch(selected){ - case 1: - startbonustotal=0; - - loading=2; - loadtime=0; - targetlevel=-1; - if(firstload)TickOnceAfter(); - if(!firstload)LoadStuff(); - else { - Loadlevel(-1); - } - - mainmenu=0; - gameon=1; - pause_sound(stream_music3); - break; - case 2: - mainmenu=9; - break; - case 3: - mainmenu=6; - break; - case 4: - if(mainmenu==5&&gameon)mainmenu=2; - if(mainmenu==5&&!gameon)mainmenu=1; - break; - case 5: - mainmenu=7; - break; - } - } - } - else if(mainmenu==9){ - if(Input::MouseClicked()&&selected=0&&selected<=accountactive->getProgress()){ - fireSound(); - flash(); - - startbonustotal=0; - - loading=2; - loadtime=0; - targetlevel=selected; - if(firstload)TickOnceAfter(); - if(!firstload)LoadStuff(); - else { - Loadlevel(selected); - } - campaign=0; - - mainmenu=0; - gameon=1; - pause_sound(stream_music3); - } - if(Input::MouseClicked()&&selected==numchallengelevels){ - fireSound(); - flash(); - mainmenu=5; - } - } - if(mainmenu==10){ - endgame=2; - if(Input::MouseClicked()&&selected==3){ - fireSound(); - flash(); - mainmenu=5; - } - } - - if(mainmenu==6){ - if(Input::MouseClicked()) { - if(selected>-1){ + break; + case 10: + endgame=2; + if(Input::MouseClicked()&&selected==3){ fireSound(); - if(selected==1) { - flash(); - accountactive = Account::destroy(accountactive); - mainmenu=7; - } else if(selected==2) { - flash(); - mainmenu=5; - } + flash(); + mainmenu=5; } - } - } - if(mainmenu==7){ - if(Input::MouseClicked()) { - if(selected!=-1){ + break; + case 18: + if(Input::isKeyPressed(MOUSEBUTTON1)&&selected==1) + stereoseparation+=0.001; + else if(Input::isKeyPressed(MOUSEBUTTON2)&&selected==1) + stereoseparation-=0.001; + else if(Input::MouseClicked()&&selected>-1){ fireSound(); - if(selected==0&&Account::getNbAccounts()<8){ - entername=1; - } else if (selected= stereoCount) + newstereomode = stereoNone; } - displaychars[0]=0; - displayselected=0; - entername=0; } - } - } - } - if(mainmenu==8){ - if(Input::MouseClicked()&&selected>-1){ - fireSound(); - flash(); - if(selected<=2) - accountactive->setDifficulty(selected); - mainmenu=5; - } - } - if (mainmenu==18) { - if(Input::MouseClicked()&&selected==0) { - newstereomode = (StereoMode)(newstereomode + 1); - while(!CanInitStereo(newstereomode)) { - printf("Failed to initialize mode %s (%i)\n", StereoModeName(newstereomode), newstereomode); - newstereomode = (StereoMode)(newstereomode + 1); - if ( newstereomode >= stereoCount ) { - newstereomode = stereoNone; + if(selected==2) + stereoreverse =! stereoreverse; + if(selected==3){ + flash(); + mainmenu=3; + + stereomode = newstereomode; + InitStereo(stereomode); } } - } - - if(Input::isKeyPressed(MOUSEBUTTON1)&&selected==1) - stereoseparation+=0.001; - if(Input::isKeyPressed(MOUSEBUTTON2)&&selected==1) - stereoseparation-=0.001; - - if(Input::MouseClicked()&&selected==2) { - stereoreverse =! stereoreverse; - } - - if(Input::MouseClicked()&&selected==3) { - flash(); - - stereomode = newstereomode; - InitStereo(stereomode); - - mainmenu=3; - } + break; } if(Input::isKeyDown(SDLK_q)&&Input::isKeyDown(SDLK_LMETA)){ @@ -2521,7 +2525,7 @@ void Game::MenuTick(){ loaddistrib=0; } } - OPENAL_SetFrequency(channels[stream_music3], 22050); + OPENAL_SetFrequency(channels[stream_menutheme], 22050); if(entername) { inputText(displaytext[0],&displayselected,&displaychars[0]); @@ -2536,7 +2540,7 @@ void Game::MenuTick(){ fireSound(firestartsound); for(int i=0;i<255;i++){ - displaytext[0][i]=' '; + displaytext[0][i]=0; } displaychars[0]=0; @@ -4641,7 +4645,7 @@ void Game::doAttacks(){ player[i].skeleton.longdead<300&& player[k].lastattack!=spinkickanim&& player[i].skeleton.free)&& - (!player[i].dead||musictype!=stream_music2)){ + (!player[i].dead||musictype!=stream_fighttheme)){ player[k].targetanimation=dropkickanim; for(int j=0;j unused + 18 stereo configuration + */ + if(!console){ - if(mainmenu&&endgame==1)mainmenu=10; - // menu back - if( (Input::isKeyPressed(SDLK_ESCAPE) - ||(mainmenu==0 - &&((Input::isKeyPressed(jumpkey) - ||Input::isKeyPressed(SDLK_SPACE) - ||(campaign))) - &&campaign - &&winfreeze)) - && (!mainmenu||gameon||mainmenu==3||mainmenu==4||mainmenu==5||mainmenu==6||(mainmenu==7&&!entername)||mainmenu==9||mainmenu==10)){ + //campaign over? + if(mainmenu&&endgame==1) + mainmenu=10; + //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)))){ selected=-1; - if(mainmenu==1||mainmenu==2||mainmenu==0){ - if(mainmenu==0&&!winfreeze)mainmenu=2; - else if(mainmenu==0&&winfreeze&&(campaignchoosenext[campaignchoicewhich[whichchoice]])==1)mainmenu=100; - else if(mainmenu==0&&winfreeze){ } - else if(mainmenu==1||mainmenu==2)mainmenu=0; - if(mainmenu&&musictoggle){ - if(mainmenu==1||mainmenu==2||mainmenu==100){ - OPENAL_SetFrequency(OPENAL_ALL, 0.001); - emit_stream_np(stream_music3); - pause_sound(music1); - } - } - if(!mainmenu){ - pause_sound(stream_music3); - resume_stream(music1); - } - } + 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) + mainmenu=0; //unpause + //play menu theme + if(musictoggle&&(mainmenu==1||mainmenu==2||mainmenu==100)){ + OPENAL_SetFrequency(OPENAL_ALL, 0.001); + emit_stream_np(stream_menutheme); + pause_sound(leveltheme); + } + //on resume, play level music + if(!mainmenu){ + pause_sound(stream_menutheme); + resume_stream(leveltheme); + } + //finished with settings menu if(mainmenu==3){ - if(newdetail>2)newdetail=detail; - if(newdetail<0)newdetail=detail; - if(newscreenwidth<0)newscreenwidth=screenwidth; - if(newscreenheight<0)newscreenheight=screenheight; + if(newdetail>2) + newdetail=detail; + if(newdetail<0) + newdetail=detail; + if(newscreenwidth<0) + newscreenwidth=screenwidth; + if(newscreenheight<0) + newscreenheight=screenheight; SaveSettings(*this); } - if((mainmenu>=3 && mainmenu<=7)||mainmenu==9||mainmenu==10||mainmenu==100){ + //effects + if(mainmenu>=3&&mainmenu!=8){ fireSound(); flash(); } - if(mainmenu==3&&gameon)mainmenu=2; - if(mainmenu==3&&!gameon)mainmenu=1; - if(mainmenu==5&&gameon)mainmenu=2; - if(mainmenu==5&&!gameon)mainmenu=1; - if(mainmenu==4)mainmenu=3; - if(mainmenu==6)mainmenu=5; - if(mainmenu==7)mainmenu=1; - if(mainmenu==9)mainmenu=5; - if(mainmenu==10)mainmenu=5; - if(mainmenu==100){ - mainmenu=5; - gameon=0; - winfreeze=0; - } + //go back + switch(mainmenu){ + case 3: case 5: + mainmenu=gameon?2:1; break; + case 4: case 18: + mainmenu=3; break; + case 6: case 7: case 9: case 10: case 100: + mainmenu=5; break; + } } } @@ -6047,13 +6067,6 @@ 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){ @@ -6068,9 +6081,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; } @@ -6102,18 +6114,16 @@ void Game::Tick(){ inputText(consoletext[0],&consoleselected,&consolechars[0]); if(!waiting) { archiveselected=0; - cmd_dispatch(this, consoletext[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++){ + 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]=' '; - } + for(int j=0;j<255;j++) + consoletext[0][j]=0; consolechars[0]=0; consoleselected=0; } @@ -6153,11 +6163,15 @@ 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; } + } @@ -7056,7 +7070,7 @@ void Game::Tick(){ player[i].attackkeydown){ if(weapons.bloody[player[i].weaponids[player[i].weaponactive]]&& player[i].onterrain&& - bloodtoggle&&musictype!=stream_music2){ + bloodtoggle&&musictype!=stream_fighttheme){ if(weapons.type[player[i].weaponids[player[i].weaponactive]]==knife) setAnimation(i,crouchstabanim); if(weapons.type[player[i].weaponids[player[i].weaponactive]]==sword) @@ -7497,7 +7511,7 @@ void Game::Tick(){ OPENAL_StopSound(OPENAL_ALL); // hack...OpenAL renderer isn't stopping music after tutorial goes to level menu... OPENAL_SetFrequency(OPENAL_ALL, 0.001); - emit_stream_np(stream_music3); + emit_stream_np(stream_menutheme); gameon=0; mainmenu=5; @@ -7621,15 +7635,15 @@ void Game::TickOnceAfter(){ if(!mainmenu){ if(environment==snowyenvironment) - music1=stream_music1snow; + leveltheme=stream_snowtheme; if(environment==grassyenvironment) - music1=stream_music1grass; + leveltheme=stream_grasstheme; if(environment==desertenvironment) - music1=stream_music1desert; + leveltheme=stream_deserttheme; realthreat=0; - musictype=music1; + musictype=leveltheme; for(int i=0;i0) - musictype=stream_music2; + musictype=stream_fighttheme; } if(loading==2){ - musictype=stream_music3; + musictype=stream_menutheme; musicvolume[2]=512; musicvolume[0]=0; musicvolume[1]=0; @@ -7666,19 +7680,19 @@ void Game::TickOnceAfter(){ } if(musictoggle) - if(musictype!=oldmusictype&&musictype==stream_music2) + if(musictype!=oldmusictype&&musictype==stream_fighttheme) emit_sound_np(alarmsound); musicselected=musictype; - if(musicselected==music1) + if(musicselected==leveltheme) musicvolume[0]+=multiplier*450; else musicvolume[0]-=multiplier*450; - if(musicselected==stream_music2) + if(musicselected==stream_fighttheme) musicvolume[1]+=multiplier*450; else musicvolume[1]-=multiplier*450; - if(musicselected==stream_music3) + if(musicselected==stream_menutheme) musicvolume[2]+=multiplier*450; else musicvolume[2]-=multiplier*450; @@ -7695,31 +7709,31 @@ void Game::TickOnceAfter(){ if(musictoggle){ if(musicvolume[0]>0&&oldmusicvolume[0]<=0) - emit_stream_np(music1, musicvolume[0]); + emit_stream_np(leveltheme, musicvolume[0]); if(musicvolume[1]>0&&oldmusicvolume[1]<=0) - emit_stream_np(stream_music2, musicvolume[1]); + emit_stream_np(stream_fighttheme, musicvolume[1]); if(musicvolume[2]>0&&oldmusicvolume[2]<=0) - emit_stream_np(stream_music3, musicvolume[2]); + emit_stream_np(stream_menutheme, musicvolume[2]); if(musicvolume[0]<=0&&oldmusicvolume[0]>0) - pause_sound(music1); + pause_sound(leveltheme); if(musicvolume[1]<=0&&oldmusicvolume[1]>0) - pause_sound(stream_music2); + pause_sound(stream_fighttheme); if(musicvolume[2]<=0&&oldmusicvolume[2]>0) - pause_sound(stream_music3); + pause_sound(stream_menutheme); if(musicvolume[0]!=oldmusicvolume[0]) - OPENAL_SetVolume(channels[music1], musicvolume[0]); + OPENAL_SetVolume(channels[leveltheme], musicvolume[0]); if(musicvolume[1]!=oldmusicvolume[1]) - OPENAL_SetVolume(channels[stream_music2], musicvolume[1]); + OPENAL_SetVolume(channels[stream_fighttheme], musicvolume[1]); if(musicvolume[2]!=oldmusicvolume[2]) - OPENAL_SetVolume(channels[stream_music3], musicvolume[2]); + OPENAL_SetVolume(channels[stream_menutheme], musicvolume[2]); for(int i=0;i<3;i++) oldmusicvolume[i]=musicvolume[i]; } else { - pause_sound(music1); - pause_sound(stream_music2); - pause_sound(stream_music3); + pause_sound(leveltheme); + pause_sound(stream_fighttheme); + pause_sound(stream_menutheme); for(int i=0;i<4;i++){ oldmusicvolume[i]=0; @@ -7954,7 +7968,7 @@ void Game::TickOnceAfter(){ campaign=1; mainmenu=0; gameon=1; - pause_sound(stream_music3); + pause_sound(stream_menutheme); stealthloading=0; }