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

dreammaster noreply at scummvm.org
Sat Aug 15 07:35:00 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:
3426e5eb9c MADS: PVS Studio inter.cpp fixes. PVS-Studio V547, V557, V512
8bcc35f784 MADS: PVS-Studio fixes.


Commit: 3426e5eb9c93ee8f36984ddc5c756a5fffd65c29
    https://github.com/scummvm/scummvm/commit/3426e5eb9c93ee8f36984ddc5c756a5fffd65c29
Author: Paul Gilbert (dreammaster at scummvm.org)
Date: 2026-08-15T16:45:53+10:00

Commit Message:
MADS: PVS Studio inter.cpp fixes. PVS-Studio V547, V557, V512

Changed paths:
    engines/mads/core/inter.cpp
    engines/mads/core/kernel.cpp


diff --git a/engines/mads/core/inter.cpp b/engines/mads/core/inter.cpp
index c6079c19468..0139c77492b 100644
--- a/engines/mads/core/inter.cpp
+++ b/engines/mads/core/inter.cpp
@@ -421,7 +421,6 @@ static void inter_show_word(int class_, int id) {
 	int x, y, junk;
 	int word_id = 0;
 	char temp_buf[80] = { 0 };
-	int write_it = true;
 
 	if (!inter_get_spot(class_, id, &x, &y, &junk, &junk)) {
 		goto done;
@@ -510,8 +509,7 @@ static void inter_show_word(int class_, int id) {
 	temp_buf[0] = (char)toupper((int)temp_buf[0]);
 
 write:
-	if (write_it)
-		font_write(font_inter, &scr_inter, temp_buf, x, y, 0);
+	font_write(font_inter, &scr_inter, temp_buf, x, y, 0);
 
 done:
 	;
@@ -1521,9 +1519,10 @@ static void inter_compile_sentence() {
 	}
 
 	len = strlen(inter_sentence);
-	if (strlen(inter_sentence)) {
+	if (len > 0) {
 		mark = &inter_sentence[len - 1];
-		if (*mark == ' ') *mark = 0;
+		if (*mark == ' ')
+			*mark = 0;
 	}
 
 done:
diff --git a/engines/mads/core/kernel.cpp b/engines/mads/core/kernel.cpp
index 005f9b552b7..0d5911f1a70 100644
--- a/engines/mads/core/kernel.cpp
+++ b/engines/mads/core/kernel.cpp
@@ -1646,8 +1646,7 @@ static void kernel_process_animation(int handle, int asynchronous) {
 			match = false;
 			for (count = 0; !match && (count < image_base); count++) {
 				if (image_list[count].segment_id == (byte)(KERNEL_SEGMENT_ANIMATION + handle)) {
-					if (memcmp(&image_list[count].series_id,
-						&kernel_anim[handle].anim->image[kernel_anim[handle].image].series_id, 9) == 0) {
+					if (image_list[count].equals(kernel_anim[handle].anim->image[kernel_anim[handle].image])) {
 						image_list[count].flags = 0;
 
 						if (hot >= 0) {


Commit: 8bcc35f784a38192c5be2b888dcee399c1f017ef
    https://github.com/scummvm/scummvm/commit/8bcc35f784a38192c5be2b888dcee399c1f017ef
Author: Paul Gilbert (dreammaster at scummvm.org)
Date: 2026-08-15T17:25:21+10:00

Commit Message:
MADS: PVS-Studio fixes.

PVS-Studio V547, V1071, V557, V512, V610

Changed paths:
    engines/mads/core/magic.cpp
    engines/mads/core/matte.cpp
    engines/mads/core/object.cpp
    engines/mads/core/popup.cpp
    engines/mads/nebular/rooms/room211.cpp


diff --git a/engines/mads/core/magic.cpp b/engines/mads/core/magic.cpp
index 0cdae797795..71915ac2792 100644
--- a/engines/mads/core/magic.cpp
+++ b/engines/mads/core/magic.cpp
@@ -166,11 +166,11 @@ void magic_map_to_grey_ramp(Palette *pal,
 	for (greys = 0; greys < num_greys; greys++) {
 		for (color = 0; color < 3; color++) {
 			if (magic_color_flags[color]) {
-				shift_sign = (char)magic_color_values[color];
+				shift_sign = (int8)magic_color_values[color];
 				if (shift_sign >= 0) {
 					intensity = grey_intensity[greys] << shift_sign;
 				} else {
-					intensity = grey_intensity[greys] >> abs(shift_sign);
+					intensity = grey_intensity[greys] >> ABS(shift_sign);
 				}
 			} else {
 				intensity = magic_color_values[color];
@@ -241,17 +241,17 @@ void magic_fade_to_grey(Palette &pal, byte *map_pointer,
 		index = count - base_color;
 		for (color = 0; color < 3; color++) {
 			if (magic_color_flags[color]) {
-				shift_sign = (char)magic_color_values[color];
+				shift_sign = (int8)magic_color_values[color];
 				if (shift_sign >= 0) {
 					intensity = magic_map[index].intensity << shift_sign;
 				} else {
-					intensity = magic_map[index].intensity >> abs(shift_sign);
+					intensity = magic_map[index].intensity >> ABS(shift_sign);
 				}
 			} else {
 				intensity = magic_color_values[color];
 			}
 			dif = (intensity - pal_color(pal, count, color));
-			*(pal_index + (color << 8) + count) = (byte)abs(dif);
+			*(pal_index + (color << 8) + count) = (byte)ABS(dif);
 			*(signs + (color << 8) + count) = (char)sgn(dif);
 		}
 	}
@@ -341,17 +341,17 @@ void magic_fade_from_grey(RGBcolor *pal, Palette target,
 		index = count - base_color;
 		for (color = 0; color < 3; color++) {
 			if (magic_color_flags[color]) {
-				shift_sign = (char)magic_color_values[color];
+				shift_sign = (int8)magic_color_values[color];
 				if (shift_sign >= 0) {
 					intensity = magic_map[index].intensity << shift_sign;
 				} else {
-					intensity = magic_map[index].intensity >> abs(shift_sign);
+					intensity = magic_map[index].intensity >> ABS(shift_sign);
 				}
 			} else {
 				intensity = magic_color_values[color];
 			}
 			dif = (pal_color(target, count, color) - intensity);
-			*(pal_index + (count * 3) + color) = (byte)abs(dif);
+			*(pal_index + (count * 3) + color) = (byte)ABS(dif);
 			*(signs + (color << 8) + count) = (char)sgn(dif);
 			magic_map[index].accum[color] = 0;
 		}
diff --git a/engines/mads/core/matte.cpp b/engines/mads/core/matte.cpp
index fb78e1e9f04..deb609718db 100644
--- a/engines/mads/core/matte.cpp
+++ b/engines/mads/core/matte.cpp
@@ -227,12 +227,10 @@ void matte_init(int init_series) {
 int matte_allocate_image() {
 	int result;
 
-	if (image_marker >= IMAGE_LIST_SIZE) {
-		result = -1;
-	} else {
-		result = image_marker++;
-	}
+	if (image_marker >= IMAGE_LIST_SIZE)
+		error("Out of image list space");
 
+	result = image_marker++;
 	return result;
 }
 
diff --git a/engines/mads/core/object.cpp b/engines/mads/core/object.cpp
index 4817661ba0b..dd72d92d327 100644
--- a/engines/mads/core/object.cpp
+++ b/engines/mads/core/object.cpp
@@ -230,7 +230,7 @@ int object_examine(int number, long message, int speech) {
 	if (isMacRex)
 		inter_hide_macintosh_sentence();
 
-	memcpy(top_eight, &master_palette[248].r, 8 * sizeof(RGBcolor));
+	memcpy(&top_eight[0].r, &master_palette[248].r, 8 * sizeof(RGBcolor));
 
 	// Use attribute buffer to cheat on memory requirements a bit
 	old_master_palette = scr_depth.data;
diff --git a/engines/mads/core/popup.cpp b/engines/mads/core/popup.cpp
index bd84b8ecfca..a954beecb76 100644
--- a/engines/mads/core/popup.cpp
+++ b/engines/mads/core/popup.cpp
@@ -2711,7 +2711,8 @@ static int popup_savelist_mouse(PopupItem *item) {
 				}
 			}
 
-			if (mouse_button) update_sign = update_sign << 2;
+			if (mouse_button)
+				update_sign = update_sign * 4;
 
 			if (update_sign && (force_update || (old_status != list->scroll.status))) {
 				list->base_element += update_sign;
diff --git a/engines/mads/nebular/rooms/room211.cpp b/engines/mads/nebular/rooms/room211.cpp
index cebd774345a..8c2e46768e0 100644
--- a/engines/mads/nebular/rooms/room211.cpp
+++ b/engines/mads/nebular/rooms/room211.cpp
@@ -166,7 +166,7 @@ static void room_211_daemon() {
 		break;
 
 		case 73:
-			kernel_message_add(quote_string(kernel.quotes, 157), 102, 95, 0xFDFC, 75, 0, 32);
+			(void)kernel_message_add(quote_string(kernel.quotes, 157), 102, 95, 0xFDFC, 75, 0, 32);
 			break;
 
 		case 90:




More information about the Scummvm-git-logs mailing list