[Scummvm-git-logs] scummvm master -> ce200c78be5c02567a3f8e106b1ff37771d79fc9

Strangerke noreply at scummvm.org
Sun Jun 1 22:27:24 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:
ce200c78be M4: More cleanup in gui, graphics and core


Commit: ce200c78be5c02567a3f8e106b1ff37771d79fc9
    https://github.com/scummvm/scummvm/commit/ce200c78be5c02567a3f8e106b1ff37771d79fc9
Author: Strangerke (arnaud.boutonne at gmail.com)
Date: 2025-06-01T23:27:11+01:00

Commit Message:
M4: More cleanup in gui, graphics and core

Changed paths:
    engines/m4/core/rooms.cpp
    engines/m4/graphics/krn_pal.cpp
    engines/m4/gui/gui_buffer.cpp
    engines/m4/gui/gui_cheapo.cpp
    engines/m4/gui/gui_dialog.cpp
    engines/m4/m4_types.h


diff --git a/engines/m4/core/rooms.cpp b/engines/m4/core/rooms.cpp
index 70391cc2bfa..d71a21f5681 100644
--- a/engines/m4/core/rooms.cpp
+++ b/engines/m4/core/rooms.cpp
@@ -267,11 +267,10 @@ void Sections::get_walker() {
 }
 
 void Sections::game_control_cycle() {
-	int32 status;
-
 	while (_G(game).new_room == _G(game).room_id && _G(kernel).going && !_G(kernel).force_restart) {
 		krn_pal_game_task();
 
+		int32 status;
 		ScreenContext *screen = vmng_screen_find(_G(gameDrawBuff), &status);
 		if (!screen)
 			error_show(FL, 'BUF!');
diff --git a/engines/m4/graphics/krn_pal.cpp b/engines/m4/graphics/krn_pal.cpp
index 68bb485238e..6ba441526d1 100644
--- a/engines/m4/graphics/krn_pal.cpp
+++ b/engines/m4/graphics/krn_pal.cpp
@@ -59,12 +59,11 @@ static int32 screen_height(Buffer *grey_screen) {
 }
 
 static void grey_fade(RGB8 *pal, int32 to_from_flag, int32 from, int32 to, int32 steps, int32 delay) {
-	int i, j;
 	RGB8 *working = (RGB8 *)mem_alloc(sizeof(RGB8) * 256, STR_FADEPAL);
 
 	// perform the fade
-	for (i = 1; i < steps; i++) {
-		for (j = from; j <= to; j++) {
+	for (int i = 1; i < steps; i++) {
+		for (int j = from; j <= to; j++) {
 			if (to_from_flag == TO_GREY) {      	// fade to grey from full color
 				working[j].r = (Byte)((int)pal[j].r + ((((int)_GP(fadeToMe)[j].r - (int)pal[j].r) * i) / steps));
 				working[j].g = (Byte)((int)pal[j].g + ((((int)_GP(fadeToMe)[j].g - (int)pal[j].g) * i) / steps));
@@ -92,7 +91,7 @@ static void grey_fade(RGB8 *pal, int32 to_from_flag, int32 from, int32 to, int32
 	} else if (to_from_flag == TO_COLOR) {
 		gr_pal_set_range(pal, from, to - from + 1);   ///set pal 21-255
 	} else {
-		for (i = from; i <= to; i++) {
+		for (int i = from; i <= to; i++) {
 			pal[i].r = pal[i].g = pal[i].b = 0;
 		}
 		gr_pal_set_range(pal, from, to - from + 1);   ///set pal 21-255
@@ -119,11 +118,9 @@ static void create_luminance_map(RGB8 *pal) {
 // finds the best macthes for the in the greys in the grey ramp range using the free range greys
 // used to map greys out of the grey ramp area, and then again to map the grey ramp out of the grey ramp area!
 static void make_translation_table(RGB8 *pal) {
-	int32    i, j, bestMatch, minDist;
-
-	for (i = 0; i < NUM_GREYS; i++) {
-		bestMatch = FREE_START;  // assume the first of the free indexes is best match to start with
-		minDist = 255;	  // assume that it's really far away to start with
+	for (int32 i = 0; i < NUM_GREYS; i++) {
+		int32 bestMatch = FREE_START;  // assume the first of the free indexes is best match to start with
+		int32 minDist = 255;	  // assume that it's really far away to start with
 
 		if (!(i & 0x3ff)) {
 			digi_read_another_chunk();
@@ -133,7 +130,7 @@ static void make_translation_table(RGB8 *pal) {
 		// look for best match in the free indexes for the greys in GREY_START-GREY_END range (we need these available)
 		int32 matchGrey = pal[GREY_START + i].g;	  // Use green instead of red cause we're having a green screen
 
-		for (j = FREE_START; j <= FREE_END; j++) {
+		for (int32 j = FREE_START; j <= FREE_END; j++) {
 			int32 tryGrey = pal[j].g;
 			if (imath_abs(tryGrey - matchGrey) < minDist) {
 				minDist = imath_abs(tryGrey - matchGrey);
@@ -147,9 +144,6 @@ static void make_translation_table(RGB8 *pal) {
 }
 
 void krn_fade_to_grey(RGB8 *pal, int32 steps, int32 delay) {
-	int32 i, j, bestMatch, minDist;
-	uint8 *tempPtr;
-
 	if (_G(kernel).fading_to_grey) {
 		return;
 	}
@@ -168,11 +162,11 @@ void krn_fade_to_grey(RGB8 *pal, int32 steps, int32 delay) {
 
 	// Make translation table to translate colors using entries 59-255 into 21-58 range
 
-	for (i = 0; i < 32; i++) {
-		bestMatch = 65;
-		minDist = 255;
+	for (int32 i = 0; i < 32; i++) {
+		int32 bestMatch = 65;
+		int32 minDist = 255;
 
-		for (j = 59; j <= 255; j++) {
+		for (int32 j = 59; j <= 255; j++) {
 			if (imath_abs((_GP(fadeToMe)[j].r >> 2) - i) < minDist) {
 				minDist = imath_abs((_GP(fadeToMe)[j].r >> 2) - i);
 				bestMatch = j;
@@ -188,10 +182,10 @@ void krn_fade_to_grey(RGB8 *pal, int32 steps, int32 delay) {
 	// Palette now grey scale. Remap any pixels which are in the range 21-58 to the range 53-255
 	// because we need to use those palette entries soon
 
-	tempPtr = grey_screen->data;
+	uint8 *tempPtr = grey_screen->data;
 
 	// Note: this loop should be y0 to y1, x0 to x1, not a stride*h loop.
-	for (i = 0; i < (grey_screen->stride * grey_screen->h); i++) {
+	for (int32 i = 0; i < (grey_screen->stride * grey_screen->h); i++) {
 		if ((*tempPtr >= GREY_START) && (*tempPtr <= GREY_END)) {
 			// Must move the pixel index to the best match in FREE_START-FREE_END range with _GP(translation) table
 			*tempPtr = _GP(translation)[*tempPtr - GREY_START];
@@ -211,7 +205,7 @@ void krn_fade_to_grey(RGB8 *pal, int32 steps, int32 delay) {
 	memcpy(_GP(trick), _GP(fadeToMe), sizeof(RGB8) * 256);	// trick pal is the greyed version plus the grey ramp overlayed on top
 	byte grey_step = 256 / NUM_GREYS;
 	byte grey_ramp = 0;
-	for (i = GREY_START; i <= GREY_END; i++) {
+	for (int32 i = GREY_START; i <= GREY_END; i++) {
 		_GP(trick)[i].g = grey_ramp;
 		_GP(trick)[i].r = _GP(trick)[i].b = IS_RIDDLE ? grey_ramp : 0;
 		grey_ramp += grey_step;
@@ -225,9 +219,6 @@ void krn_fade_to_grey(RGB8 *pal, int32 steps, int32 delay) {
 }
 
 void krn_fade_from_grey(RGB8 *pal, int32 steps, int32 delay, int32 fadeType) {
-	uint8 *tempPtr;
-	int32 i;
-
 	if (!_G(kernel).fading_to_grey) {
 		return;
 	}
@@ -241,9 +232,9 @@ void krn_fade_from_grey(RGB8 *pal, int32 steps, int32 delay, int32 fadeType) {
 	make_translation_table(_GP(trick)); // This is used in fade_to_grey too!
 
 	// for every pixel in the screen, move any pixel in the GREY_START-GREY_END range out in to the free range
-	tempPtr = grey_screen->data;
+	uint8 *tempPtr = grey_screen->data;
 	// note: this loop should be y0 to y1, x0 to x1, not a stride*h loop.
-	for (i = 0; i < (grey_screen->stride * grey_screen->h); ++i) {
+	for (int32 i = 0; i < (grey_screen->stride * grey_screen->h); ++i) {
 		if (!(i & 0x3ff)) {
 			_G(digi).task();
 			_G(midi).task();
@@ -256,9 +247,9 @@ void krn_fade_from_grey(RGB8 *pal, int32 steps, int32 delay, int32 fadeType) {
 		tempPtr++;
 	}
 
-	// Term_message ("remaped indexes out of grey ramp");
+	// Remapped indexes out of grey ramp
 	RestoreScreens(MIN_VIDEO_X, MIN_VIDEO_Y, MAX_VIDEO_X, MAX_VIDEO_Y);
-	// Term_message ("setting grey ramp indexes back to picture greys");
+	// Setting grey ramp indexes back to picture greys
 	gr_pal_set_range(_GP(fadeToMe), GREY_START, NUM_GREYS);   // get the rest of the original re-luminance colors
 
 	//recopy screenPicture to screen to restore original pixels
@@ -790,7 +781,6 @@ void DAC_tint_range(const RGB8 *tintColor, int32 percent, int32 firstPalEntry, i
 	int32 i;
 	int32 r, g, b, dr, dg, db;
 	RGB8 color, targetColor;
-	int32 percent_r, percent_g, percent_b;
 
 	if ((firstPalEntry < 0) || (lastPalEntry > 255) || (firstPalEntry > lastPalEntry)) {
 		// This should generate an error
@@ -798,7 +788,7 @@ void DAC_tint_range(const RGB8 *tintColor, int32 percent, int32 firstPalEntry, i
 		return;
 	}
 
-	term_message("Colour tint DAC to: %d %d %d, %d percent, range (%d - %d)",
+	term_message("Color tint DAC to: %d %d %d, %d percent, range (%d - %d)",
 		tintColor->r, tintColor->g, tintColor->b, percent, firstPalEntry, lastPalEntry);
 	percent = DivSF16(percent << 16, 100 << 16); // convert percent to frac16 format
 
@@ -844,9 +834,9 @@ void DAC_tint_range(const RGB8 *tintColor, int32 percent, int32 firstPalEntry, i
 		for (i = firstPalEntry; i <= lastPalEntry; ++i) {
 			// Converting rgb to a frac16 ( << 16) dividing by 256 ( >> 8) 
 			// (the range of the palette values)
-			percent_r = (targetColor.r) << 8;
-			percent_g = (targetColor.g) << 8;
-			percent_b = (targetColor.b) << 8;
+			int32 percent_r = (targetColor.r) << 8;
+			int32 percent_g = (targetColor.g) << 8;
+			int32 percent_b = (targetColor.b) << 8;
 
 			// This is the difference between the color and the full effect
 			// of the filter at 100%, as a frac16.
diff --git a/engines/m4/gui/gui_buffer.cpp b/engines/m4/gui/gui_buffer.cpp
index 43d773b763f..b4601805b1d 100644
--- a/engines/m4/gui/gui_buffer.cpp
+++ b/engines/m4/gui/gui_buffer.cpp
@@ -36,12 +36,11 @@ static void Buffer_Show(void *s, void *r, void *b, int32 destX, int32 destY) {
 	ScreenContext *myScreen = (ScreenContext *)s;
 	RectList *myRectList = (RectList *)r;
 	Buffer *destBuffer = (Buffer *)b;
-	Buffer *myBuffer;
 	RectList *myRect;
 
 	// Parameter verification
 	if (!myScreen) return;
-	myBuffer = (Buffer *)(myScreen->scrnContent);
+	Buffer *myBuffer = (Buffer *)(myScreen->scrnContent);
 	if (!myBuffer)
 		return;
 
@@ -65,10 +64,8 @@ static void Buffer_Show(void *s, void *r, void *b, int32 destX, int32 destY) {
 }
 
 bool gui_buffer_register(int32 x1, int32 y1, Buffer *myBuf, uint32 scrnFlags, EventHandler evtHandler) {
-	int32 x2, y2;
-
-	x2 = x1 + myBuf->w - 1;
-	y2 = y1 + myBuf->h - 1;
+	int32 x2 = x1 + myBuf->w - 1;
+	int32 y2 = y1 + myBuf->h - 1;
 
 	if (!vmng_screen_create(x1, y1, x2, y2, SCRN_BUF, scrnFlags | SF_OFFSCRN, (void *)myBuf,
 		(RefreshFunc)Buffer_Show, evtHandler))
@@ -81,20 +78,18 @@ void GrBuff_Show(void *s, void *r, void *b, int32 destX, int32 destY) {
 	ScreenContext *myScreen = (ScreenContext *)s;
 	RectList *myRectList = (RectList *)r;
 	Buffer *destBuffer = (Buffer *)b;
-	GrBuff *myGrBuffer;
-	Buffer *myBuffer;
 	RectList *myRect;
 
 	// Parameter verification
 	if (!myScreen)
 		return;
 
-	myGrBuffer = (GrBuff *)myScreen->scrnContent;
+	GrBuff *myGrBuffer = (GrBuff *)myScreen->scrnContent;
 
 	if (!myGrBuffer)
 		return;
 
-	myBuffer = myGrBuffer->get_buffer();
+	Buffer *myBuffer = myGrBuffer->get_buffer();
 	if (!myBuffer)
 		return;
 
diff --git a/engines/m4/gui/gui_cheapo.cpp b/engines/m4/gui/gui_cheapo.cpp
index 0bc1f33b596..3d9c4d58a07 100644
--- a/engines/m4/gui/gui_cheapo.cpp
+++ b/engines/m4/gui/gui_cheapo.cpp
@@ -23,7 +23,6 @@
 #include "m4/gui/gui_vmng_core.h"
 #include "m4/gui/gui_vmng_screen.h"
 #include "m4/graphics/gr_font.h"
-#include "m4/graphics/gr_line.h"
 #include "m4/graphics/gr_pal.h"
 #include "m4/graphics/gr_series.h"
 #include "m4/adv_r/adv_trigger.h"
diff --git a/engines/m4/gui/gui_dialog.cpp b/engines/m4/gui/gui_dialog.cpp
index a245a923249..ee820e74b17 100644
--- a/engines/m4/gui/gui_dialog.cpp
+++ b/engines/m4/gui/gui_dialog.cpp
@@ -127,8 +127,7 @@ void gui_dialog_shutdown() {
 
 void vmng_TextScrn_Destroy(TextScrn *myTextScrn) {
 	TextItem *myTextItems;
-	TextItem *tempTextItem;
-	tempTextItem = myTextItems = myTextScrn->myTextItems;
+	TextItem *tempTextItem = myTextItems = myTextScrn->myTextItems;
 
 	while (tempTextItem) {
 		myTextItems = myTextItems->next;
@@ -142,7 +141,6 @@ void vmng_TextScrn_Destroy(TextScrn *myTextScrn) {
 }
 
 Dialog *DialogCreateAbsolute(int32 x1, int32 y1, int32 x2, int32 y2, uint32 scrnFlags) {
-	Buffer *tempBuffer;
 	Dialog *dialog;
 	ButtonDrawRec bdr;
 
@@ -168,7 +166,7 @@ Dialog *DialogCreateAbsolute(int32 x1, int32 y1, int32 x2, int32 y2, uint32 scrn
 		(RefreshFunc)DialogShow, (EventHandler)Dialog_EventHandler)) return nullptr;
 
 	// Draw dialog box bounding rectangle
-	tempBuffer = dialog->dlgBuffer->get_buffer();
+	Buffer *tempBuffer = dialog->dlgBuffer->get_buffer();
 	bdr.dialog = (void *)dialog;
 	bdr.scrBuf = tempBuffer;
 	bdr.fillMe = FILL_INTERIOR;
@@ -186,8 +184,7 @@ Dialog *DialogCreate(M4Rect *r, uint32 scrnFlags) {
 
 void vmng_Dialog_Destroy(Dialog *d) {
 	Item *myItems;
-	Item *tempItem;
-	tempItem = myItems = d->itemList;
+	Item *tempItem = myItems = d->itemList;
 	while (tempItem) {
 		myItems = myItems->next;
 		Item_destroy(tempItem);
@@ -232,8 +229,8 @@ bool GetDialogCoords(Dialog *d, M4Rect *r) {
 }
 
 bool Dialog_Add_Message(Dialog *d, int32 x, int32 y, const char *prompt, int32 tag) {
-	Item *myItem;
-	if ((myItem = ItemAdd(d->itemList, x, y, 0, 0, prompt, tag, MESSAGE, nullptr, 0)) == nullptr) {
+	Item *myItem = ItemAdd(d->itemList, x, y, 0, 0, prompt, tag, MESSAGE, nullptr, 0);
+	if (myItem == nullptr) {
 		return false;
 	}
 
@@ -245,9 +242,8 @@ bool Dialog_Add_Message(Dialog *d, int32 x, int32 y, const char *prompt, int32 t
 }
 
 bool Dialog_Add_Picture(Dialog *d, int32 x, int32 y, Buffer *myBuff, int32 tag) {
-	Item *myItem;
-	if ((myItem = ItemAdd(d->itemList, x, y,
-		myBuff->w, myBuff->h, (char *)myBuff->data, tag, PICTURE, nullptr, 0)) == nullptr) {
+	Item *myItem = ItemAdd(d->itemList, x, y, myBuff->w, myBuff->h, (char *)myBuff->data, tag, PICTURE, nullptr, 0);
+	if (myItem == nullptr) {
 		return false;
 	}
 
@@ -260,8 +256,8 @@ bool Dialog_Add_Picture(Dialog *d, int32 x, int32 y, Buffer *myBuff, int32 tag)
 }
 
 bool Dialog_Add_Button(Dialog *d, int32 x, int32 y, const char *prompt, M4CALLBACK cb, int32 tag) {
-	Item *myItem;
-	if ((myItem = ItemAdd(d->itemList, x, y, 0, 0, prompt, tag, BUTTON, cb, 0)) == nullptr) {
+	Item *myItem = ItemAdd(d->itemList, x, y, 0, 0, prompt, tag, BUTTON, cb, 0);
+	if (myItem == nullptr) {
 		return false;
 	}
 	if (!d->itemList)
@@ -273,8 +269,8 @@ bool Dialog_Add_Button(Dialog *d, int32 x, int32 y, const char *prompt, M4CALLBA
 }
 
 bool Dialog_Add_RepeatButton(Dialog *d, int32 x, int32 y, const char *prompt, M4CALLBACK cb, int32 tag) {
-	Item *myItem;
-	if ((myItem = ItemAdd(d->itemList, x, y, 0, 0, prompt, tag, REPEAT_BUTTON, cb, 0)) == nullptr) {
+	Item *myItem = ItemAdd(d->itemList, x, y, 0, 0, prompt, tag, REPEAT_BUTTON, cb, 0);
+	if (myItem == nullptr) {
 		return false;
 	}
 
@@ -286,10 +282,9 @@ bool Dialog_Add_RepeatButton(Dialog *d, int32 x, int32 y, const char *prompt, M4
 	return true;
 }
 
-bool Dialog_Add_List(Dialog *d, int32 x1, int32 y1, int32 x2, int32 y2,
-	M4CALLBACK cb, int32 tag) {
-	Item *myItem;
-	if ((myItem = ItemAdd(d->itemList, x1, y1, x2 - x1 + 1, y2 - y1 + 1, nullptr, tag, LISTBOX, cb, 0)) == nullptr) {
+bool Dialog_Add_List(Dialog *d, int32 x1, int32 y1, int32 x2, int32 y2, M4CALLBACK cb, int32 tag) {
+	Item *myItem = ItemAdd(d->itemList, x1, y1, x2 - x1 + 1, y2 - y1 + 1, nullptr, tag, LISTBOX, cb, 0);
+	if (myItem == nullptr) {
 		return false;
 	}
 	if (!d->itemList)
@@ -300,10 +295,9 @@ bool Dialog_Add_List(Dialog *d, int32 x1, int32 y1, int32 x2, int32 y2,
 	return true;
 }
 
-bool Dialog_Add_TextField(Dialog *d, int32 x1, int32 y1, int32 x2,
-		const char *defaultPrompt, M4CALLBACK cb, int32 tag, int32 fieldLength) {
-	Item *myItem;
-	if ((myItem = ItemAdd(d->itemList, x1, y1, x2 - x1 + 1, 0, defaultPrompt, tag, TEXTFIELD, cb, fieldLength)) == nullptr) {
+bool Dialog_Add_TextField(Dialog *d, int32 x1, int32 y1, int32 x2, const char *defaultPrompt, M4CALLBACK cb, int32 tag, int32 fieldLength) {
+	Item *myItem = ItemAdd(d->itemList, x1, y1, x2 - x1 + 1, 0, defaultPrompt, tag, TEXTFIELD, cb, fieldLength);
+	if (myItem == nullptr) {
 		return false;
 	}
 	if (!d->itemList)
@@ -323,11 +317,8 @@ bool Dialog_Remove_Key(Dialog *d, long myKey) {
 }
 
 bool Dialog_Remove_Item(Dialog *d, Item *myItem, int32 tag) {
-	Buffer *tempBuffer;
-	ScreenContext *myScreen;
 	int32 status;
-
-	myScreen = vmng_screen_find((void *)d, &status);
+	ScreenContext *myScreen = vmng_screen_find((void *)d, &status);
 	if (!myScreen)
 		return false;
 	if (!myItem)
@@ -346,7 +337,7 @@ bool Dialog_Remove_Item(Dialog *d, Item *myItem, int32 tag) {
 		d->itemList = myItem->next;
 
 	gr_color_set(__LTGRAY);
-	tempBuffer = d->dlgBuffer->get_buffer();
+	Buffer *tempBuffer = d->dlgBuffer->get_buffer();
 	gr_buffer_rect_fill(tempBuffer, myItem->x, myItem->y, myItem->w, myItem->h);
 	d->dlgBuffer->release();
 	if (status == SCRN_ACTIVE) {
@@ -371,17 +362,15 @@ bool Dialog_ListItemExists(Dialog *d, Item *myItem, int32 tag, char *prompt, int
 }
 
 bool Dialog_Add_List_Item(Dialog *d, Item *myItem, char *prompt, int32 tag, int32 listTag, int32 addMode, bool refresh) {
-	ScreenContext *myScreen;
 	int32 status;
-	bool retValue;
-	myScreen = vmng_screen_find((void *)d, &status);
+	ScreenContext *myScreen = vmng_screen_find((void *)d, &status);
 
 	if (!myScreen)
 		return false;
 	if (!myItem)
 		myItem = ItemFind(d->itemList, tag);
 
-	retValue = ListItemAdd(myItem, prompt, listTag, addMode, nullptr);
+	bool retValue = ListItemAdd(myItem, prompt, listTag, addMode, nullptr);
 
 	if (retValue && refresh) {
 		Dialog_Refresh_Item(d, myItem, myItem->tag);
@@ -391,9 +380,9 @@ bool Dialog_Add_List_Item(Dialog *d, Item *myItem, char *prompt, int32 tag, int3
 }
 
 bool Dialog_Delete_List_Item(Dialog *d, Item *myItem, int32 tag, ListItem *myListItem, int32 listTag) {
-	ScreenContext *myScreen;
 	int32 status;
-	if ((myScreen = vmng_screen_find((void *)d, &status)) == nullptr)
+	ScreenContext *myScreen = vmng_screen_find((void *)d, &status);
+	if (myScreen == nullptr)
 		return false;
 
 	if (!myItem) {
@@ -409,10 +398,8 @@ bool Dialog_Delete_List_Item(Dialog *d, Item *myItem, int32 tag, ListItem *myLis
 
 bool Dialog_Change_List_Item(Dialog *d, Item *myItem, int32 tag, ListItem *myListItem,
 	int32 listTag, char *newPrompt, int32 newListTag, int32 changeMode, bool refresh) {
-	ScreenContext *myScreen;
 	int32 status;
-	bool retValue;
-	myScreen = vmng_screen_find((void *)d, &status);
+	ScreenContext *myScreen = vmng_screen_find((void *)d, &status);
 
 	if (!myScreen)
 		return false;
@@ -421,7 +408,7 @@ bool Dialog_Change_List_Item(Dialog *d, Item *myItem, int32 tag, ListItem *myLis
 		myListItem = nullptr;
 	}
 
-	retValue = ListItemChange(myItem, myListItem, listTag, newPrompt, newListTag, changeMode);
+	bool retValue = ListItemChange(myItem, myListItem, listTag, newPrompt, newListTag, changeMode);
 	if (retValue && refresh) {
 		Dialog_Refresh_Item(d, myItem, myItem->tag);
 	}
@@ -430,11 +417,10 @@ bool Dialog_Change_List_Item(Dialog *d, Item *myItem, int32 tag, ListItem *myLis
 }
 
 void Dialog_Change_Item_Prompt(Dialog *d, const char *newPrompt, Item *myItem, int32 tag) {
-	Buffer *tempBuffer;
-	ScreenContext *myScreen;
-	int32 status, tempWidth, tempHeight, itemType;
+	int32 status, itemType;
+	ScreenContext *myScreen = vmng_screen_find((void *)d, &status);
 
-	if ((myScreen = vmng_screen_find((void *)d, &status)) == nullptr) {
+	if (myScreen == nullptr) {
 		return;
 	}
 	if (!myItem) {
@@ -442,14 +428,14 @@ void Dialog_Change_Item_Prompt(Dialog *d, const char *newPrompt, Item *myItem, i
 	}
 
 	if (myItem) {
-		tempWidth = myItem->w;
-		tempHeight = myItem->h;
+		int32 tempWidth = myItem->w;
+		int32 tempHeight = myItem->h;
 
 		if (Item_change_prompt(myItem, newPrompt)) {
 			tempWidth = imath_max(tempWidth, myItem->w);
 			tempHeight = imath_max(tempHeight, myItem->h);
 			gr_color_set(__LTGRAY);
-			tempBuffer = d->dlgBuffer->get_buffer();
+			Buffer *tempBuffer = d->dlgBuffer->get_buffer();
 			gr_buffer_rect_fill(tempBuffer, myItem->x, myItem->y, tempWidth, tempHeight);
 
 			if (myItem == d->default_item) {
@@ -474,10 +460,8 @@ void Dialog_Change_Item_Prompt(Dialog *d, const char *newPrompt, Item *myItem, i
 }
 
 bool Dialog_ListboxSearch(Dialog *d, Item *myItem, int32 tag, int32 searchMode, char *searchStr, int32 parm1) {
-	ScreenContext *myScreen;
 	int32 status;
-	bool returnValue;
-	myScreen = vmng_screen_find((void *)d, &status);
+	ScreenContext *myScreen = vmng_screen_find((void *)d, &status);
 
 	if (!myScreen)
 		return false;
@@ -486,7 +470,7 @@ bool Dialog_ListboxSearch(Dialog *d, Item *myItem, int32 tag, int32 searchMode,
 	if (!myItem || (myItem->type != LISTBOX))
 		return false;
 
-	returnValue = ListItemSearch(myItem, searchMode, searchStr, parm1);
+	bool returnValue = ListItemSearch(myItem, searchMode, searchStr, parm1);
 	Dialog_Refresh_Item(d, myItem, myItem->tag);
 	return returnValue;
 }
@@ -499,13 +483,13 @@ Item *Dialog_Get_Item(Dialog *d, int32 tag) {
 }
 
 void Dialog_Refresh_Item(Dialog *d, Item *myItem, int32 tag) {
-	Buffer *tempBuffer;
-	ScreenContext *myScreen;
-	int32 status, itemType;
-
 	if (!d)
 		return;
-	if ((myScreen = vmng_screen_find((void *)d, &status)) == nullptr)
+
+	int32 status, itemType;
+	ScreenContext *myScreen = vmng_screen_find((void *)d, &status);
+
+	if (myScreen == nullptr)
 		return;
 	if (!myItem)
 		myItem = ItemFind(d->itemList, tag);
@@ -519,7 +503,7 @@ void Dialog_Refresh_Item(Dialog *d, Item *myItem, int32 tag) {
 	else
 		itemType = ITEM_NORMAL;
 
-	tempBuffer = d->dlgBuffer->get_buffer();
+	Buffer *tempBuffer = d->dlgBuffer->get_buffer();
 	if (Item_show(myItem, (void *)d, tempBuffer, itemType)) {
 		if (status == SCRN_ACTIVE) {
 			RestoreScreens(myScreen->x1 + myItem->x, myScreen->y1 + myItem->y,
@@ -532,22 +516,19 @@ void Dialog_Refresh_Item(Dialog *d, Item *myItem, int32 tag) {
 }
 
 void Dialog_Refresh(Dialog *d) {
-	Buffer *tempBuffer;
-	ScreenContext *myScreen;
-	Item *i;
 	int32 status, itemType;
 	ButtonDrawRec bdr;
 
 	if (!d) return;
 
-	tempBuffer = d->dlgBuffer->get_buffer();
+	Buffer *tempBuffer = d->dlgBuffer->get_buffer();
 	bdr.dialog = (void *)d;
 	bdr.scrBuf = tempBuffer; bdr.fillMe = FILL_INTERIOR;
 	bdr.pressed = false; bdr.el_type = DIALOGBOX;
 	bdr.x1 = 0; bdr.y1 = 0; bdr.x2 = d->w - 1; bdr.y2 = d->h - 1;
 	drawGUIelement(&bdr, nullptr);
 
-	for (i = d->itemList; i != nullptr; i = i->next) {
+	for (Item *i = d->itemList; i != nullptr; i = i->next) {
 		if (i == d->default_item) itemType = ITEM_DEFAULT;
 		else if (i == d->return_item) itemType = ITEM_RETURN;
 		else itemType = ITEM_NORMAL;
@@ -556,7 +537,8 @@ void Dialog_Refresh(Dialog *d) {
 
 	d->dlgBuffer->release();
 
-	if ((myScreen = vmng_screen_find((void *)d, &status)) == nullptr)
+	ScreenContext *myScreen = vmng_screen_find((void *)d, &status);
+	if (myScreen == nullptr)
 		return;
 	if (status == SCRN_ACTIVE) {
 		RestoreScreens(myScreen->x1, myScreen->y1, myScreen->x2, myScreen->y2);
@@ -564,8 +546,7 @@ void Dialog_Refresh(Dialog *d) {
 }
 
 void Dialog_Refresh_All(void) {
-	ScreenContext *myScreen;
-	myScreen = _G(frontScreen);
+	ScreenContext *myScreen = _G(frontScreen);
 
 	while (myScreen) {
 		if (myScreen->scrnType == SCRN_DLG) {
@@ -601,14 +582,12 @@ static void DialogShow(void *s, void *r, void *b, int32 destX, int32 destY) {
 	ScreenContext *myScreen = (ScreenContext *)s;
 	RectList *myRectList = (RectList *)r;
 	Buffer *destBuffer = (Buffer *)b;
-	Buffer *tempBuffer;
-	Dialog *d;
 	RectList *myRect;
 
 	// Parameter verification
 	if (!myScreen)
 		return;
-	d = (Dialog *)(myScreen->scrnContent);
+	Dialog *d = (Dialog *)(myScreen->scrnContent);
 	if (!d)
 		return;
 
@@ -623,7 +602,7 @@ static void DialogShow(void *s, void *r, void *b, int32 destX, int32 destY) {
 		}
 	} else {
 		// Else draw to the dest buffer
-		tempBuffer = d->dlgBuffer->get_buffer();
+		Buffer *tempBuffer = d->dlgBuffer->get_buffer();
 		myRect = myRectList;
 
 		while (myRect) {
@@ -650,15 +629,13 @@ void Dialog_Configure(Dialog *d, int32 defaultTag, int32 returnTag, int32 cancel
 }
 
 void Dialog_SetDefault(Dialog *d, int32 tag) {
-	ScreenContext *myScreen;
-	Item *origItem, *newDefault;
 	int32 status;
-	myScreen = vmng_screen_find((void *)d, &status);
+	ScreenContext *myScreen = vmng_screen_find((void *)d, &status);
 	if (!myScreen)
 		return;
 
-	origItem = d->default_item;
-	newDefault = Item_set_default(d->itemList, d->default_item, tag);
+	Item *origItem = d->default_item;
+	Item *newDefault = Item_set_default(d->itemList, d->default_item, tag);
 
 	if ((!newDefault) || ((newDefault->type != LISTBOX) && (newDefault->type != TEXTFIELD))) {
 		d->default_item = nullptr;
@@ -673,15 +650,13 @@ void Dialog_SetDefault(Dialog *d, int32 tag) {
 }
 
 bool Dialog_SetPressed(Dialog *d, int32 tag) {
-	ScreenContext *myScreen;
-	Item *myItem;
 	int32 status;
-	myScreen = vmng_screen_find((void *)d, &status);
+	ScreenContext *myScreen = vmng_screen_find((void *)d, &status);
 
 	if (!myScreen)
 		return false;
 
-	myItem = Item_set_pressed(d->itemList, nullptr, tag);
+	Item *myItem = Item_set_pressed(d->itemList, nullptr, tag);
 
 	if (myItem) {
 		Dialog_Refresh_Item(d, myItem, myItem->tag);
@@ -692,15 +667,12 @@ bool Dialog_SetPressed(Dialog *d, int32 tag) {
 }
 
 static bool Dialog_SetUnpressed(Dialog *d, int32 tag) {
-	ScreenContext *myScreen;
-	Item *myItem;
 	int32 status;
-
-	myScreen = vmng_screen_find((void *)d, &status);
+	ScreenContext *myScreen = vmng_screen_find((void *)d, &status);
 	if (!myScreen)
 		return false;
 
-	myItem = Item_set_unpressed(d->itemList, nullptr, tag);
+	Item *myItem = Item_set_unpressed(d->itemList, nullptr, tag);
 	if (myItem) {
 		Dialog_Refresh_Item(d, myItem, myItem->tag);
 		return true;
@@ -711,7 +683,6 @@ static bool Dialog_SetUnpressed(Dialog *d, int32 tag) {
 
 static bool Dialog_SetNextDefault(ScreenContext *myScreen, Dialog *d) {
 	int32 status;
-	Item *origItem;
 
 	if (!myScreen)
 		myScreen = vmng_screen_find((void *)d, &status);
@@ -720,7 +691,7 @@ static bool Dialog_SetNextDefault(ScreenContext *myScreen, Dialog *d) {
 	if (!myScreen)
 		return false;
 
-	origItem = d->default_item;
+	Item *origItem = d->default_item;
 	d->default_item = Item_set_next_default(d->default_item, d->itemList);
 	if (status == SCRN_ACTIVE) {
 		if (origItem && (origItem != d->default_item)) {
@@ -739,7 +710,6 @@ static bool Dialog_SetNextDefault(ScreenContext *myScreen, Dialog *d) {
 
 static bool Dialog_SetPrevDefault(ScreenContext *myScreen, Dialog *d) {
 	int32 status;
-	Item *origItem;
 
 	if (!myScreen)
 		myScreen = vmng_screen_find((void *)d, &status);
@@ -748,7 +718,7 @@ static bool Dialog_SetPrevDefault(ScreenContext *myScreen, Dialog *d) {
 	if (!myScreen)
 		return false;
 
-	origItem = d->default_item;
+	Item *origItem = d->default_item;
 	d->default_item = Item_set_prev_default(d->default_item, d->listBottom);
 
 	if (status == SCRN_ACTIVE) {
@@ -810,16 +780,16 @@ ListItem *Dialog_GetCurrListItem(Dialog *d, Item *i, int32 tag) {
 }
 
 char *Dialog_GetCurrListItemPrompt(Dialog *d, Item *i, int32 tag) {
-	ListItem *myListItem;
-	if ((myListItem = Dialog_GetCurrListItem(d, i, tag)) == nullptr)
+	ListItem *myListItem = Dialog_GetCurrListItem(d, i, tag);
+	if (myListItem == nullptr)
 		return nullptr;
 
 	return myListItem->prompt;
 }
 
 bool Dialog_GetCurrListItemTag(Dialog *d, Item *i, int32 tag, int32 *listTag) {
-	ListItem *myListItem;
-	if ((myListItem = Dialog_GetCurrListItem(d, i, tag)) == nullptr)
+	ListItem *myListItem = Dialog_GetCurrListItem(d, i, tag);
+	if (myListItem == nullptr)
 		return false;
 
 	*listTag = myListItem->tag;
@@ -827,13 +797,13 @@ bool Dialog_GetCurrListItemTag(Dialog *d, Item *i, int32 tag, int32 *listTag) {
 }
 
 char *Dialog_GetListItemPrompt(Dialog *d, Item *i, int32 tag, int32 listTag) {
-	ListItem *myListItem;
-
 	if (!i)
 		i = ItemFind(d->itemList, tag);
 	if (!i)
 		return nullptr;
-	if ((myListItem = ListItemFind(i, LIST_BY_TAG, nullptr, listTag)) == nullptr)
+
+	ListItem *myListItem = ListItemFind(i, LIST_BY_TAG, nullptr, listTag);
+	if (myListItem == nullptr)
 		return nullptr;
 
 	return myListItem->prompt;
@@ -856,10 +826,9 @@ void Dialog_EmptyListBox(Dialog *d, Item *i, int32 tag) {
 
 void Dialog_RegisterTextField(Dialog *d) {
 	Item *myItem = nullptr;
-	ScreenContext *myScreen;
 	int32 status;
 
-	myScreen = vmng_screen_find((void *)d, &status);
+	ScreenContext *myScreen = vmng_screen_find((void *)d, &status);
 	if ((!myScreen) || (status != SCRN_ACTIVE))
 		return;
 	if ((myItem = Item_CheckTextField()) == nullptr)
@@ -906,12 +875,9 @@ void Dialog_KeyMouseCollision(void) {
 }
 
 static bool Dialog_EventHandler(void *myDialog, int32 eventType, int32 parm1, int32 parm2, int32 parm3, bool *currScreen) {
-	ScreenContext *myScreen;
 	Dialog *d = (Dialog *)myDialog;
-	Item *myItem, *textItem;
+	Item *textItem;
 	int32 status;
-	bool handled;
-	bool clearClickItem;
 	static uint32 repeatTime;
 	int32 scrollable = 0;
 	uint32 tempTime;
@@ -919,12 +885,12 @@ static bool Dialog_EventHandler(void *myDialog, int32 eventType, int32 parm1, in
 	static int32 movingY;
 	char tempStr[2];
 
-	myScreen = vmng_screen_find(myDialog, &status);
+	ScreenContext *myScreen = vmng_screen_find(myDialog, &status);
 	if ((!myScreen) || (status != SCRN_ACTIVE))
 		return false;
 
 	if (eventType == EVENT_KEY) {
-		handled = false;
+		bool handled = false;
 		if (d->default_item) {
 			if (d->default_item->type == TEXTFIELD) {
 				_GD(listboxSearchStr)[0] = '\0';
@@ -1037,14 +1003,14 @@ static bool Dialog_EventHandler(void *myDialog, int32 eventType, int32 parm1, in
 		return handled;
 	} else if (eventType == EVENT_MOUSE) {
 		if (parm1 != _ME_move) _GD(listboxSearchStr)[0] = '\0';
-		myItem = d->itemList;
+		Item *myItem = d->itemList;
 		while (myItem && (!((parm2 - myScreen->x1 >= myItem->x) &&
 			(parm2 - myScreen->x1 <= (myItem->x + myItem->w - 1)) &&
 			(parm3 - myScreen->y1 >= myItem->y) &&
 			(parm3 - myScreen->y1 <= (myItem->y + myItem->h - 1))))) {
 			myItem = myItem->next;
 		}
-		clearClickItem = false;
+		bool clearClickItem = false;
 		switch (parm1) {
 		case _ME_L_click:
 			if (currScreen) *currScreen = true;
@@ -1206,26 +1172,21 @@ static bool Dialog_EventHandler(void *myDialog, int32 eventType, int32 parm1, in
 
 static void TextScrn_Show(void *s, void *r, void *b, int32 destX, int32 destY) {
 	ScreenContext *myScreen = (ScreenContext *)s;
-	TextScrn *myTextScrn;
-	TextItem *myItem;
 	matte *myRectList = (matte *)r;
 	Buffer *destBuffer = (Buffer *)b;
 	Buffer *myBuff;
-	GrBuff *myGrBuff;
-	ScreenContext *tempScreen;
 	matte *myMatte, tempMatte;
 	RectList *updateList, *updateRect;
 	RectList *newUpdateList;
-	Font *currFont;
 
 	// Parameter verification
 	if (!myScreen)
 		return;
-	myTextScrn = (TextScrn *)(myScreen->scrnContent);
+	TextScrn *myTextScrn = (TextScrn *)(myScreen->scrnContent);
 	if (!myTextScrn)
 		return;
 
-	myGrBuff = (GrBuff *)(myTextScrn->textScrnBuffer);
+	GrBuff *myGrBuff = (GrBuff *)(myTextScrn->textScrnBuffer);
 
 	if (!myGrBuff)
 		return;
@@ -1240,7 +1201,7 @@ static void TextScrn_Show(void *s, void *r, void *b, int32 destX, int32 destY) {
 		updateList->next = nullptr;
 
 		// Now loop through all the screens behind myScreen
-		tempScreen = myScreen->behind;
+		ScreenContext *tempScreen = myScreen->behind;
 		while (tempScreen && updateList) {
 			// Duplicate the updateList
 			newUpdateList = vmng_DuplicateRectList(updateList);
@@ -1268,7 +1229,7 @@ static void TextScrn_Show(void *s, void *r, void *b, int32 destX, int32 destY) {
 			}
 
 			// The newUpdateList now contains all the pieces not covered by tempScreen;
-			// Turf the update list, and replace it with the newupdateList
+			// Turf the update list, and replace it with the newUpdateList
 			vmng_DisposeRectList(&updateList);
 			updateList = newUpdateList;
 
@@ -1297,9 +1258,9 @@ static void TextScrn_Show(void *s, void *r, void *b, int32 destX, int32 destY) {
 
 		// Now myBuff should contain a copy of everything on the screen, except the actual contents of this transparent screen
 		// Now would be the time to draw the contents
-		currFont = gr_font_get();
+		Font *currFont = gr_font_get();
 		gr_font_set(myTextScrn->myFont);
-		myItem = myTextScrn->myTextItems;
+		TextItem *myItem = myTextScrn->myTextItems;
 		myBuff = myGrBuff->get_buffer();
 
 		while (myItem) {
@@ -1343,9 +1304,9 @@ TextScrn *TextScrn_Create(int32 x1, int32 y1, int32 x2, int32 y2, int32 luminanc
 	int32 textColor, int32 hiliteColor,
 	int32 textColorAlt1, int32 hiliteColorAlt1, int32 textColorAlt2, int32 hiliteColorAlt2) {
 
-	TextScrn *myTextScrn;
+	TextScrn *myTextScrn = (TextScrn *)mem_alloc(sizeof(TextScrn), STR_TEXTSCRN);
 
-	if ((myTextScrn = (TextScrn *)mem_alloc(sizeof(TextScrn), STR_TEXTSCRN)) == nullptr)
+	if (myTextScrn == nullptr)
 		return nullptr;
 
 	myTextScrn->w = x2 - x1 + 1;
@@ -1374,7 +1335,8 @@ TextScrn *TextScrn_Create(int32 x1, int32 y1, int32 x2, int32 y2, int32 luminanc
 }
 
 void TextScrn_Destroy(TextScrn *myTextScrn) {
-	if (!myTextScrn) return;
+	if (!myTextScrn)
+		return;
 	vmng_screen_dispose((void *)myTextScrn);
 	vmng_TextScrn_Destroy(myTextScrn);
 	_G(currScreen) = false;
@@ -1390,12 +1352,13 @@ bool TextScrn_Add_Key(TextScrn *myTextScrn, long myKey, HotkeyCB cb) {
 
 bool TextScrn_Add_TextItem(TextScrn *myTextScrn, int32 x, int32 y, int32 tag,
 	int32 justification, const char *prompt, M4CALLBACK callback) {
-	TextItem *myTextItem;
 
 	if (!myTextScrn) {
 		return false;
 	}
-	if ((myTextItem = (TextItem *)mem_alloc(sizeof(TextItem), "text item")) == nullptr)
+
+	TextItem *myTextItem = (TextItem *)mem_alloc(sizeof(TextItem), "text item");
+	if (myTextItem == nullptr)
 		return false;
 
 	myTextItem->w = gr_font_string_width(prompt, 0); // No auto spacing
@@ -1429,12 +1392,12 @@ bool TextScrn_Add_TextItem(TextScrn *myTextScrn, int32 x, int32 y, int32 tag,
 
 bool TextScrn_Add_Message(TextScrn *myTextScrn, int32 x, int32 y, int32 tag,
 	int32 justification, const char *prompt) {
-	TextItem *myTextItem;
 
 	if (!myTextScrn) {
 		return false;
 	}
-	if ((myTextItem = (TextItem *)mem_alloc(sizeof(TextItem), "textscrn msg")) == nullptr)
+	TextItem *myTextItem = (TextItem *)mem_alloc(sizeof(TextItem), "textscrn msg");
+	if (myTextItem == nullptr)
 		return false;
 
 	myTextItem->w = gr_font_string_width(prompt, 0); // No auto spacing
@@ -1467,28 +1430,31 @@ bool TextScrn_Add_Message(TextScrn *myTextScrn, int32 x, int32 y, int32 tag,
 }
 
 void TextScrn_Delete_TextItem(TextScrn *myTextScrn, int32 tag) {
-	ScreenContext *myScreen;
-	int32 status, x, y, w, h;
-	TextItem *myTextItem, *tempTextItem;
+	int32 status;
+	TextItem *tempTextItem;
 
-	if ((myScreen = vmng_screen_find((void *)myTextScrn, &status)) == nullptr)
+	ScreenContext *myScreen = vmng_screen_find((void *)myTextScrn, &status);
+	if (myScreen == nullptr)
 		return;
 
-	myTextItem = myTextScrn->myTextItems;
+	TextItem *myTextItem = myTextScrn->myTextItems;
 
 	if (myTextItem->tag == tag) {
 		myTextScrn->myTextItems = myTextItem->next;
 		tempTextItem = myTextItem;
 	} else {
-		while (myTextItem->next && (myTextItem->next->tag != tag)) myTextItem = myTextItem->next;
-		if ((tempTextItem = myTextItem->next) == nullptr) return;
+		while (myTextItem->next && (myTextItem->next->tag != tag))
+			myTextItem = myTextItem->next;
+		
+		if ((tempTextItem = myTextItem->next) == nullptr)
+			return;
 		myTextItem->next = tempTextItem->next;
 	}
 
-	x = tempTextItem->x;
-	y = tempTextItem->y;
-	w = tempTextItem->w;
-	h = tempTextItem->h;
+	int32 x = tempTextItem->x;
+	int32 y = tempTextItem->y;
+	int32 w = tempTextItem->w;
+	int32 h = tempTextItem->h;
 	mem_free(tempTextItem->prompt);
 	mem_free((void *)tempTextItem);
 
@@ -1498,21 +1464,19 @@ void TextScrn_Delete_TextItem(TextScrn *myTextScrn, int32 tag) {
 }
 
 static bool TextScrn_EventHandler(void *theTextScrn, int32 eventType, int32 parm1, int32 parm2, int32 parm3, bool *currScreen) {
-	ScreenContext *myScreen;
 	TextScrn *myTextScrn = (TextScrn *)theTextScrn;
-	TextItem *myTextItem, *oldHiliteItem;
 	int32 status;
 	static int32 movingX;
 	static int32 movingY;
 
-	myScreen = vmng_screen_find(theTextScrn, &status);
+	ScreenContext *myScreen = vmng_screen_find(theTextScrn, &status);
 
 	if ((!myScreen) || (status != SCRN_ACTIVE))
 		return false;
 	if (!(eventType == EVENT_MOUSE))
 		return false;
 
-	myTextItem = myTextScrn->myTextItems;
+	TextItem *myTextItem = myTextScrn->myTextItems;
 	while (myTextItem && (!((parm2 >= myScreen->x1) &&
 		(parm2 <= myScreen->x2) &&
 		(parm3 - myScreen->y1 >= myTextItem->y) &&
@@ -1525,7 +1489,7 @@ static bool TextScrn_EventHandler(void *theTextScrn, int32 eventType, int32 parm
 	}
 
 	if (myTextItem != myTextScrn->hiliteItem) {
-		oldHiliteItem = myTextScrn->hiliteItem;
+		TextItem *oldHiliteItem = myTextScrn->hiliteItem;
 		myTextScrn->hiliteItem = myTextItem;
 		if (oldHiliteItem) {
 			RestoreScreens(myScreen->x1 + oldHiliteItem->x, myScreen->y1 + oldHiliteItem->y,
diff --git a/engines/m4/m4_types.h b/engines/m4/m4_types.h
index 717ca1e2d85..8f5d8e9ccee 100644
--- a/engines/m4/m4_types.h
+++ b/engines/m4/m4_types.h
@@ -86,7 +86,7 @@ struct token {
 
 #include "common/pack-start.h"  // START STRUCT PACKING
 struct RGB8 {
-	byte r, g, b;
+	byte r = 0, g = 0, b = 0;
 } PACKED_STRUCT;
 #include "common/pack-end.h"	// END STRUCT PACKING
 




More information about the Scummvm-git-logs mailing list