|
|
|
@ -507,7 +507,8 @@ public: |
|
|
|
|
std::vector<vi2d>REPAIRED_ROVERS; |
|
|
|
|
std::string CONSOLE_REF_TEXT; |
|
|
|
|
bool SOUND_IS_PLAYING=false; |
|
|
|
|
|
|
|
|
|
int MAIN_MENU_SELECTION=0; |
|
|
|
|
std::string MENU_OPTIONS[4]={"NEW GAME","CONTINUE","MUTE SOUND","EXIT"}; |
|
|
|
|
|
|
|
|
|
Decal*DOME_DECAL,*FOOD_METER_DECAL,*OXYGEN_METER_DECAL,*PLANT_DECAL, |
|
|
|
|
*PLAYER_DECAL, |
|
|
|
@ -524,6 +525,8 @@ public: |
|
|
|
|
std::vector<WEATHER_POWER*>MOVESET_SPIDEY; |
|
|
|
|
std::vector<WEATHER_POWER*>MOVESET_X_X; |
|
|
|
|
std::vector<WEATHER_POWER*>MOVESET_XMINION; |
|
|
|
|
bool SOUND_IS_MUTED=false; |
|
|
|
|
bool END_THE_GAME=false; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
sound::Wave SONG_MAIN; |
|
|
|
@ -800,6 +803,27 @@ public: |
|
|
|
|
}break; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
if (GAME_STATE==CUTSCENE_3) { |
|
|
|
|
switch (MAIN_MENU_SELECTION) { |
|
|
|
|
case 0: |
|
|
|
|
case 1:{ |
|
|
|
|
fadeOut(); |
|
|
|
|
}break; |
|
|
|
|
case 2:{ |
|
|
|
|
SOUND_IS_MUTED=!SOUND_IS_MUTED; |
|
|
|
|
if (SOUND_IS_MUTED) { |
|
|
|
|
MENU_OPTIONS[2]="UNMUTE SOUND"; |
|
|
|
|
engine.SetOutputVolume(0); |
|
|
|
|
} else { |
|
|
|
|
MENU_OPTIONS[2]="MUTE SOUND"; |
|
|
|
|
engine.SetOutputVolume(0.6); |
|
|
|
|
} |
|
|
|
|
}break; |
|
|
|
|
case 3:{ |
|
|
|
|
END_THE_GAME=true; |
|
|
|
|
}break; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
switch (BATTLE_STATE) { |
|
|
|
|
case battle::PLAYER_SELECTION:{ |
|
|
|
|
if (BATTLE_CARD_SELECTION->playerOwnCount>0) { |
|
|
|
@ -928,6 +952,17 @@ public: |
|
|
|
|
}break; |
|
|
|
|
} |
|
|
|
|
} else { |
|
|
|
|
if (GAME_STATE==CUTSCENE_3) { |
|
|
|
|
if (GetKey(A).bPressed||GetKey(LEFT).bPressed||GetKey(NP4).bPressed|GetKey(W).bPressed||GetKey(UP).bPressed||GetKey(NP8).bPressed) { |
|
|
|
|
MAIN_MENU_SELECTION--; |
|
|
|
|
if (MAIN_MENU_SELECTION<0) { |
|
|
|
|
MAIN_MENU_SELECTION=3; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
if (GetKey(D).bPressed||GetKey(RIGHT).bPressed||GetKey(NP6).bPressed||GetKey(S).bPressed||GetKey(DOWN).bPressed||GetKey(NP5).bPressed||GetKey(NP2).bPressed) { |
|
|
|
|
MAIN_MENU_SELECTION=(MAIN_MENU_SELECTION+1)%4; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
switch (CURRENT_CUTSCENE) { |
|
|
|
|
case cutscene::INPUT_USERNAME:{ |
|
|
|
|
if (GetKey(W).bPressed||GetKey(UP).bPressed||GetKey(NP8).bPressed) { |
|
|
|
@ -967,7 +1002,7 @@ public: |
|
|
|
|
SetDrawTarget(2); |
|
|
|
|
drawGame(); |
|
|
|
|
// called once per frame
|
|
|
|
|
return true; |
|
|
|
|
return !END_THE_GAME; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
void fadeOutCompleted() { |
|
|
|
@ -1706,7 +1741,7 @@ public: |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
if (GAME_STATE==CUTSCENE_3&&!SOUND_IS_PLAYING) { |
|
|
|
|
engine.SetOutputVolume(1); |
|
|
|
|
engine.SetOutputVolume(0.6); |
|
|
|
|
engine.PlayWaveform(&SONG_MAIN,true); |
|
|
|
|
SOUND_IS_PLAYING=true; |
|
|
|
|
} |
|
|
|
@ -1894,10 +1929,13 @@ public: |
|
|
|
|
} else { |
|
|
|
|
FillRectDecal({(float)(48+(cursorX)*16%(WIDTH-32)),(float)(GetTextSize(CUTSCENE_CONSOLE_TEXT).y*2+((cursorX==28)?16:0))},{4*2,8*2},Pixel(100, 10, 255,(0.5*sin(frameCount*4/60.0)+0.5)*256)); |
|
|
|
|
} |
|
|
|
|
DrawStringDecal({(float)(WIDTH/2-GetTextSize("NEW GAME").x*2/2),(float)(HEIGHT/2-GetTextSize("NEW GAME").y*2)},"NEW GAME",WHITE,{2,2}); |
|
|
|
|
DrawStringDecal({(float)(WIDTH/2-GetTextSize("CONTINUE").x*2/2),(float)(HEIGHT/2-GetTextSize("CONTINUE").y*2+32)},"CONTINUE",WHITE,{2,2}); |
|
|
|
|
DrawStringDecal({(float)(WIDTH/2-GetTextSize("MUTE SOUND").x*2/2),(float)(HEIGHT/2-GetTextSize("MUTE SOUND").y*2+64)},"MUTE SOUND",WHITE,{2,2}); |
|
|
|
|
DrawStringDecal({(float)(WIDTH/2-GetTextSize("EXIT").x*2/2),(float)(HEIGHT/2-GetTextSize("EXIT").y*2+96)},"EXIT",WHITE,{2,2}); |
|
|
|
|
for (int i=0;i<4;i++) { |
|
|
|
|
std::string tempStr = MENU_OPTIONS[i]; |
|
|
|
|
if (MAIN_MENU_SELECTION==i) { |
|
|
|
|
tempStr="> "+tempStr+" <"; |
|
|
|
|
} |
|
|
|
|
DrawStringDecal({(float)(WIDTH/2-GetTextSize(tempStr).x*2/2),(float)(HEIGHT/2-GetTextSize(tempStr).y*2+32*i)},tempStr,(MAIN_MENU_SELECTION==i)?MAGENTA:WHITE,{2,2}); |
|
|
|
|
} |
|
|
|
|
GradientFillRectDecal({0,0},{WIDTH/2,HEIGHT/2},{100, 10, 255,ALPHA_SCREEN1},{100, 10, 255,ALPHA_SCREEN1},{100, 10, 255,ALPHA_SCREEN2},{100, 10, 255,ALPHA_SCREEN1}); |
|
|
|
|
GradientFillRectDecal({WIDTH/2,0},{WIDTH/2,HEIGHT/2},{100, 10, 255,ALPHA_SCREEN1},{100, 10, 255,ALPHA_SCREEN2},{100, 10, 255,ALPHA_SCREEN1},{100, 10, 255,ALPHA_SCREEN1}); |
|
|
|
|
GradientFillRectDecal({0,HEIGHT/2},{WIDTH/2,HEIGHT/2},{100, 10, 255,ALPHA_SCREEN1},{100, 10, 255,ALPHA_SCREEN1},{100, 10, 255,ALPHA_SCREEN1},{100, 10, 255,ALPHA_SCREEN2}); |
|
|
|
|