[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