[Scummvm-git-logs] scummvm master -> 18e47bb0c2b07d839c5304aa8c80c5dfe5c03865

Strangerke noreply at scummvm.org
Mon Feb 9 10:06:48 UTC 2026


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:
9fb1279002 M4: First commit of systematic cleanup
18e47bb0c2 M4: cleanup of adv_r, fix a regression in walker


Commit: 9fb1279002016ed63b18f330f777a698ac569628
    https://github.com/scummvm/scummvm/commit/9fb1279002016ed63b18f330f777a698ac569628
Author: Strangerke (arnaud.boutonne at gmail.com)
Date: 2026-02-09T11:05:52+01:00

Commit Message:
M4: First commit of systematic cleanup

Changed paths:
    engines/m4/adv_db_r/db_catalog.cpp
    engines/m4/adv_r/adv_background.cpp
    engines/m4/adv_r/adv_background.h
    engines/m4/adv_r/adv_been.h
    engines/m4/adv_r/adv_chk.cpp
    engines/m4/adv_r/adv_control.cpp
    engines/m4/adv_r/adv_control.h
    engines/m4/adv_r/adv_file.h
    engines/m4/adv_r/adv_game.h
    engines/m4/adv_r/adv_walk.cpp
    engines/m4/adv_r/adv_walk.h
    engines/m4/burger/walker.cpp
    engines/m4/burger/walker.h
    engines/m4/core/rooms.cpp
    engines/m4/riddle/walker.cpp
    engines/m4/riddle/walker.h


diff --git a/engines/m4/adv_db_r/db_catalog.cpp b/engines/m4/adv_db_r/db_catalog.cpp
index dd645a8c800..ca42bddbdf1 100644
--- a/engines/m4/adv_db_r/db_catalog.cpp
+++ b/engines/m4/adv_db_r/db_catalog.cpp
@@ -38,7 +38,7 @@ static int compare_catalog_entries_for_search(const void *n1, const void *n2);
 bool read_catalog() {
 	Common::File f;
 	size_t size = 0;
-	Common::Path myFilename("roomsdb.chk");
+	const Common::Path myFilename("roomsdb.chk");
 
 	if (!f.open(myFilename))
 		return false;
@@ -66,7 +66,6 @@ char *db_rmlst_get_asset_room_path(const char *asset_name, char *result, int32 *
 	char name[MAX_FILENAME_SIZE] = { 0 }, path[MAX_FILENAME_SIZE] = { 0 };
 	short tag = 0, room = 0;
 	short c_size = 0;
-	long str_len;
 
 	result[0] = '\0';
 
@@ -83,7 +82,7 @@ char *db_rmlst_get_asset_room_path(const char *asset_name, char *result, int32 *
 		else
 			cstrncpy(result, path, MAX_FILENAME_SIZE);
 
-		str_len = strlen(result);
+		long str_len = strlen(result);
 
 		if (str_len) {
 			if (result[str_len - 1] == '\\')
@@ -196,7 +195,7 @@ static char *db_get_catalog_entry(char *c, short *tag, short *room, char *name,
 	if (c_size)
 		*c_size = 0;
 
-	short size = convert_intel16(*(uint16 *)&c[0]);
+	const short size = convert_intel16(*(uint16 *)&c[0]);
 
 	if (!size)
 		return nullptr;
@@ -206,7 +205,7 @@ static char *db_get_catalog_entry(char *c, short *tag, short *room, char *name,
 
 	int32 x = sizeof(uint16);
 
-	int16 theTag = convert_intel16(*(uint16 *)&c[x]);
+	const int16 theTag = convert_intel16(*(uint16 *)&c[x]);
 	if (tag)
 		*tag = theTag;
 
diff --git a/engines/m4/adv_r/adv_background.cpp b/engines/m4/adv_r/adv_background.cpp
index a23e86a1959..4573dd9fd39 100644
--- a/engines/m4/adv_r/adv_background.cpp
+++ b/engines/m4/adv_r/adv_background.cpp
@@ -46,9 +46,9 @@ bool adv_restoreBackground() {
 	if (load_background(&sysFile, &_G(game_bgBuff), myPalette)) {
 		sysFile.close();
 		return true;
-	} else {
-		return false;
 	}
+
+	return false;
 }
 
 bool adv_restoreCodes() {
@@ -58,11 +58,9 @@ bool adv_restoreCodes() {
 	if (_G(screenCodeBuff)) {
 		sysFile.close();
 		return true;
-	} else {
-		return false;
 	}
 
-	return true;
+	return false;
 }
 
 } // End of namespace M4
diff --git a/engines/m4/adv_r/adv_background.h b/engines/m4/adv_r/adv_background.h
index 2d1dd01828d..7a2756b3a34 100644
--- a/engines/m4/adv_r/adv_background.h
+++ b/engines/m4/adv_r/adv_background.h
@@ -23,8 +23,6 @@
 #ifndef M4_ADV_R_ADV_BACKGROUND_H
 #define M4_ADV_R_ADV_BACKGROUND_H
 
-#include "m4/m4_types.h"
-
 namespace M4 {
 
 void adv_freeCodes();
diff --git a/engines/m4/adv_r/adv_been.h b/engines/m4/adv_r/adv_been.h
index d97c33d62e8..c619eb82b00 100644
--- a/engines/m4/adv_r/adv_been.h
+++ b/engines/m4/adv_r/adv_been.h
@@ -24,7 +24,6 @@
 #define M4_ADV_R_ADV_BEEN_H
 
 #include "common/serializer.h"
-#include "common/stream.h"
 #include "m4/m4_types.h"
 
 namespace M4 {
diff --git a/engines/m4/adv_r/adv_chk.cpp b/engines/m4/adv_r/adv_chk.cpp
index b654ccf3a0e..5f01fc3760e 100644
--- a/engines/m4/adv_r/adv_chk.cpp
+++ b/engines/m4/adv_r/adv_chk.cpp
@@ -21,23 +21,20 @@
 
 #include "m4/adv_r/adv_chk.h"
 #include "m4/core/errors.h"
-#include "m4/core/imath.h"
 #include "m4/fileio/sys_file.h"
 #include "m4/vars.h"
 
 namespace M4 {
 
 static HotSpotRec *read_hotspots(SysFile *fpdef, HotSpotRec *h, int32 num) {
-	int32 str_len;
 	char s[MAX_FILENAME_SIZE];
-	int32 x1, x2, y1, y2;
 	HotSpotRec *head = nullptr;
 
 	for (int32 i = 0; i < num; i++) {
-		x1 = fpdef->readSint32LE();
-		y1 = fpdef->readSint32LE();
-		x2 = fpdef->readSint32LE();
-		y2 = fpdef->readSint32LE();
+		const int32 x1 = fpdef->readSint32LE();
+		const int32 y1 = fpdef->readSint32LE();
+		const int32 x2 = fpdef->readSint32LE();
+		const int32 y2 = fpdef->readSint32LE();
 
 		h = hotspot_new(x1, y1, x2, y2);
 		if (!head)
@@ -45,6 +42,9 @@ static HotSpotRec *read_hotspots(SysFile *fpdef, HotSpotRec *h, int32 num) {
 		else
 			head = hotspot_add(head, h, false);
 
+		if (!h)
+			error_show(FL, "Null head");
+		
 		h->feet_x = fpdef->readSint32LE();
 		h->feet_y = fpdef->readSint32LE();
 		h->facing = fpdef->readSByte();
@@ -56,7 +56,7 @@ static HotSpotRec *read_hotspots(SysFile *fpdef, HotSpotRec *h, int32 num) {
 
 		// -------
 
-		str_len = fpdef->readSint32LE();
+		int32 str_len = fpdef->readSint32LE();
 
 		if (str_len) {
 			if (!fpdef->read((byte *)s, str_len))
@@ -95,7 +95,6 @@ static HotSpotRec *read_hotspots(SysFile *fpdef, HotSpotRec *h, int32 num) {
 }
 
 static void load_def(SysFile *fpdef) {
-	int32 x, y;
 	char s[MAX_FILENAME_SIZE];
 
 	fpdef->read((byte *)s, MAX_FILENAME_SIZE);
@@ -119,8 +118,8 @@ static void load_def(SysFile *fpdef) {
 	_G(myDef)->numRailNodes = fpdef->readSint32LE();
 
 	for (int32 i = 0; i < _G(myDef)->numRailNodes; i++) {
-		x = fpdef->readSint32LE();
-		y = fpdef->readSint32LE();
+		int32 x = fpdef->readSint32LE();
+		int32 y = fpdef->readSint32LE();
 
 		if (AddRailNode(x, y, nullptr, true) < 0)
 			error_show(FL, "more than %d (defn. in intrrail.h) nodes", MAXRAILNODES);
diff --git a/engines/m4/adv_r/adv_control.cpp b/engines/m4/adv_r/adv_control.cpp
index 0b305d9d317..738247fbcb1 100644
--- a/engines/m4/adv_r/adv_control.cpp
+++ b/engines/m4/adv_r/adv_control.cpp
@@ -87,11 +87,7 @@ bool this_is_a_walkcode(int32 x, int32 y) {
 	if (!_G(screenCodeBuff))
 		return false;
 
-	Buffer *walkCodes;
-	byte *ptr;
-	bool result;
-
-	walkCodes = _G(screenCodeBuff)->get_buffer();
+	Buffer *walkCodes = _G(screenCodeBuff)->get_buffer();
 	if (!walkCodes)
 		return false;
 
@@ -99,22 +95,18 @@ bool this_is_a_walkcode(int32 x, int32 y) {
 	if (x < 0 || y < 0 || x >= walkCodes->w || y >= walkCodes->h)
 		return false;
 
-	ptr = gr_buffer_pointer(walkCodes, x, y);
-	result = ((*ptr) & 0x10) ? true : false;
+	byte *ptr = gr_buffer_pointer(walkCodes, x, y);
+	const bool result = ((*ptr) & 0x10) ? true : false;
 
 	_G(screenCodeBuff)->release();
 	return result;
 }
 
 int32 get_screen_depth(int32 x, int32 y) {
-	Buffer *walkCodes;
-	byte *ptr;
-	int32 myDepth;
-
 	if (!_G(screenCodeBuff))
 		return 0;
 
-	walkCodes = _G(screenCodeBuff)->get_buffer();
+	Buffer *walkCodes = _G(screenCodeBuff)->get_buffer();
 	if (!walkCodes) {
 		return 0;
 	}
@@ -124,19 +116,15 @@ int32 get_screen_depth(int32 x, int32 y) {
 		return -1;
 	}
 
-	ptr = gr_buffer_pointer(walkCodes, x, y);
-	myDepth = (*ptr) & 0x0f;
+	byte *ptr = gr_buffer_pointer(walkCodes, x, y);
+	const int32 myDepth = (*ptr) & 0x0f;
 
 	_G(screenCodeBuff)->release();
 	return myDepth;
 }
 
 int32 get_screen_color(int32 x, int32 y) {
-	Buffer *game_buff;
-	byte *ptr;
-	int32 myColor;
-
-	game_buff = _G(gameDrawBuff)->get_buffer();
+	Buffer *game_buff = _G(gameDrawBuff)->get_buffer();
 	if (!game_buff) {
 		return -1;
 	}
@@ -146,8 +134,8 @@ int32 get_screen_color(int32 x, int32 y) {
 		return -1;
 	}
 
-	ptr = gr_buffer_pointer(game_buff, x, y);
-	myColor = *ptr;
+	byte *ptr = gr_buffer_pointer(game_buff, x, y);
+	const int32 myColor = *ptr;
 
 	_G(gameDrawBuff)->release();
 	return myColor;
@@ -170,11 +158,11 @@ void update_mouse_pos_dialog() {
 	Common::sprintf_s(tempStr1, "%d  From: %d", _G(game).room_id, _G(game).previous_room);
 	Dialog_Change_Item_Prompt(_G(mousePosDialog), tempStr1, nullptr, 1);
 
-	int32 xxx = _G(MouseState).CursorColumn;
-	int32 yyy = _G(MouseState).CursorRow;
+	const int32 xxx = _G(MouseState).CursorColumn;
+	const int32 yyy = _G(MouseState).CursorRow;
 
-	int32 scrnDepth = get_screen_depth(xxx - game_buff_ptr->x1, yyy - game_buff_ptr->y1);
-	int32 palColor = get_screen_color(xxx - game_buff_ptr->x1, yyy - game_buff_ptr->y1);
+	const int32 scrnDepth = get_screen_depth(xxx - game_buff_ptr->x1, yyy - game_buff_ptr->y1);
+	const int32 palColor = get_screen_color(xxx - game_buff_ptr->x1, yyy - game_buff_ptr->y1);
 
 	if (this_is_a_walkcode(xxx - game_buff_ptr->x1, yyy - game_buff_ptr->y1)) {
 		Common::sprintf_s(tempStr1, "WC %d, %d  PAL: %d", xxx, yyy, palColor);
diff --git a/engines/m4/adv_r/adv_control.h b/engines/m4/adv_r/adv_control.h
index 570dd628e00..9ef7ee81433 100644
--- a/engines/m4/adv_r/adv_control.h
+++ b/engines/m4/adv_r/adv_control.h
@@ -24,7 +24,6 @@
 #define M4_ADV_R_ADV_CONTROL_H
 
 #include "common/stream.h"
-#include "m4/m4_types.h"
 
 namespace M4 {
 
diff --git a/engines/m4/adv_r/adv_file.h b/engines/m4/adv_r/adv_file.h
index e8dddf256d1..5eac3499189 100644
--- a/engines/m4/adv_r/adv_file.h
+++ b/engines/m4/adv_r/adv_file.h
@@ -23,7 +23,6 @@
 #ifndef M4_ADV_R_ADV_FILE_H
 #define M4_ADV_R_ADV_FILE_H
 
-#include "common/stream.h"
 #include "m4/adv_r/adv.h"
 #include "m4/fileio/sys_file.h"
 #include "m4/graphics/gr_buff.h"
diff --git a/engines/m4/adv_r/adv_game.h b/engines/m4/adv_r/adv_game.h
index 80f2b1f1d79..48bc13bc084 100644
--- a/engines/m4/adv_r/adv_game.h
+++ b/engines/m4/adv_r/adv_game.h
@@ -23,8 +23,6 @@
 #ifndef M4_ADV_R_ADV_GAME_H
 #define M4_ADV_R_ADV_GAME_H
 
-#include "common/serializer.h"
-#include "m4/adv_r/adv.h"
 #include "m4/m4_types.h"
 
 namespace M4 {
diff --git a/engines/m4/adv_r/adv_walk.cpp b/engines/m4/adv_r/adv_walk.cpp
index 03e3f75d7c6..8958ae3c067 100644
--- a/engines/m4/adv_r/adv_walk.cpp
+++ b/engines/m4/adv_r/adv_walk.cpp
@@ -386,7 +386,7 @@ void ws_get_walker_info(machine *myWalker, int32 *x, int32 *y, int32 *s, int32 *
 }
 
 
-bool ws_walk_init_system() {
+void ws_walk_init_system() {
 	// Initialize walker
 	_G(globals)[GLB_MIN_Y] = _G(currentSceneDef).back_y << 16;
 	_G(globals)[GLB_MAX_Y] = _G(currentSceneDef).front_y << 16;
@@ -403,10 +403,9 @@ bool ws_walk_init_system() {
 	if (!_G(my_walker)) {
 		error_show(FL);
 	}
-	return true;
 }
 
-bool ws_walk_load_series(const int16 *dir_array, const char *name_array[], bool shadow_flag, bool load_palette) {
+void ws_walk_load_series(const int16 *dir_array, const char *name_array[], bool shadow_flag, bool load_palette) {
 	int32 i = 0;
 
 	while (dir_array[i] >= 0) {
@@ -417,16 +416,14 @@ bool ws_walk_load_series(const int16 *dir_array, const char *name_array[], bool
 
 		i++;
 	}
-
-	return true;
 }
 
-bool ws_walk_load_walker_series(const int16 *dir_array, const char *name_array[], bool load_palette) {
-	return (ws_walk_load_series(dir_array, name_array, false, load_palette));
+void ws_walk_load_walker_series(const int16 *dir_array, const char *name_array[], bool load_palette) {
+	ws_walk_load_series(dir_array, name_array, false, load_palette);
 }
 
-bool ws_walk_load_shadow_series(const int16 *dir_array, const char *name_array[]) {
-	return (ws_walk_load_series(dir_array, name_array, true, false));
+void ws_walk_load_shadow_series(const int16 *dir_array, const char *name_array[]) {
+	ws_walk_load_series(dir_array, name_array, true, false);
 }
 
 void ws_walk_dump_series(int16 num_directions, int16 start_hash) {
diff --git a/engines/m4/adv_r/adv_walk.h b/engines/m4/adv_r/adv_walk.h
index 67e77016c46..d0989f80ea0 100644
--- a/engines/m4/adv_r/adv_walk.h
+++ b/engines/m4/adv_r/adv_walk.h
@@ -33,7 +33,7 @@ class Walker {
 public:
 	virtual ~Walker() {}
 
-	virtual bool walk_load_walker_and_shadow_series() = 0;
+	virtual void walk_load_walker_and_shadow_series() = 0;
 	virtual machine *walk_initialize_walker() = 0;
 };
 
@@ -59,11 +59,11 @@ void ws_walk(int32 x, int32 y, GrBuff **buffer, int16 trigger, int32 finalFacing
 
 void ws_get_walker_info(machine *myWalker, int32 *x, int32 *y, int32 *s, int32 *layer, int32 *facing);
 
-bool ws_walk_init_system();
+void ws_walk_init_system();
 
-bool ws_walk_load_series(const int16 *dir_array, const char *name_array[], bool shadow_flag, bool load_palette);
-bool ws_walk_load_walker_series(const int16 *dir_array, const char *name_array[], bool load_palette = false);
-bool ws_walk_load_shadow_series(const int16 *dir_array, const char *name_array[]);
+void ws_walk_load_series(const int16 *dir_array, const char *name_array[], bool shadow_flag, bool load_palette);
+void ws_walk_load_walker_series(const int16 *dir_array, const char *name_array[], bool load_palette = false);
+void ws_walk_load_shadow_series(const int16 *dir_array, const char *name_array[]);
 
 void ws_walk_dump_series(int16 num_directions, int16 start_hash);
 #define ws_walk_dump_walker_series(xx, yy) (ws_walk_dump_series (xx, yy))
diff --git a/engines/m4/burger/walker.cpp b/engines/m4/burger/walker.cpp
index d420a7adc39..84ede9595ab 100644
--- a/engines/m4/burger/walker.cpp
+++ b/engines/m4/burger/walker.cpp
@@ -60,9 +60,9 @@ static const int16 WILBUR_SHADOWS_DIRS[6] = {
 };
 
 void Walker::player_walker_callback(frac16 myMessage, machine *sender) {
-	int32 triggerType, soundNumber;
+	int32 soundNumber;
 
-	triggerType = _G(globals)[GLB_TEMP_1] >> 16;
+	const int32 triggerType = _G(globals)[GLB_TEMP_1] >> 16;
 
 	switch (triggerType) {
 	case 0:
@@ -138,14 +138,13 @@ void Walker::player_walker_callback(frac16 myMessage, machine *sender) {
 	}
 }
 
-bool Walker::walk_load_walker_and_shadow_series() {
-	return ws_walk_load_walker_series(WILBUR_SERIES_DIRS, WILBUR_SERIES, true) &&
-		ws_walk_load_shadow_series(WILBUR_SHADOWS_DIRS, WILBUR_SHADOWS);
+void Walker::walk_load_walker_and_shadow_series() {
+	ws_walk_load_walker_series(WILBUR_SERIES_DIRS, WILBUR_SERIES, true);
+	ws_walk_load_shadow_series(WILBUR_SHADOWS_DIRS, WILBUR_SHADOWS);
 }
 
 machine *Walker::walk_initialize_walker() {
 	machine *m;
-	int32 s;
 
 	if (!_G(player).walker_in_this_scene) {
 		_G(player).walker_visible = false;
@@ -163,7 +162,7 @@ machine *Walker::walk_initialize_walker() {
 		_G(globals)[GLB_TEMP_3] = SHADOW_SERIES_HASH << 24;  // starting series hash of default walker shadows. GAMECTRL loads shadows starting @ 10
 
 		// initialize with bogus data (this is for the real walker)
-		s = _G(globals)[GLB_MIN_SCALE] + FixedMul((400 << 16) - _G(globals)[GLB_MIN_Y], _G(globals)[GLB_SCALER]);
+		const int32 s = _G(globals)[GLB_MIN_SCALE] + FixedMul((400 << 16) - _G(globals)[GLB_MIN_Y], _G(globals)[GLB_SCALER]);
 		_G(globals)[GLB_TEMP_4] = static_cast<uint32>(-320) << 16;
 		_G(globals)[GLB_TEMP_5] = 400 << 16;
 		_G(globals)[GLB_TEMP_6] = s;
@@ -210,7 +209,7 @@ void Walker::unloadSprites() {
 }
 
 void Walker::wilbur_speech(const char *name, int trigger, int room, byte flags, int vol, int channel) {
-	KernelTriggerType oldMode = _G(kernel).trigger_mode;
+	const KernelTriggerType oldMode = _G(kernel).trigger_mode;
 	_name = name;
 	_channel = channel;
 	_room = room;
@@ -224,7 +223,7 @@ void Walker::wilbur_speech(const char *name, int trigger, int room, byte flags,
 }
 
 void Walker::wilbur_say() {
-	KernelTriggerType oldMode = _G(kernel).trigger_mode;
+	const KernelTriggerType oldMode = _G(kernel).trigger_mode;
 
 	if (_animateLips && _G(player).walker_in_this_scene && _G(player).walker_visible)
 		sendWSMessage(0x140000, 0, _G(my_walker), 0, 0, 1);
diff --git a/engines/m4/burger/walker.h b/engines/m4/burger/walker.h
index 388b264363d..18a87c3e3d5 100644
--- a/engines/m4/burger/walker.h
+++ b/engines/m4/burger/walker.h
@@ -70,7 +70,7 @@ private:
 public:
 	~Walker() override {}
 
-	bool walk_load_walker_and_shadow_series() override;
+	void walk_load_walker_and_shadow_series() override;
 	machine *walk_initialize_walker() override;
 
 	void reset_walker_sprites();
diff --git a/engines/m4/core/rooms.cpp b/engines/m4/core/rooms.cpp
index 8c8cf572506..04537b62706 100644
--- a/engines/m4/core/rooms.cpp
+++ b/engines/m4/core/rooms.cpp
@@ -259,8 +259,7 @@ void Sections::get_ipl() {
 
 void Sections::get_walker() {
 	term_message("Loading walker sprites");
-	if (!_GW().walk_load_walker_and_shadow_series())
-		error_show(FL);
+	_GW().walk_load_walker_and_shadow_series();
 	ws_walk_init_system();
 }
 
diff --git a/engines/m4/riddle/walker.cpp b/engines/m4/riddle/walker.cpp
index d5340641de5..f9045e6d246 100644
--- a/engines/m4/riddle/walker.cpp
+++ b/engines/m4/riddle/walker.cpp
@@ -98,16 +98,16 @@ void Walker::player_walker_callback(frac16 myMessage, machine *sender) {
 		kernel_trigger_dispatchx(myMessage);
 }
 
-bool Walker::walk_load_walker_and_shadow_series() {
+void Walker::walk_load_walker_and_shadow_series() {
 	switch (_G(player).walker_type) {
 	case 0:
-		return ws_walk_load_walker_series(RIPLEY_SERIES_DIRS, RIPLEY_SERIES, false) &&
-			ws_walk_load_shadow_series(RIPLEY_SHADOWS_DIRS, RIPLEY_SHADOWS);
+		ws_walk_load_walker_series(RIPLEY_SERIES_DIRS, RIPLEY_SERIES, false);
+		ws_walk_load_shadow_series(RIPLEY_SHADOWS_DIRS, RIPLEY_SHADOWS);
 	case 1:
-		return ws_walk_load_walker_series(SAFARI_SERIES_DIRS, SAFARI_SERIES, false) &&
-			ws_walk_load_shadow_series(SAFARI_SHADOWS_DIRS, SAFARI_SHADOWS);
+		ws_walk_load_walker_series(SAFARI_SERIES_DIRS, SAFARI_SERIES, false);
+		ws_walk_load_shadow_series(SAFARI_SHADOWS_DIRS, SAFARI_SHADOWS);
 	default:
-		return false;
+		error_show(FL);
 	}
 }
 
@@ -123,7 +123,7 @@ machine *Walker::walk_initialize_walker() {
 	_G(globals)[GLB_TEMP_3] = *RIPLEY_SHADOWS_DIRS << 24;	// Starting series hash of default walker shadows
 
 	// initialize with bogus data (this is for the real walker)
-	int32 s = _G(globals)[GLB_MIN_SCALE] + FixedMul((400 << 16) - _G(globals)[GLB_MIN_Y], _G(globals)[GLB_SCALER]);
+	const int32 s = _G(globals)[GLB_MIN_SCALE] + FixedMul((400 << 16) - _G(globals)[GLB_MIN_Y], _G(globals)[GLB_SCALER]);
 	_G(globals)[GLB_TEMP_4] = 320 << 16;
 	_G(globals)[GLB_TEMP_5] = 400 << 16;
 	_G(globals)[GLB_TEMP_6] = s;
diff --git a/engines/m4/riddle/walker.h b/engines/m4/riddle/walker.h
index c5227bdb87d..2fe502fcb7b 100644
--- a/engines/m4/riddle/walker.h
+++ b/engines/m4/riddle/walker.h
@@ -43,17 +43,15 @@ enum {
 };
 
 class Walker : public M4::Walker {
-	// Strangerke : I turned the callback from private to public as it's called by room 803. TODO: Check if it's correct, then update the description accordingly
 public:
+	~Walker() override {}
+
 	/**
-	 * This is called when PLAYER walker code sends system message back to C (used by MAIN PLAYER WALKER ONLY)
+	 * This is called when PLAYER walker code sends system message back to C
 	 */
 	static void player_walker_callback(frac16 myMessage, machine *sender);
 
-public:
-	~Walker() override {}
-
-	bool walk_load_walker_and_shadow_series() override;
+	void walk_load_walker_and_shadow_series() override;
 	machine *walk_initialize_walker() override;
 
 	static void unloadSprites();


Commit: 18e47bb0c2b07d839c5304aa8c80c5dfe5c03865
    https://github.com/scummvm/scummvm/commit/18e47bb0c2b07d839c5304aa8c80c5dfe5c03865
Author: Strangerke (arnaud.boutonne at gmail.com)
Date: 2026-02-09T11:05:53+01:00

Commit Message:
M4: cleanup of adv_r, fix a regression in walker

Changed paths:
    engines/m4/adv_r/adv_inv.h
    engines/m4/adv_r/adv_player.cpp
    engines/m4/adv_r/adv_trigger.h
    engines/m4/adv_r/adv_walk.h
    engines/m4/adv_r/chunk_ops.cpp
    engines/m4/adv_r/conv_io.cpp
    engines/m4/adv_r/kernel.h
    engines/m4/adv_r/other.cpp
    engines/m4/adv_r/other.h
    engines/m4/core/param.cpp
    engines/m4/riddle/walker.cpp


diff --git a/engines/m4/adv_r/adv_inv.h b/engines/m4/adv_r/adv_inv.h
index e15b18e1cf4..e657fa47404 100644
--- a/engines/m4/adv_r/adv_inv.h
+++ b/engines/m4/adv_r/adv_inv.h
@@ -56,7 +56,7 @@ void inv_init(int32 num_objects);
 /**
  * Register things during init of the game
  * @param itemName	Name of the object as it should appear as a sentence is built
- * @param itemVerbs	Verbs should have this format: verbs = "slit,peel,fricasee,examine"
+ * @param itemVerbs	Verbs should have this format: verbs = "slit,peel,fricassee,examine"
  *					There can be any number of verbs in the string.
  * @param scene		The place for the thing to appear initially (BACKPACK is one place)
  * @param cel		Index into the inventory sprite series for use when displaying inventory
diff --git a/engines/m4/adv_r/adv_player.cpp b/engines/m4/adv_r/adv_player.cpp
index 3e106524ea0..a7b8388a1ff 100644
--- a/engines/m4/adv_r/adv_player.cpp
+++ b/engines/m4/adv_r/adv_player.cpp
@@ -128,11 +128,10 @@ bool player_load_series(const char *walkerName, const char *shadowName, bool loa
 	int i;
 	int32 thatRoomCode;
 	char assetPath[MAX_FILENAME_SIZE];
-	char *tempPtr;
 
 	// Load walker
 	db_rmlst_get_asset_room_path(walkerName, assetPath, &thatRoomCode);
-	tempPtr = strrchr(assetPath, '.');
+	char *tempPtr = strrchr(assetPath, '.');
 	if (!tempPtr)
 		return false;
 
@@ -213,7 +212,7 @@ int calc_facing(int x, int y) {
 	if (!x) {
 		return -_G(player_info).y < -y;
 	} else {
-		double slope = (double)(y - _G(player_info).y) / (double)(x - _G(player_info).x);
+		const double slope = (double)(y - _G(player_info).y) / (double)(x - _G(player_info).x);
 		term_message("click (%d,%d)  player (%d,%d)  slope = %f",
 			x, -y, _G(player_info).x, -_G(player_info).y);
 
diff --git a/engines/m4/adv_r/adv_trigger.h b/engines/m4/adv_r/adv_trigger.h
index d878adb1076..0123220dace 100644
--- a/engines/m4/adv_r/adv_trigger.h
+++ b/engines/m4/adv_r/adv_trigger.h
@@ -23,7 +23,6 @@
 #ifndef M4_ADV_R_ADV_TRIGGER_H
 #define M4_ADV_R_ADV_TRIGGER_H
 
-#include "m4/m4_types.h"
 #include "m4/adv_r/adv.h"
 
 namespace M4 {
diff --git a/engines/m4/adv_r/adv_walk.h b/engines/m4/adv_r/adv_walk.h
index d0989f80ea0..5778ff79e4b 100644
--- a/engines/m4/adv_r/adv_walk.h
+++ b/engines/m4/adv_r/adv_walk.h
@@ -23,7 +23,6 @@
 #ifndef M4_ADV_R_ADV_WALK_H
 #define M4_ADV_R_ADV_WALK_H
 
-#include "m4/m4_types.h"
 #include "m4/adv_r/adv.h"
 #include "m4/wscript/ws_machine.h"
 
diff --git a/engines/m4/adv_r/chunk_ops.cpp b/engines/m4/adv_r/chunk_ops.cpp
index d8afb330bf3..18610ada265 100644
--- a/engines/m4/adv_r/chunk_ops.cpp
+++ b/engines/m4/adv_r/chunk_ops.cpp
@@ -449,7 +449,11 @@ int conv_ops_cond_successful(int32 l_op, int32 op, int32 r_op) {
 
 	case OROR:
 		return l_op || r_op;
+
+	default:
+		break;
 	}
+	
 	return 0;
 }
 
diff --git a/engines/m4/adv_r/conv_io.cpp b/engines/m4/adv_r/conv_io.cpp
index 240e06b41bd..5440fa0152e 100644
--- a/engines/m4/adv_r/conv_io.cpp
+++ b/engines/m4/adv_r/conv_io.cpp
@@ -515,13 +515,13 @@ static Conv *conv_restore_state(Conv *c) {
 	short flag_index = 0;
 	int32 val;
 	int32 e_flags = 0;
-	int32 myCNode;
 
 	char fname[13];
 	int file_size;
 
-	int32 ent;
+	int32 ent = 0;
 	c->myCNode = 0;
+	int32 myCNode;
 
 	find_and_set_conv_name(c);
 	Common::strcpy_s(fname, _GC(conv_name));
@@ -558,7 +558,7 @@ static Conv *conv_restore_state(Conv *c) {
 	/*int num_entries = */READ_LE_UINT32(&conv_save_buff[offset]);
 	offset += sizeof(int32);
 
-	ent = 0; c->myCNode = 0;
+	c->myCNode = 0;
 
 	while (ent < c->chunkSize) {
 		conv_ops_get_entry(ent, &next, &tag, c);
diff --git a/engines/m4/adv_r/kernel.h b/engines/m4/adv_r/kernel.h
index 92803f0a412..301a348dca8 100644
--- a/engines/m4/adv_r/kernel.h
+++ b/engines/m4/adv_r/kernel.h
@@ -23,7 +23,6 @@
 #define M4_ADV_R_KERNEL_H
 
 #include "m4/adv_r/adv.h"
-#include "m4/wscript/ws_machine.h"
 
 namespace M4 {
 
diff --git a/engines/m4/adv_r/other.cpp b/engines/m4/adv_r/other.cpp
index c2585e3d16b..5d136e8f32b 100644
--- a/engines/m4/adv_r/other.cpp
+++ b/engines/m4/adv_r/other.cpp
@@ -25,7 +25,7 @@
 
 namespace M4 {
 
-void other_save_game_for_resurrection(void) {
+void other_save_game_for_resurrection() {
 	if (kernel_save_game(0, nullptr, 0, nullptr, 0)) {
 		error_show(FL, "couldn't other_save_game_for_res");
 	}
diff --git a/engines/m4/adv_r/other.h b/engines/m4/adv_r/other.h
index 4874705189b..27f9a17d29c 100644
--- a/engines/m4/adv_r/other.h
+++ b/engines/m4/adv_r/other.h
@@ -23,8 +23,6 @@
 #ifndef M4_ADV_R_OTHER_H
 #define M4_ADV_R_OTHER_H
 
-#include "m4/m4_types.h"
-
 namespace M4 {
 
 void other_save_game_for_resurrection();
diff --git a/engines/m4/core/param.cpp b/engines/m4/core/param.cpp
index 80a79680510..de84a057cdf 100644
--- a/engines/m4/core/param.cpp
+++ b/engines/m4/core/param.cpp
@@ -49,7 +49,7 @@ void parse_all_flags() {
 		_G(mem_to_alloc) = ConfMan.getInt("M");
 
 	if (ConfMan.hasKey("R")) {
-		int val = ConfMan.getInt("R");
+		const int val = ConfMan.getInt("R");
 
 		if (!val) {
 			_G(kernel).last_save = -1;
diff --git a/engines/m4/riddle/walker.cpp b/engines/m4/riddle/walker.cpp
index f9045e6d246..4b814b2310c 100644
--- a/engines/m4/riddle/walker.cpp
+++ b/engines/m4/riddle/walker.cpp
@@ -103,9 +103,13 @@ void Walker::walk_load_walker_and_shadow_series() {
 	case 0:
 		ws_walk_load_walker_series(RIPLEY_SERIES_DIRS, RIPLEY_SERIES, false);
 		ws_walk_load_shadow_series(RIPLEY_SHADOWS_DIRS, RIPLEY_SHADOWS);
+		break;
+
 	case 1:
 		ws_walk_load_walker_series(SAFARI_SERIES_DIRS, SAFARI_SERIES, false);
 		ws_walk_load_shadow_series(SAFARI_SHADOWS_DIRS, SAFARI_SHADOWS);
+		break;
+		
 	default:
 		error_show(FL);
 	}




More information about the Scummvm-git-logs mailing list