X-Git-Url: https://git.jsancho.org/?a=blobdiff_plain;f=Source%2FGameTick.cpp;h=c9e3a9691ff0aca2851ebe9c47d0bd5df776d0f3;hb=6e5fc0433956e44ba9ae92b544e51ac15c27c451;hp=2a22f2599b82ab15119032fb7495ce4e0c98fab6;hpb=7a084f44a89054024b83299709c19a2f67fcaea9;p=lugaru.git diff --git a/Source/GameTick.cpp b/Source/GameTick.cpp index 2a22f25..c9e3a96 100644 --- a/Source/GameTick.cpp +++ b/Source/GameTick.cpp @@ -1130,8 +1130,6 @@ void Screenshot (void) save_image(temp); } - - void Game::SetUpLighting(){ if(environment==snowyenvironment) light.setColors(.65,.65,.7,.4,.4,.44); @@ -1263,7 +1261,7 @@ int Game::checkcollide(XYZ startpoint,XYZ endpoint,int what){ return -1; } -void Game::Setenvironment(int which) +void Game::Setenvironment(int which) { LOGFUNC; @@ -1317,8 +1315,7 @@ void Game::Setenvironment(int which) texdetail=temptexdetail; - } - if(environment==desertenvironment){ + } else if(environment==desertenvironment){ windvector=0; windvector.z=2; LoadTexture(":Data:Textures:deserttree.png",&objects.treetextureptr,0,1); @@ -1356,8 +1353,7 @@ void Game::Setenvironment(int which) texdetail=temptexdetail; - } - if(environment==grassyenvironment){ + } else if(environment==grassyenvironment){ windvector=0; windvector.z=2; LoadTexture(":Data:Textures:tree.png",&objects.treetextureptr,0,1); @@ -1401,7 +1397,6 @@ void Game::Setenvironment(int which) texdetail=temptexdetail; } - void Game::Loadlevel(int which){ stealthloading=0; whichlevel=which; @@ -1418,10 +1413,8 @@ void Game::Loadlevel(int which){ } void Game::Loadlevel(const char *name){ - static int oldlevel; int templength; float lamefloat; - int lameint; static const char *pfx = ":Data:Maps:"; char *buf; @@ -1453,8 +1446,6 @@ void Game::Loadlevel(const char *name){ tutorialmaxtime=1; } loadingstuff=1; - if(!firstload) - oldlevel=50; pause_sound(whooshsound); pause_sound(stream_firesound); @@ -1533,7 +1524,7 @@ void Game::Loadlevel(const char *name){ if(console){ emit_sound_np(consolesuccesssound); freeze=0; - console=0; + console=false; } if(!stealthloading){ @@ -1643,8 +1634,6 @@ void Game::Loadlevel(const char *name){ funpackf(tfile, "Bf", &dialogueboxcolor[k][l][2]); funpackf(tfile, "Bi", &dialogueboxsound[k][l]); - bool doneread; - funpackf(tfile, "Bi",&templength); if(templength>128||templength<=0) templength=128; @@ -1724,11 +1713,11 @@ void Game::Loadlevel(const char *name){ float maxdistance=0; float tempdist; - int whichclosest; + //~ int whichclosest; for(int i=0;imaxdistance){ - whichclosest=i; + //~ whichclosest=i; maxdistance=tempdist; } } @@ -1880,9 +1869,6 @@ void Game::Loadlevel(const char *name){ fclose(tfile); - oldlevel=whichlevel; - - if(numplayers>maxplayers-1) numplayers=maxplayers-1; for(int i=0;i2) difficulty=0; break; case 4: - ismotionblur = 1-ismotionblur; + ismotionblur = !ismotionblur; break; case 5: - decals = 1-decals; + decals = !decals; break; case 6: - musictoggle = 1-musictoggle; + musictoggle = !musictoggle; - if(musictoggle) + if(musictoggle) { emit_stream_np(stream_menutheme); - else { + } else { pause_sound(leveltheme); pause_sound(stream_fighttheme); pause_sound(stream_menutheme); @@ -2280,17 +2264,12 @@ void Game::MenuTick(){ 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; + invertmouse = !invertmouse; break; case 10: usermousesensitivity+=.2; @@ -2324,13 +2303,6 @@ void Game::MenuTick(){ 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; @@ -2485,26 +2457,11 @@ void Game::MenuTick(){ if(Input::isKeyDown(SDLK_q) && Input::isKeyDown(SDLK_LMETA)){ tryquit=1; - if(mainmenu==3){ - if(newdetail>2) newdetail=detail; - if(newdetail<0) newdetail=detail; - if(newscreenwidth<0) newscreenwidth=screenwidth; - if(newscreenheight<0) newscreenheight=screenheight; - + if(mainmenu==3) { SaveSettings(*this); } } - if(mainmenu==1||mainmenu==2){ - if(loaddistrib>4) - transition+=multiplier/8; - if(transition>1){ - transition=0; - anim++; - if(anim>4) anim=0; - loaddistrib=0; - } - } OPENAL_SetFrequency(channels[stream_menutheme], 22050); if(entername) { @@ -2932,8 +2889,6 @@ void Game::doTutorial(){ } } - - void Game::doDebugKeys(){ float headprop,bodyprop,armprop,legprop; if(debugmode){ @@ -3353,9 +3308,6 @@ void Game::doDebugKeys(){ } if(Input::isKeyPressed(SDLK_n)&&Input::isKeyDown(SDLK_LCTRL)){ - int closest=-1; - float closestdist=-1; - float distance; for(int i=0;i=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); @@ -6010,14 +5965,6 @@ void Game::Tick(){ } //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; SaveSettings(*this); } //effects @@ -6031,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; @@ -6076,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 { @@ -6120,12 +6067,7 @@ void Game::Tick(){ if(Input::isKeyDown(SDLK_q)&&Input::isKeyDown(SDLK_LMETA)){ tryquit=1; - if(mainmenu==3){ - if(newdetail>2)newdetail=detail; - if(newdetail<0)newdetail=detail; - if(newscreenwidth<0)newscreenwidth=screenwidth; - if(newscreenheight<0)newscreenheight=screenheight; - + if(mainmenu==3) { SaveSettings(*this); } } @@ -6145,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; } @@ -6505,8 +6447,6 @@ void Game::Tick(){ } } - static float keyrefreshdelay=0,bigrefreshdelay=0; - if(!player[0].jumpkeydown){ player[0].jumptogglekeydown=0; } @@ -6529,8 +6469,6 @@ void Game::Tick(){ hawkcalldelay=16+abs(Random()%8); } - static float temptexdetail; - doDebugKeys(); @@ -6644,8 +6582,6 @@ void Game::Tick(){ player[i].targetheadrotation2=pitch(participantfacing[whichdialogue][indialogue][i]); } - bool pause; - if(leveltime<.5) numenvsounds=0; @@ -7581,9 +7517,7 @@ void Game::Tick(){ Screenshot(); } - - -void Game::TickOnce(){ +void Game::TickOnce(){ if(mainmenu) rotation+=multiplier*5; else @@ -7600,12 +7534,11 @@ void Game::TickOnce(){ } } -void Game::TickOnceAfter(){ +void Game::TickOnceAfter(){ static XYZ colviewer; static XYZ coltarget; static XYZ target; static XYZ col; - static float brotate; static XYZ facing; static float changedelay; static bool alldead; @@ -7776,12 +7709,12 @@ void Game::TickOnceAfter(){ if(targetlevel>numchallengelevels-1)targetlevel=0; } - if(changedelay>0&&!player[0].dead&&!won){ + if(changedelay>0&&!player[0].dead&&!won) { //high scores, awards, win - if(campaign){ + if(campaign) { accountactive->winCampaignLevel(whichchoice, bonustotal, leveltime); scoreadded=1; - }else{ + } else { accountactive->winLevel(whichlevel,bonustotal-startbonustotal,leveltime); } won=1; @@ -7798,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) @@ -7837,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) @@ -7855,19 +7787,18 @@ 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){ - float gLoc[3]={0,0,0}; - float vel[3]={0,0,0}; fireSound(firestartsound); flash(); @@ -7875,67 +7806,7 @@ void Game::TickOnceAfter(){ startbonustotal=0; - ifstream ipstream(ConvertFileName(":Data:Campaigns:main.txt")); - ipstream.ignore(256,':'); - ipstream >> campaignnumlevels; - for(int i=0;i> campaignmapname[i]; - ipstream.ignore(256,':'); - ipstream >> campaigndescription[i]; - for(int j=0;j<256;j++){ - if(campaigndescription[i][j]=='_')campaigndescription[i][j]=' '; - } - ipstream.ignore(256,':'); - ipstream >> campaignchoosenext[i]; - ipstream.ignore(256,':'); - ipstream >> campaignnumnext[i]; - for(int j=0;j> campaignnextlevel[i][j]; - campaignnextlevel[i][j]-=1; - } - ipstream.ignore(256,':'); - ipstream >> campaignlocationx[i]; - ipstream.ignore(256,':'); - ipstream >> campaignlocationy[i]; - } - ipstream.close(); - - for(int i=0;igetCampaignChoicesMade();i++){ - levelorder[i+1]=campaignnextlevel[levelorder[i]][accountactive->getCampaignChoice(i)]; - levelvisible[levelorder[i+1]]=1; - } - int whichlevelstart; - whichlevelstart=accountactive->getCampaignChoicesMade()-1; - if(whichlevelstart<0){ - campaignchoicenum=1; - campaignchoicewhich[0]=0; - } - else - { - campaignchoicenum=campaignnumnext[levelorder[whichlevelstart]]; - for(int i=0;i