[Scummvm-git-logs] scummvm master -> 240cc3d019f29c6035b609567650e48e65d7d251

dreammaster noreply at scummvm.org
Sat Sep 27 07:54:46 UTC 2025


This automated email contains information about 1 new commit which have been
pushed to the 'scummvm' repo located at https://api.github.com/repos/scummvm/scummvm .

Summary:
240cc3d019 BAGEL: METAGAME: Properly initialize Grand Tour statics when dialog opened


Commit: 240cc3d019f29c6035b609567650e48e65d7d251
    https://github.com/scummvm/scummvm/commit/240cc3d019f29c6035b609567650e48e65d7d251
Author: Paul Gilbert (dreammaster at scummvm.org)
Date: 2025-09-27T00:54:38-07:00

Commit Message:
BAGEL: METAGAME: Properly initialize Grand Tour statics when dialog opened

Changed paths:
    engines/bagel/hodjnpodj/metagame/grand_tour/grand_tour.cpp
    engines/bagel/hodjnpodj/metagame/grand_tour/grand_tour.h


diff --git a/engines/bagel/hodjnpodj/metagame/grand_tour/grand_tour.cpp b/engines/bagel/hodjnpodj/metagame/grand_tour/grand_tour.cpp
index af239b8510a..d95478e7ecb 100644
--- a/engines/bagel/hodjnpodj/metagame/grand_tour/grand_tour.cpp
+++ b/engines/bagel/hodjnpodj/metagame/grand_tour/grand_tour.cpp
@@ -76,41 +76,41 @@ namespace GrandTour {
 // Globals
 extern HCURSOR          hGameCursor;
 
-CBitmap     *pSplashScreen = nullptr;
-CPalette    *pGamePalette = nullptr;        // Palette to be used throughout the game
+static CBitmap     *pSplashScreen = nullptr;
+static CPalette    *pGamePalette = nullptr;        // Palette to be used throughout the game
 
 
-CColorButton    *pScoresResetButton = nullptr;
-CColorButton    *pScoresLeaveButton = nullptr;
+static CColorButton    *pScoresResetButton = nullptr;
+static CColorButton    *pScoresLeaveButton = nullptr;
 
-CColorButton    *pPlayButton = nullptr;
-CColorButton    *pSaveButton = nullptr;
-CColorButton    *pRestoreButton = nullptr;
-CColorButton    *pLeaveButton = nullptr;
+static CColorButton    *pPlayButton = nullptr;
+static CColorButton    *pSaveButton = nullptr;
+static CColorButton    *pRestoreButton = nullptr;
+static CColorButton    *pLeaveButton = nullptr;
 
-CColorButton    *pAudioButton = nullptr;
-CColorButton    *pTop10Button = nullptr;
+static CColorButton    *pAudioButton = nullptr;
+static CColorButton    *pTop10Button = nullptr;
 
-CRadioButton *pHSHButton = nullptr; // Hodj Skill High Radio Button
-CRadioButton *pHSMButton = nullptr; // Hodj Skill Medium Radio Button
-CRadioButton *pHSLButton = nullptr; // Hodj Skill Low Radio Button
-CRadioButton *pHSNPButton = nullptr;    // Hodj Not Playing Radio Button
+static CRadioButton *pHSHButton = nullptr; // Hodj Skill High Radio Button
+static CRadioButton *pHSMButton = nullptr; // Hodj Skill Medium Radio Button
+static CRadioButton *pHSLButton = nullptr; // Hodj Skill Low Radio Button
+static CRadioButton *pHSNPButton = nullptr;    // Hodj Not Playing Radio Button
 
-CRadioButton *pPSHButton = nullptr; // Podj Skill High Radio Button
-CRadioButton *pPSMButton = nullptr; // Podj Skill Medium Radio Button
-CRadioButton *pPSLButton = nullptr; // Podj Skill Low Radio Button
-CRadioButton *pPSNPButton = nullptr;    // Podj Not Playing Radio Button
+static CRadioButton *pPSHButton = nullptr; // Podj Skill High Radio Button
+static CRadioButton *pPSMButton = nullptr; // Podj Skill Medium Radio Button
+static CRadioButton *pPSLButton = nullptr; // Podj Skill Low Radio Button
+static CRadioButton *pPSNPButton = nullptr;    // Podj Not Playing Radio Button
 
-CRadioButton *pGAButton = nullptr;  // Game Played in Alphabetical Order Radio Button
-CRadioButton *pGGButton = nullptr;  // Game Played in Geographical Order Radio Button
-CRadioButton *pGRButton = nullptr;  // Game Played in Random Order Radio Button
+static CRadioButton *pGAButton = nullptr;  // Game Played in Alphabetical Order Radio Button
+static CRadioButton *pGGButton = nullptr;  // Game Played in Geographical Order Radio Button
+static CRadioButton *pGRButton = nullptr;  // Game Played in Random Order Radio Button
 
 static  bool        bActiveWindow = false;          // whether our window is active
 
 int     nReturnValue = -1;       // the values to return to the main EXE to tell it what
 // DLL to dispatch to
 
-int     GAME_VALUES[18] = {        // set the game values to return
+static const int GAME_VALUES[18] = {        // set the game values to return
 	MG_GAME_ARCHEROIDS, MG_GAME_ARTPARTS, MG_GAME_BARBERSHOP, MG_GAME_BATTLEFISH,
 	MG_GAME_BEACON, MG_GAME_CRYPTOGRAMS, MG_GAME_DAMFURRY, MG_GAME_FUGE,
 	MG_GAME_GARFUNKEL, MG_GAME_LIFE, MG_GAME_MANKALA, MG_GAME_MAZEODOOM,
@@ -124,17 +124,17 @@ static const char *aszGames[18] = {      // set the display names for when the c
 	"No Vacancy", "Pack-Rat", "Peggleboz", "Riddles", "TH GESNG GAM", "Word Search"
 };
 
-int     anGeoOrder[18] = { 9, 12, 11, 0, 7, 13, 5, 16, 17, 1, 4, 14, 3, 10, 15, 2, 6, 8 };
+static const int anGeoOrder[18] = { 9, 12, 11, 0, 7, 13, 5, 16, 17, 1, 4, 14, 3, 10, 15, 2, 6, 8 };
 
-SCORESTRUCT astTopTenScores[10];
-bool        bDisplayTopTen = false;
-bool        bInsertPlayer = false;
-int         nNewRank = -1;
-int         nCurChar = 0;
-int         tmWidth = 0;
-int         tmHeight = 0;
-bool        bDonePodj = false;
-CText       *pText = nullptr;
+static SCORESTRUCT astTopTenScores[10];
+static bool        bDisplayTopTen = false;
+static bool        bInsertPlayer = false;
+static int         nNewRank = -1;
+static int         nCurChar = 0;
+static int         tmWidth = 0;
+static int         tmHeight = 0;
+static bool        bDonePodj = false;
+static CText       *pText = nullptr;
 
 /*****************************************************************
  *
@@ -203,6 +203,8 @@ CMainGTWindow::CMainGTWindow(HWND hCallingWnd, LPGRANDTRSTRUCT  pgtGrandTourStru
 	TEXTMETRIC  sTextMetic;
 
 	BeginWaitCursor();
+	initStatics();
+
 	// Define a special window class which traps double-clicks, is byte aligned
 	// to maximize BITBLT performance, and creates "owned" DCs rather than sharing
 	// the five system defined DCs which are not guaranteed to be available;
@@ -546,6 +548,43 @@ CMainGTWindow::~CMainGTWindow() {
 	AfxGetApp()->removeResources("hnpgt.dll");
 }
 
+void CMainGTWindow::initStatics() {
+	pSplashScreen = nullptr;
+	pGamePalette = nullptr;
+
+	pScoresResetButton = nullptr;
+	pScoresLeaveButton = nullptr;
+	pPlayButton = nullptr;
+	pSaveButton = nullptr;
+	pRestoreButton = nullptr;
+	pLeaveButton = nullptr;
+	pAudioButton = nullptr;
+	pTop10Button = nullptr;
+	pHSHButton = nullptr;
+	pHSMButton = nullptr;
+	pHSLButton = nullptr;
+	pHSNPButton = nullptr;
+	pPSHButton = nullptr;
+	pPSMButton = nullptr;
+	pPSLButton = nullptr;
+	pPSNPButton = nullptr;
+	pGAButton = nullptr;
+	pGGButton = nullptr;
+	pGRButton = nullptr;
+
+	bActiveWindow = false;
+	nReturnValue = -1;
+
+	bDisplayTopTen = false;
+	bInsertPlayer = false;
+	nNewRank = -1;
+	nCurChar = 0;
+	tmWidth = 0;
+	tmHeight = 0;
+	bDonePodj = false;
+	pText = nullptr;
+}
+
 /*****************************************************************
  *
  * AdjustScore
diff --git a/engines/bagel/hodjnpodj/metagame/grand_tour/grand_tour.h b/engines/bagel/hodjnpodj/metagame/grand_tour/grand_tour.h
index 1b51fe73040..f19bf0aa335 100644
--- a/engines/bagel/hodjnpodj/metagame/grand_tour/grand_tour.h
+++ b/engines/bagel/hodjnpodj/metagame/grand_tour/grand_tour.h
@@ -100,6 +100,8 @@ private:
 	const CRect   PSHRect, PSMRect, PSLRect, PSNPRect;
 	const CRect   GARect, GGRect, GRRect;
 
+	void initStatics();
+
 public:
 	CMainGTWindow(HWND, LPGRANDTRSTRUCT);
 	~CMainGTWindow();




More information about the Scummvm-git-logs mailing list