[Scummvm-git-logs] scummvm master -> 9e645534f3dd435821960d280e42193ed1af4341

Strangerke noreply at scummvm.org
Tue Jun 24 21:40:41 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:
9e645534f3 M4: Some cleanup in ws_load


Commit: 9e645534f3dd435821960d280e42193ed1af4341
    https://github.com/scummvm/scummvm/commit/9e645534f3dd435821960d280e42193ed1af4341
Author: Strangerke (arnaud.boutonne at gmail.com)
Date: 2025-06-24T22:40:29+01:00

Commit Message:
M4: Some cleanup in ws_load

Changed paths:
    engines/m4/wscript/ws_load.cpp


diff --git a/engines/m4/wscript/ws_load.cpp b/engines/m4/wscript/ws_load.cpp
index f4e597431a2..6a44d8e3053 100644
--- a/engines/m4/wscript/ws_load.cpp
+++ b/engines/m4/wscript/ws_load.cpp
@@ -277,7 +277,6 @@ bool LoadWSAssets(const char *wsAssetName) {
 }
 
 bool LoadWSAssets(const char *wsAssetName, RGB8 *myPalette) {
-	MemHandle workHandle;
 	char *parseAssetPtr;
 	uint32 *tempPtr;
 	IntPointer chunkType, chunkSize, chunkHash;
@@ -291,7 +290,8 @@ bool LoadWSAssets(const char *wsAssetName, RGB8 *myPalette) {
 	}
 
 	// Use the resource io manager to read in the entire block
-	if ((workHandle = rget(wsAssetName, &assetSize)) == nullptr) {
+	const MemHandle workHandle = rget(wsAssetName, &assetSize);
+	if (workHandle == nullptr) {
 		error_show(FL, 'FNF!', "Asset Name: %s", wsAssetName);
 	}
 
@@ -566,7 +566,7 @@ M4sprite *CreateSprite(MemHandle resourceHandle, int32 handleOffset, int32 index
 
 int32 LoadSpriteSeries(const char *assetName, MemHandle *seriesHandle, int32 *celsOffset, int32 *palOffset, RGB8 *myPalette) {
 	MemHandle workHandle;
-	int32 celsSize, *celsPtr, *palPtr;
+	int32 *celsPtr, *palPtr;
 	char *parseAssetPtr;
 	int32 assetSize;
 
@@ -584,7 +584,8 @@ int32 LoadSpriteSeries(const char *assetName, MemHandle *seriesHandle, int32 *ce
 	parseAssetPtr = mainAssetPtr;
 
 	// Process the SS from the stream file
-	if ((celsSize = ProcessCELS(assetName, &parseAssetPtr, mainAssetPtr, endOfAssetBlock, &celsPtr, &palPtr, myPalette)) < 0) {
+	const int32 celsSize = ProcessCELS(assetName, &parseAssetPtr, mainAssetPtr, endOfAssetBlock, &celsPtr, &palPtr, myPalette);
+	if (celsSize < 0) {
 		error_show(FL, 'WSLP', "series: %s", assetName);
 	}
 
@@ -600,7 +601,7 @@ int32 LoadSpriteSeries(const char *assetName, MemHandle *seriesHandle, int32 *ce
 
 int32 LoadSpriteSeriesDirect(const char *assetName, MemHandle *seriesHandle, int32 *celsOffset, int32 *palOffset, RGB8 *myPalette) {
 	Common::File f;
-	int32 celsSize, *celsPtr, *palPtr;
+	int32 *celsPtr, *palPtr;
 	char *parseAssetPtr;
 
 	// This loads a sprite series into the provided vars, rather than the WS tables.
@@ -611,12 +612,12 @@ int32 LoadSpriteSeriesDirect(const char *assetName, MemHandle *seriesHandle, int
 		return -1;
 
 	// Get the file size
-	uint32 assetSize = f.size();
+	const uint32 assetSize = f.size();
 
 	// Create a handle big enough to hold the contents of the file
-	MemHandle workHandle = NewHandle(assetSize, "ss file");
+	const MemHandle workHandle = NewHandle(assetSize, "ss file");
 
-	// Lock the handle and read the contents of the file intoit
+	// Lock the handle and read the contents of the file into it
 	HLock(workHandle);
 	char *mainAssetPtr = (char *)*workHandle;
 	if (f.read(mainAssetPtr, assetSize) < assetSize) {
@@ -632,7 +633,8 @@ int32 LoadSpriteSeriesDirect(const char *assetName, MemHandle *seriesHandle, int
 	parseAssetPtr = mainAssetPtr;
 
 	// Process the SS from the stream file
-	if ((celsSize = ProcessCELS(assetName, &parseAssetPtr, mainAssetPtr, endOfAssetBlock, &celsPtr, &palPtr, myPalette)) < 0) {
+	const int32 celsSize = ProcessCELS(assetName, &parseAssetPtr, mainAssetPtr, endOfAssetBlock, &celsPtr, &palPtr, myPalette);
+	if (celsSize < 0) {
 		error_show(FL, 'WSLP', "series: %s", assetName);
 	}
 
@@ -728,8 +730,8 @@ int32 AddWSAssetCELS(const char *wsAssetName, int32 hash, RGB8 *myPalette) {
 	// If we've searched the entire table and not found the series, but
 	// we found an empty slot to load the SS into
 	if ((i > MAX_ASSET_HASH) && (emptySlot >= 0)) {
-
-		if ((workHandle = rget(wsAssetName, &assetSize)) == nullptr) {
+		workHandle = rget(wsAssetName, &assetSize);
+		if (workHandle == nullptr) {
 			error_show(FL, 'FNF!', wsAssetName);
 		}
 
@@ -1047,8 +1049,7 @@ M4sprite *GetWSAssetSprite(char *spriteName, uint32 hash, uint32 index, M4sprite
 
 
 int32 LoadSpriteSeries(const char *assetName, Handle *seriesHandle, int32 *celsOffset, int32 *palOffset, RGB8 *myPalette) {
-	MemHandle workHandle;
-	int32 celsSize, *celsPtr, *palPtr;
+	int32 *celsPtr, *palPtr;
 	char *parseAssetPtr;
 	int32 assetSize;
 
@@ -1056,7 +1057,8 @@ int32 LoadSpriteSeries(const char *assetName, Handle *seriesHandle, int32 *celsO
 	//The WS loader is not involved with this procedure.
 
 	// Load in the sprite series
-	if ((workHandle = rget(assetName, &assetSize)) == nullptr)
+	const MemHandle workHandle = rget(assetName, &assetSize);
+	if (workHandle == nullptr)
 		error_show(FL, 'FNF!', "Sprite series: %s", assetName);
 
 	HLock(workHandle);
@@ -1066,7 +1068,8 @@ int32 LoadSpriteSeries(const char *assetName, Handle *seriesHandle, int32 *celsO
 	parseAssetPtr = mainAssetPtr;
 
 	// Process the SS from the stream file
-	if ((celsSize = ProcessCELS(assetName, &parseAssetPtr, mainAssetPtr, endOfAssetBlock, &celsPtr, &palPtr, myPalette)) < 0) {
+	const int32 celsSize = ProcessCELS(assetName, &parseAssetPtr, mainAssetPtr, endOfAssetBlock, &celsPtr, &palPtr, myPalette);
+	if (celsSize < 0) {
 		error_show(FL, 'WSLP', "series: %s", assetName);
 	}
 
@@ -1082,7 +1085,7 @@ int32 LoadSpriteSeries(const char *assetName, Handle *seriesHandle, int32 *celsO
 
 int32 LoadSpriteSeriesDirect(const char *assetName, Handle *seriesHandle, int32 *celsOffset, int32 *palOffset, RGB8 *myPalette) {
 	Common::File f;
-	int32 celsSize, *celsPtr, *palPtr;
+	int32 *celsPtr, *palPtr;
 	char *parseAssetPtr;
 
 	// This loads a sprite series into the provided vars, rather than the WS tables.
@@ -1115,7 +1118,8 @@ int32 LoadSpriteSeriesDirect(const char *assetName, Handle *seriesHandle, int32
 	parseAssetPtr = mainAssetPtr;
 
 	// Process the SS from the stream file
-	if ((celsSize = ProcessCELS(assetName, &parseAssetPtr, mainAssetPtr, endOfAssetBlock, &celsPtr, &palPtr, myPalette)) < 0) {
+	const int32 celsSize = ProcessCELS(assetName, &parseAssetPtr, mainAssetPtr, endOfAssetBlock, &celsPtr, &palPtr, myPalette);
+	if (celsSize < 0) {
 		error_show(FL, 'WSLP', "series: %s", assetName);
 	}
 
@@ -1164,7 +1168,8 @@ CCB *GetWSAssetCEL(uint32 hash, uint32 index, CCB *myCCB) {
 
 	//The source for a CCB is a sprite.  create the sprite from the WS tables hash, index
 	M4sprite *mySprite = myCCB->source;
-	if ((mySprite = GetWSAssetSprite(nullptr, hash, index, mySprite, &streamSeries)) == nullptr) {
+	mySprite = GetWSAssetSprite(nullptr, hash, index, mySprite, &streamSeries);
+	if (mySprite == nullptr) {
 		// Term messages for whatever went wrong are printed from within GetWSAssetSprite()
 		return nullptr;
 	}
@@ -1322,7 +1327,7 @@ int32 ws_get_sprite_height(uint32 hash, int32 index) {
 	uint32 *celsPtr = (uint32 *)((intptr)*(_GWS(globalCELSHandles)[hash]) + (uint32)(_GWS(globalCELSoffsets)[hash]));
 
 	// Check that the index into the series requested is within a valid range
-	int32 numCels = FROM_LE_32(celsPtr[CELS_COUNT]);
+	const int32 numCels = FROM_LE_32(celsPtr[CELS_COUNT]);
 	if (index >= numCels) {
 		ws_LogErrorMsg(FL, "ws_get_sprite_height: Sprite index out of range - max index: %d, requested index: %d, hash: %d",
 			numCels - 1, index, hash);
@@ -1471,7 +1476,7 @@ int32 ws_GetDATACount(uint32 hash) {
 }
 
 static int32 GetSSHeaderInfo(SysFile *sysFile, uint32 **data, RGB8 *myPalette) {
-	uint32 celsSize, *myColors;
+	uint32 celsSize;
 	uint32 *tempPtr, i;
 	bool byteSwap;
 
@@ -1481,7 +1486,7 @@ static int32 GetSSHeaderInfo(SysFile *sysFile, uint32 **data, RGB8 *myPalette) {
 	}
 
 	// Read in the series header and the format number
-	uint32 header = sysFile->readUint32LE();
+	const uint32 header = sysFile->readUint32LE();
 	uint32 format = sysFile->readUint32LE();
 
 	// Make sure the header is "M4SS", and that the format is not antique
@@ -1517,7 +1522,8 @@ static int32 GetSSHeaderInfo(SysFile *sysFile, uint32 **data, RGB8 *myPalette) {
 
 		// If there is at least one color specified in this block
 		if (numColors > 0) {
-			if ((myColors = (uint32 *)mem_alloc(celsSize - 12, "ss pal info")) == nullptr) {
+			uint32 *myColors = (uint32 *)mem_alloc(celsSize - 12, "ss pal info");
+			if (myColors == nullptr) {
 				ws_LogErrorMsg(FL, "Failed to mem_alloc() %d bytes.", celsSize - 12);
 				return -1;
 			}
@@ -1619,7 +1625,7 @@ static int32 GetSSHeaderInfo(SysFile *sysFile, uint32 **data, RGB8 *myPalette) {
 	}
 
 	// Find out how far into the stream we are, and return that value
-	int32 dataOffset = (*sysFile).get_pos();
+	const int32 dataOffset = (*sysFile).get_pos();
 	return dataOffset;
 }
 
@@ -1643,7 +1649,7 @@ bool ws_OpenSSstream(SysFile *sysFile, Anim8 *anim8) {
 
 	// Automatically set some of the sequence registers
 	uint32 *celsPtr = myCCB->streamSSHeader;
-	int32 numSprites = celsPtr[CELS_COUNT];
+	const int32 numSprites = celsPtr[CELS_COUNT];
 	myRegs[IDX_CELS_INDEX] = -(1 << 16);	// First frame inc will make it 0
 	myRegs[IDX_CELS_COUNT] = numSprites << 16;
 	myRegs[IDX_CELS_FRAME_RATE] = celsPtr[CELS_FRAME_RATE] << 16;
@@ -1688,7 +1694,8 @@ bool ws_OpenSSstream(SysFile *sysFile, Anim8 *anim8) {
 	term_message("Biggest frame was: %d, size: %d bytes (compressed)", obesest_frame, maxFrameSize);
 
 	// Access the streamer to recognize the new client
-	if ((myCCB->myStream = (void *)f_stream_Open(sysFile, ssDataOffset, maxFrameSize, maxFrameSize << 4, numSprites, (int32 *)offsets, 4, false)) == nullptr) {
+	myCCB->myStream = (void *)f_stream_Open(sysFile, ssDataOffset, maxFrameSize, maxFrameSize << 4, numSprites, (int32 *)offsets, 4, false);
+	if (myCCB->myStream == nullptr) {
 		ws_LogErrorMsg(FL, "Failed to open a stream.");
 		return false;
 	}
@@ -1731,7 +1738,7 @@ bool ws_GetNextSSstreamCel(Anim8 *anim8) {
 	anim8->myRegs[IDX_CELS_INDEX] += 0x10000;
 
 	// Check whether the end of the SS has been streamed
-	uint32 frameNum = anim8->myRegs[IDX_CELS_INDEX] >> 16;
+	const uint32 frameNum = anim8->myRegs[IDX_CELS_INDEX] >> 16;
 	if (frameNum >= celsPtr[CELS_COUNT]) {
 		ws_LogErrorMsg(FL, "No more frames available to stream");
 		return false;




More information about the Scummvm-git-logs mailing list