MCPcopy Create free account
hub / github.com/OpenFodder/openfodder / Mission_Loop

Method Mission_Loop

Source/Fodder.cpp:19040–19182  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

19038}
19039
19040int16 cFodder::Mission_Loop() {
19041
19042 for (;;) {
19043 mGame_Data.mDemoRecorded.save();
19044
19045 if (GameOverCheck())
19046 return -1;
19047
19048 // Prepare the next mission
19049 Phase_EngineReset();
19050 Phase_SquadPrepare();
19051
19052 mInput_Enabled = false;
19053
19054 intro_main();
19055
19056 // Single / Random Map mode
19057 if (mCustom_Mode == eCustomMode_Map) {
19058 if (mVersionDefault->mName == "Random Map") {
19059 sMapParams Params(mRandom.get());
19060 CreateRandom(Params);
19061 mGame_Data.mMission_Recruitment = 0;
19062 }
19063 else {
19064 Custom_ShowMapSelection();
19065 }
19066
19067 if (mCustom_Mode == eCustomMode_None)
19068 return -1;
19069 }
19070 else {
19071 // Prepare a new game?
19072 if (mGame_Data.mMission_Recruitment && !mParams->mSkipRecruit) {
19073 mGame_Data.mMission_Recruitment = 0;
19074
19075 switch (Recruit_Show()) {
19076 case 0: // Start Mission
19077 break;
19078
19079 case -1: // Return to version select
19080 return -1;
19081
19082 case -2: // Custom set mode
19083 return -2;
19084
19085 case -3: // Load/Save pressed
19086 continue;
19087 }
19088 }
19089 }
19090
19091
19092 mMusic_SlowVolumeDecrease = true;
19093
19094 WindowTitleSet(true);
19095
19096 switch (Briefing_Show()) {
19097

Callers 1

RunTestsMethod · 0.80

Calls 6

isRetailMethod · 0.80
isDemoMethod · 0.80
isAmigaTheOneMethod · 0.80
saveMethod · 0.45
getMethod · 0.45
isCustomMethod · 0.45

Tested by 1

RunTestsMethod · 0.64