[Scummvm-git-logs] scummvm master -> 2e3902fad051a5bbd107525d9558b8f167bf8ae6

bluegr noreply at scummvm.org
Fri Jul 1 17:04:45 UTC 2022


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

Summary:
5a44cf36e9 CHEWY: Merge AadTxtHeader and DialogCloseupTxtHeader
4746109b34 CHEWY: Refactor checkShadow() and rename it to setShadowPalette()
b1b80b0c50 CHEWY: Variable renaming
72ada40051 CHEWY: Get rid of cur_hide_flag
25a1e9b277 CHEWY: Remove the CursorStatus flag
e9db84613b CHEWY: Remove useless check
0d54f36825 CHEWY: Variable renaming
4edaf4a199 CHEWY: Get rid of the cur_display global. Some cleanup
2e3902fad0 CHEWY: Fix handling of the escape key - bug #13608


Commit: 5a44cf36e9e91c097bbbdca3f42f0dd85b691566
    https://github.com/scummvm/scummvm/commit/5a44cf36e9e91c097bbbdca3f42f0dd85b691566
Author: Filippos Karapetis (bluegr at gmail.com)
Date: 2022-07-01T20:04:21+03:00

Commit Message:
CHEWY: Merge AadTxtHeader and DialogCloseupTxtHeader

Changed paths:
    engines/chewy/atds.cpp
    engines/chewy/atds.h


diff --git a/engines/chewy/atds.cpp b/engines/chewy/atds.cpp
index d92fa82ae85..1b7667a6cca 100644
--- a/engines/chewy/atds.cpp
+++ b/engines/chewy/atds.cpp
@@ -55,16 +55,6 @@ void AadInfoArray::load(const void *data, size_t count) {
 		(*this)[i].load(&src);
 }
 
-bool AadTxtHeader::load(const void *src) {
-	Common::MemoryReadStream rs((const byte *)src, 8);
-
-	_diaNr = rs.readSint16LE();
-	_perNr = rs.readSint16LE();
-	_aMov = rs.readSint16LE();
-	_curNr = rs.readSint16LE();
-	return true;
-}
-
 bool DialogCloseupTxtHeader::load(const void *src) {
 	Common::MemoryReadStream rs((const byte *)src, 8);
 
@@ -756,10 +746,10 @@ void Atdsys::aad_search_dia(int16 diaNr, char **ptr) {
 			uint16 *pos = (uint16 *)start_ptr;
 			if (pos[0] == diaNr) {
 				ende = true;
-				_aadv._txtHeader = (AadTxtHeader *)start_ptr;
-				*ptr = start_ptr + sizeof(AadTxtHeader);
+				_aadv._txtHeader = (DialogCloseupTxtHeader *)start_ptr;
+				*ptr = start_ptr + sizeof(DialogCloseupTxtHeader);
 			} else {
-				start_ptr += sizeof(AadTxtHeader) + pos[1] * sizeof(AadInfo);
+				start_ptr += sizeof(DialogCloseupTxtHeader) + pos[1] * sizeof(AadInfo);
 				bool ende1 = false;
 				for (; !ende1; ++start_ptr) {
 					if (*start_ptr != ATDS_END_TEXT)
diff --git a/engines/chewy/atds.h b/engines/chewy/atds.h
index 1230fdc4354..74dadb6e945 100644
--- a/engines/chewy/atds.h
+++ b/engines/chewy/atds.h
@@ -84,10 +84,6 @@ namespace Chewy {
 struct KbdMouseInfo;
 class Text;
 
-struct AdsDiaHeaders {
-	int16 _nr;
-};
-
 struct AtdsVar {
 	int16 _silent = 0;
 	int16 _delay = 1;
@@ -122,33 +118,11 @@ public:
 	void load(const void *data, size_t count);
 };
 
-struct AadTxtHeader {
-	int16 _diaNr;
-	int16 _perNr;
-	int16 _aMov;
-	int16 _curNr;
-
-	bool load(const void *src);
-	static constexpr int SIZE() { return 8; }
-};
-
 struct AadStrHeader {
 	int16 _akPerson;
 	int16 _vocNr;
 };
 
-struct AadVar {
-	int16 _dialog;
-
-	AadTxtHeader *_txtHeader;
-	AadStrHeader *_strHeader;
-	AadInfoArray _person;
-	char *_ptr;
-	int16 _strNr;
-	int16 _delayCount;
-	int16 _silentCount;
-};
-
 // ADS (dialog closeup) header
 struct DialogCloseupTxtHeader {
 	int16 _diaNr;
@@ -177,6 +151,18 @@ struct DialogCloseupNextBlock {
 	int16 _endNr;
 };
 
+struct AadVar {
+	int16 _dialog;
+
+	DialogCloseupTxtHeader *_txtHeader;
+	AadStrHeader *_strHeader;
+	AadInfoArray _person;
+	char *_ptr;
+	int16 _strNr;
+	int16 _delayCount;
+	int16 _silentCount;
+};
+
 struct AtsTxtHeader {
 	uint16 _txtNr = 0;
 	int16 _aMov = 0;


Commit: 4746109b3415b25d63bc0c64473bfa91968de942
    https://github.com/scummvm/scummvm/commit/4746109b3415b25d63bc0c64473bfa91968de942
Author: Filippos Karapetis (bluegr at gmail.com)
Date: 2022-07-01T20:04:21+03:00

Commit Message:
CHEWY: Refactor checkShadow() and rename it to setShadowPalette()

Changed paths:
    engines/chewy/globals.h
    engines/chewy/main.cpp
    engines/chewy/r_event.cpp
    engines/chewy/rooms/room00.cpp
    engines/chewy/rooms/room02.cpp
    engines/chewy/rooms/room52.cpp
    engines/chewy/rooms/room63.cpp
    engines/chewy/sprite.cpp


diff --git a/engines/chewy/globals.h b/engines/chewy/globals.h
index 96a895f92fa..0b7278e6d63 100644
--- a/engines/chewy/globals.h
+++ b/engines/chewy/globals.h
@@ -340,7 +340,7 @@ void delInventory(int16 nr);
 
 bool isCurInventory(int16 nr);
 
-void checkShadow(int16 palIdx, int16 mode);
+void setShadowPalette(int16 palIdx, bool setPartialPalette);
 
 void get_scroll_off(int16 x, int16 y, int16 pic_x, int16 pic_y,
                     int16 *sc_x, int16 *sc_y);
diff --git a/engines/chewy/main.cpp b/engines/chewy/main.cpp
index ffb3f80e7a3..ec67eaeb99b 100644
--- a/engines/chewy/main.cpp
+++ b/engines/chewy/main.cpp
@@ -512,7 +512,7 @@ void setupScreen(SetupScreenMode mode) {
 			const int16 paletteId = _G(barriers)->getBarrierId(
 				_G(moveState)[P_CHEWY].Xypos[0] + _G(spieler_mi)[P_CHEWY].HotX,
 				_G(moveState)[P_CHEWY].Xypos[1] + _G(spieler_mi)[P_CHEWY].HotY);
-			checkShadow(paletteId, 0);
+			setShadowPalette(paletteId, false);
 		} else {
 			for (i = 0; i < MAX_PERSON; i++) {
 				mov_objekt(&_G(moveState)[i], &_G(spieler_mi)[i]);
@@ -1009,31 +1009,24 @@ void swap_if_l(int16 *x1, int16 *x2) {
 	}
 }
 
-void palcopy(byte *destPal, const byte *srcPal, int16 destStartIndex, int16 srcStartIndex, int16 colorNbr) {
-	int16 j = srcStartIndex;
-	for (int16 i = destStartIndex; i < destStartIndex + colorNbr; ++i) {
-		destPal[i * 3] = srcPal[j * 3];
-		destPal[i * 3 + 1] = srcPal[j * 3 + 1];
-		destPal[i * 3 + 2] = srcPal[j * 3 + 2];
-		++j;
-	}
-}
-
-void checkShadow(int16 palIdx, int16 mode) {
+void setShadowPalette(int16 palIdx, bool setPartialPalette) {
 	static const uint8 PAL_0[] = {
 		0, 0, 0,
 		39, 0, 26,
 		43, 0, 29,
 		51, 42, 29,
+
 		51, 0, 34,
 		49, 13, 34,
 		55, 0, 37,
 		63, 54, 40,
+
 		63, 0, 42,
 		63, 30, 42,
 		63, 12, 46,
 		63, 24, 50
 	};
+
 	static const uint8 PAL_1[] = {
 		0, 0, 0,
 		34, 0, 21,
@@ -1050,6 +1043,7 @@ void checkShadow(int16 palIdx, int16 mode) {
 		58, 7, 41,
 		58, 19, 45
 	};
+
 	static const uint8 PAL_2[] = {
 		0, 0, 0,
 		26, 0, 13,
@@ -1066,6 +1060,7 @@ void checkShadow(int16 palIdx, int16 mode) {
 		50, 0, 33,
 		50, 11, 37
 	};
+
 	static const uint8 PAL_3[] = {
 		0, 0, 0,
 		21, 3, 8,
@@ -1083,34 +1078,21 @@ void checkShadow(int16 palIdx, int16 mode) {
 		45, 6, 32
 	};
 
-	switch (palIdx) {
-	case 1:
-		if (mode)
-			_G(out)->set_partialpalette(PAL_1, 1, 11);
-		palcopy(_G(pal), PAL_1, 0, 0, 12);
-		break;
-
-	case 2:
-		if (mode)
-			_G(out)->set_partialpalette(PAL_2, 1, 11);
-		palcopy(_G(pal), PAL_2, 0, 0, 12);
-		break;
-
-	case 3:
-		if (mode)
-			_G(out)->set_partialpalette(PAL_3, 1, 11);
-		palcopy(_G(pal), PAL_3, 0, 0, 12);
-		break;
-
-	case 4:
-		if (mode)
-			_G(out)->set_partialpalette(PAL_0, 1, 11);
-		palcopy(_G(pal), PAL_0, 0, 0, 12);
-		break;
+	const uint8 *palette;
+	if (palIdx == 1)
+		palette = PAL_1;
+	else if (palIdx == 2)
+		palette = PAL_2;
+	else if (palIdx == 3)
+		palette = PAL_3;
+	else if (palIdx == 4)
+		palette = PAL_0;
+	else
+		return;
 
-	default:
-		break;
-	}
+	if (setPartialPalette)
+		_G(out)->set_partialpalette(palette, 1, 11);
+	memcpy(_G(pal), palette, 12 * 3);
 }
 
 void printShadowed(int16 x, int16 y, int16 fgCol, int16 bgCol, int16 shadowFgCol, int16 scrWidth, const char *txtPtr) {
@@ -1684,7 +1666,7 @@ void calc_ausgang(int16 x, int16 y) {
 
 				const int16 paletteId = _G(barriers)->getBarrierId(_G(moveState)[P_CHEWY].Xypos[0] + _G(spieler_mi)[P_CHEWY].HotX,
 				                                              _G(moveState)[P_CHEWY].Xypos[1] + _G(spieler_mi)[P_CHEWY].HotY);
-				checkShadow(paletteId, 0);
+				setShadowPalette(paletteId, false);
 				setPersonSpr(_G(Rdi)->AutoMov[_G(gameState).room_e_obj[nr].ExitMov]._sprNr, P_CHEWY);
 				_G(moveState)[P_CHEWY]._delayCount = 0;
 				_G(fx_blend) = BLEND1;
diff --git a/engines/chewy/r_event.cpp b/engines/chewy/r_event.cpp
index 5238c8e4dd7..bf5c20f8c18 100644
--- a/engines/chewy/r_event.cpp
+++ b/engines/chewy/r_event.cpp
@@ -1113,7 +1113,7 @@ int16 sib_event_no_inv(int16 sib_nr) {
 	case SIB_LAMPE_R52:
 		_G(atds)->delControlBit(338, ATS_ACTIVE_BIT);
 		_G(gameState).R52LichtAn ^= 1;
-		checkShadow(2 * (_G(gameState).R52LichtAn + 1), 1);
+		setShadowPalette(2 * (_G(gameState).R52LichtAn + 1), true);
 		break;
 
 	case SIB_KAUTABAK_R56:
diff --git a/engines/chewy/rooms/room00.cpp b/engines/chewy/rooms/room00.cpp
index 6168796624b..57a7686b65d 100644
--- a/engines/chewy/rooms/room00.cpp
+++ b/engines/chewy/rooms/room00.cpp
@@ -752,7 +752,7 @@ void Room0::feederAni() {
 			               _G(Rdi)->AutoMov[4]._y - CH_HOT_MOV_Y, P_CHEWY, P_RIGHT);
 			_G(moveState)[P_CHEWY]._delayCount = 0;
 
-			checkShadow(4, 0);
+			setShadowPalette(4, false);
 			_G(fx_blend) = BLEND1;
 			setupScreen(DO_SETUP);
 		} else {
diff --git a/engines/chewy/rooms/room02.cpp b/engines/chewy/rooms/room02.cpp
index 753cc13b59a..6a345bca5ad 100644
--- a/engines/chewy/rooms/room02.cpp
+++ b/engines/chewy/rooms/room02.cpp
@@ -52,7 +52,7 @@ void Room2::jump_out_r1(int16 nr) {
 	_G(gameState)._personHide[P_CHEWY] = false;
 	clear_prog_ani();
 	switchRoom(1);
-	checkShadow(2, 1);
+	setShadowPalette(2, true);
 }
 
 void Room2::electrifyWalkway1() {
diff --git a/engines/chewy/rooms/room52.cpp b/engines/chewy/rooms/room52.cpp
index 31a9425fec0..82f6586bdcd 100644
--- a/engines/chewy/rooms/room52.cpp
+++ b/engines/chewy/rooms/room52.cpp
@@ -53,7 +53,7 @@ void Room52::entry() {
 		autoMove(2, P_CHEWY);
 		_G(gameState).R52TuerAuf = false;
 		_G(det)->hideStaticSpr(4);
-		checkShadow(2, 1);
+		setShadowPalette(2, true);
 	}
 }
 
diff --git a/engines/chewy/rooms/room63.cpp b/engines/chewy/rooms/room63.cpp
index e5619945f18..0de7c58f254 100644
--- a/engines/chewy/rooms/room63.cpp
+++ b/engines/chewy/rooms/room63.cpp
@@ -137,7 +137,7 @@ void Room63::bork_platt() {
 	flic_cut(FCUT_081);
 	flic_cut(FCUT_082);
 	_G(gameState)._personHide[P_CHEWY] = false;
-	checkShadow(4, 1);
+	setShadowPalette(4, true);
 	_G(spieler_mi)[P_CHEWY].Mode = true;
 	autoMove(6, P_CHEWY);
 	_G(spieler_mi)[P_CHEWY].Mode = false;
diff --git a/engines/chewy/sprite.cpp b/engines/chewy/sprite.cpp
index 9cfb51da073..1ff46c0105d 100644
--- a/engines/chewy/sprite.cpp
+++ b/engines/chewy/sprite.cpp
@@ -324,7 +324,7 @@ void setPersonPos(int16 x, int16 y, int16 personNr, int16 direction) {
 	_G(atds)->set_split_win(tmpNr, x1, y1);
 	if (!_G(flags).ExitMov && personNr == P_CHEWY) {
 		const int16 paletteId = _G(barriers)->getBarrierId(x + _G(spieler_mi)[personNr].HotX, y + _G(spieler_mi)[personNr].HotY);
-		checkShadow(paletteId, 1);
+		setShadowPalette(paletteId, true);
 	}
 }
 
@@ -795,7 +795,7 @@ void mov_objekt(ObjMov *om, MovInfo *mi) {
 									tmpy = 1;
 							}
 							if (mi->Id == CHEWY_OBJ)
-								checkShadow(u_index, 1);
+								setShadowPalette(u_index, true);
 
 							if (abs(om->Xypos[1] - mi->XyzEnd[1]) <= abs(tmpy)) {
 								om->Count = 0;
@@ -832,7 +832,7 @@ void mov_objekt(ObjMov *om, MovInfo *mi) {
 								tmpx = 1;
 						}
 						if (mi->Id == CHEWY_OBJ)
-							checkShadow(u_index, 1);
+							setShadowPalette(u_index, true);
 
 						if (abs(om->Xypos[0] - mi->XyzEnd[0]) <= abs(tmpx)) {
 							om->Count = 0;
@@ -864,7 +864,7 @@ void mov_objekt(ObjMov *om, MovInfo *mi) {
 					}
 				} else {
 					if (mi->Id == CHEWY_OBJ)
-						checkShadow(u_index, 1);
+						setShadowPalette(u_index, true);
 					om->Xypos[0] += tmpx;
 					om->Xypos[1] += tmpy;
 					om->Xypos[2] += tmpz;
@@ -889,7 +889,7 @@ void mov_objekt(ObjMov *om, MovInfo *mi) {
 				if (mi->Id == CHEWY_OBJ) {
 					u_index = _G(barriers)->getBarrierId(om->Xypos[0] + mi->HotX,
 					                                om->Xypos[1] + mi->HotY);
-					checkShadow(u_index, 1);
+					setShadowPalette(u_index, true);
 				}
 			}
 			if (mi->Id == CHEWY_OBJ) {


Commit: b1b80b0c50598c55907b4b0762b003af21ef1a98
    https://github.com/scummvm/scummvm/commit/b1b80b0c50598c55907b4b0762b003af21ef1a98
Author: Filippos Karapetis (bluegr at gmail.com)
Date: 2022-07-01T20:04:21+03:00

Commit Message:
CHEWY: Variable renaming

Changed paths:
    engines/chewy/globals.h
    engines/chewy/main.cpp
    engines/chewy/r_event.cpp


diff --git a/engines/chewy/globals.h b/engines/chewy/globals.h
index 0b7278e6d63..0e8c2040d45 100644
--- a/engines/chewy/globals.h
+++ b/engines/chewy/globals.h
@@ -323,7 +323,7 @@ void kb_mov(int16 mode);
 void kb_cur_action(int16 key, int16 mode);
 void mouseAction();
 
-void evaluateObj(int16 testNr, int16 txt_nr);
+void evaluateObj(int16 objectId, int16 txt_nr);
 
 void swap_if_l(int16 *x1, int16 *x2);
 
@@ -417,7 +417,7 @@ void handleDialogCloseupMenu();
 
 void stopDialogCloseupDialog();
 
-void play_scene_ani(int16 nr, int16 mode);
+void play_scene_ani(int16 nr, int16 direction);
 
 void timer_action(int16 t_nr);
 
diff --git a/engines/chewy/main.cpp b/engines/chewy/main.cpp
index ec67eaeb99b..fd7450b5c38 100644
--- a/engines/chewy/main.cpp
+++ b/engines/chewy/main.cpp
@@ -815,28 +815,28 @@ void mouseAction() {
 	}
 }
 
-void evaluateObj(int16 testNr, int16 mode) {
-	int16 ani_nr;
+void evaluateObj(int16 objectId, int16 mode) {
+	int16 animationId;
 	int16 txt_nr;
-	int16 tmp;
+	int16 direction;
 	int16 ret = NO_ACTION;
 	int16 action_flag = false;
 
 	switch (mode) {
 	case INVENTORY_NORMAL:
-		ret = _G(obj)->action_iib_iib(_G(cur)->getInventoryCursor(), testNr);
+		ret = _G(obj)->action_iib_iib(_G(cur)->getInventoryCursor(), objectId);
 		if (ret != NO_ACTION) {
 			hideCur();
 			if (_G(flags).InventMenu == false) {
 				if (_G(gameState).room_m_obj[_G(cur)->getInventoryCursor()].AutoMov != 255) {
 					_G(mouseLeftClick) = false;
-					autoMove(_G(gameState).room_m_obj[testNr].AutoMov, P_CHEWY);
+					autoMove(_G(gameState).room_m_obj[objectId].AutoMov, P_CHEWY);
 				}
-				txt_nr = _G(obj)->iib_txt_nr(testNr);
+				txt_nr = _G(obj)->iib_txt_nr(objectId);
 				Dialogs::Inventory::look_screen(INVENTORY_NORMAL, txt_nr);
-				if (_G(gameState).room_m_obj[testNr].AniFlag != 255) {
-					_G(gameState)._personHide[P_CHEWY] = _G(gameState).room_m_obj[testNr].HeldHide;
-					play_scene_ani(_G(gameState).room_m_obj[testNr].AniFlag, ANI_FRONT);
+				if (_G(gameState).room_m_obj[objectId].AniFlag != 255) {
+					_G(gameState)._personHide[P_CHEWY] = _G(gameState).room_m_obj[objectId].HeldHide;
+					play_scene_ani(_G(gameState).room_m_obj[objectId].AniFlag, ANI_FRONT);
 					_G(gameState)._personHide[P_CHEWY] = false;
 				}
 			}
@@ -845,34 +845,34 @@ void evaluateObj(int16 testNr, int16 mode) {
 		break;
 
 	case INVENTORY_STATIC:
-		ret = _G(obj)->action_iib_sib(_G(cur)->getInventoryCursor(), testNr);
+		ret = _G(obj)->action_iib_sib(_G(cur)->getInventoryCursor(), objectId);
 		if (ret != NO_ACTION) {
 			_G(mouseLeftClick) = false;
 			hideCur();
 			if (_G(gameState).room_m_obj[_G(cur)->getInventoryCursor()].AutoMov != 255) {
-				autoMove(_G(gameState).room_s_obj[testNr].AutoMov, P_CHEWY);
+				autoMove(_G(gameState).room_s_obj[objectId].AutoMov, P_CHEWY);
 			}
-			txt_nr = _G(obj)->sib_txt_nr(testNr);
+			txt_nr = _G(obj)->sib_txt_nr(objectId);
 			Dialogs::Inventory::look_screen(INVENTORY_STATIC, txt_nr);
-			if (_G(gameState).room_s_obj[testNr].AniFlag != 255) {
-				_G(gameState)._personHide[P_CHEWY] = _G(gameState).room_s_obj[testNr].HeldHide;
-				tmp = getAniDirection((int16)_G(gameState).room_s_obj[testNr].ZustandAk);
-				ani_nr = _G(gameState).room_s_obj[testNr].AniFlag;
-
-				if (ani_nr >= 150) {
-					start_spz_wait(ani_nr - 150, 1, false, P_CHEWY);
-					ani_nr = -1;
-				} else if (ani_nr >= 100) {
-					ani_nr -= 100;
-					_G(obj)->calc_static_detail(testNr);
+			if (_G(gameState).room_s_obj[objectId].AniFlag != 255) {
+				_G(gameState)._personHide[P_CHEWY] = _G(gameState).room_s_obj[objectId].HeldHide;
+				direction = getAniDirection((int16)_G(gameState).room_s_obj[objectId].ZustandAk);
+				animationId = _G(gameState).room_s_obj[objectId].AniFlag;
+
+				if (animationId >= 150) {
+					start_spz_wait(animationId - 150, 1, false, P_CHEWY);
+					animationId = -1;
+				} else if (animationId >= 100) {
+					animationId -= 100;
+					_G(obj)->calc_static_detail(objectId);
 				}
-				if (ani_nr != -1)
-					play_scene_ani(ani_nr, tmp);
+				if (animationId != -1)
+					play_scene_ani(animationId, direction);
 				_G(gameState)._personHide[P_CHEWY] = false;
 			}
 			_G(menu_item_vorwahl) = CUR_WALK;
 			showCur();
-			sib_event_inv(testNr);
+			sib_event_inv(objectId);
 
 			if (!_G(cur)->usingInventoryCursor()) {
 				_G(menu_item) = _G(menu_item_vorwahl);
@@ -883,41 +883,41 @@ void evaluateObj(int16 testNr, int16 mode) {
 		break;
 
 	case STATIC_USE:
-		ret = _G(obj)->calc_static_use(testNr);
+		ret = _G(obj)->calc_static_use(objectId);
 		if (ret == OBJECT_1) {
 			_G(mouseLeftClick) = false;
 			hideCur();
-			if (_G(gameState).room_s_obj[testNr].AutoMov != 255) {
+			if (_G(gameState).room_s_obj[objectId].AutoMov != 255) {
 
-				autoMove(_G(gameState).room_s_obj[testNr].AutoMov, P_CHEWY);
+				autoMove(_G(gameState).room_s_obj[objectId].AutoMov, P_CHEWY);
 			}
-			txt_nr = _G(obj)->sib_txt_nr(testNr);
+			txt_nr = _G(obj)->sib_txt_nr(objectId);
 			Dialogs::Inventory::look_screen(INVENTORY_STATIC, txt_nr);
-			if (_G(gameState).room_s_obj[testNr].AniFlag != 255) {
-				_G(gameState)._personHide[P_CHEWY] = _G(gameState).room_s_obj[testNr].HeldHide;
-				tmp = getAniDirection((int16)_G(gameState).room_s_obj[testNr].ZustandAk);
-
-				ani_nr = _G(gameState).room_s_obj[testNr].AniFlag;
-
-				if (ani_nr >= 150) {
-					start_spz_wait(ani_nr - 150, 1, false, P_CHEWY);
-					ani_nr = -1;
-				} else if (ani_nr >= 100) {
-					ani_nr -= 100;
-					_G(obj)->calc_static_detail(testNr);
+			if (_G(gameState).room_s_obj[objectId].AniFlag != 255) {
+				_G(gameState)._personHide[P_CHEWY] = _G(gameState).room_s_obj[objectId].HeldHide;
+				direction = getAniDirection((int16)_G(gameState).room_s_obj[objectId].ZustandAk);
+
+				animationId = _G(gameState).room_s_obj[objectId].AniFlag;
+
+				if (animationId >= 150) {
+					start_spz_wait(animationId - 150, 1, false, P_CHEWY);
+					animationId = -1;
+				} else if (animationId >= 100) {
+					animationId -= 100;
+					_G(obj)->calc_static_detail(objectId);
 				}
-				if (ani_nr != -1)
-					play_scene_ani(ani_nr, tmp);
+				if (animationId != -1)
+					play_scene_ani(animationId, direction);
 				_G(gameState)._personHide[P_CHEWY] = false;
 			}
 
-			if (_G(gameState).room_s_obj[testNr].InvNr != -1) {
-				invent_2_slot(_G(gameState).room_s_obj[testNr].InvNr);
+			if (_G(gameState).room_s_obj[objectId].InvNr != -1) {
+				invent_2_slot(_G(gameState).room_s_obj[objectId].InvNr);
 				action_flag = true;
 			}
 			_G(menu_item_vorwahl) = CUR_WALK;
 			showCur();
-			int16 sib_ret = sib_event_no_inv(testNr);
+			int16 sib_ret = sib_event_no_inv(objectId);
 
 			_G(obj)->calc_all_static_detail();
 
@@ -931,43 +931,43 @@ void evaluateObj(int16 testNr, int16 mode) {
 		} else if (ret == SIB_GET_INV) {
 			_G(mouseLeftClick) = false;
 			hideCur();
-			if (_G(gameState).room_s_obj[testNr].AutoMov != 255) {
-				autoMove(_G(gameState).room_s_obj[testNr].AutoMov, P_CHEWY);
+			if (_G(gameState).room_s_obj[objectId].AutoMov != 255) {
+				autoMove(_G(gameState).room_s_obj[objectId].AutoMov, P_CHEWY);
 			}
-			txt_nr = _G(obj)->sib_txt_nr(testNr);
+			txt_nr = _G(obj)->sib_txt_nr(objectId);
 			Dialogs::Inventory::look_screen(INVENTORY_STATIC, txt_nr);
-			if (_G(gameState).room_s_obj[testNr].AniFlag != 255) {
-				_G(gameState)._personHide[P_CHEWY] = _G(gameState).room_s_obj[testNr].HeldHide;
-				tmp = getAniDirection((int16)_G(gameState).room_s_obj[testNr].ZustandAk);
-
-				ani_nr = _G(gameState).room_s_obj[testNr].AniFlag;
-
-				if (ani_nr >= 150) {
-					start_spz_wait(ani_nr - 150, 1, false, P_CHEWY);
-					ani_nr = -1;
-				} else if (ani_nr >= 100) {
-					ani_nr -= 100;
-					_G(obj)->calc_static_detail(testNr);
+			if (_G(gameState).room_s_obj[objectId].AniFlag != 255) {
+				_G(gameState)._personHide[P_CHEWY] = _G(gameState).room_s_obj[objectId].HeldHide;
+				direction = getAniDirection((int16)_G(gameState).room_s_obj[objectId].ZustandAk);
+
+				animationId = _G(gameState).room_s_obj[objectId].AniFlag;
+
+				if (animationId >= 150) {
+					start_spz_wait(animationId - 150, 1, false, P_CHEWY);
+					animationId = -1;
+				} else if (animationId >= 100) {
+					animationId -= 100;
+					_G(obj)->calc_static_detail(objectId);
 				}
-				if (ani_nr != -1) {
-					play_scene_ani(ani_nr, tmp);
+				if (animationId != -1) {
+					play_scene_ani(animationId, direction);
 				}
 				_G(gameState)._personHide[P_CHEWY] = false;
 			}
 
-			if (_G(gameState).room_s_obj[testNr].InvNr != -1)
-				invent_2_slot(_G(gameState).room_s_obj[testNr].InvNr);
-			_G(obj)->calc_rsi_flip_flop(testNr);
+			if (_G(gameState).room_s_obj[objectId].InvNr != -1)
+				invent_2_slot(_G(gameState).room_s_obj[objectId].InvNr);
+			_G(obj)->calc_rsi_flip_flop(objectId);
 			_G(menu_item_vorwahl) = CUR_WALK;
 			showCur();
-			sib_event_no_inv(testNr);
+			sib_event_no_inv(objectId);
 			_G(obj)->calc_all_static_detail();
 			if (!_G(cur)->usingInventoryCursor()) {
 				_G(menu_item) = _G(menu_item_vorwahl);
 				cursorChoice(_G(menu_item));
 			}
 		} else if (ret == NO_ACTION) {
-			txt_nr = _G(obj)->sib_txt_nr(testNr);
+			txt_nr = _G(obj)->sib_txt_nr(objectId);
 			Dialogs::Inventory::look_screen(INVENTORY_STATIC, txt_nr);
 		}
 		break;
@@ -980,14 +980,14 @@ void evaluateObj(int16 testNr, int16 mode) {
 	case OBJECT_1:
 	case OBJECT_2:
 		if (mode == INVENTORY_NORMAL)
-			calc_inv_use_txt(testNr);
+			calc_inv_use_txt(objectId);
 		break;
 
 	case NO_ACTION:
 		if (mode == STATIC_USE && _G(flags).StaticUseTxt == true)
 			_G(flags).StaticUseTxt = false;
 		else if (mode != STATIC_USE)
-			calc_inv_no_use(testNr, mode);
+			calc_inv_no_use(objectId, mode);
 
 		break;
 
diff --git a/engines/chewy/r_event.cpp b/engines/chewy/r_event.cpp
index bf5c20f8c18..fc7d1d45a25 100644
--- a/engines/chewy/r_event.cpp
+++ b/engines/chewy/r_event.cpp
@@ -32,7 +32,7 @@
 
 namespace Chewy {
 
-void play_scene_ani(int16 nr, int16 mode) {
+void play_scene_ani(int16 nr, int16 direction) {
 #define ROOM_1_1 101
 #define ROOM_1_2 102
 #define ROOM_1_5 105
@@ -61,7 +61,7 @@ void play_scene_ani(int16 nr, int16 mode) {
 		break;
 	}
 
-	startSetAILWait(nr, 1, mode);
+	startSetAILWait(nr, 1, direction);
 
 	switch (r_nr) {
 	case ROOM_1_1:


Commit: 72ada40051ea532fca41d856ccdc68df3080b6dd
    https://github.com/scummvm/scummvm/commit/72ada40051ea532fca41d856ccdc68df3080b6dd
Author: Filippos Karapetis (bluegr at gmail.com)
Date: 2022-07-01T20:04:22+03:00

Commit Message:
CHEWY: Get rid of cur_hide_flag

Changed paths:
    engines/chewy/globals.h
    engines/chewy/main.cpp
    engines/chewy/r_event.cpp
    engines/chewy/room.cpp
    engines/chewy/rooms/room00.cpp
    engines/chewy/rooms/room14.cpp
    engines/chewy/rooms/room37.cpp
    engines/chewy/rooms/room62.cpp
    engines/chewy/rooms/room63.cpp
    engines/chewy/rooms/room65.cpp
    engines/chewy/rooms/room66.cpp
    engines/chewy/rooms/room68.cpp
    engines/chewy/rooms/room69.cpp
    engines/chewy/rooms/room75.cpp
    engines/chewy/t_event.cpp


diff --git a/engines/chewy/globals.h b/engines/chewy/globals.h
index 0e8c2040d45..04b9f359901 100644
--- a/engines/chewy/globals.h
+++ b/engines/chewy/globals.h
@@ -86,7 +86,6 @@ public:
 
 	int16 _pfeil_ani = 0;
 	int16 _pfeil_delay = 0;
-	int16 _cur_hide_flag = 0;
 	int16 _auto_p_nr = 0;
 
 	int16 _zoom_horizont = 0;
diff --git a/engines/chewy/main.cpp b/engines/chewy/main.cpp
index fd7450b5c38..0ff8437b362 100644
--- a/engines/chewy/main.cpp
+++ b/engines/chewy/main.cpp
@@ -168,12 +168,9 @@ void cursorChoice(int16 nr) {
 }
 
 void hideCur() {
-	if (!_G(cur_hide_flag)) {
-		_G(cur_hide_flag) = true;
-		_G(flags).ShowAtsInvTxt = false;
-		_G(cur)->hideCursor();
-		_G(flags).CursorStatus = false;
-	}
+	_G(flags).ShowAtsInvTxt = false;
+	_G(cur)->hideCursor();
+	_G(flags).CursorStatus = false;
 }
 
 void showCur() {
@@ -601,7 +598,6 @@ void setupScreen(SetupScreenMode mode) {
 	if (g_engine->_showWalkAreas)
 		showWalkAreas();
 
-	_G(cur_hide_flag) = false;
 	int16 *ScrXy = (int16 *)_G(ablage)[_G(room_blk).AkAblage];
 	if (!_G(menu_display))
 		calc_scroll(_G(moveState)[P_CHEWY].Xypos[0] + _G(spieler_mi)[P_CHEWY].HotX,
@@ -1650,7 +1646,6 @@ void calc_ausgang(int16 x, int16 y) {
 				_G(menu_item) = CUR_DISK;
 				cursorChoice(CUR_DISK);
 				setupScreen(DO_SETUP);
-				_G(cur_hide_flag) = true;
 				exit_room(nr);
 				_G(gameState)._personRoomNr[P_CHEWY] = _G(gameState).room_e_obj[nr].Exit;
 				_G(room)->loadRoom(&_G(room_blk), _G(gameState)._personRoomNr[P_CHEWY], &_G(gameState));
diff --git a/engines/chewy/r_event.cpp b/engines/chewy/r_event.cpp
index fc7d1d45a25..8e29c99277b 100644
--- a/engines/chewy/r_event.cpp
+++ b/engines/chewy/r_event.cpp
@@ -194,7 +194,6 @@ void enter_room(int16 eib_nr) {
 	_G(flags).AutoAniPlay = false;
 	_G(SetUpScreenFunc) = nullptr;
 	_G(HowardMov) = 0;
-	_G(cur_hide_flag) = false;
 
 #define ENTRY(NUM) case NUM: Room##NUM::entry(); break
 #define ENTRY_NR(NUM) case NUM: Room##NUM::entry(eib_nr); break
@@ -1129,7 +1128,6 @@ int16 sib_event_no_inv(int16 sib_nr) {
 
 	case 94:
 		_G(det)->showStaticSpr(7);
-		_G(cur_hide_flag) = false;
 		hideCur();
 		startAadWait(406);
 		if (_G(gameState)._personRoomNr[P_HOWARD] == 66)
@@ -1266,7 +1264,6 @@ void sib_event_inv(int16 sib_nr) {
 		break;
 
 	case SIB_CART_FACH_R18:
-		_G(cur_hide_flag) = false;
 		start_spz_wait(CH_LGET_O, 1, false, P_CHEWY);
 		_G(gameState).R18CartFach = true;
 		delInventory(_G(cur)->getInventoryCursor());
diff --git a/engines/chewy/room.cpp b/engines/chewy/room.cpp
index e5dea3dfd23..b5ed4bd7ef3 100644
--- a/engines/chewy/room.cpp
+++ b/engines/chewy/room.cpp
@@ -103,7 +103,6 @@ static const uint8 CHEWY_JM_PHASES[8][8] = {
 static const uint8 CHEWY_JM_PHASE_NR[] = {8, 8, 8, 8, 8, 8, 8, 8};
 
 void JungleRoom::topEntry() {
-	_G(cur_hide_flag) = 0;
 	hideCur();
 	setPersonPos(236, 110, P_CHEWY, P_RIGHT);
 	setPersonPos(263, 85, P_NICHELLE, P_RIGHT);
diff --git a/engines/chewy/rooms/room00.cpp b/engines/chewy/rooms/room00.cpp
index 57a7686b65d..e0ede5e1336 100644
--- a/engines/chewy/rooms/room00.cpp
+++ b/engines/chewy/rooms/room00.cpp
@@ -53,7 +53,6 @@ void Room0::entry() {
 
 	if (!_G(flags).LoadGame) {
 		setPersonPos(150, 100, P_CHEWY, P_RIGHT);
-		_G(cur_hide_flag) = 0;
 		hideCur();
 		_G(timer_nr)[0] = _G(room)->set_timer(255, 3);
 
diff --git a/engines/chewy/rooms/room14.cpp b/engines/chewy/rooms/room14.cpp
index 57418e6d4de..a5766c336fb 100644
--- a/engines/chewy/rooms/room14.cpp
+++ b/engines/chewy/rooms/room14.cpp
@@ -153,7 +153,6 @@ void Room14::feuer() {
 	int16 waffe = false;
 	int16 tmp = _G(cur)->getInventoryCursor();
 	_G(gameState).R14Feuer = true;
-	_G(cur_hide_flag) = false;
 	_G(flags).AutoAniPlay = true;
 	hideCur();
 
diff --git a/engines/chewy/rooms/room37.cpp b/engines/chewy/rooms/room37.cpp
index 743e26b9b58..5b4eef10626 100644
--- a/engines/chewy/rooms/room37.cpp
+++ b/engines/chewy/rooms/room37.cpp
@@ -242,7 +242,6 @@ void Room37::talk_hahn() {
 	showCur();
 
 	if (!_G(gameState).R37TransHahn) {
-		_G(cur_hide_flag) = 0;
 		hideCur();
 		startAadWait(145);
 		showCur();
diff --git a/engines/chewy/rooms/room62.cpp b/engines/chewy/rooms/room62.cpp
index 06c0031f607..8859da9d6f7 100644
--- a/engines/chewy/rooms/room62.cpp
+++ b/engines/chewy/rooms/room62.cpp
@@ -35,7 +35,6 @@ void Room62::entry() {
 	_G(gameState).room_e_obj[91].Attribut = 255;
 	if (!_G(gameState).R62FirstEntry) {
 		_G(gameState).R62TShow = false;
-		_G(cur_hide_flag) = false;
 		hideCur();
 		_G(gameState).R62FirstEntry = true;
 		setPersonPos(49, 113, P_HOWARD, P_RIGHT);
diff --git a/engines/chewy/rooms/room63.cpp b/engines/chewy/rooms/room63.cpp
index 0de7c58f254..392a8072bd6 100644
--- a/engines/chewy/rooms/room63.cpp
+++ b/engines/chewy/rooms/room63.cpp
@@ -37,7 +37,6 @@ void Room63::entry() {
 	if (_G(gameState).R63FxMannWeg)
 		_G(det)->del_static_ani(5);
 	if (!_G(gameState).R63Uhr) {
-		_G(cur_hide_flag) = false;
 		hideCur();
 		_G(det)->startDetail(12, 255, ANI_FRONT);
 		_G(det)->startDetail(10, 255, ANI_FRONT);
@@ -295,7 +294,6 @@ int16 Room63::use_aschenbecher() {
 	int16 action_ret = false;
 	if (isCurInventory(ASCHE_INV)) {
 		action_ret = true;
-		_G(cur_hide_flag) = false;
 		hideCur();
 		if (_G(gameState).R63Uhr) {
 			if (_G(gameState).R63FxMannWeg) {
diff --git a/engines/chewy/rooms/room65.cpp b/engines/chewy/rooms/room65.cpp
index df2c68dcf34..4319ecb2549 100644
--- a/engines/chewy/rooms/room65.cpp
+++ b/engines/chewy/rooms/room65.cpp
@@ -46,7 +46,6 @@ void Room65::entry() {
 	_G(moveState)[P_HOWARD].Xypos[0] = 150;
 	_G(moveState)[P_HOWARD].Xypos[1] = 10;
 	if (_G(gameState).PersonDia[P_HOWARD] < 10000) {
-		_G(cur_hide_flag) = false;
 		hideCur();
 		startAadWait(_G(gameState).PersonDia[P_HOWARD]);
 		showCur();
diff --git a/engines/chewy/rooms/room66.cpp b/engines/chewy/rooms/room66.cpp
index 554df23fe34..5f623aaa068 100644
--- a/engines/chewy/rooms/room66.cpp
+++ b/engines/chewy/rooms/room66.cpp
@@ -42,7 +42,6 @@ void Room66::entry(int16 eib_nr) {
 	if (!_G(gameState).flags26_4) {
 		_G(det)->showStaticSpr(4);
 		_G(det)->showStaticSpr(8);
-		_G(cur_hide_flag) = false;
 		hideCur();
 		_G(gameState).flags26_4 = true;
 		_G(gameState).scrollx = 476;
@@ -193,7 +192,6 @@ int Room66::proc7() {
 	}
 
 	proc8(7, 2, 3, 411 + (_G(gameState).flags26_10 ? 1 : 0));
-	_G(cur_hide_flag) = 0;
 	hideCur();
 	if (_G(gameState).flags26_20)
 		startSetAILWait(4, 1, ANI_FRONT);
diff --git a/engines/chewy/rooms/room68.cpp b/engines/chewy/rooms/room68.cpp
index f8599050639..c0b797cadec 100644
--- a/engines/chewy/rooms/room68.cpp
+++ b/engines/chewy/rooms/room68.cpp
@@ -190,7 +190,6 @@ int16 Room68::use_indigo() {
 			auto_scroll(78, 0);
 			delInventory(_G(cur)->getInventoryCursor());
 			talk_indigo(394);
-			_G(cur_hide_flag) = false;
 			hideCur();
 			_G(room)->set_timer_status(8, TIMER_STOP);
 			_G(det)->del_static_ani(8);
@@ -199,7 +198,6 @@ int16 Room68::use_indigo() {
 			startSetAILWait(25, 1, ANI_FRONT);
 			_G(det)->set_static_ani(12, -1);
 			talk_indigo(398);
-			_G(cur_hide_flag) = false;
 			hideCur();
 			_G(room)->set_timer_status(8, TIMER_STOP);
 			_G(det)->del_static_ani(8);
@@ -232,7 +230,6 @@ void Room68::talk_keeper() {
 	int16 y = _G(moveState)[P_CHEWY].Xypos[1] - _G(gameState).scrolly;
 	_G(atds)->set_split_win(3, x, y);
 	startDialogCloseupWait(20);
-	_G(cur_hide_flag) = false;
 	hideCur();
 	_G(det)->del_static_ani(16);
 	startSetAILWait(15, 1, ANI_BACK);
diff --git a/engines/chewy/rooms/room69.cpp b/engines/chewy/rooms/room69.cpp
index 474f0aa5244..4bd1dc5e783 100644
--- a/engines/chewy/rooms/room69.cpp
+++ b/engines/chewy/rooms/room69.cpp
@@ -49,7 +49,6 @@ void Room69::entry(int16 eib_nr) {
 	if (_G(flags).LoadGame)
 		return;
 
-	_G(cur_hide_flag) = false;
 	hideCur();
 
 	if (eib_nr == 102)
diff --git a/engines/chewy/rooms/room75.cpp b/engines/chewy/rooms/room75.cpp
index 4de41f77138..16fdf9e072a 100644
--- a/engines/chewy/rooms/room75.cpp
+++ b/engines/chewy/rooms/room75.cpp
@@ -84,7 +84,6 @@ void Room75::xit(int16 eib_nr) {
 }
 
 void Room75::proc1() {
-	_G(cur_hide_flag) = 0;
 	hideCur();
 	setPersonPos(363, 110, P_CHEWY, P_LEFT);
 	setPersonPos(322, 85, P_NICHELLE, P_RIGHT);
diff --git a/engines/chewy/t_event.cpp b/engines/chewy/t_event.cpp
index e1fd03c314f..ad7ef1ca3d8 100644
--- a/engines/chewy/t_event.cpp
+++ b/engines/chewy/t_event.cpp
@@ -2761,7 +2761,6 @@ void calc_person_dia(int16 p_nr) {
 
 			} else if (p_nr == P_NICHELLE) {
 				if (_G(gameState).PersonDia[P_NICHELLE] < 10000) {
-					_G(cur_hide_flag) = false;
 					hideCur();
 					startAadWait(_G(gameState).PersonDia[P_NICHELLE]);
 					_G(stopAutoMove)[P_NICHELLE] = _G(gameState).PersonDiaRoom[P_NICHELLE];


Commit: 25a1e9b2772301ee6131236b3c78b23c4fa97ccf
    https://github.com/scummvm/scummvm/commit/25a1e9b2772301ee6131236b3c78b23c4fa97ccf
Author: Filippos Karapetis (bluegr at gmail.com)
Date: 2022-07-01T20:04:22+03:00

Commit Message:
CHEWY: Remove the CursorStatus flag

Changed paths:
    engines/chewy/cursor.cpp
    engines/chewy/cursor.h
    engines/chewy/globals.h
    engines/chewy/inits.cpp
    engines/chewy/main.cpp
    engines/chewy/types.h


diff --git a/engines/chewy/cursor.cpp b/engines/chewy/cursor.cpp
index 29a8df7bc67..18c8501b9cc 100644
--- a/engines/chewy/cursor.cpp
+++ b/engines/chewy/cursor.cpp
@@ -97,6 +97,10 @@ void Cursor::hideCursor() {
 	CursorMan.showMouse(false);
 }
 
+bool Cursor::isCursorVisible() const {
+	return CursorMan.isVisible();
+}
+
 void Cursor::setAnimation(uint8 start, uint8 end, int16 delay) {
 	_aniCount = _animStart = start;
 	_animEnd = end;
diff --git a/engines/chewy/cursor.h b/engines/chewy/cursor.h
index 15faf2e38c3..e2cec3016f9 100644
--- a/engines/chewy/cursor.h
+++ b/engines/chewy/cursor.h
@@ -41,6 +41,7 @@ public:
 	void updateCursor();
 	void showCursor();
 	void hideCursor();
+	bool isCursorVisible() const;
 	void setAnimation(uint8 start, uint8 end, int16 delay);
 	void setCustomCursor(byte *data, uint16 width, uint16 height);
 	void setCustomRoomCursor(byte *roomSprite);
diff --git a/engines/chewy/globals.h b/engines/chewy/globals.h
index 04b9f359901..66ef944165a 100644
--- a/engines/chewy/globals.h
+++ b/engines/chewy/globals.h
@@ -204,7 +204,7 @@ public:
 	MouseInfo _minfo;
 	RaumBlk _room_blk;
 	Flags _flags = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-					0, 0, 0, 0, 0, 0, 0, 0, 0 };
+					0, 0, 0, 0, 0, 0, 0, 0 };
 	CustomInfo _Ci;
 	GotoPkt _gpkt;
 
diff --git a/engines/chewy/inits.cpp b/engines/chewy/inits.cpp
index 5527cd06b93..9a2a3abc621 100644
--- a/engines/chewy/inits.cpp
+++ b/engines/chewy/inits.cpp
@@ -133,7 +133,6 @@ void var_init() {
 	_G(pfeil_delay) = 0;
 	_G(pfeil_ani) = 0;
 	_G(timer_action_ctr) = 0;
-	_G(flags).CursorStatus = true;
 	_G(savegameFlag) = false;
 }
 
diff --git a/engines/chewy/main.cpp b/engines/chewy/main.cpp
index 0ff8437b362..62e5bbcf1c6 100644
--- a/engines/chewy/main.cpp
+++ b/engines/chewy/main.cpp
@@ -170,13 +170,11 @@ void cursorChoice(int16 nr) {
 void hideCur() {
 	_G(flags).ShowAtsInvTxt = false;
 	_G(cur)->hideCursor();
-	_G(flags).CursorStatus = false;
 }
 
 void showCur() {
 	_G(flags).ShowAtsInvTxt = true;
 	_G(cur)->showCursor();
-	_G(flags).CursorStatus = true;
 }
 
 void menuEntry() {
@@ -540,7 +538,7 @@ void setupScreen(SetupScreenMode mode) {
 		if (_G(cur_display) && mode == DO_SETUP) {
 			_G(cur)->updateCursor();
 
-			if (_G(cur)->usingInventoryCursor() && _G(flags).CursorStatus)
+			if (_G(cur)->usingInventoryCursor() && _G(cur)->isCursorVisible())
 				_G(out)->spriteSet(
 					_G(cur)->getCursorSprite(),
 					g_events->_mousePos.x,
diff --git a/engines/chewy/types.h b/engines/chewy/types.h
index 2ba3e769f76..81662512ed6 100644
--- a/engines/chewy/types.h
+++ b/engines/chewy/types.h
@@ -580,8 +580,6 @@ struct Flags {
 	uint16 NoDiaBox : 1;
 	uint16 NoEndPosMovObj: 1;
 	uint16 SavePersonRnr : 1;
-
-	uint16 CursorStatus : 1;
 };
 
 extern void *MALLOC(size_t size);


Commit: e9db84613b3b53e7dc5cbbd43b0aeb5641fcc032
    https://github.com/scummvm/scummvm/commit/e9db84613b3b53e7dc5cbbd43b0aeb5641fcc032
Author: Filippos Karapetis (bluegr at gmail.com)
Date: 2022-07-01T20:04:22+03:00

Commit Message:
CHEWY: Remove useless check

Changed paths:
    engines/chewy/rooms/room54.cpp


diff --git a/engines/chewy/rooms/room54.cpp b/engines/chewy/rooms/room54.cpp
index 7caf214c5cf..d5106d73fe5 100644
--- a/engines/chewy/rooms/room54.cpp
+++ b/engines/chewy/rooms/room54.cpp
@@ -118,8 +118,7 @@ void Room54::setup_func() {
 				}
 			}
 
-			if (!_G(flags).SaveMenu)
-				goAutoXy(x, y, P_HOWARD, ANI_GO);
+			goAutoXy(x, y, P_HOWARD, ANI_GO);
 		}
 	}
 }


Commit: 0d54f36825f1a4b6512d7cd3a8fae623e6c2d6e9
    https://github.com/scummvm/scummvm/commit/0d54f36825f1a4b6512d7cd3a8fae623e6c2d6e9
Author: Filippos Karapetis (bluegr at gmail.com)
Date: 2022-07-01T20:04:23+03:00

Commit Message:
CHEWY: Variable renaming

Changed paths:
    engines/chewy/dialogs/inventory.cpp


diff --git a/engines/chewy/dialogs/inventory.cpp b/engines/chewy/dialogs/inventory.cpp
index 7f4f09acf24..63ed3169b03 100644
--- a/engines/chewy/dialogs/inventory.cpp
+++ b/engines/chewy/dialogs/inventory.cpp
@@ -314,14 +314,14 @@ void Inventory::menu() {
 		}
 
 		ret_look = -1;
-		int16 abfrage = _G(in)->getSwitchCode();
+		int16 keyCode = _G(in)->getSwitchCode();
 		// The original hid the cursor here
 
 		if (taste_flag) {
-			if (abfrage != taste_flag)
+			if (keyCode != taste_flag)
 				taste_flag = 0;
 		} else {
-			switch (abfrage) {
+			switch (keyCode) {
 			case Common::KEYCODE_F1:
 				keyVal = Common::KEYCODE_F1;
 				break;


Commit: 4edaf4a199981d57a49e71279162746b77cabf35
    https://github.com/scummvm/scummvm/commit/4edaf4a199981d57a49e71279162746b77cabf35
Author: Filippos Karapetis (bluegr at gmail.com)
Date: 2022-07-01T20:04:23+03:00

Commit Message:
CHEWY: Get rid of the cur_display global. Some cleanup

Changed paths:
    engines/chewy/dialogs/main_menu.cpp
    engines/chewy/globals.h
    engines/chewy/main.cpp
    engines/chewy/menus.cpp
    engines/chewy/rooms/room04.cpp


diff --git a/engines/chewy/dialogs/main_menu.cpp b/engines/chewy/dialogs/main_menu.cpp
index 4236e75022c..a7b53720fcb 100644
--- a/engines/chewy/dialogs/main_menu.cpp
+++ b/engines/chewy/dialogs/main_menu.cpp
@@ -208,7 +208,6 @@ bool MainMenu::loadGame() {
 	int result = Files::execute(false);
 
 	cursorChoice((_G(cur)->usingInventoryCursor() && _G(menu_item) == CUR_USE) ? 8 : 0);
-	_G(cur_display) = true;
 	restorePersonAni();
 	_G(flags).SaveMenu = false;
 
@@ -223,7 +222,6 @@ bool MainMenu::loadGame() {
 void MainMenu::playGame() {
 	// unused1 = 0;
 	_G(inv_disp_ok) = false;
-	_G(cur_display) = true;
 	_G(tmp_menu_item) = 0;
 	_G(mouseLeftClick) = false;
 	g_events->_kbInfo._scanCode = Common::KEYCODE_INVALID;
diff --git a/engines/chewy/globals.h b/engines/chewy/globals.h
index 66ef944165a..9a5f8e85ca2 100644
--- a/engines/chewy/globals.h
+++ b/engines/chewy/globals.h
@@ -93,7 +93,6 @@ public:
 
 	int16 _auto_obj = 0;
 
-	bool _cur_display = false;
 	int16 _mouseLeftClick = 0;
 	Common::String _calc_inv_text_str1, _calc_inv_text_str2;
 	bool _stopAutoMove[3] = { false };
diff --git a/engines/chewy/main.cpp b/engines/chewy/main.cpp
index 62e5bbcf1c6..1a5e98f9f5a 100644
--- a/engines/chewy/main.cpp
+++ b/engines/chewy/main.cpp
@@ -242,7 +242,6 @@ bool mainLoop(int16 mode) {
 			Dialogs::Inventory::menu();
 			menuExit();
 			_G(menu_display) = 0;
-			_G(cur_display) = true;
 			if (!_G(cur)->usingInventoryCursor()) {
 				_G(menu_item) = _G(tmp_menu_item);
 				cursorChoice(_G(menu_item));
@@ -268,7 +267,6 @@ bool mainLoop(int16 mode) {
 			}
 			if (!(_G(cur)->usingInventoryCursor() && _G(menu_item) == CUR_USE))
 				cursorChoice(_G(menu_item));
-			_G(cur_display) = true;
 			_G(flags).SaveMenu = false;
 			_G(cur)->showCursor();
 			_G(out)->setPointer(_G(workptr));
@@ -282,7 +280,6 @@ bool mainLoop(int16 mode) {
 				_G(maus_old_x) = g_events->_mousePos.x;
 				_G(maus_old_y) = g_events->_mousePos.y;
 				_G(menu_display) = MENU_DISPLAY;
-				_G(cur_display) = false;
 				_G(cur)->move((MOUSE_MENU_MAX_X / 5) * (_G(menu_item)), 100);
 			} else {
 				menuExit();
@@ -304,7 +301,6 @@ bool mainLoop(int16 mode) {
 				Dialogs::Inventory::menu();
 				menuExit();
 				_G(menu_display) = 0;
-				_G(cur_display) = true;
 				if (!_G(cur)->usingInventoryCursor()) {
 					_G(menu_item) = _G(tmp_menu_item);
 					cursorChoice(_G(menu_item));
@@ -337,7 +333,6 @@ bool mainLoop(int16 mode) {
 
 				if (!(_G(cur)->usingInventoryCursor() && _G(menu_item) == CUR_USE))
 					cursorChoice(_G(tmp_menu_item));
-				_G(cur_display) = true;
 
 				_G(flags).SaveMenu = false;
 				_G(cur)->showCursor();
@@ -349,7 +344,6 @@ bool mainLoop(int16 mode) {
 					menuExit();
 					_G(cur)->showCursor();
 					_G(menu_display) = 0;
-					_G(cur_display) = true;
 					_G(cur)->move(_G(maus_old_x), _G(maus_old_y));
 					g_events->_mousePos.x = _G(maus_old_x);
 					g_events->_mousePos.y = _G(maus_old_y);
@@ -387,7 +381,6 @@ bool mainLoop(int16 mode) {
 		if (_G(menu_display) == MENU_HIDE) {
 			menuExit();
 			_G(menu_display) = 0;
-			_G(cur_display) = true;
 			_G(cur)->move(_G(maus_old_x), _G(maus_old_y));
 			g_events->_mousePos.x = _G(maus_old_x);
 			g_events->_mousePos.y = _G(maus_old_y);
@@ -535,7 +528,7 @@ void setupScreen(SetupScreenMode mode) {
 					calc_mouse_person(g_events->_mousePos.x, g_events->_mousePos.y);
 			}
 		}
-		if (_G(cur_display) && mode == DO_SETUP) {
+		if (mode == DO_SETUP) {
 			_G(cur)->updateCursor();
 
 			if (_G(cur)->usingInventoryCursor() && _G(cur)->isCursorVisible())
@@ -776,37 +769,38 @@ void mouseAction() {
 		}
 		_G(inv_disp_ok) = false;
 	}
-	if (_G(atds)->aadGetStatus() == -1) {
-		if (_G(minfo).button || g_events->_kbInfo._keyCode == Common::KEYCODE_ESCAPE || g_events->_kbInfo._keyCode == Common::KEYCODE_RETURN) {
 
-			if (_G(minfo).button == 2 || g_events->_kbInfo._keyCode == Common::KEYCODE_ESCAPE) {
-				if (!_G(flags).mainMouseFlag) {
-					g_events->_kbInfo._scanCode = Common::KEYCODE_ESCAPE;
-				}
-			} else if (_G(minfo).button == 1 || g_events->_kbInfo._keyCode == Common::KEYCODE_RETURN) {
-				if (!_G(flags).mainMouseFlag) {
-					if (_G(menu_display) == MENU_DISPLAY)
-						g_events->_kbInfo._scanCode = Common::KEYCODE_RETURN;
-					else if (_G(cur)->usingInventoryCursor()) {
-						if (_G(inv_disp_ok)) {
-							if (_G(cur)->usingInventoryCursor()) {
-								_G(menu_item) = CUR_USE;
-								cursorChoice(_G(menu_item));
-								_G(cur)->setInventoryCursor(-1);
-							} else {
-								_G(menu_item) = CUR_USE;
-								g_events->_kbInfo._scanCode = Common::KEYCODE_INVALID;
-							}
-						} else if (!_G(flags).MouseLeft)
-							_G(mouseLeftClick) = true;
+	if (_G(atds)->aadGetStatus() != -1)
+		return;
+
+	if (_G(minfo).button || g_events->_kbInfo._keyCode == Common::KEYCODE_ESCAPE || g_events->_kbInfo._keyCode == Common::KEYCODE_RETURN) {
+		if (_G(minfo).button == 2 || g_events->_kbInfo._keyCode == Common::KEYCODE_ESCAPE) {
+			if (!_G(flags).mainMouseFlag) {
+				g_events->_kbInfo._scanCode = Common::KEYCODE_ESCAPE;
+			}
+		} else if (_G(minfo).button == 1 || g_events->_kbInfo._keyCode == Common::KEYCODE_RETURN) {
+			if (!_G(flags).mainMouseFlag) {
+				if (_G(menu_display) == MENU_DISPLAY)
+					g_events->_kbInfo._scanCode = Common::KEYCODE_RETURN;
+				else if (_G(cur)->usingInventoryCursor()) {
+					if (_G(inv_disp_ok)) {
+						if (_G(cur)->usingInventoryCursor()) {
+							_G(menu_item) = CUR_USE;
+							cursorChoice(_G(menu_item));
+							_G(cur)->setInventoryCursor(-1);
+						} else {
+							_G(menu_item) = CUR_USE;
+							g_events->_kbInfo._scanCode = Common::KEYCODE_INVALID;
+						}
 					} else if (!_G(flags).MouseLeft)
 						_G(mouseLeftClick) = true;
-				}
+				} else if (!_G(flags).MouseLeft)
+					_G(mouseLeftClick) = true;
 			}
-			_G(flags).mainMouseFlag = 1;
-		} else
-			_G(flags).mainMouseFlag = 0;
-	}
+		}
+		_G(flags).mainMouseFlag = 1;
+	} else
+		_G(flags).mainMouseFlag = 0;
 }
 
 void evaluateObj(int16 objectId, int16 mode) {
@@ -1545,7 +1539,6 @@ void get_user_key(int16 mode) {
 			_G(menu_item) = CUR_USE;
 			Dialogs::Inventory::menu();
 			_G(menu_display) = 0;
-			_G(cur_display) = true;
 			if (!_G(cur)->usingInventoryCursor()) {
 				_G(menu_item) = _G(tmp_menu_item);
 				cursorChoice(_G(menu_item));
diff --git a/engines/chewy/menus.cpp b/engines/chewy/menus.cpp
index ceeb56a1ddd..43ba04996a5 100644
--- a/engines/chewy/menus.cpp
+++ b/engines/chewy/menus.cpp
@@ -267,7 +267,6 @@ void handleDialogCloseupMenu() {
 
 		if (_G(atds)->aadGetStatus() == -1 && _G(ads_push) == false &&
 		        _G(flags).NoDiaBox == false) {
-			_G(cur_display) = true;
 
 			buildMenu(ADS_WIN);
 			_G(fontMgr)->setFont(_G(font6));
@@ -288,7 +287,6 @@ void handleDialogCloseupMenu() {
 		case 255:
 		case Common::KEYCODE_RETURN:
 			if (curY < _G(ads_item_nr) && curY >= 0 && _G(ads_push) == false) {
-				_G(cur_display) = false;
 				_G(ads_push) = true;
 				g_events->_mousePos.y = 159;
 				DialogCloseupNextBlock *an_blk = _G(atds)->dialogCloseupItemChoice(_G(ads_dia_nr), _G(ads_blk_nr), curY);
@@ -319,7 +317,6 @@ void handleDialogCloseupMenu() {
 void stopDialogCloseupDialog() {
 	aadWait(-1);
 	_G(gameState).DispFlag = _G(ads_tmp_dsp);
-	_G(cur_display) = true;
 	_G(flags).ShowAtsInvTxt = true;
 	_G(flags).MainInput = true;
 	_G(flags).DialogCloseup = false;
diff --git a/engines/chewy/rooms/room04.cpp b/engines/chewy/rooms/room04.cpp
index 032d4dddd6a..83cb97b48b0 100644
--- a/engines/chewy/rooms/room04.cpp
+++ b/engines/chewy/rooms/room04.cpp
@@ -52,9 +52,7 @@ int16 Room4::comp_probe() {
 
 	cur_2_inventory();
 	_G(gameState)._personHide[P_CHEWY] = true;
-	_G(cur_display) = false;
 	switchRoom(4);
-	_G(cur_display) = true;
 	bool endLoop = false;
 
 	// TODO: The original limited the cursor height to 16 pixels


Commit: 2e3902fad051a5bbd107525d9558b8f167bf8ae6
    https://github.com/scummvm/scummvm/commit/2e3902fad051a5bbd107525d9558b8f167bf8ae6
Author: Filippos Karapetis (bluegr at gmail.com)
Date: 2022-07-01T20:04:23+03:00

Commit Message:
CHEWY: Fix handling of the escape key - bug #13608

Changed paths:
    engines/chewy/main.cpp


diff --git a/engines/chewy/main.cpp b/engines/chewy/main.cpp
index 1a5e98f9f5a..629165779c3 100644
--- a/engines/chewy/main.cpp
+++ b/engines/chewy/main.cpp
@@ -775,6 +775,7 @@ void mouseAction() {
 
 	if (_G(minfo).button || g_events->_kbInfo._keyCode == Common::KEYCODE_ESCAPE || g_events->_kbInfo._keyCode == Common::KEYCODE_RETURN) {
 		if (_G(minfo).button == 2 || g_events->_kbInfo._keyCode == Common::KEYCODE_ESCAPE) {
+			g_events->_kbInfo._keyCode = '\0';
 			if (!_G(flags).mainMouseFlag) {
 				g_events->_kbInfo._scanCode = Common::KEYCODE_ESCAPE;
 			}




More information about the Scummvm-git-logs mailing list