[Scummvm-git-logs] scummvm master -> b63a135e798d17a8f7263c81eb07acdf87a25982
dreammaster
noreply at scummvm.org
Mon Sep 29 11:30:31 UTC 2025
This automated email contains information about 2 new commits which have been
pushed to the 'scummvm' repo located at https://api.github.com/repos/scummvm/scummvm .
Summary:
413bd4c757 BAGEL: Refactoring out m_cStartDate/m_cEndData usage
b63a135e79 BAGEL: Further m_cEndData conversion
Commit: 413bd4c757c33c353c7eaa3cf61522b7503ff47f
https://github.com/scummvm/scummvm/commit/413bd4c757c33c353c7eaa3cf61522b7503ff47f
Author: Paul Gilbert (dreammaster at scummvm.org)
Date: 2025-09-29T04:14:39-07:00
Commit Message:
BAGEL: Refactoring out m_cStartDate/m_cEndData usage
Changed paths:
engines/bagel/hodjnpodj/hnplibs/gamedll.h
engines/bagel/hodjnpodj/mankala/bgenut.h
engines/bagel/hodjnpodj/mankala/btimeut.h
engines/bagel/hodjnpodj/mankala/mnk.cpp
engines/bagel/hodjnpodj/mankala/mnk.h
engines/bagel/hodjnpodj/metagame/bgen/bbt.h
engines/bagel/hodjnpodj/metagame/bgen/bdbg.cpp
engines/bagel/hodjnpodj/metagame/bgen/bdbg.h
engines/bagel/hodjnpodj/metagame/bgen/bfc.h
engines/bagel/hodjnpodj/metagame/bgen/bgb.cpp
engines/bagel/hodjnpodj/metagame/bgen/bgb.h
engines/bagel/hodjnpodj/metagame/bgen/bgenut.h
engines/bagel/hodjnpodj/metagame/bgen/bsutl.h
engines/bagel/hodjnpodj/metagame/bgen/btimeut.h
engines/bagel/hodjnpodj/metagame/gtl/gtl.cpp
engines/bagel/hodjnpodj/metagame/gtl/gtl.h
engines/bagel/hodjnpodj/metagame/gtl/gtlcmp.cpp
engines/bagel/hodjnpodj/metagame/gtl/gtldat.h
engines/bagel/hodjnpodj/metagame/gtl/gtldoc.cpp
engines/bagel/hodjnpodj/metagame/gtl/gtldoc.h
engines/bagel/hodjnpodj/metagame/gtl/gtlview.cpp
engines/bagel/hodjnpodj/metagame/gtl/gtlview.h
diff --git a/engines/bagel/hodjnpodj/hnplibs/gamedll.h b/engines/bagel/hodjnpodj/hnplibs/gamedll.h
index 41b1196d854..c96eeff2948 100644
--- a/engines/bagel/hodjnpodj/hnplibs/gamedll.h
+++ b/engines/bagel/hodjnpodj/hnplibs/gamedll.h
@@ -42,19 +42,13 @@ namespace HodjNPodj {
struct GAMESTRUCT {
- long lCrowns;
- long lScore;
- int nSkillLevel;
- bool bSoundEffectsEnabled;
- bool bMusicEnabled;
- bool bPlayingMetagame;
- bool bPlayingHodj;
- /* For use later in Beta Test
- int nInstallationCode;
- char chHomePath[PATHSPECSIZE];
- char chCDPath[PATHSPECSIZE];
- char chMiniPath[PATHSPECSIZE];
- */
+ long lCrowns = 0;
+ long lScore = 0;
+ int nSkillLevel = 0;
+ bool bSoundEffectsEnabled = false;
+ bool bMusicEnabled = false;
+ bool bPlayingMetagame = false;
+ bool bPlayingHodj = false;
};
typedef GAMESTRUCT FAR *LPGAMESTRUCT;
diff --git a/engines/bagel/hodjnpodj/mankala/bgenut.h b/engines/bagel/hodjnpodj/mankala/bgenut.h
index 6322d95920e..c3797fc78b6 100644
--- a/engines/bagel/hodjnpodj/mankala/bgenut.h
+++ b/engines/bagel/hodjnpodj/mankala/bgenut.h
@@ -31,15 +31,10 @@ namespace Mankala {
// class CGenUtil -- general utilities
class CGenUtil {
- char m_cStartData ;
- bool m_bRandomInit ; // random number seed initialized
- char m_cEndData ;
+ bool m_bRandomInit = 0; // random number seed initialized
public:
- // constructor zeroes out all fields
- CGenUtil() {
- memset(&m_cStartData, 0, &m_cEndData - &m_cStartData);
- }
+ CGenUtil() {}
// bgenut.cpp -- Boffo Games general utilities
diff --git a/engines/bagel/hodjnpodj/mankala/btimeut.h b/engines/bagel/hodjnpodj/mankala/btimeut.h
index a8cdda47915..1548a24f5ac 100644
--- a/engines/bagel/hodjnpodj/mankala/btimeut.h
+++ b/engines/bagel/hodjnpodj/mankala/btimeut.h
@@ -34,19 +34,6 @@ void DoPendingEvents() ;
// class CTimeUtil -- general utilities
class CTimeUtil {
-
- char m_cStartData ;
- //bool m_bTimeDelayPassed ; // flag: DelayMs function time expired
-
-
- char m_cEndData ;
-
-public:
- // constructor zeroes out all fields
- CTimeUtil() {
- memset(&m_cStartData, 0, &m_cEndData - &m_cStartData) ;
- }
-
private:
//- DelayMs -- delay for specified # of milliseconds
bool DelayMs(unsigned int uMs) ;
@@ -55,8 +42,6 @@ private:
unsigned int /* uMsg */, uintptr /* uTimerId */, uint32 /* dwTime */) ;
};
-
-
} // namespace Mankala
} // namespace HodjNPodj
} // namespace Bagel
diff --git a/engines/bagel/hodjnpodj/mankala/mnk.cpp b/engines/bagel/hodjnpodj/mankala/mnk.cpp
index 93975c4fb2e..39509d78372 100644
--- a/engines/bagel/hodjnpodj/mankala/mnk.cpp
+++ b/engines/bagel/hodjnpodj/mankala/mnk.cpp
@@ -104,9 +104,6 @@ CMnkWindow::CMnkWindow() {
CSize cMySize ;
HCURSOR hOldCursor;
- memset((char *)&m_cStartData2, 0, (size_t)((char *)&m_cEndData2 - (char *)&m_cStartData2)) ;
- // zero out all my fields
-
m_bJustStarted = true;
m_bStartGame = true ; // set flag - game just starting
m_bRulesActive = false; //flag to indicate the rules scroll is unfurled.
diff --git a/engines/bagel/hodjnpodj/mankala/mnk.h b/engines/bagel/hodjnpodj/mankala/mnk.h
index e2de1ebdbb5..14e71006682 100644
--- a/engines/bagel/hodjnpodj/mankala/mnk.h
+++ b/engines/bagel/hodjnpodj/mankala/mnk.h
@@ -151,70 +151,70 @@ public:
class CBmpObject {
friend class CMnk ;
friend class CMnkWindow ;
- char m_cStartData ;
- CBmpObject *m_xpcNextFree ; // pointer to next in chain to free
- bool m_bChained, m_bHeap ; // on NextFree chain / on heap
- CBmpObject *m_xpcNext ; // pointer to next in chain
- bool m_bDummy ; // dummy object -- no bitmap
- bool m_bMasked ; // mask white areas of bitmap
- class CPitWnd *m_xpcPit ; // ptr to pit, for pit/bin types
- bool m_bInit ; // flag: object is initialized
- int m_iBmpType ; // BMT_xxxx -- bitmap type
- int m_iBmpArg ;
- int m_iBmpNum ;
- int m_iStoneNum ; // for type BMT_STONE
- bool m_bSprite ; // flag: use sprite, not DIB
- class CSprite *m_xpcSprite ; // if this is a sprite, store path
- // there rather than in DIB
- CDibDoc *m_xpDibDoc ; // DIB document
- HDIB m_lpDib; // pointer to bitmap memory
- CPoint m_cPosition ; // position to paint bitmap
- CSize m_cSize ; // size of bitmap
- char m_cEndData ;
-public:
- CBmpObject() {
- memset(&m_cStartData, 0,
- &m_cEndData - &m_cStartData) ;
- }
+ CBmpObject *m_xpcNextFree = nullptr; // pointer to next in chain to free
+ bool m_bChained = false, m_bHeap = false; // on NextFree chain / on heap
+ CBmpObject *m_xpcNext = nullptr; // pointer to next in chain
+ bool m_bDummy = false; // dummy object -- no bitmap
+ bool m_bMasked = false; // mask white areas of bitmap
+ class CPitWnd *m_xpcPit = nullptr; // ptr to pit, for pit/bin types
+ bool m_bInit = false; // flag: object is initialized
+ int m_iBmpType = 0; // BMT_xxxx -- bitmap type
+ int m_iBmpArg = 0;
+ int m_iBmpNum = 0;
+ int m_iStoneNum = 0; // for type BMT_STONE
+ bool m_bSprite = false; // flag: use sprite, not DIB
+ CSprite *m_xpcSprite = nullptr; // if this is a sprite, store path
+ // there rather than in DIB
+ CDibDoc *m_xpDibDoc = nullptr; // DIB document
+ HDIB m_lpDib = nullptr; // pointer to bitmap memory
+ CPoint m_cPosition; // position to paint bitmap
+ CSize m_cSize; // size of bitmap
} ;
// CMove -- position/move class
class CMove {
friend class CMnk ;
friend class CMnkWindow ;
- char m_cStartData ;
- bool m_bRealMove ; // this is CMove object for real board position
- int m_iNumStones[NUMPLAYERS][NUMPITS + 2] ; // number of stones
- // in each pit, prior to sowing
- int m_iPlayer ; // player on the move
- int m_iTotalStones ; // total stones in pits (not home bins)
- long m_lConfigIndex ; // configuration index for position
- int m_iValues[NUMPITS] ; // value of each move
- int m_iBestWinValue ; // best value found
- int m_iBestMove ; // best move
- class CPit *m_xpcPit ; // ptr to pit being sowed
- bool m_bFreeTurn ; // player got free turn
- bool m_bCapture ; // capture occurred
- int m_iCapturePit ; // # of opponent's pit that got captured
- bool m_bHasCapture ; // has a capture from here
- bool m_bHasFree ; // has free move from here
- int m_iNumMoves ; // number of legal moves
- char m_cEndData ;
+
+ bool m_bRealMove = false; // this is CMove object for real board position
+ // number of stones in each pit, prior to sowing
+ int m_iNumStones[NUMPLAYERS][NUMPITS + 2] = {};
+ int m_iPlayer = 0; // player on the move
+ int m_iTotalStones = 0; // total stones in pits (not home bins)
+ long m_lConfigIndex = 0; // configuration index for position
+ int m_iValues[NUMPITS] = {}; // value of each move
+ int m_iBestWinValue = 0; // best value found
+ int m_iBestMove = 0; // best move
+ class CPit *m_xpcPit = nullptr; // ptr to pit being sowed
+ bool m_bFreeTurn = false; // player got free turn
+ bool m_bCapture = false; // capture occurred
+ int m_iCapturePit = 0; // # of opponent's pit that got captured
+ bool m_bHasCapture = false; // has a capture from here
+ bool m_bHasFree = false; // has free move from here
+ int m_iNumMoves = 0; // number of legal moves
// methods to zero or copy CMove objects
void Zero() {
- memset(&m_cStartData, 0, &m_cEndData - &m_cStartData) ;
+ m_bRealMove = false;
+ Common::fill(&m_iNumStones[0][0], &m_iNumStones[0][0] + NUMPLAYERS * (NUMPITS + 2), 0);
+ m_iPlayer = 0;
+ m_iTotalStones = 0;
+ m_lConfigIndex = 0;
+ Common::fill(m_iValues, m_iValues + NUMPITS, 0);
+ m_iBestWinValue = 0;
+ m_iBestMove = 0;
+ m_xpcPit = nullptr;
+ m_bFreeTurn = false;
+ m_bCapture = false;
+ m_iCapturePit = 0;
+ m_bHasCapture = false;
+ m_bHasFree = false;
+ m_iNumMoves = 0;
}
- void Copy(CMove * xpcMove) {
- memcpy(&m_cStartData,
- &xpcMove->m_cStartData, &m_cEndData - &m_cStartData) ;
- m_bRealMove = false ;
- }
-
-public:
- CMove() {
- Zero(); // constructor
+ void Copy(CMove *xpcMove) {
+ *this = *xpcMove;
+ m_bRealMove = false;
}
} ;
@@ -222,61 +222,49 @@ public:
class CPit {
friend class CMnk ;
public:
- char m_cStartData ;
- int m_iNumStones, m_iDispStones, m_iDispMax ;
- int m_iPlayer, m_iPit ; // player #, pit #
-
- char m_cEndData ;
-
- // constructor zeroes out all fields
- CPit() {
- memset(&m_cStartData, 0, &m_cEndData - &m_cStartData) ;
- }
-
-} ; // CPit
+ int m_iNumStones = 0, m_iDispStones = 0, m_iDispMax = 0;
+ int m_iPlayer = 0, m_iPit = 0; // player #, pit #
+}; // CPit
// CMnk -- Mankala game class
class CMnk {
private:
friend class CMnkWindow ;
- CGenUtil m_cGenUtil ; // general utility object
- CTimeUtil m_cTimeUtil ; // time utility object
- char m_cStartData ;
- bool m_bStartGame ; // just starting game
- bool m_bGameOver ; // game is over
- bool m_bGameOverMusicPlayed ; // music played when game is over
- int m_iTableStones ; // number of stones in data table
- long m_lNumConfigs ; // # configs in best win table
- long m_lTableSize ; // size of best win table
- bool m_bInitData ; // flag: initialize data tables
- class CMnkData FAR *m_lpCMnkData ; // pointer to data tables
- CSound *m_pSound;
+ CGenUtil m_cGenUtil ; // general utility object
+ CTimeUtil m_cTimeUtil ; // time utility object
+
+ bool m_bStartGame = false; // just starting game
+ bool m_bGameOver = false; // game is over
+ bool m_bGameOverMusicPlayed = false; // music played when game is over
+ int m_iTableStones = 0; // number of stones in data table
+ long m_lNumConfigs = 0; // # configs in best win table
+ long m_lTableSize = 0; // size of best win table
+ bool m_bInitData = false; // flag: initialize data tables
+ class CMnkData FAR *m_lpCMnkData = nullptr; // pointer to data tables
+ CSound *m_pSound = nullptr;
// XPVOID m_cWnd ; // mankala window
// int m_iPlayer ; // Next player: 0=player 1, 1=player 2
- int m_iStartStones ; // #stones per pit at start
- bool m_bComputer[NUMPLAYERS] ; // flag: player is
+ int m_iStartStones = 0; // #stones per pit at start
+ bool m_bComputer[NUMPLAYERS] = {}; // flag: player is
// computer (vs human)
- class CPit *m_xpcPits[NUMPLAYERS][NUMPITS + 2] ;
- // pointers to pit classes for pits, home bins,
- // and hands
-// int m_iHomeStones[NUMPLAYERS] ; // #stones in each home bin
-// int m_iPitStones[NUMPLAYERS][NUMPITS] ; // #stones in each pit
- int m_iMaxDepth[NUMPLAYERS], m_iCurrentMaxDepth ;
+ class CPit *m_xpcPits[NUMPLAYERS][NUMPITS + 2] = {};
+
+ int m_iMaxDepth[NUMPLAYERS] = {}, m_iCurrentMaxDepth = 0;
// max minimax depth
- int m_iCapDepth[NUMPLAYERS], m_iCurrentCapDepth ;
+ int m_iCapDepth[NUMPLAYERS] = {}, m_iCurrentCapDepth = 0;
// minimax capture depth
- int m_iNumberMoves ; // #moves played so far
- class CMove m_cCurrentMove ; // current position/move
- class CMove m_cMoveList[MAXMOVES] ; // move list
+ int m_iNumberMoves = 0; // #moves played so far
+ class CMove m_cCurrentMove; // current position/move
+ class CMove m_cMoveList[MAXMOVES]; // move list
enum enum_Level {LEV_NONE, LEV_RANDOM,
LEV_LOWEST, LEV_HIGHEST, LEV_EVAL, LEV_MINIMAX
}
- m_eLevel[NUMPLAYERS] ; // level of computer play
+ m_eLevel[NUMPLAYERS] = {}; // level of computer play
- bool m_bDumpPopulate, m_bDumpMoves, m_bDumpTree ; // dump options
-
- char m_cEndData ;
+ bool m_bDumpPopulate = false,
+ m_bDumpMoves = false,
+ m_bDumpTree = false; // dump options
private:
/**
@@ -292,11 +280,6 @@ private:
bool WriteTableFile();
public:
- CMnk() {
- memset((char *)&m_cStartData, 0,
- (size_t)((char *)&m_cEndData - (char *)&m_cStartData)) ;
- }
-
// mnklog.cpp -- Mankala game logic
//- InitMankala -- initialize a new game of Mankala
@@ -362,11 +345,11 @@ struct FIVE {
class CFileHeader {
friend class CMnk;
- char m_szText[80]; // descriptive text
- int m_iHeaderSize; // size of header (# bytes)
- int m_iVersion; // version number
- int m_iTableStones; // # stones in stored best win table
- long m_lTableSize ; // length of stored best win table
+ char m_szText[80] = {}; // descriptive text
+ int m_iHeaderSize = 0; // size of header (# bytes)
+ int m_iVersion = 0; // version number
+ int m_iTableStones = 0; // # stones in stored best win table
+ long m_lTableSize = 0; // length of stored best win table
void sync(Common::Serializer &s);
};
@@ -374,29 +357,22 @@ class CFileHeader {
// class CMnkData -- mankala data - this class used for move analysis
typedef class FAR CMnkData {
friend class CMnk ;
-// friend class CMnkWindow ;
- char m_cStartData ;
CFileHeader m_cFileHeader ; // file header for data file
- long m_NX[MAXTABLESTONES + 1][TOTALPITS + 1],
- m_NA[MAXTABLESTONES + 1][TOTALPITS + 1] ;
- // NX[s,p] contains the number of arrangements of
- // exactly s stones into p pits. NA[s,p] contains the
- // number of arrangements of s or fewer stones into
- // p pits.
-
- HGLOBAL m_hBestWin; // Windows handle for best win table
- byte *m_hpcBestWin; // pointer to array
- // of 5 bit values. The subscripts are integers
- // 0 <= subscript <= NUMCONFIGS, and the array element
- // specifies the number of stones (-15 to +15, with -16
- // representing an unknown value) that can be won from
- // this configuration with best play.
-
- char m_cEndData ;
- CMnkData() {
- memset(&m_cStartData, 0, &m_cEndData - &m_cStartData);
- }
+ long m_NX[MAXTABLESTONES + 1][TOTALPITS + 1] = {},
+ m_NA[MAXTABLESTONES + 1][TOTALPITS + 1] = {};
+ // NX[s,p] contains the number of arrangements of
+ // exactly s stones into p pits. NA[s,p] contains the
+ // number of arrangements of s or fewer stones into
+ // p pits.
+
+ HGLOBAL m_hBestWin = nullptr; // Windows handle for best win table
+ byte *m_hpcBestWin = nullptr; // pointer to array
+ // of 5 bit values. The subscripts are integers
+ // 0 <= subscript <= NUMCONFIGS, and the array element
+ // specifies the number of stones (-15 to +15, with -16
+ // representing an unknown value) that can be won from
+ // this configuration with best play.
} class_CMnkData, *HPCMNKDATA;
#define SPRITE_COUNT 15 // maximum sprites to be displayed
@@ -424,17 +400,8 @@ typedef class FAR CMnkData {
// CPitWnd -- display class for pit (as well as home bin and hand)
class CPitWnd : public CPit {
friend class CMnkWindow ;
- char m_cStartData2 ;
- CBmpObject *m_xpcStoneChain ; // chain header for stone displays
-// CPoint m_cStonePosition ; // position of first stone
-// int m_iNumStones ; // number of stones in pit
- char m_cEndData2 ;
+ CBmpObject *m_xpcStoneChain = nullptr; // chain header for stone displays
CBmpObject m_cBmpObject ; // current bitmap object for pit with stones
-
- CPitWnd() {
- memset((char *)&m_cStartData2, 0,
- (size_t)((char *)&m_cEndData2 - (char *)&m_cStartData2));
- }
};
@@ -444,40 +411,35 @@ class CPitWnd : public CPit {
class CMnkWindow : public CFrameWnd, public CMnk {
bool bPlayedGameOnce = false;
- char m_cStartData2 ;
- bool m_bJustStarted; // flag to indicate beginning of game.
- bool m_bGameWon; //flag to indicate game result.
- bool m_bRulesActive; //flag to indicate the unfurled status of the rules scroll.
- // ...this flag is set only when rules are invoked via the F1 key.
- bool m_bScoresDisplayed; // to indicate that the Score has been displayed at the end of game,
- //... and should pop up again.
- CText *m_pText;
+
+ bool m_bJustStarted = false; // flag to indicate beginning of game.
+ bool m_bGameWon = false; // flag to indicate game result.
+ bool m_bRulesActive = false; // flag to indicate the unfurled status of the rules scroll.
+ // ...this flag is set only when rules are invoked via the F1 key.
+ bool m_bScoresDisplayed = false; // to indicate that the Score has been displayed at the end of game,
+ // ... and should pop up again.
+ CText *m_pText = nullptr;
CBmpObject m_cBmpMain ; // bitmap object for main window
- CPalette *m_xpGamePalette, *m_xpOldPalette ; // game pallet
- CBmpObject *m_xpFreeStoneChain ; // chain of unused stone sprites
- CBmpObject *m_xpcBmpFreeChain ; // chain of objects to be freed
-// CSprite * m_xpStoneSprite ; // basic stone sprite (others dup'ed)
- CBmpObject m_cBmpScroll ; // options scroll bitmap object
- bool m_bInMenu ; // within options menu
- bool m_bPlaySound;
- char m_szDataDirectory[100] ; // directory for data files
+ CPalette *m_xpGamePalette = nullptr, *m_xpOldPalette = nullptr; // game pallet
+ CBmpObject *m_xpFreeStoneChain = nullptr; // chain of unused stone sprites
+ CBmpObject *m_xpcBmpFreeChain = nullptr; // chain of objects to be freed
+
+ CBmpObject m_cBmpScroll; // options scroll bitmap object
+ bool m_bInMenu = false; // within options menu
+ bool m_bPlaySound = false;
+ char m_szDataDirectory[100] = {}; // directory for data files
CRect m_cMainRect, // screen area spanned by the game window
m_cQuitRect, // window area spanned by the QUIT button
m_cOkayRect ; // window area spanned by the OKAY button
-// // pointers to chain of stone sprites for each pit/home/hand
-// CStone * m_xpcHomeStones[NUMPLAYERS] ; // bin stones
-// CStone * m_xpcPitStones[NUMPLAYERS][NUMPITS] ; // pit stones
-// CStone * m_xpcHandStones[NUMPLAYERS] ; // stones in hand
- class CPitWnd *m_xpcPits[NUMPLAYERS][NUMPITS + 2] ;
+ class CPitWnd *m_xpcPits[NUMPLAYERS][NUMPITS + 2] = {};
// pointers to pit classes for pits, home bins,
// and hands
CBmpObject m_cBmpCrab ; // bitmap object for crab with no sign
CBmpObject m_cBmpSign ; // bitmap object for crab sign
- int m_iBmpSign ; // SBT_xxxx -- which sign crab displays
- char m_cEndData2 ;
+ int m_iBmpSign = 0; // SBT_xxxx -- which sign crab displays
// mnk.cpp -- Mankala game -- Windows interface
diff --git a/engines/bagel/hodjnpodj/metagame/bgen/bbt.h b/engines/bagel/hodjnpodj/metagame/bgen/bbt.h
index da2609e959a..49212de3adc 100644
--- a/engines/bagel/hodjnpodj/metagame/bgen/bbt.h
+++ b/engines/bagel/hodjnpodj/metagame/bgen/bbt.h
@@ -37,16 +37,12 @@ class CBbutton;
// CBbtMgr -- boffo games button manager
class CBbtMgr {
public:
- char m_cStartData;
- CBgbMgr FAR *m_lpBgbMgr;
- CBbutton FAR *m_lpBbtChain; // chain of bbt objects
- CBbutton FAR *m_lpDownBbt;
- char m_cEndData;
+ CBgbMgr FAR *m_lpBgbMgr = nullptr;
+ CBbutton FAR *m_lpBbtChain = nullptr; // chain of bbt objects
+ CBbutton FAR *m_lpDownBbt = nullptr;
public:
CBbtMgr(CBgbMgr FAR *lpBgbMgr = nullptr) {
- memset(&m_cStartData, 0,
- &m_cEndData - &m_cStartData);
m_lpBgbMgr = lpBgbMgr;
}
@@ -68,21 +64,18 @@ public:
class FAR CBbutton {
friend class CBbtMgr;
public:
- char m_cStartData;
- int m_iBbtId; // button id
- CBbutton FAR *m_lpBbtNext; // pointer to next in chain
+ int m_iBbtId = 0; // button id
+ CBbutton FAR *m_lpBbtNext = nullptr; // pointer to next in chain
bool m_bChained : 1; // on m_xBbtChain
- bool m_bNoDelete; // not allocated with "new"
+ bool m_bNoDelete = false; // not allocated with "new"
bool m_bDummy : 1; // dummy object -- no bitmap
bool m_bInit : 1; // flag: object is initialized
- CBgbObject FAR *m_lpcBgbObject1, FAR *m_lpcBgbObject2;
+ CBgbObject *m_lpcBgbObject1 = nullptr, *m_lpcBgbObject2 = nullptr;
// graphics objects for on/off
- char m_cEndData;
public:
CBbutton(int iId = 0) {
- memset(&m_cStartData, 0,
- &m_cEndData - &m_cStartData);
+ m_bChained = m_bDummy = m_bInit = false;
m_iBbtId = iId;
}
bool PtInButton(const CRPoint &crPoint) const {
diff --git a/engines/bagel/hodjnpodj/metagame/bgen/bdbg.cpp b/engines/bagel/hodjnpodj/metagame/bgen/bdbg.cpp
index 2e2fa33cc45..a7f0f94cfa1 100644
--- a/engines/bagel/hodjnpodj/metagame/bgen/bdbg.cpp
+++ b/engines/bagel/hodjnpodj/metagame/bgen/bdbg.cpp
@@ -34,8 +34,6 @@ CBdbgMgr FAR *CBdbgMgr::lpBdbgMgr = nullptr ;
CBdbgMgr::CBdbgMgr() {
JXENTER(CBdbgMgr::CBdbgMgr) ;
- // zero out all data
- memset(&m_cStartData, 0, &m_cEndData - &m_cStartData) ;
lpBdbgMgr = this ;
// cleanup:
diff --git a/engines/bagel/hodjnpodj/metagame/bgen/bdbg.h b/engines/bagel/hodjnpodj/metagame/bgen/bdbg.h
index b0c1b4d6c12..a4f82bd84f5 100644
--- a/engines/bagel/hodjnpodj/metagame/bgen/bdbg.h
+++ b/engines/bagel/hodjnpodj/metagame/bgen/bdbg.h
@@ -38,25 +38,24 @@ namespace Metagame {
// CBdbgMgr -- boffo games debugging manager
class CBdbgMgr {
public:
- static CBdbgMgr FAR *lpBdbgMgr ; // pointer to this block
- char m_cStartData ;
- char m_szIniFilename[100] ; // .INI file name
- char m_szIniSectionname[15] ; // .INI file section name
- bool m_bDebug ; // flag -- debugging mode
- bool m_bDebugMessages ; // debugging messages
- bool m_bTimeMessage ; // time stamp message
- bool m_bTrack, m_bTrace ; // debugging -- track/trace flags
- bool m_bTraceError ; // debugging -- trace error exits
- int m_iConstructorMsgLevel ; // level of constructor messages
- bool m_bVerifyDc ; // verify device context is ok
- int m_iDebugValues[100] ; // misc debugging values
- int m_iTraceObjectCount ; // max # objects to trace
- void **m_lpTraceObjects ; // trace object array
- int m_iTraceObjectCurrent ; // # of array elements in use
- int m_iErrorCount ; // number of errors encountered
- char m_cEndData ;
+ static CBdbgMgr FAR *lpBdbgMgr; // pointer to this block
+ char m_cStartData = 0;
+ char m_szIniFilename[100] = {}; // .INI file name
+ char m_szIniSectionname[15] = {}; // .INI file section name
+ bool m_bDebug = false; // flag -- debugging mode
+ bool m_bDebugMessages = false; // debugging messages
+ bool m_bTimeMessage = false; // time stamp message
+ bool m_bTrack = false, m_bTrace = false; // debugging -- track/trace flags
+ bool m_bTraceError = false; // debugging -- trace error exits
+ int m_iConstructorMsgLevel = 0; // level of constructor messages
+ bool m_bVerifyDc = false; // verify device context is ok
+ int m_iDebugValues[100] = {}; // misc debugging values
+ int m_iTraceObjectCount = 0; // max # objects to trace
+ void **m_lpTraceObjects = nullptr; // trace object array
+ int m_iTraceObjectCurrent = 0; // # of array elements in use
+ int m_iErrorCount = 0; // number of errors encountered
-// methods
+ // methods
static CBdbgMgr FAR *GetPointer() {
return lpBdbgMgr;
}
diff --git a/engines/bagel/hodjnpodj/metagame/bgen/bfc.h b/engines/bagel/hodjnpodj/metagame/bgen/bfc.h
index 905a8929657..1bbb31321ec 100644
--- a/engines/bagel/hodjnpodj/metagame/bgen/bfc.h
+++ b/engines/bagel/hodjnpodj/metagame/bgen/bfc.h
@@ -51,125 +51,107 @@ struct NOTE_LIST {
// CHodjPodj class -- information about Hodj or Podj
class CHodjPodj {
public:
- char m_cStartData ;
+ bool m_bMoving = false; // flag: this player moving
+ bool m_bComputer = false; // flag: played by computer
+ bool m_bHaveMishMosh = false;
- bool m_bMoving ; // flag: this player moving
- bool m_bComputer ; // flag: played by computer
- bool m_bHaveMishMosh;
-
- int m_iSectorCode ; // MG_SECTOR_xxxx
- int m_iNode ; // node # location
- int m_iSkillLevel;
- int m_iTargetNode; // current destinations node #
+ int m_iSectorCode = 0; // MG_SECTOR_xxxx
+ int m_iNode = 0; // node # location
+ int m_iSkillLevel = 0;
+ int m_iTargetNode = 0; // current destinations node #
// list of clue numbers for clues given by winning mini-game
- int m_iWinInfoWon ;
- int m_iWinInfoNeed ;
- int m_iWinInfoTable[MAX_GAME_TABLE] ;
+ int m_iWinInfoWon = 0;
+ int m_iWinInfoNeed = 0;
+ int m_iWinInfoTable[MAX_GAME_TABLE] = {};
// list of clue numbers for clues given by farmer, etc.
- int m_iSecondaryInfoWon ;
- int m_iSecondaryInfoNeed ;
- int m_iSecondaryInfoTable[MAX_GAME_TABLE] ;
+ int m_iSecondaryInfoWon = 0;
+ int m_iSecondaryInfoNeed = 0;
+ int m_iSecondaryInfoTable[MAX_GAME_TABLE] = {};
// list of objects required to get Mish/Mosh
- int m_iRequiredObjectsCount ;
- int m_iRequiredObjectsTable[MAX_GAME_TABLE] ;
- int m_iRequiredMoney ; // money needed for Mish/Mosh
+ int m_iRequiredObjectsCount = 0;
+ int m_iRequiredObjectsTable[MAX_GAME_TABLE] = {};
+ int m_iRequiredMoney = 0; // money needed for Mish/Mosh
// list of secondary information location we still have to visit
- int m_iSecondaryLoc[MAX_GAME_TABLE] ;
+ int m_iSecondaryLoc[MAX_GAME_TABLE] = {};
- int m_iGameHistory[20] ; // last 20 mini-games played
- int m_iTargetLocation ; // target location for computer play
- int m_iSpecialTravelCode;
- int m_iNumberBoatTries;
- int m_iFurlongs; // number of furlongs left for players turn
- int m_nTurns; // number of turns (not furlongs)
+ int m_iGameHistory[20] = {}; // last 20 mini-games played
+ int m_iTargetLocation = 0; // target location for computer play
+ int m_iSpecialTravelCode = 0;
+ int m_iNumberBoatTries = 0;
+ int m_iFurlongs = 0; // number of furlongs left for players turn
+ int m_nTurns = 0; // number of turns (not furlongs)
// inventory information
// these fields are valid if m_bInventories is true, even if
// m_bRestart is false
- CInventory *m_pInventory; // inventory player owns
- CInventory *m_pGenStore; // player's inventory in general store
- CInventory *m_pBlackMarket; // player's inventory in pawn shop
- CInventory *m_pTradingPost; // player's inventory in trading post
-
- NOTE_LIST m_aClueArray[NUMBER_OF_CLUES]; // array of clues for the notebook
-
- char m_cEndData ;
+ CInventory *m_pInventory = nullptr; // inventory player owns
+ CInventory *m_pGenStore = nullptr; // player's inventory in general store
+ CInventory *m_pBlackMarket = nullptr; // player's inventory in pawn shop
+ CInventory *m_pTradingPost = nullptr; // player's inventory in trading post
- // constructor
- CHodjPodj() {
- memset(&m_cStartData, 0, &m_cEndData - &m_cStartData);
- }
+ NOTE_LIST m_aClueArray[NUMBER_OF_CLUES] = {}; // array of clues for the notebook
} ;
// CBfcMgr -- boffo games interface manager class
class CBfcMgr {
public:
- char m_cStartData;
+ bool m_bTraps[240] = {}; // used booby-trap/narration flags
- bool m_bTraps[240]; // used booby-trap/narration flags
+ bool m_bLowMemory = false; // low memory environment flag
- bool m_bLowMemory; // low memory environment flag
+ bool m_bSlowCPU = false; // 80386 processor flag
- bool m_bSlowCPU; // 80386 processor flag
-
- bool m_bInventories; // use the inventory pointers even
+ bool m_bInventories = false; // use the inventory pointers even
// if m_bRestart is false to indicate that some
// fields are still value (as noted)
- int m_iGameTime; // SHORT_GAME, MEDIUM_GAME or LONG_GAME
+ int m_iGameTime = 0; // SHORT_GAME, MEDIUM_GAME or LONG_GAME
// Note: This value is valid if
// m_bInventories is true
- bool m_bRestart ; // (set by EXE for DLL) restarting game
+ bool m_bRestart = false; // (set by EXE for DLL) restarting game
// (otherwise, remaining data is invalid, unless
// otherwise noted)
- bool m_bGameOver ; // if set, the meta-game is over (someone
+ bool m_bGameOver = false; // if set, the meta-game is over (someone
// has won MishMosh and is in castle)
- bool m_bScrolling; // true if scrolling map while walking
+ bool m_bScrolling = false; // true if scrolling map while walking
- bool m_bAnimations; // true if showing animations
+ bool m_bAnimations = false; // true if showing animations
- bool m_bRestoredGame; // true if restoring a saved game
+ bool m_bRestoredGame = false; // true if restoring a saved game
- bool m_bVisitedStore; // true if computer Hodj/Podj visited a store
+ bool m_bVisitedStore = false; // true if computer Hodj/Podj visited a store
- int m_iFunctionCode ; // (set by DLL for EXE) MG_GAME_xxxx to
+ int m_iFunctionCode = 0; // (set by DLL for EXE) MG_GAME_xxxx to
// indicate that a game is to be played,
// or MG_DLLX_xxxx to indicate other DLL
// exit action
- bool m_bChanged; // Save Game check to determine if we need to
+ bool m_bChanged = false; // Save Game check to determine if we need to
// ask about saving users game.
// This field does NOT need to be save in the
// .SAV file.
- uint32 m_dwFreeSpaceMargin;
- uint32 m_dwFreePhysicalMargin;
+ uint32 m_dwFreeSpaceMargin = 0;
+ uint32 m_dwFreePhysicalMargin = 0;
- int m_nInstallationCode;
- char m_chHomePath[PATHSPECSIZE];
- char m_chCDPath[PATHSPECSIZE];
- char m_chMiniPath[PATHSPECSIZE];
+ int m_nInstallationCode = 0;
+ char m_chHomePath[PATHSPECSIZE] = {};
+ char m_chCDPath[PATHSPECSIZE] = {};
+ char m_chMiniPath[PATHSPECSIZE] = {};
struct GAMESTRUCT m_stGameStruct ;
- int m_iMishMoshLoc ; // MG_LOC_xxxx -- Mish/Mosh location
+ int m_iMishMoshLoc = 0; // MG_LOC_xxxx -- Mish/Mosh location
// ... need color narration information from Barbara
class CHodjPodj m_cHodj, m_cPodj ; // Hodj/Podj info
// these items must be created in the Frame EXE
- CItem *m_pMishItem;
- CItem *m_pMoshItem;
-
- char m_cEndData ;
-
- // constructor
- CBfcMgr() {
- memset(&m_cStartData, 0, &m_cEndData - &m_cStartData) ;
- }
+ CItem *m_pMishItem = nullptr;
+ CItem *m_pMoshItem = nullptr;
};
} // namespace Metagame
diff --git a/engines/bagel/hodjnpodj/metagame/bgen/bgb.cpp b/engines/bagel/hodjnpodj/metagame/bgen/bgb.cpp
index 6e374e9d528..bba38b5ab90 100644
--- a/engines/bagel/hodjnpodj/metagame/bgen/bgb.cpp
+++ b/engines/bagel/hodjnpodj/metagame/bgen/bgb.cpp
@@ -63,13 +63,8 @@ CBgbMgr *gpBgbMgr;
*
*****************************************************************************/
CBgbMgr::CBgbMgr() {
- // Initialize all member variables to 0
- memset(&m_cStartData, 0, &m_cEndData - &m_cStartData);
-
gpBgbMgr = this;
m_bAnimationsPaused = true;
-
- //ErrorLog("DEBUG.LOG", "Free Space: %ld", GetFreeSpace(0));
}
diff --git a/engines/bagel/hodjnpodj/metagame/bgen/bgb.h b/engines/bagel/hodjnpodj/metagame/bgen/bgb.h
index b2eed3c93e4..abd8e3bf59b 100644
--- a/engines/bagel/hodjnpodj/metagame/bgen/bgb.h
+++ b/engines/bagel/hodjnpodj/metagame/bgen/bgb.h
@@ -47,32 +47,30 @@ public:
// Following should be in view-specific block
//
- char m_cStartData;
- CView *m_xpcView; // current window, when non-null
- CDC *m_xpDc; // current device context
- COLORREF m_cPenColor, m_cBrushColor;
- int m_iPenWidth, m_iBrushStyle;
- CBrush *m_xpOldBrush;
- CPen *m_xpOldPen;
- bool m_bCreatePen, m_bCreateBrush;
- bool m_bReleaseDc; // flag: release DC when done
- int m_iLockCount; // if positive, don't release DC
+ CView *m_xpcView = nullptr; // current window, when non-null
+ CDC *m_xpDc = nullptr; // current device context
+ COLORREF m_cPenColor = 0, m_cBrushColor = 0;
+ int m_iPenWidth = 0, m_iBrushStyle = 0;
+ CBrush *m_xpOldBrush = nullptr;
+ CPen *m_xpOldPen = nullptr;
+ bool m_bCreatePen = false, m_bCreateBrush = false;
+ bool m_bReleaseDc = false; // flag: release DC when done
+ int m_iLockCount = 0; // if positive, don't release DC
- CBsuSet *m_xpBsuSet; // scroll bar set, if any
+ CBsuSet *m_xpBsuSet = nullptr; // scroll bar set, if any
- CPalette *m_xpGamePalette; // game pallet
- CPalette *m_xpOldPalette;
+ CPalette *m_xpGamePalette = nullptr; // game pallet
+ CPalette *m_xpOldPalette = nullptr;
- CBgbObject *m_lpBgbChain; // chain of bgb objects
+ CBgbObject *m_lpBgbChain = nullptr; // chain of bgb objects
- CLList *m_pFXList; // Special Effects list
+ CLList *m_pFXList = nullptr; // Special Effects list
- bool m_bInMenu; // within options menu
- char m_szDataDirectory[100]; // directory for data files
- char m_cEndData;
+ bool m_bInMenu = false; // within options menu
+ char m_szDataDirectory[100] = {}; // directory for data files
private:
- bool m_bAnimationsPaused; // Animations Paused/UnPaused
+ bool m_bAnimationsPaused = false; // Animations Paused/UnPaused
// methods
public:
diff --git a/engines/bagel/hodjnpodj/metagame/bgen/bgenut.h b/engines/bagel/hodjnpodj/metagame/bgen/bgenut.h
index 8076605843d..4e5b539794c 100644
--- a/engines/bagel/hodjnpodj/metagame/bgen/bgenut.h
+++ b/engines/bagel/hodjnpodj/metagame/bgen/bgenut.h
@@ -31,18 +31,9 @@ namespace Metagame {
// class CGenUtil -- general utilities
class CGenUtil {
-
- char m_cStartData ;
- bool m_bRandomInit ; // random number seed initialized
- char m_cEndData ;
+ bool m_bRandomInit = false; // random number seed initialized
public:
-
- // constructor zeroes out all fields
- CGenUtil() {
- memset(&m_cStartData, 0, &m_cEndData - &m_cStartData) ;
- }
-
// bgenut.cpp -- Boffo Games general utilities
int RandomInteger(int iLow, int iHigh) ;
diff --git a/engines/bagel/hodjnpodj/metagame/bgen/bsutl.h b/engines/bagel/hodjnpodj/metagame/bgen/bsutl.h
index fac91c6a644..a097fc138fc 100644
--- a/engines/bagel/hodjnpodj/metagame/bgen/bsutl.h
+++ b/engines/bagel/hodjnpodj/metagame/bgen/bsutl.h
@@ -71,26 +71,18 @@ class CRRect;
// CBsuSet -- boffo scroll utility set
class CBsuSet {
public:
- char m_cStartData;
- class CBsuBar *m_xpBarChain; // chain of scroll bar objects
- bool m_bInUpdateBars; // prevent UpdateBars recursion
- CDialog *m_xpDlg; // dialog to be updated
- CWnd *m_xpWnd; // window to be scrolled
-
- bool m_bDebugMessages;
- bool m_bPrimary; // primary in linked sets
- bool m_bScrollView; // window uses CScrollView
- bool m_bScrollBars; // window to have windows scroll bars
- CBsuSet *m_xpSetLink; // one alternate set of scroll bars
- char m_cEndData;
+ class CBsuBar *m_xpBarChain = nullptr; // chain of scroll bar objects
+ bool m_bInUpdateBars = false; // prevent UpdateBars recursion
+ CDialog *m_xpDlg = nullptr; // dialog to be updated
+ CWnd *m_xpWnd = nullptr; // window to be scrolled
-public:
- CBsuSet() {
- TRACECONSTRUCTOR(CBsuSet);
- memset(&m_cStartData, 0,
- &m_cEndData - &m_cStartData);
- }
+ bool m_bDebugMessages = false;
+ bool m_bPrimary = false; // primary in linked sets
+ bool m_bScrollView = false; // window uses CScrollView
+ bool m_bScrollBars = false; // window to have windows scroll bars
+ CBsuSet *m_xpSetLink = nullptr; // one alternate set of scroll bars
+public:
~CBsuSet();
//- InitWndBsuSet -- initialize bsu set for a window
bool InitWndBsuSet(CWnd *xpWnd,
@@ -241,17 +233,8 @@ public:
// to CView::OnUpdate
class CGtlHint : public CObject {
public:
- char m_cStartData;
- // bool m_bFull ; // full screen invalidate
- bool m_bWmPaint; // update with WM_PAINT message
+ bool m_bWmPaint = false; // update with WM_PAINT message
CRect cHintRect;
- char m_cEndData;
-
- CGtlHint() {
- memset(&m_cStartData,
- 0, &m_cEndData - &m_cStartData);
- }
- // DECLARE_SERIAL(CGtlHint) ;
};
} // namespace Gtl
diff --git a/engines/bagel/hodjnpodj/metagame/bgen/btimeut.h b/engines/bagel/hodjnpodj/metagame/bgen/btimeut.h
index 3ec16cba706..c25c38ca0fe 100644
--- a/engines/bagel/hodjnpodj/metagame/bgen/btimeut.h
+++ b/engines/bagel/hodjnpodj/metagame/bgen/btimeut.h
@@ -33,17 +33,9 @@ extern void DoPendingEvents();
// class CTimeUtil -- general utilities
class CTimeUtil {
public:
- char m_cStartData ;
- bool m_bTimeDelayPassed ; // flag: DelayMs function time expired
-
- char m_cEndData ;
+ bool m_bTimeDelayPassed = false; // flag: DelayMs function time expired
public:
- // constructor zeroes out all fields
- CTimeUtil() {
- memset(&m_cStartData, 0, &m_cEndData - &m_cStartData) ;
- }
-
//- DelayMs -- delay for specified # of milliseconds
bool DelayMs(unsigned int uMs) ;
diff --git a/engines/bagel/hodjnpodj/metagame/gtl/gtl.cpp b/engines/bagel/hodjnpodj/metagame/gtl/gtl.cpp
index 6ee6255eab3..68755610d7e 100644
--- a/engines/bagel/hodjnpodj/metagame/gtl/gtl.cpp
+++ b/engines/bagel/hodjnpodj/metagame/gtl/gtl.cpp
@@ -61,7 +61,6 @@ END_MESSAGE_MAP()
CGtlApp::CGtlApp() {
// Place all significant initialization in InitInstance
- memset(&m_cStartData, 0, &m_cEndData - &m_cStartData) ;
bExitMetaDLL = st_bExitDll = false;
}
diff --git a/engines/bagel/hodjnpodj/metagame/gtl/gtl.h b/engines/bagel/hodjnpodj/metagame/gtl/gtl.h
index 31687032a44..7a04c76441e 100644
--- a/engines/bagel/hodjnpodj/metagame/gtl/gtl.h
+++ b/engines/bagel/hodjnpodj/metagame/gtl/gtl.h
@@ -46,22 +46,20 @@ namespace Gtl {
class CGtlApp : public CWinApp {
public:
- char m_cStartData ;
- CBdbgMgr m_cBdbgMgr ; // Boffo games debug manager object
- bool m_bTitle ; // flag -- use window with title bar
- int m_iNumOpens ; // number of document opens (including "New")
- char m_szFilename[60] ; // input file name
- int m_iX, m_iY ; // position of screen
- int m_iHeight, m_iWidth ; // height/width of screen
- bool m_bControlDialog ; // display control dialog box
- bool m_bMenuDialog ; // display menu dialog box
- bool m_bInfoDialog ; // display info dialog box
- bool m_bNodeDialog ; // display node dialog box
- bool m_bShowNodes ; // show nodes on map
- bool m_bPaintBackground ; // paint background on map paint
- bool m_bStartMetaGame ; // start meta game automatically
- bool m_bDumpGamePlay ; // dump game play
- char m_cEndData ;
+ CBdbgMgr m_cBdbgMgr; // Boffo games debug manager object
+ bool m_bTitle = false; // flag -- use window with title bar
+ int m_iNumOpens = 0; // number of document opens (including "New")
+ char m_szFilename[60] = {}; // input file name
+ int m_iX = 0, m_iY = 0; // position of screen
+ int m_iHeight = 0, m_iWidth = 0; // height/width of screen
+ bool m_bControlDialog = false; // display control dialog box
+ bool m_bMenuDialog = false; // display menu dialog box
+ bool m_bInfoDialog = false; // display info dialog box
+ bool m_bNodeDialog = false; // display node dialog box
+ bool m_bShowNodes = false; // show nodes on map
+ bool m_bPaintBackground = false; // paint background on map paint
+ bool m_bStartMetaGame = false; // start meta game automatically
+ bool m_bDumpGamePlay = false; // dump game play
virtual bool InitInstance() override;
diff --git a/engines/bagel/hodjnpodj/metagame/gtl/gtlcmp.cpp b/engines/bagel/hodjnpodj/metagame/gtl/gtlcmp.cpp
index 5756a40cda9..6c15c5d953b 100644
--- a/engines/bagel/hodjnpodj/metagame/gtl/gtlcmp.cpp
+++ b/engines/bagel/hodjnpodj/metagame/gtl/gtlcmp.cpp
@@ -132,9 +132,8 @@ bool CGtlData::GatherInformation(CXodj * xpXodj)
// zeroed except for the location code
for (iK = 0 ; iK < MG_LOC_MAX + 1 ; ++iK) {
xpStratLocInfo = &xpStrategyInfo->m_cStratLocInfo[iK] ;
- memset(&xpStratLocInfo->m_cStartData, 0,
- &xpStratLocInfo->m_cEndData
- - &xpStratLocInfo->m_cStartData) ;
+ xpStratLocInfo->clear();
+
if (iK < MG_LOC_MAX) {
xpStratLocInfo->m_iLocCode = MG_LOC_BASE + iK ;
xpStratLocInfo->m_lpNode = LocationToNode(
diff --git a/engines/bagel/hodjnpodj/metagame/gtl/gtldat.h b/engines/bagel/hodjnpodj/metagame/gtl/gtldat.h
index 78bdb21824d..e3c324e83bc 100644
--- a/engines/bagel/hodjnpodj/metagame/gtl/gtldat.h
+++ b/engines/bagel/hodjnpodj/metagame/gtl/gtldat.h
@@ -158,22 +158,21 @@ class CLexElement {
int m_iVal ; // integer or char or keyword code
int m_iStringListPos ; // string position
int m_iLineNumber, m_iColumn ; // for error messages
-} ;
+};
// CKeyTab -- keyword table element
class CKeyTab {
public:
int m_iKeyValue ; // keyword value
const char *m_xpszKeyString ; // string
-} ;
+};
// CMap -- bit map
class CMap {
friend class CGtlData ;
- char m_cStartData ;
- char m_szLabel[MAX_LABEL_LENGTH] ; // bitmap label
- char m_szFilename[MAX_FILENAME_LENGTH] ; // file name of BMP file
+ char m_szLabel[MAX_LABEL_LENGTH] = {}; // bitmap label
+ char m_szFilename[MAX_FILENAME_LENGTH] = {}; // file name of BMP file
bool m_bPositionDetermined: 1 ;
bool m_bSprite : 1 ;
bool m_bPalette : 1 ; // game palette from this bitmap
@@ -183,18 +182,24 @@ class CMap {
bool m_bRelocatable : 1 ; // relocatable
bool m_bPositionSpecified : 1 ; // position specified on input
bool m_bSpecialPaint: 1 ; // don't automatically paint
- CBgbObject FAR *m_lpcBgbObject ; // Boffo game object for bitmap file
+ CBgbObject FAR *m_lpcBgbObject = nullptr; // Boffo game object for bitmap file
- int m_iRelationType ; // KT_ABOVE, KT_BELOW, KT_LEFT, KT_RIGHT,
+ int m_iRelationType = 0; // KT_ABOVE, KT_BELOW, KT_LEFT, KT_RIGHT,
// KT_NODE
- int m_iRelation ; // index of relation bitmap or node
- char m_cEndData ;
+ int m_iRelation = 0; // index of relation bitmap or node
CMap() {
- memset(&m_cStartData,
- 0, &m_cEndData - &m_cStartData);
+ m_bPositionDetermined = false;
+ m_bSprite = false;
+ m_bPalette = false;
+ m_bOverlay = false;
+ m_bMasked = false;
+ m_bMetaGame = false;
+ m_bRelocatable = false;
+ m_bPositionSpecified = false;
+ m_bSpecialPaint = false;
}
-} ;
+};
/**
* Node on the map
@@ -230,47 +235,41 @@ class CStratLocInfo {
friend class CGtlData ;
friend class CStrategyInfo ;
- char m_cStartData ;
- int m_iLocCode ; // MG_LOC_xxxx -- location code
- CNode FAR *m_lpNode ; // node pointer for location
- int m_iValueCode ; // MG_VISIT_xxxx or MG_WIN_xxxx
+ int m_iLocCode = 0; // MG_LOC_xxxx -- location code
+ CNode FAR *m_lpNode = nullptr; // node pointer for location
+ int m_iValueCode = 0; // MG_VISIT_xxxx or MG_WIN_xxxx
// or 0 if not eligible
- int m_iDistance ; // distance to location
- int m_iWeight ; // weight of location
- int m_iAdjustedWeight ; // weight adjusted by distance
-
- char m_cEndData ;
- CStratLocInfo() {
- memset(&m_cStartData,
- 0, &m_cEndData - &m_cStartData) ;
+ int m_iDistance = 0; // distance to location
+ int m_iWeight = 0; // weight of location
+ int m_iAdjustedWeight = 0; // weight adjusted by distance
+
+ void clear() {
+ m_iLocCode = 0;
+ m_lpNode = nullptr;
+ m_iValueCode = 0;
+ m_iDistance = 0;
+ m_iWeight = 0;
+ m_iAdjustedWeight = 0;
}
-} ;
+};
// CStrategyInfo -- strategy information for determining best move
class CStrategyInfo {
friend class CGtlData ;
- char m_cStartData ;
- CStratLocInfo *xpTargetLocInfo ; // target location (best move)
-
- int m_iRequiredObjectsCount ; // total number of objects I need
- int m_iRequiredObjectsTable[MAX_GAME_TABLE] ; // objects I need
+ CStratLocInfo *xpTargetLocInfo = nullptr; // target location (best move)
- int m_iMaximumDistance ; // max distance to eligible location
- int m_iMaxAdjustedWeight ; // maximum adjusted weight
- int m_iTopLocCount ; // number of top locations
- int m_iTopLocTable[MG_LOC_MAX] ; // table of top locations
+ int m_iRequiredObjectsCount = 0; // total number of objects I need
+ int m_iRequiredObjectsTable[MAX_GAME_TABLE] = {}; // objects I need
- char m_cEndData ;
+ int m_iMaximumDistance = 0; // max distance to eligible location
+ int m_iMaxAdjustedWeight = 0; // maximum adjusted weight
+ int m_iTopLocCount = 0; // number of top locations
+ int m_iTopLocTable[MG_LOC_MAX] = {}; // table of top locations
CStratLocInfo m_cStratLocInfo[MG_LOC_MAX + 1] ;
-
- CStrategyInfo() {
- memset(&m_cStartData,
- 0, &m_cEndData - &m_cStartData) ;
- }
-} ;
+};
// CXodj -- structure for Hodj Podj
class CXodj {
@@ -337,7 +336,7 @@ public:
memset(&m_cStartData, 0, &m_cEndData - &m_cStartData);
}
~CXodj();
-} ;
+};
// CGtlData -- data class for graphics utility
class CGtlData {
@@ -728,7 +727,7 @@ private:
void CheckForTransport(CXodj *, int);
void SetFurlongs(CXodj *);
-} ;
+};
} // namespace Gtl
} // namespace Metagame
diff --git a/engines/bagel/hodjnpodj/metagame/gtl/gtldoc.cpp b/engines/bagel/hodjnpodj/metagame/gtl/gtldoc.cpp
index 2813152c104..129a10e35f6 100644
--- a/engines/bagel/hodjnpodj/metagame/gtl/gtldoc.cpp
+++ b/engines/bagel/hodjnpodj/metagame/gtl/gtldoc.cpp
@@ -45,9 +45,6 @@ END_MESSAGE_MAP()
CGtlDoc::CGtlDoc() {
TRACECONSTRUCTOR(CGtlDoc) ;
-
- // clear all data
- memset(&m_cStartData, 0, &m_cEndData - &m_cStartData);
}
CGtlDoc::~CGtlDoc() {
@@ -80,7 +77,10 @@ void CGtlDoc::DeleteContents() {
delete m_xpGtlData ;
// clear all data
- memset(&m_cStartData, 0, &m_cEndData - &m_cStartData) ;
+ m_xpGtlData = nullptr;
+ m_xpcLastFocusView = nullptr;
+ m_xpcLastMouseView = nullptr;
+ m_xpGtlFrame = nullptr;
}
//* CGtlDoc::InitDocument -- initialize document to specified file
@@ -89,9 +89,13 @@ void CGtlDoc::InitDocument(const char *xpszPathName)
// returns: void
{
CGtlApp * xpGtlApp = (CGtlApp *)AfxGetApp() ; // get application
- memset(&m_cStartData, 0, &m_cEndData - &m_cStartData) ;
-// dbgtrc = true ;
+ // clear all data
+ m_xpGtlData = nullptr;
+ m_xpcLastFocusView = nullptr;
+ m_xpcLastMouseView = nullptr;
+ m_xpGtlFrame = nullptr;
+
m_xpGtlData = new CGtlData ;
m_xpGtlData->m_xpcGtlDoc = this ;
m_xpGtlData->m_bShowNodes = xpGtlApp->m_bShowNodes ;
diff --git a/engines/bagel/hodjnpodj/metagame/gtl/gtldoc.h b/engines/bagel/hodjnpodj/metagame/gtl/gtldoc.h
index e9cae873b06..af705df0298 100644
--- a/engines/bagel/hodjnpodj/metagame/gtl/gtldoc.h
+++ b/engines/bagel/hodjnpodj/metagame/gtl/gtldoc.h
@@ -36,17 +36,11 @@ protected: // create from serialization only
// Attributes
public:
- char m_cStartData ;
- class CGtlData *m_xpGtlData ; // data pointer
- class CGtlView *m_xpcLastFocusView ; // last view with focus
- class CGtlView *m_xpcLastMouseView ; // last view touched by mouse
-
- class CGtlFrame *m_xpGtlFrame ; // ptr to frame window
- char m_cEndData ;
-
-
-// Operations
+ class CGtlData *m_xpGtlData = nullptr; // data pointer
+ class CGtlView *m_xpcLastFocusView = nullptr; // last view with focus
+ class CGtlView *m_xpcLastMouseView = nullptr; // last view touched by mouse
+ class CGtlFrame *m_xpGtlFrame = nullptr; // ptr to frame window
// Implementation
public:
diff --git a/engines/bagel/hodjnpodj/metagame/gtl/gtlview.cpp b/engines/bagel/hodjnpodj/metagame/gtl/gtlview.cpp
index 20a9d8a631e..b4411f49c29 100644
--- a/engines/bagel/hodjnpodj/metagame/gtl/gtlview.cpp
+++ b/engines/bagel/hodjnpodj/metagame/gtl/gtlview.cpp
@@ -70,7 +70,6 @@ END_MESSAGE_MAP()
CGtlView::CGtlView() {
TRACECONSTRUCTOR(CGtlView) ;
- memset(&m_cStartData, 0, &m_cEndData - &m_cStartData) ;
if (GetDocument())
GetDocument()->FixChecks() ;
diff --git a/engines/bagel/hodjnpodj/metagame/gtl/gtlview.h b/engines/bagel/hodjnpodj/metagame/gtl/gtlview.h
index 4b9111c9e92..439329961c8 100644
--- a/engines/bagel/hodjnpodj/metagame/gtl/gtlview.h
+++ b/engines/bagel/hodjnpodj/metagame/gtl/gtlview.h
@@ -51,13 +51,11 @@ protected: // create from serialization only
DECLARE_DYNCREATE(CGtlView)
public:
- CBsuSet m_cViewBsuSet ; // boffo scroll bar set for windows
+ CBsuSet m_cViewBsuSet; // boffo scroll bar set for windows
- char m_cStartData ;
- CPoint m_cCurrentPosition ; // current mouse position
- bool m_bBsuInit ;
- class CGtlFrame *m_xpFrame ; // pointer to frame window
- char m_cEndData ;
+ CPoint m_cCurrentPosition; // current mouse position
+ bool m_bBsuInit = false;
+ class CGtlFrame *m_xpFrame = nullptr; // pointer to frame window
class CGtlDoc *GetDocument();
void UpdateDialogs() ;
Commit: b63a135e798d17a8f7263c81eb07acdf87a25982
https://github.com/scummvm/scummvm/commit/b63a135e798d17a8f7263c81eb07acdf87a25982
Author: Paul Gilbert (dreammaster at scummvm.org)
Date: 2025-09-29T04:30:16-07:00
Commit Message:
BAGEL: Further m_cEndData conversion
Changed paths:
engines/bagel/hodjnpodj/metagame/bgen/bgb.h
engines/bagel/hodjnpodj/metagame/bgen/bsutl.h
engines/bagel/hodjnpodj/metagame/gtl/gtldat.h
engines/bagel/hodjnpodj/metagame/gtl/gtlui.cpp
diff --git a/engines/bagel/hodjnpodj/metagame/bgen/bgb.h b/engines/bagel/hodjnpodj/metagame/bgen/bgb.h
index abd8e3bf59b..c046704d164 100644
--- a/engines/bagel/hodjnpodj/metagame/bgen/bgb.h
+++ b/engines/bagel/hodjnpodj/metagame/bgen/bgb.h
@@ -111,41 +111,48 @@ public:
// CBgbObject -- bitmap object
class CBgbObject {
-
public:
- char m_cStartData;
- char m_szFileName[MAX_FNAME_LENGTH]; // filename of object's bitmap
-
- int m_iBgbType; // BGBT_xxxx -- object type
- CBgbObject *m_xpcNext; // pointer to next in chain
- CBgbObject *m_xpcPrev; // pointer to Previous in chain
- bool m_bChained : 1; // on m_xBgbChain
- bool m_bNoDelete : 1; // not allocated with "new"
- bool m_bMasked : 1; // mask white areas of bitmap
- bool m_bInit : 1; // true if object is initialized
- bool m_bCleared : 1; // false if need a ClearBackground()
- bool m_bVisible : 1; // bitmap is at least visible
- bool m_bEdge : 1; // bitmap is on edge of phys wnd
- bool m_bLoaded : 1; // true if currently in cache
- bool m_bAnimated : 1; // true if this sprite is animated
- bool m_bSpecial : 1; // true if Special Animation
- bool m_bLocked : 1; // true if object is locked in cache
+ char m_szFileName[MAX_FNAME_LENGTH] = {}; // filename of object's bitmap
+
+ int m_iBgbType = 0; // BGBT_xxxx -- object type
+ CBgbObject *m_xpcNext = nullptr; // pointer to next in chain
+ CBgbObject *m_xpcPrev = nullptr; // pointer to Previous in chain
+ bool m_bChained : 1; // on m_xBgbChain
+ bool m_bNoDelete : 1; // not allocated with "new"
+ bool m_bMasked : 1; // mask white areas of bitmap
+ bool m_bInit : 1; // true if object is initialized
+ bool m_bCleared : 1; // false if need a ClearBackground()
+ bool m_bVisible : 1; // bitmap is at least visible
+ bool m_bEdge : 1; // bitmap is on edge of phys wnd
+ bool m_bLoaded : 1; // true if currently in cache
+ bool m_bAnimated : 1; // true if this sprite is animated
+ bool m_bSpecial : 1; // true if Special Animation
+ bool m_bLocked : 1; // true if object is locked in cache
// (i.e. Cannot be released)
- int m_nCels; // number of cels in this cel strip
- int m_nZOrder; // Sprite Z-Order
- unsigned int m_nFreq; // How often Animation should start
- unsigned int m_nRepeat; // Number of Paint cycles to perform
- unsigned int m_nFreqCount;
+ int m_nCels = 0; // number of cels in this cel strip
+ int m_nZOrder = 0; // Sprite Z-Order
+ unsigned int m_nFreq = 0; // How often Animation should start
+ unsigned int m_nRepeat = 0; // Number of Paint cycles to perform
+ unsigned int m_nFreqCount = 0;
CRPoint m_crPosition; // relocatable position to paint bitmap
CSize m_cSize; // size of bitmap
- CObject *m_pObject; // can be CSprite or CBitmap...
- unsigned long m_lAge; // age of this object
- char m_cEndData;
+ CObject *m_pObject = nullptr; // can be CSprite or CBitmap...
+ unsigned long m_lAge = 0; // age of this object
public:
CBgbObject() {
- memset(&m_cStartData, 0, &m_cEndData - &m_cStartData);
+ m_bChained = false;
+ m_bNoDelete = false;
+ m_bMasked = false;
+ m_bInit = false;
+ m_bCleared = false;
+ m_bVisible = false;
+ m_bEdge = false;
+ m_bLoaded = false;
+ m_bAnimated = false;
+ m_bSpecial = false;
+ m_bLocked = false;
}
CRRect GetRect() {
diff --git a/engines/bagel/hodjnpodj/metagame/bgen/bsutl.h b/engines/bagel/hodjnpodj/metagame/bgen/bsutl.h
index a097fc138fc..37e525d4743 100644
--- a/engines/bagel/hodjnpodj/metagame/bgen/bsutl.h
+++ b/engines/bagel/hodjnpodj/metagame/bgen/bsutl.h
@@ -156,13 +156,10 @@ private:
// CBsuInfo -- information returned by GetInfo
class CBsuInfo {
public:
- char m_cStartData;
CSize m_cWndSize, m_cTotalSize;
CSize m_cDevWndSize, cDevTotalSize;
CRect m_cScrollRangeRect;
CPoint m_cScrollPosition;
-
- char m_cEndData;
};
// CRPoint -- relocatable point
diff --git a/engines/bagel/hodjnpodj/metagame/gtl/gtldat.h b/engines/bagel/hodjnpodj/metagame/gtl/gtldat.h
index e3c324e83bc..e665b4c233d 100644
--- a/engines/bagel/hodjnpodj/metagame/gtl/gtldat.h
+++ b/engines/bagel/hodjnpodj/metagame/gtl/gtldat.h
@@ -277,163 +277,153 @@ class CXodj {
public:
- char m_cStartData ;
- CXodj *m_xpXodjNext ; // next in chain
- char m_szName[MAX_LABEL_LENGTH] ; // name of character
- bool m_bHodj ; // char is Hodj (not Podj)
- int m_iFurlongs ; // number of furlongs available
- int m_iCharNode ; // node where character is positioned
+ CXodj *m_xpXodjNext = nullptr; // next in chain
+ char m_szName[MAX_LABEL_LENGTH] = {}; // name of character
+ bool m_bHodj = false; // char is Hodj (not Podj)
+ int m_iFurlongs = 0; // number of furlongs available
+ int m_iCharNode = 0; // node where character is positioned
- int m_nTurns; // number of turns remaining (not furlongs)
+ int m_nTurns = 0; // number of turns remaining (not furlongs)
- bool m_bComputer ; // played by computer
- CMap FAR *m_lpMap ; // bitmap object
- CBgbObject FAR *m_lpcCharSprite ; // character sprite bgb object
- CBgbObject FAR *m_lpcIcon ; // icon for character
+ bool m_bComputer = false; // played by computer
+ CMap FAR *m_lpMap = nullptr; // bitmap object
+ CBgbObject FAR *m_lpcCharSprite = nullptr; // character sprite bgb object
+ CBgbObject FAR *m_lpcIcon = nullptr; // icon for character
- CSound *m_pThemeSound; // this character's MIDI theme song info
- const char *m_pszThemeFile;
- unsigned int m_nThemeStart;
- unsigned int m_nThemeEnd;
+ CSound *m_pThemeSound = nullptr; // this character's MIDI theme song info
+ const char *m_pszThemeFile = nullptr;
+ unsigned int m_nThemeStart = 0;
+ unsigned int m_nThemeEnd = 0;
- const char *m_pszStarsFile; // cel strip for stars animation
+ const char *m_pszStarsFile = nullptr; // cel strip for stars animation
// fields for computing computer play (also used for human player
// for debugging or giving hints)
- class CStrategyInfo *m_xpStrategyInfo ; // strategy information
+ class CStrategyInfo *m_xpStrategyInfo = nullptr; // strategy information
// list of clue numbers for clues given by winning mini-game
- int m_iWinInfoWon ; // how many clues I've received
- int m_iWinInfoNeed ; // total number of clues I need
- int m_iWinInfoTable[MAX_GAME_TABLE] ;
+ int m_iWinInfoWon = 0; // how many clues I've received
+ int m_iWinInfoNeed = 0; // total number of clues I need
+ int m_iWinInfoTable[MAX_GAME_TABLE] = {};
// list of clue numbers for clues given by farmer, etc.
- int m_iSecondaryInfoWon ; // how many clues I've received
- int m_iSecondaryInfoNeed ; // total number of clues I need
- int m_iSecondaryInfoTable[MAX_GAME_TABLE] ;
+ int m_iSecondaryInfoWon = 0; // how many clues I've received
+ int m_iSecondaryInfoNeed = 0; // total number of clues I need
+ int m_iSecondaryInfoTable[MAX_GAME_TABLE] = {};
// list of objects required to get Mish/Mosh
- int m_iRequiredObjectsCount ; // total number of objects I need
- int m_iRequiredObjectsTable[MAX_GAME_TABLE] ; // objects I need
- int m_iRequiredMoney ; // money needed for Mish/Mosh
+ int m_iRequiredObjectsCount = {}; // total number of objects I need
+ int m_iRequiredObjectsTable[MAX_GAME_TABLE] = {}; // objects I need
+ int m_iRequiredMoney = 0; // money needed for Mish/Mosh
// list of secondary information location we still have to visit
- int m_iSecondaryLoc[MAX_GAME_TABLE] ;
+ int m_iSecondaryLoc[MAX_GAME_TABLE] = {};
- int m_iGameHistory[20] ; // last 20 mini-games played
- int m_iTargetLocation ; // target location for computer play
- bool m_bGatherInformation ; // if false, data from last
+ int m_iGameHistory[20] = {}; // last 20 mini-games played
+ int m_iTargetLocation = 0; // target location for computer play
+ bool m_bGatherInformation = false; // if false, data from last
// GatherInformation is still valid
- CInventory *m_pInventory ; // items in personal inventory
- CInventory *m_pGenStore ; // items in general store
- CInventory *m_pBlackMarket ; // items in pawn shop
- CInventory *m_pTradingPost ; // items in pawn shop
+ CInventory *m_pInventory = nullptr; // items in personal inventory
+ CInventory *m_pGenStore = nullptr; // items in general store
+ CInventory *m_pBlackMarket = nullptr; // items in pawn shop
+ CInventory *m_pTradingPost = nullptr; // items in pawn shop
- char m_cEndData ;
-
- CXodj() {
- memset(&m_cStartData, 0, &m_cEndData - &m_cStartData);
- }
~CXodj();
};
// CGtlData -- data class for graphics utility
class CGtlData {
public:
- class CGtlDoc *m_xpcGtlDoc; // document pointer
+ class CGtlDoc *m_xpcGtlDoc = nullptr; // document pointer
private:
- CGenUtil m_cGenUtil ; // general utility object
- CBgbMgr m_cBgbMgr ; // Boffo Game Object manager
- CBbtMgr m_cBbtMgr ; // Boffo Games button manager
- CBbutton m_cMiniButton ; // minimap button
- CBbutton m_cInvButton ; // inventory button
- CBbutton m_cScrollButton ; // scroll button
-
- CMap FAR *m_lpMaps /* [MAX_BITMAPS] */ ; // bitmap array
- CNode FAR *m_lpNodes /* [MAX_NODES] */ ; // node array
-
- char m_cStartData ;
- bool m_bGtlDll ; // equals GTLDLL define
- char m_szBmpDirectory[MAX_FILENAME_LENGTH] ; // bitmap file director
- char m_szGtlFile[MAX_FILENAME_LENGTH] ; // gtl file name
- char m_szListFile[MAX_FILENAME_LENGTH] ; // List file name
+ CGenUtil m_cGenUtil; // general utility object
+ CBgbMgr m_cBgbMgr; // Boffo Game Object manager
+ CBbtMgr m_cBbtMgr; // Boffo Games button manager
+ CBbutton m_cMiniButton; // minimap button
+ CBbutton m_cInvButton; // inventory button
+ CBbutton m_cScrollButton; // scroll button
+
+ CMap FAR *m_lpMaps = nullptr; // bitmap array
+ CNode FAR *m_lpNodes = nullptr; // node array
+
+ bool m_bGtlDll = false; // equals GTLDLL define
+ char m_szBmpDirectory[MAX_FILENAME_LENGTH] = {}; // bitmap file director
+ char m_szGtlFile[MAX_FILENAME_LENGTH] = {}; // gtl file name
+ char m_szListFile[MAX_FILENAME_LENGTH] = {}; // List file name
Common::SeekableReadStream *m_xpGtlFile = nullptr; // ptr to file structure for .GTL file
Common::WriteStream *m_xpListFile = nullptr; // ptr to file structure for .LST file
- bool m_bListing ; // listing file flag
- int m_iIndent ; // current indent (decompile only)
- int m_iLineNumber ; // line number in input file
- int m_iMaps, m_iNodes ; // # of bitmaps, nodes
- bool m_bEof ; // end of file on input (or END stmt)
- CNode FAR *m_lpLastNode ; // pointer to last node
- int m_iNumGenLabels ; // number of generated lables
- CLexElement *m_xpLexLabel ; // current label lexeme
- CLexElement m_cLexElts[MAX_LEXELTS] ; // lexical element blocks
- char m_szStringList[MAX_STRINGLIST] ; // compiler input string
- bool m_bSelectedLink ; // flag: a link is selected
- int m_iSelLinkPt1, m_iSelLinkPt2 ; // indexes of selected link pts
+ bool m_bListing = false; // listing file flag
+ int m_iIndent = 0; // current indent (decompile only)
+ int m_iLineNumber = 0; // line number in input file
+ int m_iMaps = 0, m_iNodes = 0; // # of bitmaps, nodes
+ bool m_bEof = false; // end of file on input (or END stmt)
+ CNode FAR *m_lpLastNode = nullptr; // pointer to last node
+ int m_iNumGenLabels = 0; // number of generated lables
+ CLexElement *m_xpLexLabel = nullptr; // current label lexeme
+ CLexElement m_cLexElts[MAX_LEXELTS] = {}; // lexical element blocks
+ char m_szStringList[MAX_STRINGLIST] = {}; // compiler input string
+ bool m_bSelectedLink = false; // flag: a link is selected
+ int m_iSelLinkPt1 = 0, m_iSelLinkPt2 = 0; // indexes of selected link pts
uint32 m_stAcceptClickActive = 0; // prevent recursion
uint32 m_stLDownTime = 0; // time of left button down
- CNode FAR *m_lpFoundNode ; // node clicked on
- CNode FAR *m_lpLastSelectedNode ; // selected on click down
+ CNode FAR *m_lpFoundNode = nullptr; // node clicked on
+ CNode FAR *m_lpLastSelectedNode = nullptr; // selected on click down
- bool m_bJustPlayedMiniGame; // true for Mini-Games in ProcessGameResult
+ bool m_bJustPlayedMiniGame = false; // true for Mini-Games in ProcessGameResult
// fields for Draw routine
public:
- bool m_bInhibitDraw ; // inhibit any actual drawing
- bool m_bDrawing ; // in Draw routine (prevent recursion)
- CGtlView *m_xpGtlView ; // current view
- bool m_bPaint ; // WM_PAINT flag
- bool m_bRelocatable ; // device context is currently
+ bool m_bInhibitDraw = false; // inhibit any actual drawing
+ bool m_bDrawing = false; // in Draw routine (prevent recursion)
+ CGtlView *m_xpGtlView = nullptr; // current view
+ bool m_bPaint = false; // WM_PAINT flag
+ bool m_bRelocatable = false; // device context is currently
// relocatable
- CRect *m_xpClipRect ; // relocatable clipping rectangle
- CRect *m_xpDevClipRect ; // device (non-relocatable)
+ CRect *m_xpClipRect = nullptr; // relocatable clipping rectangle
+ CRect *m_xpDevClipRect = nullptr; // device (non-relocatable)
// clipping rectangle
- CMap FAR *m_lpFurlongMaps[25] ; // 0-24 furlong bitmaps
+ CMap FAR *m_lpFurlongMaps[25] = {}; // 0-24 furlong bitmaps
// ---
public:
- int m_iSizeX, m_iSizeY ; // size of entire client area
+ int m_iSizeX = 0, m_iSizeY = 0; // size of entire client area
// (entire bitmap)
- int m_iMargin ; // size of top margin of view window
- bool m_bChangeSize ; // size of window changed (because
+ int m_iMargin = 0; // size of top margin of view window
+ bool m_bChangeSize = false; // size of window changed (because
// gtl modified the bitmap template)
- int m_iViewSizeX, m_iViewSizeY ; // size of view
+ int m_iViewSizeX = 0, m_iViewSizeY = 0; // size of view
- bool m_bPaintBackground ; // paint background
- bool m_bShowNodes ; // show nodes and links
- bool m_bShowSensitivity ; // show node sensitivities
- bool m_bStartMetaGame ; // start in meta game mode
- bool _metaGame = false; // meta game mode
- bool m_bInitMetaGame ; // init sprites at beginning of metagame
+ bool m_bPaintBackground = false; // paint background
+ bool m_bShowNodes = false; // show nodes and links
+ bool m_bShowSensitivity = false; // show node sensitivities
+ bool m_bStartMetaGame = false; // start in meta game mode
+ bool _metaGame = false; // meta game mode
+ bool m_bInitMetaGame = false; // init sprites at beginning of metagame
- CXodj *m_xpXodjChain ; // chain of characters
- CXodj *m_xpCurXodj ; // character currently on the move
- bool m_bSamePlace ; // both characters are in same place
- bool m_bGameOver ; // game is over
-
- CBitmap *m_pOffScreenBmp;
- CPalette *m_pPalOld;
- HBITMAP m_hOldBitmap;
+ CXodj *m_xpXodjChain = nullptr; // chain of characters
+ CXodj *m_xpCurXodj = nullptr; // character currently on the move
+ bool m_bSamePlace = false; // both characters are in same place
+ bool m_bGameOver = false; // game is over
- int m_iMishMoshLoc ; // MG_LOC_xxxx -- Mish/Mosh location
+ CBitmap *m_pOffScreenBmp = nullptr;
+ CPalette *m_pPalOld = nullptr;
+ HBITMAP m_hOldBitmap = nullptr;
- COLORREF m_cNodePenColor, m_cNodeBrushColor, m_cLinkPenColor ;
- COLORREF m_cNodeSensitivityColor ;
- COLORREF m_cNodePassThruColor, m_cNodeHeavyColor ;
- COLORREF m_cSelNodePenColor, m_cSelNodeBrushColor ;
- COLORREF m_cSelLinkPenColor ;
- COLORREF m_cBackColor ;
+ int m_iMishMoshLoc = 0; // MG_LOC_xxxx -- Mish/Mosh location
- char m_cEndData ;
+ COLORREF m_cNodePenColor = 0, m_cNodeBrushColor = 0, m_cLinkPenColor = 0;
+ COLORREF m_cNodeSensitivityColor = 0;
+ COLORREF m_cNodePassThruColor = 0, m_cNodeHeavyColor = 0;
+ COLORREF m_cSelNodePenColor = 0, m_cSelNodeBrushColor = 0;
+ COLORREF m_cSelLinkPenColor = 0;
+ COLORREF m_cBackColor = 0;
// constructor zeroes out all fields and allocates far arrays
public:
void ClearData() {
- memset(&m_cStartData,
- 0, &m_cEndData - &m_cStartData) ;
+ *this = CGtlData();
}
// gtldcp.cpp -- decompiler for meta game
diff --git a/engines/bagel/hodjnpodj/metagame/gtl/gtlui.cpp b/engines/bagel/hodjnpodj/metagame/gtl/gtlui.cpp
index d632977ea45..385c7cf618e 100644
--- a/engines/bagel/hodjnpodj/metagame/gtl/gtlui.cpp
+++ b/engines/bagel/hodjnpodj/metagame/gtl/gtlui.cpp
@@ -64,7 +64,7 @@ CGtlData::CGtlData() {
JXENTER(CGtlData::CGtlData) ;
TRACECONSTRUCTOR(CGtlData) ;
- ClearData() ;
+
m_cBbtMgr.m_lpBgbMgr = &m_cBgbMgr ;
m_cMiniButton.m_iBbtId = BUTTON_MINIMAP ;
m_cInvButton.m_iBbtId = BUTTON_INVENTORY ;
More information about the Scummvm-git-logs
mailing list