Skip to content

Commit 3af1550

Browse files
committed
allow version switch on briefing screen
1 parent bb8e284 commit 3af1550

3 files changed

Lines changed: 22 additions & 4 deletions

File tree

Source/Briefing.cpp

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -395,8 +395,11 @@ int16 cFodder::Briefing_Show() {
395395
if (mVersionCurrent->isDemo() && mVersionDefault->isDemo())
396396
return 1;
397397

398+
398399
// Show the Briefing screen for Retail and Custom
399400
if (mVersionCurrent->hasBriefingScreen() || mCustom_Mode != eCustomMode_None || mGame_Data.mCampaign.isRandom()) {
401+
402+
mBriefing_Screen_Active = true;
400403

401404
Window_UpdateScreenSize();
402405

@@ -417,6 +420,8 @@ int16 cFodder::Briefing_Show() {
417420
// Needs to split into cycle function
418421
Briefing_Show_Ready();
419422

423+
mBriefing_Screen_Active = false;
424+
420425
// Aborted?
421426
if (mBriefing_Aborted == -1) {
422427

Source/Fodder.cpp

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -156,10 +156,12 @@ cFodder::cFodder(std::shared_ptr<cWindow> pWindow)
156156
Squad_Walk_Target_SetAll(0);
157157
mPhase_Completed_Timer = 0;
158158
mVideo_Draw_ColumnsMax = 0;
159+
160+
mBriefing_Screen_Active = false;
159161
mBriefingHelicopter_DirectionIndexF = 0;
160162
mBriefingHelicopter_DirectionIndex = 0;
161163
mBriefingHelicopter_Speed = 0;
162-
word_428BA = 0;
164+
163165
mHelicopterPosX = 0;
164166
mHelicopterPosY = 0;
165167
mBriefingHelicopter_TargetDirection = 0;
@@ -1058,6 +1060,8 @@ void cFodder::Phase_EngineReset()
10581060
word_3B4ED[1] = 0;
10591061
mPhase_Finished = false;
10601062
mImage_Aborted = 0;
1063+
1064+
mBriefing_Screen_Active = false;
10611065
mBriefing_Aborted = 0;
10621066
mHostage_Rescue_Tent = 0;
10631067

@@ -2368,6 +2372,15 @@ void cFodder::VersionSwitch(const sGameVersion *pVersion)
23682372
if (!mStartParams->mDisableSound)
23692373
Music_Play(0);
23702374
}
2375+
2376+
if (mBriefing_Screen_Active && mVersionCurrent->hasBriefingScreen())
2377+
{
2378+
Briefing_Show_PreReady();
2379+
Briefing_Draw_Mission_Title(0x2C);
2380+
Briefing_Draw_Phase();
2381+
Briefing_Draw_With();
2382+
mSurface->Save();
2383+
}
23712384
}
23722385

23732386
int16 cFodder::getWindowWidth() const

Source/Fodder.hpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -544,15 +544,15 @@ class cFodder {
544544
size_t mDraw_Dest_SkipPixelsPerRow;
545545
uint16 mVideo_Draw_ColumnsMax;
546546

547+
bool mBriefing_Screen_Active;
547548
int32 mBriefingHelicopter_ScreenX;
548549
int32 mBriefingHelicopter_ScreenY;
549550
int16 mBriefingHelicopter_DirectionIndex;
550551
float mBriefingHelicopter_DirectionIndexF;
551552
float mBriefingHelicopter_Speed;
552-
int16 word_428BA;
553553

554-
float mHelicopterPosX;
555-
float mHelicopterPosY;
554+
float mHelicopterPosX;
555+
float mHelicopterPosY;
556556
int16 mBriefingHelicopter_TargetDirection;
557557
float mBriefingHelicopter_TargetSpeed; // 50Hz Ticks
558558
float mBriefingHelicopter_NextUpdateCountdown;

0 commit comments

Comments
 (0)