[Scummvm-git-logs] scummvm master -> 6364205d8147348a893ae2da4ebe0c24b6abd236

athrxx noreply at scummvm.org
Tue Aug 25 20:54:12 UTC 2026


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

Summary:
bd66bd95e6 KYRA: (EOB) - remove unneeded key mappings
6364205d81 KYRA: (EOB) - prevent some unnecessary screen updates


Commit: bd66bd95e648a9cdd27546f03356e7ca2146829f
    https://github.com/scummvm/scummvm/commit/bd66bd95e648a9cdd27546f03356e7ca2146829f
Author: athrxx (athrxx at scummvm.org)
Date: 2026-08-25T22:53:19+02:00

Commit Message:
KYRA: (EOB) - remove unneeded key mappings

Changed paths:
    engines/kyra/engine/eobcommon.cpp


diff --git a/engines/kyra/engine/eobcommon.cpp b/engines/kyra/engine/eobcommon.cpp
index b4f38a4d1a3..5beaa192cb8 100644
--- a/engines/kyra/engine/eobcommon.cpp
+++ b/engines/kyra/engine/eobcommon.cpp
@@ -399,12 +399,6 @@ Common::KeymapArray EoBCoreEngine::initKeymaps(const Common::String &gameId) {
 	if (gameId == "eob2")
 		addKeymapAction(keyMap, "SL6", _("Spell level 6"), Common::KeyState(Common::KEYCODE_6, '6'), "6", "");
 
-	// Non-original: Shift+arrows move the automap selection cursor (handled in runLoop).
-	addKeymapAction(keyMap, "MSU", _("Map cursor up"), Common::KeyState(Common::KEYCODE_UP, 0, Common::KBD_SHIFT), "S+UP", "");
-	addKeymapAction(keyMap, "MSD", _("Map cursor down"), Common::KeyState(Common::KEYCODE_DOWN, 0, Common::KBD_SHIFT), "S+DOWN", "");
-	addKeymapAction(keyMap, "MSL", _("Map cursor left"), Common::KeyState(Common::KEYCODE_LEFT, 0, Common::KBD_SHIFT), "S+LEFT", "");
-	addKeymapAction(keyMap, "MSR", _("Map cursor right"), Common::KeyState(Common::KEYCODE_RIGHT, 0, Common::KBD_SHIFT), "S+RIGHT", "");
-
 	return Common::Keymap::arrayOf(keyMap);
 }
 


Commit: 6364205d8147348a893ae2da4ebe0c24b6abd236
    https://github.com/scummvm/scummvm/commit/6364205d8147348a893ae2da4ebe0c24b6abd236
Author: athrxx (athrxx at scummvm.org)
Date: 2026-08-25T22:53:24+02:00

Commit Message:
KYRA: (EOB) - prevent some unnecessary screen updates

Changed paths:
    engines/kyra/engine/darkmoon.cpp
    engines/kyra/engine/eob.h
    engines/kyra/engine/eobcommon.h
    engines/kyra/gui/gui_eob.cpp
    engines/kyra/gui/gui_eob_segacd.cpp
    engines/kyra/gui/saveload_eob.cpp
    engines/kyra/sequence/sequences_eob.cpp


diff --git a/engines/kyra/engine/darkmoon.cpp b/engines/kyra/engine/darkmoon.cpp
index 89f7bb13583..8ca642b9337 100644
--- a/engines/kyra/engine/darkmoon.cpp
+++ b/engines/kyra/engine/darkmoon.cpp
@@ -591,8 +591,8 @@ void DarkMoonEngine::restParty_npc() {
 
 	_items[createItemOnCurrentBlock(28)].value = 26;
 
-	gui_drawPlayField(false);
-	gui_drawAllCharPortraitsWithStats();
+	gui_drawPlayField(false, false);
+	gui_drawAllCharPortraitsWithStats(false);
 
 	_screen->setClearScreenDim(10);
 	_screen->set16bitShadingLevel(4);
diff --git a/engines/kyra/engine/eob.h b/engines/kyra/engine/eob.h
index 5dafc2dab9a..fad7e9b800b 100644
--- a/engines/kyra/engine/eob.h
+++ b/engines/kyra/engine/eob.h
@@ -198,7 +198,7 @@ private:
 	// GUI
 	int clickedCamp(Button *button) override;
 
-	void gui_drawPlayField(bool refresh) override;
+	void gui_drawPlayField(bool refresh, bool screenUpdt = true) override;
 	void gui_setupPlayFieldHelperPages(bool keepText = false) override;
 	void gui_drawWeaponSlotStatus(int x, int y, int status) override;
 	void gui_printInventoryDigits(int x, int y, int val) override;
diff --git a/engines/kyra/engine/eobcommon.h b/engines/kyra/engine/eobcommon.h
index b67b9b16b62..4e05751488b 100644
--- a/engines/kyra/engine/eobcommon.h
+++ b/engines/kyra/engine/eobcommon.h
@@ -745,10 +745,10 @@ protected:
 	uint8 _scriptTimersMode;
 
 	// Gui
-	virtual void gui_drawPlayField(bool refresh);
+	virtual void gui_drawPlayField(bool refresh, bool screenUpdt = true);
 	virtual void gui_setupPlayFieldHelperPages(bool keepText = false);
 	void gui_restorePlayField();
-	void gui_drawAllCharPortraitsWithStats();
+	void gui_drawAllCharPortraitsWithStats(bool screenUpdt = true);
 	void gui_drawCharPortraitWithStats(int index, bool screenUpdt = true);
 	void gui_drawFaceShape(int index);
 	void gui_drawWeaponSlot(int charIndex, int slot);
diff --git a/engines/kyra/gui/gui_eob.cpp b/engines/kyra/gui/gui_eob.cpp
index 2b146ae0fb6..19c9d84f82d 100644
--- a/engines/kyra/gui/gui_eob.cpp
+++ b/engines/kyra/gui/gui_eob.cpp
@@ -49,7 +49,7 @@ Button *EoBCoreEngine::gui_getButton(Button *buttonList, int index) {
 	return 0;
 }
 
-void EoBCoreEngine::gui_drawPlayField(bool refresh) {
+void EoBCoreEngine::gui_drawPlayField(bool refresh, bool screenUpdt) {
 	_screen->loadEoBBitmap("PLAYFLD", _cgaMappingDeco, 5, 3, 2);
 	int cp = _screen->setCurPage(2);
 	if (_flags.lang == Common::Language::ZH_TWN) {
@@ -68,7 +68,7 @@ void EoBCoreEngine::gui_drawPlayField(bool refresh) {
 	_screen->setCurPage(cp);
 	_screen->copyRegion(0, 0, 0, 0, 320, 200, 2, 0, Screen::CR_NO_P_CHECK);
 
-	if (!_loading)
+	if (!_loading && screenUpdt)
 		_screen->updateScreen();
 
 	gui_setupPlayFieldHelperPages();
@@ -90,13 +90,15 @@ void EoBCoreEngine::gui_setupPlayFieldHelperPages(bool) {
 void EoBCoreEngine::gui_restorePlayField() {
 	loadVcnData(0, _cgaLevelMappingIndex ? _cgaMappingLevel[_cgaLevelMappingIndex[_currentLevel - 1]] : 0);
 	_screen->_curPage = 0;
-	gui_drawPlayField(true);
+	gui_drawPlayField(true, false);
 	gui_drawAllCharPortraitsWithStats();
 }
 
-void EoBCoreEngine::gui_drawAllCharPortraitsWithStats() {
+void EoBCoreEngine::gui_drawAllCharPortraitsWithStats(bool screenUpdt) {
 	for (int i = 5; i >= 0; --i)
-		gui_drawCharPortraitWithStats(i);
+		gui_drawCharPortraitWithStats(i, false);
+	if (screenUpdt && _screen->_curPage == 0)
+		_screen->updateScreen();
 }
 
 void EoBCoreEngine::gui_drawCharPortraitWithStats(int index, bool screenUpdt) {
@@ -2573,7 +2575,7 @@ void GUI_EoB::runCampMenu() {
 					i = selectCharacterDialogue(53);
 					if (i > 0) {
 						_vm->dropCharacter(i);
-						_vm->gui_drawPlayField(false);
+						_vm->gui_drawPlayField(false, false);
 						_screen->copyRegion(0, 120, 0, 0, 176, 24, 0, Screen_EoB::kCampMenuBackupPage, Screen::CR_NO_P_CHECK);
 						Screen::FontId cfn = _screen->setFont(_vm->_conFont);
 						_vm->gui_drawAllCharPortraitsWithStats();
diff --git a/engines/kyra/gui/gui_eob_segacd.cpp b/engines/kyra/gui/gui_eob_segacd.cpp
index e31eead19e3..a9313160792 100644
--- a/engines/kyra/gui/gui_eob_segacd.cpp
+++ b/engines/kyra/gui/gui_eob_segacd.cpp
@@ -49,9 +49,9 @@ int EoBEngine::clickedCamp(Button *button) {
 	return button->arg;
 }
 
-void EoBEngine::gui_drawPlayField(bool refresh) {
+void EoBEngine::gui_drawPlayField(bool refresh, bool screenUpdt) {
 	if (_flags.platform != Common::kPlatformSegaCD) {
-		EoBCoreEngine::gui_drawPlayField(refresh);
+		EoBCoreEngine::gui_drawPlayField(refresh, screenUpdt);
 		return;
 	}
 
diff --git a/engines/kyra/gui/saveload_eob.cpp b/engines/kyra/gui/saveload_eob.cpp
index 93b30b03ec3..332c70fe8aa 100644
--- a/engines/kyra/gui/saveload_eob.cpp
+++ b/engines/kyra/gui/saveload_eob.cpp
@@ -313,13 +313,13 @@ Common::Error EoBCoreEngine::loadGameState(int slot) {
 		_screen->fillRect(64, 121, 175, 176, 0, 2);
 
 	_screen->setCurPage(0);
-	gui_drawPlayField(false);
+	gui_drawPlayField(false, false);
 
 	if (_currentControlMode)
 		_screen->copyRegion(176, 0, 0, 0, 144, 168, 0, 5, Screen::CR_NO_P_CHECK);
 
 	_screen->setCurPage(0);
-	gui_drawAllCharPortraitsWithStats();
+	gui_drawAllCharPortraitsWithStats(false);
 	drawScene(1);
 
 	if (_updateFlags) {
diff --git a/engines/kyra/sequence/sequences_eob.cpp b/engines/kyra/sequence/sequences_eob.cpp
index 49ddf987a3b..f68ede99308 100644
--- a/engines/kyra/sequence/sequences_eob.cpp
+++ b/engines/kyra/sequence/sequences_eob.cpp
@@ -2451,7 +2451,7 @@ void EoBEngine::seq_xdeath() {
 	if (_flags.platform == Common::kPlatformSegaCD)
 		_screen->sega_fadeToBlack(7);
 	else
-		gui_drawPlayField(false);
+		gui_drawPlayField(false, false);
 	gui_drawAllCharPortraitsWithStats();
 }
 




More information about the Scummvm-git-logs mailing list