[Scummvm-git-logs] scummvm master -> 287f5d02175d2b64238e46c1777a57780e2853d6

bluegr noreply at scummvm.org
Mon Mar 7 23:34:44 UTC 2022


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

Summary:
f2df7376b9 CHEWY: Move ssi out of globals.h and into atds.h
0dd48bf87a CHEWY: Remove unused palette save/load code
287f5d0217 CHEWY: Refactor and simplify keyboard key handling code


Commit: f2df7376b9bcbb3e3442f4c0f1f51b4db465ea22
    https://github.com/scummvm/scummvm/commit/f2df7376b9bcbb3e3442f4c0f1f51b4db465ea22
Author: Filippos Karapetis (bluegr at gmail.com)
Date: 2022-03-08T00:47:10+02:00

Commit Message:
CHEWY: Move ssi out of globals.h and into atds.h

Changed paths:
    engines/chewy/atds.cpp
    engines/chewy/atds.h
    engines/chewy/globals.h
    engines/chewy/inits.cpp
    engines/chewy/rooms/room03.cpp
    engines/chewy/rooms/room67.cpp
    engines/chewy/rooms/room68.cpp
    engines/chewy/sprite.cpp
    engines/chewy/t_event.cpp


diff --git a/engines/chewy/atds.cpp b/engines/chewy/atds.cpp
index 828ebd3403d..ada07b18d43 100644
--- a/engines/chewy/atds.cpp
+++ b/engines/chewy/atds.cpp
@@ -312,8 +312,9 @@ void Atdsys::calc_txt_win(SplitStringInit *ssi_) {
 	}
 }
 
-void Atdsys::set_split_win(int16 nr, SplitStringInit *ssinit) {
-	_ssi[nr] = ssinit[0];
+void Atdsys::set_split_win(int16 nr, int16 x, int16 y) {
+	_ssi[nr].X = x;
+	_ssi[nr].Y = y;
 }
 
 Common::Stream *Atdsys::pool_handle(const char *fname) {
diff --git a/engines/chewy/atds.h b/engines/chewy/atds.h
index 407a53ad5b6..46a0772b37c 100644
--- a/engines/chewy/atds.h
+++ b/engines/chewy/atds.h
@@ -266,7 +266,7 @@ public:
 	void set_delay(int16 *delay, int16 silent);
 	void setHasSpeech(bool hasSpeech);
 	void updateSoundSettings();
-	void set_split_win(int16 nr, SplitStringInit *ssinit);
+	void set_split_win(int16 nr, int16 x, int16 y);
 	SplitStringRet *split_string(SplitStringInit *ssi);
 	void calc_txt_win(SplitStringInit *ssi);
 	void str_null2leer(char *str_start, char *str_end);
@@ -350,7 +350,20 @@ private:
 	int16 _adsStackPtr;
 	SplitStringRet _ssret;
 	SplitStringRet *_ssr = nullptr;
-	SplitStringInit _ssi[AAD_MAX_PERSON];
+
+	SplitStringInit _ssi[AAD_MAX_PERSON] = {
+		{ 0, 100, 0, 200, 4, SPLIT_MITTE, 8, 8 },
+		{ 0, 100, 0, 200, 4, SPLIT_MITTE, 8, 8 },
+		{ 0, 100, 0, 200, 4, SPLIT_MITTE, 8, 8 },
+		{ 0, 100, 0, 200, 4, SPLIT_MITTE, 8, 8 },
+		{ 0, 100, 0, 200, 4, SPLIT_MITTE, 8, 8 },
+		{ 0, 100, 0, 200, 4, SPLIT_MITTE, 8, 8 },
+		{ 0, 100, 0, 200, 4, SPLIT_MITTE, 8, 8 },
+		{ 0, 100, 0, 200, 4, SPLIT_MITTE, 8, 8 },
+		{ 0, 100, 0, 200, 4, SPLIT_MITTE, 8, 8 },
+		{ 0, 100, 0, 200, 4, SPLIT_MITTE, 8, 8 },
+	};
+
 	SplitStringInit _atsSsi;
 
 	char *_splitPtr[MAX_STR_SPLIT] = { nullptr };
diff --git a/engines/chewy/globals.h b/engines/chewy/globals.h
index 302a8236de3..f7f22c1f548 100644
--- a/engines/chewy/globals.h
+++ b/engines/chewy/globals.h
@@ -225,18 +225,6 @@ public:
 	CustomInfo _Ci;
 	GotoPkt _gpkt;
 
-	SplitStringInit _ssi[AAD_MAX_PERSON] = {
-		{ 0, 100, 0, 200, 4, SPLIT_MITTE, 8, 8 },
-		{ 0, 100, 0, 200, 4, SPLIT_MITTE, 8, 8 },
-		{ 0, 100, 0, 200, 4, SPLIT_MITTE, 8, 8 },
-		{ 0, 100, 0, 200, 4, SPLIT_MITTE, 8, 8 },
-		{ 0, 100, 0, 200, 4, SPLIT_MITTE, 8, 8 },
-		{ 0, 100, 0, 200, 4, SPLIT_MITTE, 8, 8 },
-		{ 0, 100, 0, 200, 4, SPLIT_MITTE, 8, 8 },
-		{ 0, 100, 0, 200, 4, SPLIT_MITTE, 8, 8 },
-		{ 0, 100, 0, 200, 4, SPLIT_MITTE, 8, 8 },
-		{ 0, 100, 0, 200, 4, SPLIT_MITTE, 8, 8 },
-	};
 	int16 _r45_pinfo[R45_MAX_PERSON][4] = {
 	   { 0, 4, 1490, 1500 },
 	   { 0, 1, 180, 190 },
diff --git a/engines/chewy/inits.cpp b/engines/chewy/inits.cpp
index 82fb3c8a74c..442213b1d2f 100644
--- a/engines/chewy/inits.cpp
+++ b/engines/chewy/inits.cpp
@@ -200,8 +200,6 @@ void init_atds() {
 	_G(spieler).DelaySpeed = 5;
 	_G(spieler_vector)[P_CHEWY].Delay = _G(spieler).DelaySpeed;
 	_G(atds)->set_delay(&_G(spieler).DelaySpeed, _G(spieler).AadSilent);
-	for (int16 i = 0; i < AAD_MAX_PERSON; i++)
-		_G(atds)->set_split_win(i, &_G(ssi)[i]);
 	_G(atds)->set_string_end_func(&atdsStringStart);
 }
 
diff --git a/engines/chewy/rooms/room03.cpp b/engines/chewy/rooms/room03.cpp
index 455f54953b2..1d666216d8a 100644
--- a/engines/chewy/rooms/room03.cpp
+++ b/engines/chewy/rooms/room03.cpp
@@ -350,8 +350,7 @@ void Room3::probeTransfer() {
 				if (mouse_auto_obj(SONDE_OBJ, 50, 100)) {
 					if (_G(minfo)._button == 1 || _G(kbinfo)._keyCode == Common::KEYCODE_RETURN) {
 						if (isCurInventory(SPINAT_INV)) {
-							_G(ssi)[0].X = 120;
-							_G(ssi)[0].Y = 100;
+							_G(atds)->set_split_win(0, 120, 100);
 							if (_G(spieler)._personRoomNr[P_CHEWY] == 3)
 								start_aad(50);
 							else
diff --git a/engines/chewy/rooms/room67.cpp b/engines/chewy/rooms/room67.cpp
index 26123b581fa..36d8b5248bb 100644
--- a/engines/chewy/rooms/room67.cpp
+++ b/engines/chewy/rooms/room67.cpp
@@ -145,9 +145,7 @@ int16 Room67::talk_papagei() {
 		if (_G(menu_item) == CUR_HOWARD) {
 			showCur();
 
-			_G(ssi)[2].X = 270 - _G(spieler).scrollx;
-			_G(ssi)[2].Y = 10;
-			_G(atds)->set_split_win(2, &_G(ssi)[2]);
+			_G(atds)->set_split_win(2, 270 - _G(spieler).scrollx, 10);
 			startAdsWait(19);
 			_G(room)->set_timer_status(1, TIMER_START);
 		} else if (_G(menu_item) == CUR_NICHELLE) {
@@ -157,9 +155,7 @@ int16 Room67::talk_papagei() {
 			autoMove(5, P_CHEWY);
 			showCur();
 
-			_G(ssi)[2].X = 270 - _G(spieler).scrollx;
-			_G(ssi)[2].Y = 10;
-			_G(atds)->set_split_win(2, &_G(ssi)[2]);
+			_G(atds)->set_split_win(2, 270 - _G(spieler).scrollx, 10);
 			startAdsWait(18);
 			_G(room)->set_timer_status(1, TIMER_START);
 		} else if (_G(menu_item) == CUR_USE) {
diff --git a/engines/chewy/rooms/room68.cpp b/engines/chewy/rooms/room68.cpp
index ed2df03cff5..cc715cc8f37 100644
--- a/engines/chewy/rooms/room68.cpp
+++ b/engines/chewy/rooms/room68.cpp
@@ -227,9 +227,9 @@ void Room68::talk_keeper() {
 	startSetAILWait(15, 1, ANI_FRONT);
 	_G(det)->set_static_ani(16, -1);
 	showCur();
-	_G(ssi)[3].X = _G(spieler_vector)[P_CHEWY].Xypos[0] - _G(spieler).scrollx + _G(spieler_mi)[P_CHEWY].HotX;;
-	_G(ssi)[3].Y = _G(spieler_vector)[P_CHEWY].Xypos[1] - _G(spieler).scrolly;
-	_G(atds)->set_split_win(3, &_G(ssi)[3]);
+	int16 x = _G(spieler_vector)[P_CHEWY].Xypos[0] - _G(spieler).scrollx + _G(spieler_mi)[P_CHEWY].HotX;;
+	int16 y = _G(spieler_vector)[P_CHEWY].Xypos[1] - _G(spieler).scrolly;
+	_G(atds)->set_split_win(3, x, y);
 	startAdsWait(20);
 	_G(cur_hide_flag) = false;
 	hideCur();
@@ -429,9 +429,7 @@ void Room68::talk_papagei() {
 	autoMove(5, P_CHEWY);
 	showCur();
 
-	_G(ssi)[2].X = 60;
-	_G(ssi)[2].Y = 80;
-	_G(atds)->set_split_win(2, &_G(ssi)[2]);
+	_G(atds)->set_split_win(2, 60, 80);
 	startAdsWait(18);
 }
 
diff --git a/engines/chewy/sprite.cpp b/engines/chewy/sprite.cpp
index 11b061656a2..45cb84870ce 100644
--- a/engines/chewy/sprite.cpp
+++ b/engines/chewy/sprite.cpp
@@ -318,8 +318,9 @@ void setPersonPos(int16 x, int16 y, int16 personNr, int16 direction) {
 	if (personNr >= P_NICHELLE) {
 		++tmpNr;
 	}
-	_G(ssi)[tmpNr].X = _G(spieler_vector)[personNr].Xypos[0] - _G(spieler).scrollx + _G(spieler_mi)[personNr].HotX;
-	_G(ssi)[tmpNr].Y = _G(spieler_vector)[personNr].Xypos[1] - _G(spieler).scrolly;
+	int16 x1 = _G(spieler_vector)[personNr].Xypos[0] - _G(spieler).scrollx + _G(spieler_mi)[personNr].HotX;
+	int16 y1 = _G(spieler_vector)[personNr].Xypos[1] - _G(spieler).scrolly;
+	_G(atds)->set_split_win(tmpNr, x1, y1);
 	if (!_G(flags).ExitMov && personNr == P_CHEWY) {
 		int16 u_index = _G(ged)->ged_idx(x + _G(spieler_mi)[personNr].HotX, y + _G(spieler_mi)[personNr].HotY,
 		                                 _G(room)->_gedXNr[_G(room_blk).AkAblage],
@@ -562,9 +563,9 @@ void aadWait(int16 strNr) {
 
 void start_aad(int16 diaNr, int16 ssiNr) {
 	if (ssiNr == 0) {
-		_G(ssi)[0].X = _G(spieler_vector)[P_CHEWY].Xypos[0] - _G(spieler).scrollx + _G(spieler_mi)[P_CHEWY].HotX;
-		_G(ssi)[0].Y = _G(spieler_vector)[P_CHEWY].Xypos[1] - _G(spieler).scrolly;
-		_G(atds)->set_split_win(0, &_G(ssi)[0]);
+		int16 x = _G(spieler_vector)[P_CHEWY].Xypos[0] - _G(spieler).scrollx + _G(spieler_mi)[P_CHEWY].HotX;
+		int16 y = _G(spieler_vector)[P_CHEWY].Xypos[1] - _G(spieler).scrolly;
+		_G(atds)->set_split_win(0, x, y);
 	}
 
 	_G(atds)->start_aad(diaNr);
diff --git a/engines/chewy/t_event.cpp b/engines/chewy/t_event.cpp
index 7d596a0ea62..a467ea47b2b 100644
--- a/engines/chewy/t_event.cpp
+++ b/engines/chewy/t_event.cpp
@@ -58,9 +58,9 @@ void setSsiPos() {
 	for (int16 i = 0; i < MAX_PERSON; i++) {
 		if (i >= P_NICHELLE)
 			tmp = 1;
-		_G(ssi)[i + tmp].X = _G(spieler_vector)[i].Xypos[0] - _G(spieler).scrollx + _G(spieler_mi)[i].HotX;
-		_G(ssi)[i + tmp].Y = _G(spieler_vector)[i].Xypos[1] - _G(spieler).scrolly;
-		_G(atds)->set_split_win(i + tmp, &_G(ssi)[i + tmp]);
+		int16 x = _G(spieler_vector)[i].Xypos[0] - _G(spieler).scrollx + _G(spieler_mi)[i].HotX;
+		int16 y = _G(spieler_vector)[i].Xypos[1] - _G(spieler).scrolly;
+		_G(atds)->set_split_win(i + tmp, x, y);
 	}
 }
 


Commit: 0dd48bf87a891a98d824f214af93927f23649d3c
    https://github.com/scummvm/scummvm/commit/0dd48bf87a891a98d824f214af93927f23649d3c
Author: Filippos Karapetis (bluegr at gmail.com)
Date: 2022-03-08T00:59:13+02:00

Commit Message:
CHEWY: Remove unused palette save/load code

Changed paths:
    engines/chewy/globals.h
    engines/chewy/inits.cpp
    engines/chewy/main.cpp
    engines/chewy/mcga.cpp
    engines/chewy/mcga.h
    engines/chewy/mcga_graphics.cpp
    engines/chewy/mcga_graphics.h
    engines/chewy/video/video_player.cpp


diff --git a/engines/chewy/globals.h b/engines/chewy/globals.h
index f7f22c1f548..cbccd60c371 100644
--- a/engines/chewy/globals.h
+++ b/engines/chewy/globals.h
@@ -258,7 +258,6 @@ public:
 	int16 _scroll_delay = 0;
 
 	// mcga.cpp
-	byte _saved_palette[PALETTE_SIZE] = { 0 };
 	int _spriteWidth = 0;
 
 	// mcga_graphics.cpp
diff --git a/engines/chewy/inits.cpp b/engines/chewy/inits.cpp
index 442213b1d2f..e8fbc8c99c2 100644
--- a/engines/chewy/inits.cpp
+++ b/engines/chewy/inits.cpp
@@ -47,7 +47,6 @@ void standard_init() {
 
 	_G(out)->init();
 	_G(out)->cls();
-	_G(out)->savePalette();
 	_G(out)->setClip(0, 0, 320, 200);
 	_G(scr_width) = 0;
 	_G(screen0) = (byte *)g_screen->getPixels();
diff --git a/engines/chewy/main.cpp b/engines/chewy/main.cpp
index f85a4826ede..b27882d3f6d 100644
--- a/engines/chewy/main.cpp
+++ b/engines/chewy/main.cpp
@@ -66,7 +66,6 @@ void game_main() {
 	}
 
 	tidy();
-	_G(out)->rest_palette();
 }
 
 void alloc_buffers() {
diff --git a/engines/chewy/mcga.cpp b/engines/chewy/mcga.cpp
index 3fec834ad0d..74e8860b218 100644
--- a/engines/chewy/mcga.cpp
+++ b/engines/chewy/mcga.cpp
@@ -56,17 +56,6 @@ void set_palette(const byte *palette) {
 	setScummVMPalette(palette, 0, PALETTE_COUNT);
 }
 
-void save_palette(byte *palette) {
-	if (!palette)
-		palette = _G(saved_palette);
-
-	g_system->getPaletteManager()->grabPalette(palette, 0, PALETTE_COUNT);
-}
-
-void restore_palette() {
-	set_palette(_G(saved_palette));
-}
-
 void rastercol(int16 color, int16 r, int16 g, int16 b) {
 	byte rgb[3];
 	rgb[0] = r;
diff --git a/engines/chewy/mcga.h b/engines/chewy/mcga.h
index ac472412b7b..c70b05d4264 100644
--- a/engines/chewy/mcga.h
+++ b/engines/chewy/mcga.h
@@ -30,8 +30,6 @@ byte *get_dispoff();
 
 void setScummVMPalette(const byte *palette, uint start, uint count);
 void set_palette(const byte *palette);
-void save_palette(byte *palette);
-void restore_palette();
 void rastercol(int16 color, int16 r, int16 g, int16 b);
 void setPartialPalette(const byte *palette, int16 startCol, int16 nr);
 
diff --git a/engines/chewy/mcga_graphics.cpp b/engines/chewy/mcga_graphics.cpp
index e587b6e3777..f96aaca6bb1 100644
--- a/engines/chewy/mcga_graphics.cpp
+++ b/engines/chewy/mcga_graphics.cpp
@@ -60,14 +60,6 @@ void McgaGraphics::setPalette(byte *palette) {
 	set_palette(palette);
 }
 
-void McgaGraphics::savePalette(byte *palette) {
-	save_palette(palette);
-}
-
-void McgaGraphics::rest_palette() {
-	restore_palette();
-}
-
 void McgaGraphics::raster_col(int16 c, int16 r, int16 g, int16 b) {
 	int16 index = c * 3;
 	_palTable[index] = r;
diff --git a/engines/chewy/mcga_graphics.h b/engines/chewy/mcga_graphics.h
index 680124eddd0..0fe115ba704 100644
--- a/engines/chewy/mcga_graphics.h
+++ b/engines/chewy/mcga_graphics.h
@@ -37,8 +37,6 @@ public:
 	void setPointer(byte *ptr);
 
 	void setPalette(byte *palette);
-	void savePalette(byte *palette = nullptr);
-	void rest_palette();
 	void raster_col(int16 c, int16 r, int16 g, int16 b);
 	void einblenden(byte *palette, int16 frames);
 	void ausblenden(int16 frames);
diff --git a/engines/chewy/video/video_player.cpp b/engines/chewy/video/video_player.cpp
index b59ee6b8f67..3cb34011d0e 100644
--- a/engines/chewy/video/video_player.cpp
+++ b/engines/chewy/video/video_player.cpp
@@ -55,7 +55,6 @@ bool VideoPlayer::playVideo(uint num, bool stopMusic) {
 	bool keepPlaying = true;
 
 	g_system->getPaletteManager()->grabPalette(curPalette, 0, 256);
-	//save_palette(curPalette);
 	_G(cur)->hide_cur();
 
 	// Clear events


Commit: 287f5d02175d2b64238e46c1777a57780e2853d6
    https://github.com/scummvm/scummvm/commit/287f5d02175d2b64238e46c1777a57780e2853d6
Author: Filippos Karapetis (bluegr at gmail.com)
Date: 2022-03-08T01:34:11+02:00

Commit Message:
CHEWY: Refactor and simplify keyboard key handling code

Changed paths:
    engines/chewy/atds.cpp
    engines/chewy/dialogs/cinema.cpp
    engines/chewy/dialogs/files.cpp
    engines/chewy/dialogs/inventory.cpp
    engines/chewy/dialogs/main_menu.cpp
    engines/chewy/events.cpp
    engines/chewy/events.h
    engines/chewy/globals.h
    engines/chewy/inits.cpp
    engines/chewy/main.cpp
    engines/chewy/mcga_graphics.cpp
    engines/chewy/mouse.cpp
    engines/chewy/mouse.h
    engines/chewy/ngstypes.h
    engines/chewy/r_event.cpp
    engines/chewy/rooms/room00.cpp
    engines/chewy/rooms/room03.cpp
    engines/chewy/rooms/room04.cpp
    engines/chewy/rooms/room08.cpp
    engines/chewy/rooms/room29.cpp
    engines/chewy/sprite.cpp
    engines/chewy/video/video_player.cpp


diff --git a/engines/chewy/atds.cpp b/engines/chewy/atds.cpp
index ada07b18d43..c0f679a08f1 100644
--- a/engines/chewy/atds.cpp
+++ b/engines/chewy/atds.cpp
@@ -593,9 +593,8 @@ void Atdsys::print_ats(int16 x, int16 y, int16 scrx, int16 scry) {
 					if (_atsv.SilentCount <= 0 && _atsv.DelayCount > _printDelayCount1) {
 						_mousePush = true;
 						_atsv.DelayCount = 0;
-						KbdInfo *kbInfo = _G(in)->getPointer()->kbinfo;
-						kbInfo->_scanCode = Common::KEYCODE_INVALID;
-						kbInfo->_keyCode = '\0';
+						g_events->_kbInfo._scanCode = Common::KEYCODE_INVALID;
+						g_events->_kbInfo._keyCode = '\0';
 					}
 				}
 				break;
@@ -940,9 +939,8 @@ void Atdsys::print_aad(int16 scrx, int16 scry) {
 					if (_aadv.SilentCount <= 0 && _aadv._delayCount > _printDelayCount1) {
 						_mousePush = true;
 						_aadv._delayCount = 0;
-						KbdInfo *kbInfo = _G(in)->getPointer()->kbinfo;
-						kbInfo->_scanCode = Common::KEYCODE_INVALID;
-						kbInfo->_keyCode = '\0';
+						g_events->_kbInfo._scanCode = Common::KEYCODE_INVALID;
+						g_events->_kbInfo._keyCode = '\0';
 					}
 				}
 				break;
diff --git a/engines/chewy/dialogs/cinema.cpp b/engines/chewy/dialogs/cinema.cpp
index 9f424801aa1..758a14d3dc7 100644
--- a/engines/chewy/dialogs/cinema.cpp
+++ b/engines/chewy/dialogs/cinema.cpp
@@ -61,7 +61,7 @@ void Cinema::execute() {
 	_G(room)->load_tgp(4, &_G(room_blk), 1, 0, GBOOK);
 	showCur();
 	EVENTS_CLEAR;
-	_G(kbinfo)._scanCode = 0;
+	g_events->_kbInfo._scanCode = 0;
 
 	for (bool endLoop = false; !endLoop;) {
 		_G(out)->setPointer(_G(workptr));
@@ -88,14 +88,14 @@ void Cinema::execute() {
 			flag = true;
 			switch (_G(in)->mouseVector(g_events->_mousePos.x, g_events->_mousePos.y, CINEMA_TBL, 3)) {
 			case 0:
-				_G(kbinfo)._scanCode = Common::KEYCODE_UP;
+				g_events->_kbInfo._scanCode = Common::KEYCODE_UP;
 				if (!endLoop)
 					endLoop = true;
 
 				break;
 
 			case 1:
-				_G(kbinfo)._scanCode = Common::KEYCODE_DOWN;
+				g_events->_kbInfo._scanCode = Common::KEYCODE_DOWN;
 				if (!endLoop)
 					endLoop = true;
 
@@ -106,7 +106,7 @@ void Cinema::execute() {
 				int selIndex = (g_events->_mousePos.y - 68) / 10 + topIndex;
 				if (selIndex < (int)cutscenes.size())
 					selected = selIndex;
-				_G(kbinfo)._scanCode = Common::KEYCODE_RETURN;
+				g_events->_kbInfo._scanCode = Common::KEYCODE_RETURN;
 				break;
 			}
 
@@ -114,7 +114,7 @@ void Cinema::execute() {
 				break;
 			}
 		} else if (_G(minfo)._button == 2 && !flag) {
-			_G(kbinfo)._scanCode = Common::KEYCODE_ESCAPE;
+			g_events->_kbInfo._scanCode = Common::KEYCODE_ESCAPE;
 			flag = true;
 		} else if (_G(minfo)._button != 1) {
 			flag = false;
@@ -125,10 +125,10 @@ void Cinema::execute() {
 				flag = false;
 		}
 
-		switch (_G(kbinfo)._scanCode) {
+		switch (g_events->_kbInfo._scanCode) {
 		case Common::KEYCODE_ESCAPE:
 			endLoop = true;
-			_G(kbinfo)._scanCode = 0;
+			g_events->_kbInfo._scanCode = 0;
 			break;
 
 		case Common::KEYCODE_UP:
@@ -138,7 +138,7 @@ void Cinema::execute() {
 			} else if (topIndex > 0) {
 				--topIndex;
 			}
-			_G(kbinfo)._scanCode = 0;
+			g_events->_kbInfo._scanCode = 0;
 			break;
 
 		case Common::KEYCODE_DOWN:
@@ -152,7 +152,7 @@ void Cinema::execute() {
 				if ((topIndex + newIndex) < (int)cutscenes.size())
 					++selected;
 			}
-			_G(kbinfo)._scanCode = 0;
+			g_events->_kbInfo._scanCode = 0;
 			break;
 		}
 
@@ -175,7 +175,7 @@ void Cinema::execute() {
 		}
 
 		// The below are hacks to get the dialog to work in ScummVM
-		_G(kbinfo)._scanCode = 0;
+		g_events->_kbInfo._scanCode = 0;
 		_G(minfo)._button = 0;
 		txt_anz = 0;
 
diff --git a/engines/chewy/dialogs/files.cpp b/engines/chewy/dialogs/files.cpp
index f28955b433e..53757a57de5 100644
--- a/engines/chewy/dialogs/files.cpp
+++ b/engines/chewy/dialogs/files.cpp
@@ -151,8 +151,6 @@ int16 Files::execute(bool isInGame) {
 			} else {
 				key = 0;
 			}
-
-			_G(in)->neuer_kb_handler(&_G(kbinfo));
 		}
 
 		if (mode[OPTIONS])
@@ -272,7 +270,6 @@ enter:
 				tmp = fnames + ((text_off + active_slot) * 40);
 				key = _G(out)->scanxy(70, 68 + (active_slot * 10),
 					255, 42, 14, 0, "%36s36", tmp);
-				_G(in)->neuer_kb_handler(&_G(kbinfo));
 				_G(out)->setPointer(_G(workptr));
 				if (key != Common::KEYCODE_ESCAPE) {
 					_G(iog)->save_entry(text_off + active_slot,
diff --git a/engines/chewy/dialogs/inventory.cpp b/engines/chewy/dialogs/inventory.cpp
index 15d23913e64..bbc623ef6db 100644
--- a/engines/chewy/dialogs/inventory.cpp
+++ b/engines/chewy/dialogs/inventory.cpp
@@ -147,7 +147,7 @@ void Inventory::menu() {
 
 	int16 menu_flag1 = MENU_DISPLAY;
 	int16 taste_flag = 28;
-	_G(kbinfo)._keyCode = '\0';
+	g_events->_kbInfo._keyCode = '\0';
 	bool mouseFl = true;
 
 	for (int16 i = 0; i < 3; i++) {
@@ -162,10 +162,10 @@ void Inventory::menu() {
 	while (_G(show_invent_menu) == 1 && !SHOULD_QUIT) {
 		if (!_G(minfo)._button)
 			mouseFl = false;
-		if (_G(minfo)._button == 1 || _G(kbinfo)._keyCode == Common::KEYCODE_RETURN || keyVal) {
+		if (_G(minfo)._button == 1 || g_events->_kbInfo._keyCode == Common::KEYCODE_RETURN || keyVal) {
 			if (!mouseFl) {
 				mouseFl = true;
-				_G(kbinfo)._keyCode = '\0';
+				g_events->_kbInfo._keyCode = '\0';
 
 				int16 k = _G(in)->mouseVector(g_events->_mousePos.x, g_events->_mousePos.y, &INVENTORY_HOTSPOTS[0][0], INVENTORY_HOTSPOTS_COUNT);
 				if (keyVal == Common::KEYCODE_F1)
@@ -203,11 +203,11 @@ void Inventory::menu() {
 					break;
 
 				case 3:
-					_G(in)->_hotkey = Common::KEYCODE_PAGEUP;
+					g_events->_kbInfo._keyCode = Common::KEYCODE_PAGEUP;
 					break;
 
 				case 4:
-					_G(in)->_hotkey = Common::KEYCODE_PAGEDOWN;
+					g_events->_kbInfo._keyCode = Common::KEYCODE_PAGEDOWN;
 					break;
 
 				case 5:
@@ -245,9 +245,9 @@ void Inventory::menu() {
 					break;
 				}
 			}
-		} else if (_G(minfo)._button == 2 || _G(kbinfo)._keyCode == Common::KEYCODE_ESCAPE) {
+		} else if (_G(minfo)._button == 2 || g_events->_kbInfo._keyCode == Common::KEYCODE_ESCAPE) {
 			if (!mouseFl) {
-				_G(in)->_hotkey = Common::KEYCODE_ESCAPE;
+				g_events->_kbInfo._keyCode = Common::KEYCODE_ESCAPE;
 				mouseFl = true;
 			}
 		}
@@ -325,13 +325,13 @@ void Inventory::menu() {
 			case Common::KEYCODE_PAGEUP:
 				if (_G(spieler).InventY > 0)
 					--_G(spieler).InventY;
-				_G(kbinfo)._keyCode = '\0';
+				g_events->_kbInfo._keyCode = '\0';
 				break;
 
 			case Common::KEYCODE_PAGEDOWN:
 				if (_G(spieler).InventY < (MAX_MOV_OBJ / 5) - 3)
 					++_G(spieler).InventY;
-				_G(kbinfo)._keyCode = '\0';
+				g_events->_kbInfo._keyCode = '\0';
 				break;
 
 			default:
@@ -425,7 +425,7 @@ int16 Inventory::look(int16 invent_nr, int16 mode, int16 ats_nr) {
 		if (_G(minfo)._button) {
 			if (_G(minfo)._button == 2) {
 				if (!mouseFl)
-					_G(kbinfo)._scanCode = Common::KEYCODE_ESCAPE;
+					g_events->_kbInfo._scanCode = Common::KEYCODE_ESCAPE;
 			} else if (_G(minfo)._button == 1) {
 				if (!mouseFl) {
 					switch (rect) {
@@ -441,12 +441,12 @@ int16 Inventory::look(int16 invent_nr, int16 mode, int16 ats_nr) {
 
 					case 3:
 					case 6:
-						_G(kbinfo)._scanCode = Common::KEYCODE_UP;
+						g_events->_kbInfo._scanCode = Common::KEYCODE_UP;
 						break;
 
 					case 4:
 					case 7:
-						_G(kbinfo)._scanCode = Common::KEYCODE_DOWN;
+						g_events->_kbInfo._scanCode = Common::KEYCODE_DOWN;
 						break;
 
 					case 5:
@@ -465,15 +465,7 @@ int16 Inventory::look(int16 invent_nr, int16 mode, int16 ats_nr) {
 			mouseFl = false;
 		}
 
-		switch (_G(kbinfo)._scanCode) {
-		case Common::KEYCODE_F1:
-			_G(in)->_hotkey = Common::KEYCODE_F1;
-			break;
-
-		case Common::KEYCODE_F2:
-			_G(in)->_hotkey = Common::KEYCODE_F2;
-			break;
-
+		switch (g_events->_kbInfo._scanCode) {
 		case Common::KEYCODE_ESCAPE:
 			endLoop = true;
 			break;
@@ -492,7 +484,6 @@ int16 Inventory::look(int16 invent_nr, int16 mode, int16 ats_nr) {
 			break;
 		}
 
-		_G(kbinfo)._scanCode = Common::KEYCODE_INVALID;
 		setupScreen(NO_SETUP);
 		plot_menu();
 		_G(fontMgr)->setFont(_G(font8));
diff --git a/engines/chewy/dialogs/main_menu.cpp b/engines/chewy/dialogs/main_menu.cpp
index ce12960e598..d822ab4dd2d 100644
--- a/engines/chewy/dialogs/main_menu.cpp
+++ b/engines/chewy/dialogs/main_menu.cpp
@@ -243,7 +243,7 @@ void MainMenu::playGame() {
 	_G(cur_display) = true;
 	_G(tmp_menu_item) = 0;
 	_G(mouseLeftClick) = false;
-	_G(kbinfo)._scanCode = Common::KEYCODE_INVALID;
+	g_events->_kbInfo._scanCode = Common::KEYCODE_INVALID;
 
 	_G(flags).mainMouseFlag = false;
 	_G(flags).MainInput = true;
diff --git a/engines/chewy/events.cpp b/engines/chewy/events.cpp
index 7871f7842c4..130d81e553e 100644
--- a/engines/chewy/events.cpp
+++ b/engines/chewy/events.cpp
@@ -32,6 +32,7 @@ EventsManager::EventsManager(Graphics::Screen *screen, uint refreshRate) : _scre
 	addTimer(updateScreen, refreshRate);
 	g_events = this;
 	init_timer_handler();
+	_kbInfo._scanCode = Common::KEYCODE_INVALID;
 }
 
 EventsManager::~EventsManager() {
@@ -138,16 +139,11 @@ void EventsManager::handleMouseEvent(const Common::Event &event) {
 void EventsManager::handleKbdEvent(const Common::Event &event) {
 	_pendingKeyEvents.push(event);
 
-	if (_kbInfo) {
-		if (event.type == Common::EVENT_KEYDOWN) {
-			_kbInfo->_keyCode = event.kbd.ascii;
-			_kbInfo->_scanCode = event.kbd.keycode;
-			if (event.kbd.flags & Common::KBD_ALT)
-				_kbInfo->_scanCode |= ALT;
-		} else if (event.type == Common::EVENT_KEYUP) {
-			if (event.kbd.ascii == _kbInfo->_keyCode)
-				_kbInfo->_keyCode = '\0';
-		}
+	if (event.type == Common::EVENT_KEYUP) {
+		_kbInfo._keyCode = event.kbd.ascii;
+		_kbInfo._scanCode = event.kbd.keycode;
+		if (event.kbd.flags & Common::KBD_ALT)
+			_kbInfo._scanCode |= ALT;
 	}
 }
 
@@ -162,11 +158,8 @@ void EventsManager::delay(size_t time) {
 }
 
 void EventsManager::clearEvents() {
-	if (_kbInfo) {
-		_kbInfo->_scanCode = Common::KEYCODE_INVALID;
-		_kbInfo->_keyCode = '\0';
-	}
-
+	_kbInfo._scanCode = Common::KEYCODE_INVALID;
+	_kbInfo._keyCode = '\0';
 	_G(minfo)._button = 0;
 
 	processEvents();
@@ -174,12 +167,6 @@ void EventsManager::clearEvents() {
 	_pendingKeyEvents.clear();
 }
 
-KbdInfo *EventsManager::setKbdInfo(KbdInfo *kbInfo) {
-	KbdInfo *kb = _kbInfo;
-	_kbInfo = kbInfo;
-	return kb;
-}
-
 void EventsManager::update() {
 	// Brief pause to prevent 100% CPU usage
 	g_system->delayMillis(10);
@@ -242,14 +229,14 @@ void delay(size_t time) {
 }
 
 bool kbhit() {
-	return g_events->_kbInfo && g_events->_kbInfo->_keyCode != 0;
+	return g_events->_kbInfo._keyCode != 0;
 }
 
 char getch() {
-	if (g_events->_kbInfo && g_events->_kbInfo->_keyCode) {
-		char c = g_events->_kbInfo->_keyCode;
-		g_events->_kbInfo->_keyCode = 0;
-		g_events->_kbInfo->_scanCode = 0;
+	if (g_events->_kbInfo._keyCode) {
+		char c = g_events->_kbInfo._keyCode;
+		g_events->_kbInfo._keyCode = 0;
+		g_events->_kbInfo._scanCode = 0;
 
 		return c;
 	}
diff --git a/engines/chewy/events.h b/engines/chewy/events.h
index 6c67804c503..296f902bb2b 100644
--- a/engines/chewy/events.h
+++ b/engines/chewy/events.h
@@ -28,7 +28,11 @@
 
 namespace Chewy {
 
-struct KbdInfo;
+struct KbdInfo {
+	char _keyCode = '\0';
+	int _scanCode = Common::KEYCODE_INVALID;
+};
+
 typedef void (*TimerProc)();
 
 class EventsManager {
@@ -82,7 +86,7 @@ private:
 	void handleEvent(const Common::Event &event);
 
 public:
-	KbdInfo *_kbInfo = nullptr;
+	KbdInfo _kbInfo;
 	Common::Point _mousePos;
 	bool _flag1 = false;
 	bool _flag2 = false;
@@ -92,8 +96,6 @@ public:
 
 	void delay(size_t time);
 
-	KbdInfo *setKbdInfo(KbdInfo *kbInfo);
-
 	Graphics::Screen *_screen;
 
 	/**
diff --git a/engines/chewy/globals.h b/engines/chewy/globals.h
index cbccd60c371..dff41023121 100644
--- a/engines/chewy/globals.h
+++ b/engines/chewy/globals.h
@@ -215,7 +215,6 @@ public:
 	bool _ani_stand_flag[MAX_PERSON] = { false };
 
 	MouseInfo _minfo;
-	KbdInfo _kbinfo;
 	CurBlk _curblk;
 	CurAni _curani;
 	IogInit _ioptr;
diff --git a/engines/chewy/inits.cpp b/engines/chewy/inits.cpp
index e8fbc8c99c2..16cd27da017 100644
--- a/engines/chewy/inits.cpp
+++ b/engines/chewy/inits.cpp
@@ -50,7 +50,6 @@ void standard_init() {
 	_G(out)->setClip(0, 0, 320, 200);
 	_G(scr_width) = 0;
 	_G(screen0) = (byte *)g_screen->getPixels();
-	_G(in)->neuer_kb_handler(&_G(kbinfo));
 
 	// WORKAROUND: Moved from init_load because the original
 	// uses _G(curtaf)->_image below before _G(curtaf) was initialized
@@ -76,7 +75,6 @@ void standard_init() {
 	_G(room)->set_timer_start(1);
 
 	_G(out)->cls();
-	_G(in)->neuer_kb_handler(&_G(kbinfo));
 
 	var_init();
 	_G(ablage) = _G(room)->get_ablage();
diff --git a/engines/chewy/main.cpp b/engines/chewy/main.cpp
index b27882d3f6d..a6c46513ea3 100644
--- a/engines/chewy/main.cpp
+++ b/engines/chewy/main.cpp
@@ -250,7 +250,7 @@ bool mainLoop(int16 mode) {
 
 	mouseAction();
 	if (_G(flags).MainInput) {
-		switch (_G(kbinfo)._scanCode) {
+		switch (g_events->_kbInfo._scanCode) {
 		case Common::KEYCODE_F1:
 			_G(spieler).inv_cur = false;
 			_G(menu_item) = CUR_WALK;
@@ -306,7 +306,7 @@ bool mainLoop(int16 mode) {
 				getDisplayCoord(&_G(spieler).DispZx, &_G(spieler).DispZy, _G(spieler).AkInvent);
 			}
 
-			_G(kbinfo)._keyCode = '\0';
+			g_events->_kbInfo._keyCode = '\0';
 			break;
 
 		case Common::KEYCODE_F6:
@@ -422,7 +422,7 @@ bool mainLoop(int16 mode) {
 		case Common::KEYCODE_LEFT:
 		case Common::KEYCODE_UP:
 		case Common::KEYCODE_DOWN:
-			kb_cur_action(_G(kbinfo)._scanCode, 0);
+			kb_cur_action(g_events->_kbInfo._scanCode, 0);
 			break;
 
 		case 41:
@@ -453,7 +453,7 @@ bool mainLoop(int16 mode) {
 		}
 	}
 
-	_G(kbinfo)._scanCode = Common::KEYCODE_INVALID;
+	g_events->_kbInfo._scanCode	= Common::KEYCODE_INVALID;
 	if (mode == DO_SETUP)
 		setupScreen(DO_MAIN_LOOP);
 
@@ -840,16 +840,16 @@ void mouseAction() {
 		_G(inv_disp_ok) = false;
 	}
 	if (_G(atds)->aadGetStatus() == -1) {
-		if (_G(minfo)._button || _G(kbinfo)._keyCode == Common::KEYCODE_ESCAPE || _G(kbinfo)._keyCode == Common::KEYCODE_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(kbinfo)._keyCode == Common::KEYCODE_ESCAPE) {
+			if (_G(minfo)._button == 2 || g_events->_kbInfo._keyCode == Common::KEYCODE_ESCAPE) {
 				if (!_G(flags).mainMouseFlag) {
-					_G(kbinfo)._scanCode = Common::KEYCODE_ESCAPE;
+					g_events->_kbInfo._scanCode = Common::KEYCODE_ESCAPE;
 				}
-			} else if (_G(minfo)._button == 1 || _G(kbinfo)._keyCode == Common::KEYCODE_RETURN) {
+			} else if (_G(minfo)._button == 1 || g_events->_kbInfo._keyCode == Common::KEYCODE_RETURN) {
 				if (!_G(flags).mainMouseFlag) {
 					if (_G(menu_display) == MENU_DISPLAY)
-						_G(kbinfo)._scanCode = Common::KEYCODE_RETURN;
+						g_events->_kbInfo._scanCode = Common::KEYCODE_RETURN;
 					else if (_G(spieler).AkInvent != -1) {
 						if (_G(inv_disp_ok)) {
 							if (_G(spieler).inv_cur) {
@@ -859,7 +859,7 @@ void mouseAction() {
 							} else {
 								_G(menu_item) = CUR_USE;
 								cursorChoice(CUR_AK_INVENT);
-								_G(kbinfo)._scanCode = Common::KEYCODE_INVALID;
+								g_events->_kbInfo._scanCode = Common::KEYCODE_INVALID;
 							}
 						} else if (!_G(flags).MouseLeft)
 							_G(mouseLeftClick) = true;
@@ -1643,7 +1643,7 @@ void get_user_key(int16 mode) {
 				getDisplayCoord(&_G(spieler).DispZx, &_G(spieler).DispZy, _G(spieler).AkInvent);
 			}
 
-			_G(kbinfo)._keyCode = '\0';
+			g_events->_kbInfo._keyCode = '\0';
 			break;
 
 		default:
diff --git a/engines/chewy/mcga_graphics.cpp b/engines/chewy/mcga_graphics.cpp
index f96aaca6bb1..46dbbba3b21 100644
--- a/engines/chewy/mcga_graphics.cpp
+++ b/engines/chewy/mcga_graphics.cpp
@@ -216,9 +216,6 @@ int16 McgaGraphics::scanxy(int16 x, int16 y, int16 fcol, int16 bcol, int16 cur_c
 	va_list parptr;
 	va_start(parptr, string);
 
-	KbdInfo kbInfo;
-	KbdInfo *kb_old = g_events->setKbdInfo(&kbInfo);
-
 	if ((x == -1) || (y == -1)) {
 		x = _G(gcurx);
 		y = _G(gcury);
@@ -625,8 +622,6 @@ int16 McgaGraphics::scanxy(int16 x, int16 y, int16 fcol, int16 bcol, int16 cur_c
 	if (_svga == ON)
 		upd_scr();
 
-	g_events->setKbdInfo(kb_old);
-
 	va_end(parptr);
 	return ret;
 }
diff --git a/engines/chewy/mouse.cpp b/engines/chewy/mouse.cpp
index 1b3753f33c2..fa1ed05713a 100644
--- a/engines/chewy/mouse.cpp
+++ b/engines/chewy/mouse.cpp
@@ -29,7 +29,6 @@ namespace Chewy {
 bool _cursorMoveFl;
 
 InputMgr::InputMgr() {
-	_kbInfoBlk = nullptr;
 }
 
 InputMgr::~InputMgr() {
@@ -45,18 +44,6 @@ int16 InputMgr::mouseVector(int16 x, int16 y, const int16 *tbl, int16 nr) {
 	return i;
 }
 
-void InputMgr::neuer_kb_handler(KbdInfo *key) {
-	g_events->setKbdInfo(key);
-	_kbInfoBlk = key;
-	_kbInfoBlk->_keyCode = '\0';
-}
-
-KbdMouseInfo *InputMgr::getPointer() {
-	_inzeig.kbinfo = _kbInfoBlk;
-
-	return &_inzeig;
-}
-
 int16 InputMgr::getSwitchCode() {
 	int16 switch_code = 0;
 
@@ -67,13 +54,8 @@ int16 InputMgr::getSwitchCode() {
 	else if (_G(minfo)._button == 4)
 		switch_code = MOUSE_CENTER;
 
-	if (_kbInfoBlk && _kbInfoBlk->_keyCode != 0)
-		switch_code = (int16)_kbInfoBlk->_keyCode;
-
-	if (_hotkey != Common::KEYCODE_INVALID) {
-		switch_code = _hotkey;
-		_hotkey = Common::KEYCODE_INVALID;
-	}
+	if (g_events->_kbInfo._keyCode != 0)
+		switch_code = (int16)g_events->_kbInfo._keyCode;
 
 	return switch_code;
 }
diff --git a/engines/chewy/mouse.h b/engines/chewy/mouse.h
index 50ea419f989..1fad6e4a867 100644
--- a/engines/chewy/mouse.h
+++ b/engines/chewy/mouse.h
@@ -33,17 +33,9 @@ public:
 	InputMgr();
 	~InputMgr();
 
-	void neuer_kb_handler(KbdInfo *key);
 	int16 mouseVector(int16 x, int16 y, const int16 *tbl, int16 nr);
 
-	KbdMouseInfo *getPointer();
 	int16 getSwitchCode();
-
-	int16 _hotkey = Common::KEYCODE_INVALID;
-
-private:
-	KbdInfo *_kbInfoBlk = nullptr;
-	KbdMouseInfo _inzeig;
 };
 
 } // namespace Chewy
diff --git a/engines/chewy/ngstypes.h b/engines/chewy/ngstypes.h
index 78960f02384..4d540f9b245 100644
--- a/engines/chewy/ngstypes.h
+++ b/engines/chewy/ngstypes.h
@@ -52,15 +52,6 @@ struct MouseInfo {
 	int16 _button = 0;
 };
 
-struct KbdInfo {
-	char _keyCode = '\0';
-	int _scanCode = Common::KEYCODE_INVALID;
-};
-
-struct KbdMouseInfo {
-	KbdInfo *kbinfo = nullptr;
-};
-
 struct TmfInst {
 	uint8 finetune;
 	uint8 insvol;
diff --git a/engines/chewy/r_event.cpp b/engines/chewy/r_event.cpp
index 72f436c2987..695315da5bb 100644
--- a/engines/chewy/r_event.cpp
+++ b/engines/chewy/r_event.cpp
@@ -90,7 +90,7 @@ void play_scene_ani(int16 nr, int16 mode) {
 		break;
 	}
 
-	_G(kbinfo)._scanCode = Common::KEYCODE_INVALID;
+	g_events->_kbInfo._scanCode = Common::KEYCODE_INVALID;
 }
 
 void timer_action(int16 t_nr) {
@@ -129,7 +129,7 @@ void timer_action(int16 t_nr) {
 		_G(uhr)->resetTimer(t_nr, 0);
 	}
 
-	_G(kbinfo)._scanCode = Common::KEYCODE_INVALID;
+	g_events->_kbInfo._scanCode = Common::KEYCODE_INVALID;
 }
 
 void check_ged_action(int16 index) {
@@ -174,7 +174,7 @@ void check_ged_action(int16 index) {
 		_G(flags).GedAction = false;
 	}
 
-	_G(kbinfo)._scanCode = Common::KEYCODE_INVALID;
+	g_events->_kbInfo._scanCode = Common::KEYCODE_INVALID;
 }
 
 int16 ged_user_func(int16 idx_nr) {
diff --git a/engines/chewy/rooms/room00.cpp b/engines/chewy/rooms/room00.cpp
index e78f01bc8ff..a32f84fff07 100644
--- a/engines/chewy/rooms/room00.cpp
+++ b/engines/chewy/rooms/room00.cpp
@@ -302,7 +302,7 @@ void Room0::eyeWait() {
 
 void Room0::calcEyeClick(int16 aniNr) {
 	if (mouse_on_prog_ani() == aniNr) {
-		if (_G(minfo)._button != 1 && _G(kbinfo)._keyCode != Common::KEYCODE_RETURN) {
+		if (_G(minfo)._button != 1 && g_events->_kbInfo._keyCode != Common::KEYCODE_RETURN) {
 			int16 anz;
 			char *str_ = _G(atds)->ats_get_txt(172, TXT_MARK_NAME, &anz, ATS_DATA);
 			if (str_ != 0) {
@@ -313,7 +313,7 @@ void Room0::calcEyeClick(int16 aniNr) {
 				for (int16 i = 0; i < anz; i++)
 					printShadowed(x, y + i * 10, 255, 300, 0, _G(scr_width), _G(txt)->strPos((char *)str_, i));
 			}
-		} else if (_G(minfo)._button == 1 || _G(kbinfo)._keyCode == Common::KEYCODE_RETURN) {
+		} else if (_G(minfo)._button == 1 || g_events->_kbInfo._keyCode == Common::KEYCODE_RETURN) {
 			if (isCurInventory(SLIME_INV)) {
 				delInventory(_G(spieler).AkInvent);
 				_G(spieler).R0SlimeUsed = true;
@@ -540,7 +540,7 @@ void Room0::feederExtend() {
 
 void Room0::calcPillowClick(int16 aniNr) {
 	if (mouse_on_prog_ani() == aniNr) {
-		if (_G(minfo)._button != 1 && _G(kbinfo)._keyCode != Common::KEYCODE_RETURN) {
+		if (_G(minfo)._button != 1 && g_events->_kbInfo._keyCode != Common::KEYCODE_RETURN) {
 			int16 anz;
 			char *str_ = _G(atds)->ats_get_txt(173, TXT_MARK_NAME, &anz, ATS_DATA);
 			if (str_ != nullptr) {
@@ -551,7 +551,7 @@ void Room0::calcPillowClick(int16 aniNr) {
 				for (int16 i = 0; i < anz; i++)
 					printShadowed(x, y + i * 10, 255, 300, 0, _G(scr_width), _G(txt)->strPos((char *)str_, i));
 			}
-		} else if (_G(minfo)._button == 1 || _G(kbinfo)._keyCode == Common::KEYCODE_RETURN) {
+		} else if (_G(minfo)._button == 1 || g_events->_kbInfo._keyCode == Common::KEYCODE_RETURN) {
 			if (isCurInventory(PILLOW_INV) && _G(spieler).R0SlimeUsed) {
 				delInventory(_G(spieler).AkInvent);
 				_G(spieler).R0PillowThrow = true;
diff --git a/engines/chewy/rooms/room03.cpp b/engines/chewy/rooms/room03.cpp
index 1d666216d8a..9366b25de13 100644
--- a/engines/chewy/rooms/room03.cpp
+++ b/engines/chewy/rooms/room03.cpp
@@ -348,7 +348,7 @@ void Room3::probeTransfer() {
 
 			if (i == 2 || i == 1) {
 				if (mouse_auto_obj(SONDE_OBJ, 50, 100)) {
-					if (_G(minfo)._button == 1 || _G(kbinfo)._keyCode == Common::KEYCODE_RETURN) {
+					if (_G(minfo)._button == 1 || g_events->_kbInfo._keyCode == Common::KEYCODE_RETURN) {
 						if (isCurInventory(SPINAT_INV)) {
 							_G(atds)->set_split_win(0, 120, 100);
 							if (_G(spieler)._personRoomNr[P_CHEWY] == 3)
diff --git a/engines/chewy/rooms/room04.cpp b/engines/chewy/rooms/room04.cpp
index 63642d824ff..50673cddac0 100644
--- a/engines/chewy/rooms/room04.cpp
+++ b/engines/chewy/rooms/room04.cpp
@@ -94,7 +94,7 @@ int16 Room4::comp_probe() {
 		_G(spr_info)[0]._x = CUR_POS[curX][0];
 		_G(spr_info)[0]._y = CUR_POS[curX][1];
 
-		if (_G(minfo)._button == 1 || _G(kbinfo)._keyCode == Common::KEYCODE_RETURN) {
+		if (_G(minfo)._button == 1 || g_events->_kbInfo._keyCode == Common::KEYCODE_RETURN) {
 			_G(curani)._start = HAND_CLICK;
 			_G(curani)._end = HAND_CLICK;
 		} else {
diff --git a/engines/chewy/rooms/room08.cpp b/engines/chewy/rooms/room08.cpp
index 078c808eba5..72c62bf869e 100644
--- a/engines/chewy/rooms/room08.cpp
+++ b/engines/chewy/rooms/room08.cpp
@@ -94,7 +94,7 @@ void Room8::start_verbrennen() {
 			setupScreen(DO_SETUP);
 			SHOULD_QUIT_RETURN;
 
-			if (_G(minfo)._button == 1 || _G(kbinfo)._keyCode == Common::KEYCODE_RETURN) {
+			if (_G(minfo)._button == 1 || g_events->_kbInfo._keyCode == Common::KEYCODE_RETURN) {
 				if (g_events->_mousePos.x > 146 && g_events->_mousePos.x < 208 &&
 					g_events->_mousePos.y > 107 && g_events->_mousePos.y < 155)
 					break;
diff --git a/engines/chewy/rooms/room29.cpp b/engines/chewy/rooms/room29.cpp
index 0286621e8db..48bd0f97f9b 100644
--- a/engines/chewy/rooms/room29.cpp
+++ b/engines/chewy/rooms/room29.cpp
@@ -151,7 +151,7 @@ void Room29::schlitz_sitz() {
 		_G(atds)->del_steuer_bit(212, ATS_AKTIV_BIT, ATS_DATA);
 		_G(spieler)._personHide[P_CHEWY] = false;
 		_G(mouseLeftClick) = false;
-		_G(kbinfo)._scanCode = Common::KEYCODE_INVALID;
+		g_events->_kbInfo._scanCode = Common::KEYCODE_INVALID;
 
 		showCur();
 	}
diff --git a/engines/chewy/sprite.cpp b/engines/chewy/sprite.cpp
index 45cb84870ce..8d589522fe8 100644
--- a/engines/chewy/sprite.cpp
+++ b/engines/chewy/sprite.cpp
@@ -473,7 +473,7 @@ void startAadWait(int16 diaNr) {
 	_G(mouseLeftClick) = oldMouseLeftClick;
 	if (_G(minfo)._button)
 		_G(flags).mainMouseFlag = 1;
-	_G(kbinfo)._scanCode = Common::KEYCODE_INVALID;
+	g_events->_kbInfo._scanCode = Common::KEYCODE_INVALID;
 	stop_spz();
 }
 
@@ -537,7 +537,7 @@ bool startAtsWait(int16 txtNr, int16 txtMode, int16 col, int16 mode) {
 	if (_G(minfo)._button)
 		_G(flags).mainMouseFlag = 1;
 
-	_G(kbinfo)._scanCode = Common::KEYCODE_INVALID;
+	g_events->_kbInfo._scanCode = Common::KEYCODE_INVALID;
 	_G(mouseLeftClick) = oldMouseLeftClick;
 
 	return ret != DISPLAY_NONE;
@@ -558,7 +558,7 @@ void aadWait(int16 strNr) {
 	_G(mouseLeftClick) = oldMouseLeftClick;
 	if (_G(minfo)._button)
 		_G(flags).mainMouseFlag = 1;
-	_G(kbinfo)._scanCode = Common::KEYCODE_INVALID;
+	g_events->_kbInfo._scanCode = Common::KEYCODE_INVALID;
 }
 
 void start_aad(int16 diaNr, int16 ssiNr) {
diff --git a/engines/chewy/video/video_player.cpp b/engines/chewy/video/video_player.cpp
index 3cb34011d0e..9e0f967f127 100644
--- a/engines/chewy/video/video_player.cpp
+++ b/engines/chewy/video/video_player.cpp
@@ -93,9 +93,8 @@ bool VideoPlayer::playVideo(uint num, bool stopMusic) {
 			skipVideo = true;
 
 		// Clear any pending keys
-		_G(in)->_hotkey = 0;
-		_G(kbinfo)._keyCode = '\0';
-		_G(kbinfo)._scanCode = 0;
+		g_events->_kbInfo._keyCode = '\0';
+		g_events->_kbInfo._scanCode = Common::KEYCODE_INVALID;
 	}
 
 	cfoDecoder->close();
@@ -174,7 +173,7 @@ bool VideoPlayer::handleCustom(uint num, uint frame, CfoDecoder *cfoDecoder) {
 			start_aad(601, 0);
 			break;
 		case 297:
-			_G(in)->_hotkey = 1;
+			//_G(in)->_hotkey = 1;
 			break;
 		case 171:
 		case 266:




More information about the Scummvm-git-logs mailing list