[Scummvm-git-logs] scummvm master -> 8f8e8307806d0b23934299e157b7d8e9a2f84aee

bluegr noreply at scummvm.org
Mon Nov 25 20:54:35 UTC 2024


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

Summary:
8f8e830780 SCUMM: Make more static data read only


Commit: 8f8e8307806d0b23934299e157b7d8e9a2f84aee
    https://github.com/scummvm/scummvm/commit/8f8e8307806d0b23934299e157b7d8e9a2f84aee
Author: Cameron Cawley (ccawley2011 at gmail.com)
Date: 2024-11-25T22:54:31+02:00

Commit Message:
SCUMM: Make more static data read only

Changed paths:
    engines/scumm/gfx_gui.cpp
    engines/scumm/he/basketball/collision/bball_collision.cpp
    engines/scumm/he/math_he.cpp
    engines/scumm/he/moonbase/map_mif.cpp
    engines/scumm/imuse/drivers/amiga.cpp
    engines/scumm/imuse/drivers/macintosh.cpp
    engines/scumm/ks_check.cpp
    engines/scumm/macgui/macgui_impl.h
    engines/scumm/macgui/macgui_strings.cpp
    engines/scumm/players/player_mac_indy3.cpp
    engines/scumm/players/player_mac_intern.h
    engines/scumm/players/player_mac_loom_monkey.cpp
    engines/scumm/players/player_v2base.cpp
    engines/scumm/verbs.cpp


diff --git a/engines/scumm/gfx_gui.cpp b/engines/scumm/gfx_gui.cpp
index d5fbd0d22c3..5767e5eff05 100644
--- a/engines/scumm/gfx_gui.cpp
+++ b/engines/scumm/gfx_gui.cpp
@@ -1692,7 +1692,7 @@ void ScummEngine::setUpDraftsInventory() {
 	}
 }
 
-static const char *loomDraftsNames[7][18] = {
+static const char *const loomDraftsNames[7][18] = {
 	// ENGLISH
 	{
 		"Drafts",
@@ -1815,7 +1815,7 @@ void ScummEngine::drawDraftsInventory() {
 		namesWidth, notesWidth;
 
 	char notesBuf[6];
-	const char **names;
+	const char *const *names;
 	const char *notes = "cdefgabC";
 
 	int yConstant = _virtscr[kMainVirtScreen].topline + (_virtscr[kMainVirtScreen].h / 2);
diff --git a/engines/scumm/he/basketball/collision/bball_collision.cpp b/engines/scumm/he/basketball/collision/bball_collision.cpp
index f054398863a..841dc32c57f 100644
--- a/engines/scumm/he/basketball/collision/bball_collision.cpp
+++ b/engines/scumm/he/basketball/collision/bball_collision.cpp
@@ -27,7 +27,7 @@
 namespace Scumm {
 
 int LogicHEBasketball::u32_userInitCourt(int courtID) {
-	static Common::String courtNames[] = {
+	static const char *courtNames[] = {
 		"",
 		"Dobbaguchi", "Jocindas", "SandyFlats", "Queens",
 		"Park", "Scheffler", "Polk", "McMillan",
@@ -54,10 +54,10 @@ int LogicHEBasketball::u32_userInitCourt(int courtID) {
 	_vm->_basketball->_court->_shotSpot[RIGHT_BASKET].radius = SHOT_SPOT_RADIUS;
 
 	// Get the name and object file for this court.
-	_vm->_basketball->_court->_name = courtNames[courtID];
+	_vm->_basketball->_court->_name = Common::String(courtNames[courtID]);
 
 	// Put together to relative path and filename.
-	Common::Path objectFileName = Common::Path(Common::String::format("data/courts/%s.cof", courtNames[courtID].c_str()));
+	Common::Path objectFileName = Common::Path(Common::String::format("data/courts/%s.cof", courtNames[courtID]));
 
 	// Create a file stream to the collision object file
 	Common::File objectFile;
diff --git a/engines/scumm/he/math_he.cpp b/engines/scumm/he/math_he.cpp
index b923136ed51..22a08d74f3c 100644
--- a/engines/scumm/he/math_he.cpp
+++ b/engines/scumm/he/math_he.cpp
@@ -27,7 +27,7 @@
 
 namespace Scumm {
 
-static int _scummMathSineTable[181] = {
+static const int _scummMathSineTable[181] = {
 	     0,  1745,  3489,  5233,  6975,  8715, 10452, 12186, 13917,
 	 15643, 17364, 19080, 20791, 22495, 24192, 25881, 27563, 29237,
 	 30901, 32556, 34202, 35836, 37460, 39073, 40673, 42261, 43837,
diff --git a/engines/scumm/he/moonbase/map_mif.cpp b/engines/scumm/he/moonbase/map_mif.cpp
index 8b3b1cf3a55..395979cfb06 100644
--- a/engines/scumm/he/moonbase/map_mif.cpp
+++ b/engines/scumm/he/moonbase/map_mif.cpp
@@ -27,7 +27,7 @@
 
 namespace Scumm {
 
-static byte waterTileMap[] = {
+static const byte waterTileMap[] = {
 	0x44, 0x40, 0x32, 0x32, 0x3C, 0x38, 0x32, 0x32, // 0x00
 	0x2C, 0x2C, 0x26, 0x26, 0x2A, 0x2A, 0x26, 0x26,
 	0x2F, 0x2D, 0x27, 0x27, 0x2F, 0x2D, 0x27, 0x27, // 0x10
@@ -63,7 +63,7 @@ static byte waterTileMap[] = {
 };
 
 static int magic(int x, int y) {
-	static byte matrix[8][8] = {
+	static const byte matrix[8][8] = {
 		{ 2, 0, 2, 1, 3, 0, 3, 1 } ,
 		{ 3, 1, 0, 3, 2, 1, 0, 2 } ,
 		{ 0, 2, 1, 2, 0, 3, 1, 3 } ,
@@ -246,7 +246,7 @@ void MIF::defineEnergyPools(MapFile *map) {
 
 void MIF::makeCraters(MapFile *map) {
 	// squarenumber, type, x, y (offset from top left (abs y)). x/y = 9 if none of that type
-	static byte locations[8][3][2] = {
+	static const byte locations[8][3][2] = {
 		{ {1, 1}, {5, 2}, {3, 5} },
 		{ {6, 1}, {1, 6}, {2, 0} },
 		{ {0, 4}, {3, 2}, {6, 5} },
@@ -259,7 +259,7 @@ void MIF::makeCraters(MapFile *map) {
 
 	// I made up the crater patterns for sizes larger than SAI
 	// This will work for maps up to 80x80
-	static byte largegrid[10][10] =  {
+	static byte const largegrid[10][10] =  {
 		{0, 1, 2, 3, 4, 5, 6, 7, 0, 1},
 		{2, 3, 4, 5, 6, 7, 0, 1, 2, 3},
 		{4, 5, 6, 7, 0, 1, 2, 3, 4, 5},
diff --git a/engines/scumm/imuse/drivers/amiga.cpp b/engines/scumm/imuse/drivers/amiga.cpp
index 015c8fa1d95..2cd85d4a6f1 100644
--- a/engines/scumm/imuse/drivers/amiga.cpp
+++ b/engines/scumm/imuse/drivers/amiga.cpp
@@ -781,7 +781,7 @@ void IMuseDriver_Amiga::loadInstrument(int program) {
 	if (program == 128) {
 		// The hard-coded default instrument definitions and sample data are the same in MI2 and INDY4.
 		static const int8 defaultData[16] = { 0, 49, 90, 117, 127, 117, 90, 49, 0, -49, -90, -117, -127, -117, -90, -49 };
-		static Instrument_Amiga::Samples defaultSamples = { 428, 60, 0, 127, 33, 0, /*0, 0,*/16, 0, 0, 5, 300, 5, 100, defaultData };
+		static const Instrument_Amiga::Samples defaultSamples = { 428, 60, 0, 127, 33, 0, /*0, 0,*/16, 0, 0, 5, 300, 5, 100, defaultData };
 		_instruments[128].numBlocks = 1;
 		memcpy(&_instruments[128].samples[0], &defaultSamples, sizeof(Instrument_Amiga::Samples));
 	}
diff --git a/engines/scumm/imuse/drivers/macintosh.cpp b/engines/scumm/imuse/drivers/macintosh.cpp
index 6510a40d0a3..ae67282ceb3 100644
--- a/engines/scumm/imuse/drivers/macintosh.cpp
+++ b/engines/scumm/imuse/drivers/macintosh.cpp
@@ -1243,7 +1243,7 @@ int IMuseDriver_Macintosh::open() {
 
 	createChannels();
 
-	static const char *fileNames[3][3] = {
+	static const char *const fileNames[3][3] = {
 		{
 			"iMUSE Setups",
 			nullptr,
diff --git a/engines/scumm/ks_check.cpp b/engines/scumm/ks_check.cpp
index c3844b2972b..98c48c94c07 100644
--- a/engines/scumm/ks_check.cpp
+++ b/engines/scumm/ks_check.cpp
@@ -24,7 +24,7 @@
 namespace Scumm {
 
 // Korean CP949 final consonant table
-static byte jongsungTable[2350] = {
+static const byte jongsungTable[2350] = {
 	 0,  1,  4,  7,  8,  9, 10, 16, 17, 18, 19, 20, 21, 22, 23, 25,
 	26, 27,  0,  1,  4,  8, 16, 17, 19, 20, 21,  0,  1,  4,  8, 19,
 	21,  0,  4,  8,  0,  1,  4,  7,  8, 10, 16, 17, 19, 20, 21, 22,
diff --git a/engines/scumm/macgui/macgui_impl.h b/engines/scumm/macgui/macgui_impl.h
index 59e8c1ef704..67ea4d60edc 100644
--- a/engines/scumm/macgui/macgui_impl.h
+++ b/engines/scumm/macgui/macgui_impl.h
@@ -229,7 +229,7 @@ protected:
 	bool runOkCancelDialog(Common::String text);
 
 	bool readStrings();
-	void parseSTRSBlock(uint8 *strsData, MacSTRSParsingEntry *parsingTable, int parsingTableSize);
+	void parseSTRSBlock(uint8 *strsData, const MacSTRSParsingEntry *parsingTable, int parsingTableSize);
 
 	// These are non interactable, no point in having them as widgets for now...
 	void drawFakePathList(MacDialogWindow *window, Common::Rect r, const char *text);
diff --git a/engines/scumm/macgui/macgui_strings.cpp b/engines/scumm/macgui/macgui_strings.cpp
index d046c5b7fa7..61a8b1f2491 100644
--- a/engines/scumm/macgui/macgui_strings.cpp
+++ b/engines/scumm/macgui/macgui_strings.cpp
@@ -53,7 +53,7 @@ Common::String MacGuiImpl::readPascalString(uint8 *&data) {
 #define SKIP_C(x) { MacGuiImpl::kMSISkip, MacGuiImpl::kStrC,      x }
 #define SKIP_P(x) { MacGuiImpl::kMSISkip, MacGuiImpl::kStrPascal, x }
 
-static MacGuiImpl::MacSTRSParsingEntry strsIndy3Table[] = {
+static const MacGuiImpl::MacSTRSParsingEntry strsIndy3Table[] = {
 	SKIP_C(6),
 	SKIP_P(2),
 	SKIP_C(2),
@@ -115,7 +115,7 @@ static MacGuiImpl::MacSTRSParsingEntry strsIndy3Table[] = {
 	// SKIP_P(5),
 };
 
-static MacGuiImpl::MacSTRSParsingEntry strsLoomTable[] = {
+static const MacGuiImpl::MacSTRSParsingEntry strsLoomTable[] = {
 	SKIP_C(6),
 	SKIP_P(2),
 	SKIP_C(2),
@@ -174,7 +174,7 @@ static MacGuiImpl::MacSTRSParsingEntry strsLoomTable[] = {
 	// SKIP_C(7),
 };
 
-static MacGuiImpl::MacSTRSParsingEntry strsMI1Table[] = {
+static const MacGuiImpl::MacSTRSParsingEntry strsMI1Table[] = {
 	SKIP_C(93),
 	SKIP_P(1),
 	{ MacGuiImpl::kMSIAboutGameName,              MacGuiImpl::kStrPascal, 1 },
@@ -225,7 +225,7 @@ static MacGuiImpl::MacSTRSParsingEntry strsMI1Table[] = {
 	// SKIP_C(75)
 };
 
-static MacGuiImpl::MacSTRSParsingEntry strsMI2Variant1Table[] = {
+static const MacGuiImpl::MacSTRSParsingEntry strsMI2Variant1Table[] = {
 	SKIP_C(93),
 	SKIP_P(1),
 	{ MacGuiImpl::kMSIAboutGameName,              MacGuiImpl::kStrPascal, 1 },
@@ -287,7 +287,7 @@ static MacGuiImpl::MacSTRSParsingEntry strsMI2Variant1Table[] = {
 	// SKIP_C(95)
 };
 
-static MacGuiImpl::MacSTRSParsingEntry strsMI2Variant2Table[] = {
+static const MacGuiImpl::MacSTRSParsingEntry strsMI2Variant2Table[] = {
 	SKIP_C(93),
 	SKIP_P(1),
 	{ MacGuiImpl::kMSIAboutGameName,              MacGuiImpl::kStrPascal, 1 },
@@ -350,7 +350,7 @@ static MacGuiImpl::MacSTRSParsingEntry strsMI2Variant2Table[] = {
 	// SKIP_C(95)
 };
 
-static MacGuiImpl::MacSTRSParsingEntry strsIndy4CDVariant1Table[] = {
+static const MacGuiImpl::MacSTRSParsingEntry strsIndy4CDVariant1Table[] = {
 	SKIP_C(144),
 	SKIP_P(1),
 	SKIP_C(2),
@@ -415,7 +415,7 @@ static MacGuiImpl::MacSTRSParsingEntry strsIndy4CDVariant1Table[] = {
 	{ MacGuiImpl::kMSIAboutString37,              MacGuiImpl::kStrPascal, 1 },
 };
 
-static MacGuiImpl::MacSTRSParsingEntry strsIndy4CDVariant2Table[] = {
+static const MacGuiImpl::MacSTRSParsingEntry strsIndy4CDVariant2Table[] = {
 	SKIP_C(97),
 	SKIP_P(1),
 	{ MacGuiImpl::kMSIAboutGameName,              MacGuiImpl::kStrPascal, 1 },
@@ -476,7 +476,7 @@ static MacGuiImpl::MacSTRSParsingEntry strsIndy4CDVariant2Table[] = {
 	{ MacGuiImpl::kMSIAboutString37,              MacGuiImpl::kStrPascal, 1 },
 };
 
-static MacGuiImpl::MacSTRSParsingEntry strsIndy4FloppyVariant1Table[] = {
+static const MacGuiImpl::MacSTRSParsingEntry strsIndy4FloppyVariant1Table[] = {
 	SKIP_C(93),
 	SKIP_P(1),
 	{ MacGuiImpl::kMSIAboutGameName,              MacGuiImpl::kStrPascal, 1 },
@@ -537,7 +537,7 @@ static MacGuiImpl::MacSTRSParsingEntry strsIndy4FloppyVariant1Table[] = {
 	{ MacGuiImpl::kMSIAboutString37,              MacGuiImpl::kStrPascal, 1 },
 };
 
-static MacGuiImpl::MacSTRSParsingEntry strsIndy4FloppyVariant2Table[] = {
+static const MacGuiImpl::MacSTRSParsingEntry strsIndy4FloppyVariant2Table[] = {
 	SKIP_C(93),
 	SKIP_P(1),
 	{ MacGuiImpl::kMSIAboutGameName,              MacGuiImpl::kStrPascal, 1 },
@@ -615,7 +615,7 @@ bool MacGuiImpl::readStrings() {
 	strsStream->read(strsBlock, strsLen);
 
 	uint8 *strsData = strsBlock;
-	MacSTRSParsingEntry *parsingTable = nullptr;
+	const MacSTRSParsingEntry *parsingTable = nullptr;
 	int parsingTableSize = 0;
 
 	if (_vm->_game.id == GID_INDY3) {
@@ -689,7 +689,7 @@ bool MacGuiImpl::readStrings() {
 	return parsingTable != nullptr;
 }
 
-void MacGuiImpl::parseSTRSBlock(uint8 *strsData, MacSTRSParsingEntry *parsingTable, int parsingTableSize) {
+void MacGuiImpl::parseSTRSBlock(uint8 *strsData, const MacSTRSParsingEntry *parsingTable, int parsingTableSize) {
 	_strsStrings.clear();
 	_strsStrings.reserve(128);
 	for (int i = 0; i < 128; i++) {
diff --git a/engines/scumm/players/player_mac_indy3.cpp b/engines/scumm/players/player_mac_indy3.cpp
index 06d680da301..d481997061e 100644
--- a/engines/scumm/players/player_mac_indy3.cpp
+++ b/engines/scumm/players/player_mac_indy3.cpp
@@ -34,7 +34,7 @@ namespace Scumm {
 #define ASC_DEVICE_RATE		0x56EE8BA3
 #define PCM_BUFFER_SIZE		1024
 
-extern const uint8 *g_pv2ModTbl;
+extern const uint8 *const g_pv2ModTbl;
 extern const uint32 g_pv2ModTblSize;
 
 class LegacyMusicDriver : public MacSoundDriver {
diff --git a/engines/scumm/players/player_mac_intern.h b/engines/scumm/players/player_mac_intern.h
index 15c39b4073e..49c35badbb6 100644
--- a/engines/scumm/players/player_mac_intern.h
+++ b/engines/scumm/players/player_mac_intern.h
@@ -170,7 +170,7 @@ private:
 		static MusicChannel *_ctrlChan;
 
 		static const uint32 _envShapes[98];
-		const uint8 *&_modShapes;
+		const uint8 *const &_modShapes;
 		const uint32 &_modShapesTableSize;
 
 		bool ctrlProc(int procId, const byte *&arg);
diff --git a/engines/scumm/players/player_mac_loom_monkey.cpp b/engines/scumm/players/player_mac_loom_monkey.cpp
index e83d61e48b3..aaee16a7fc5 100644
--- a/engines/scumm/players/player_mac_loom_monkey.cpp
+++ b/engines/scumm/players/player_mac_loom_monkey.cpp
@@ -192,7 +192,7 @@ bool MacSndLoader::loadInstruments(const char *const *tryFileNames, uint16 numTr
 }
 
 bool LoomMacSndLoader::init() {
-	static const char *execNames[] = {
+	static const char *const execNames[] = {
 		"Loom",
 		"Loom\xaa",
 		"Loom PPC",
@@ -257,7 +257,7 @@ const Common::SharedPtr<MacSndResource> *LoomMacSndLoader::fetchInstrument(uint1
 }
 
 bool MonkeyMacSndLoader::init() {
-	static const char *execNames[] = {
+	static const char *const execNames[] = {
 		"Monkey Island"
 	};
 
diff --git a/engines/scumm/players/player_v2base.cpp b/engines/scumm/players/player_v2base.cpp
index 3c13e9e23f4..0e74c0d5ca2 100644
--- a/engines/scumm/players/player_v2base.cpp
+++ b/engines/scumm/players/player_v2base.cpp
@@ -648,7 +648,7 @@ void Player_V2Base::nextTick() {
 	}
 }
 
-const uint8 *g_pv2ModTbl = reinterpret_cast<const uint8*>(freqmod_table);
+extern const uint8 *const g_pv2ModTbl = reinterpret_cast<const uint8*>(freqmod_table);
 extern const uint32 g_pv2ModTblSize = ARRAYSIZE(freqmod_table);
 
 } // End of namespace Scumm
diff --git a/engines/scumm/verbs.cpp b/engines/scumm/verbs.cpp
index ca3d3716255..5855cb32949 100644
--- a/engines/scumm/verbs.cpp
+++ b/engines/scumm/verbs.cpp
@@ -85,7 +85,7 @@ struct VerbDemo {
 	int color;
 	const char *str;
 };
-static VerbDemo v0DemoStr[] = {
+static const VerbDemo v0DemoStr[] = {
 	{7,  "        MANIAC MANSION DEMO DISK        "},
 	{5,  "          from Lucasfilm Games          "},
 	{5,  "    Copyright = 1987 by Lucasfilm Ltd.  "},




More information about the Scummvm-git-logs mailing list