[Scummvm-git-logs] scummvm branch-2-9 -> e86427803c62c26118972a810f096f433ae342f0
bluegr
noreply at scummvm.org
Thu Nov 28 23:21:24 UTC 2024
This automated email contains information about 8 new commits which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .
Summary:
513646718b ADL: Restore picture for unvisited rooms
29375fa8b5 ADL: Add detection entry
3ab70438ba ADL: Check if inventory is full for dropped items
53002c5197 ADL: Fix formatting of full inventory message
02165f7a43 ADL: Remove broken strings in hires5
5e3ad137d9 ADL: Add delay for title screen in hires1
961b715a8d GOB: Apply cursor workaround to more Delia's videos in LIT - bug #10383
e86427803c GOB: Show the cursor for the closeup video of Bizoo in Gob3 - bug #5381
Commit: 513646718b59d8ad21b894ff41248e1e9285d414
https://github.com/scummvm/scummvm/commit/513646718b59d8ad21b894ff41248e1e9285d414
Author: Walter van Niftrik (walter at scummvm.org)
Date: 2024-11-29T01:20:55+02:00
Commit Message:
ADL: Restore picture for unvisited rooms
Fixes bug #15379
Changed paths:
engines/adl/adl_v4.cpp
diff --git a/engines/adl/adl_v4.cpp b/engines/adl/adl_v4.cpp
index c6c50d10041..79cce6c2027 100644
--- a/engines/adl/adl_v4.cpp
+++ b/engines/adl/adl_v4.cpp
@@ -382,6 +382,17 @@ byte AdlEngine_v4::restoreRoomState(byte room) {
return 0;
}
+ // WORKAROUND: Fix for bug #15379: "ADL: HIRES5: Game unsolvable after
+ // loading savegame. Save state not properly restored?".
+ // There's a problem in the original engine when a picture is set for a
+ // room that hasn't been visited yet. If the user then saves before
+ // visiting that room, the picture change will be ignored when play is
+ // resumed from that savegame.
+ if (backup.picture != 1) {
+ warning("Detected picture change for unvisited room %d in region %d", room, _state.region);
+ getRoom(room).curPicture = getRoom(room).picture = backup.picture;
+ }
+
return 1;
}
Commit: 29375fa8b5f7339759951862b265a8b906867cab
https://github.com/scummvm/scummvm/commit/29375fa8b5f7339759951862b265a8b906867cab
Author: Walter van Niftrik (walter at scummvm.org)
Date: 2024-11-29T01:20:55+02:00
Commit Message:
ADL: Add detection entry
Changed paths:
engines/adl/detection.cpp
diff --git a/engines/adl/detection.cpp b/engines/adl/detection.cpp
index 4044bfab5da..29b49edc8f8 100644
--- a/engines/adl/detection.cpp
+++ b/engines/adl/detection.cpp
@@ -378,9 +378,35 @@ static const AdlGameDescription gameDiskDescriptions[] = {
GAME_TYPE_HIRES4,
GAME_VER_NONE
},
- { // Hi-Res Adventure #5: Time Zone - Apple II - Version 1.1 - Roberta Williams Anthology
+ { // Hi-Res Adventure #5: Time Zone - Apple II - On-Line Systems - Version 1.1
{
- "hires5", "",
+ "hires5", "On-Line Systems",
+ {
+ {"tzone1a", 2, "6c1f4c9f774dbd9697e3b5b1fe2fb858", 143360},
+ {"tzone1b", 3, "4eaf8d790e3f93097cca9ddbe863df50", 143360},
+ {"tzone2c", 4, "e3aa4f56e727339b1ec00978ce9d435b", 143360},
+ {"tzone2d", 5, "77b8219a380410015c986fa192d4c3bf", 143360},
+ {"tzone3e", 6, "f7acc03edd8d8aecb90711cd5f9e5593", 143360},
+ {"tzone3f", 7, "ed74c056976ecea2eab07448c8a72eb8", 143360},
+ {"tzone4g", 8, "de7bda8a641169fc2dedd8a7b0b7e7de", 143360},
+ {"tzone4h", 9, "21cf76d97505ff09fff5d5e4711bc47c", 143360},
+ {"tzone5i", 10, "d665df374e594cd0978b73c3490e5de2", 143360},
+ {"tzone5j", 11, "5095be23d13201d0897b9169c4e473df", 143360},
+ {"tzone6k", 12, "bef044503f21af5f0a4088e99aa778b1", 143360},
+ {"tzone6l", 13, "84801b7c2ab6c09e62a2a0809b94d16a", 143360},
+ AD_LISTEND
+ },
+ Common::EN_ANY,
+ Common::kPlatformApple2,
+ ADGF_NO_FLAGS,
+ DEFAULT_OPTIONS
+ },
+ GAME_TYPE_HIRES5,
+ GAME_VER_NONE
+ },
+ { // Hi-Res Adventure #5: Time Zone - Apple II - Roberta Williams Anthology - Version 1.1
+ {
+ "hires5", "Sierra On-Line",
{
{ "tzone1a", 2, "731844b1d19c2801e3a5bc61d109af54", 143360 },
{ "tzone1b", 3, "4eaf8d790e3f93097cca9ddbe863df50", 143360 },
Commit: 3ab70438baabd70c0150553744fc21429ffd4bb5
https://github.com/scummvm/scummvm/commit/3ab70438baabd70c0150553744fc21429ffd4bb5
Author: Walter van Niftrik (walter at scummvm.org)
Date: 2024-11-29T01:20:56+02:00
Commit Message:
ADL: Check if inventory is full for dropped items
Fixes bug #15389
Changed paths:
engines/adl/adl_v2.cpp
diff --git a/engines/adl/adl_v2.cpp b/engines/adl/adl_v2.cpp
index c8a76c3e46d..cd3aabd8ba5 100644
--- a/engines/adl/adl_v2.cpp
+++ b/engines/adl/adl_v2.cpp
@@ -304,22 +304,27 @@ void AdlEngine_v2::takeItem(byte noun) {
return;
}
+ bool itemIsHere = false;
+
if (item->state == IDI_ITEM_DROPPED) {
- item->room = IDI_ANY;
- _itemRemoved = true;
- return;
+ itemIsHere = true;
+ } else {
+ Common::Array<byte>::const_iterator pic;
+ for (pic = item->roomPictures.begin(); pic != item->roomPictures.end(); ++pic) {
+ if (*pic == getCurRoom().curPicture || *pic == IDI_ANY) {
+ itemIsHere = true;
+ break;
+ }
+ }
}
- Common::Array<byte>::const_iterator pic;
- for (pic = item->roomPictures.begin(); pic != item->roomPictures.end(); ++pic) {
- if (*pic == getCurRoom().curPicture || *pic == IDI_ANY) {
- if (!isInventoryFull()) {
- item->room = IDI_ANY;
- _itemRemoved = true;
- item->state = IDI_ITEM_DROPPED;
- }
- return;
+ if (itemIsHere) {
+ if (!isInventoryFull()) {
+ item->room = IDI_ANY;
+ _itemRemoved = true;
+ item->state = IDI_ITEM_DROPPED;
}
+ return;
}
}
}
Commit: 53002c51979bdcc8d1b1b5536faee5307ac5a8ff
https://github.com/scummvm/scummvm/commit/53002c51979bdcc8d1b1b5536faee5307ac5a8ff
Author: Walter van Niftrik (walter at scummvm.org)
Date: 2024-11-29T01:20:56+02:00
Commit Message:
ADL: Fix formatting of full inventory message
Changed paths:
engines/adl/hires5.cpp
diff --git a/engines/adl/hires5.cpp b/engines/adl/hires5.cpp
index 8a14b0ab24f..9b50e9dda66 100644
--- a/engines/adl/hires5.cpp
+++ b/engines/adl/hires5.cpp
@@ -156,7 +156,7 @@ bool HiRes5Engine::isInventoryFull() {
}
if (weight >= 100) {
- printString(_gameStrings.carryingTooMuch);
+ _display->printString(_gameStrings.carryingTooMuch);
inputString();
return true;
}
Commit: 02165f7a43d471f0d2ff1b073a28ee97cc4bfc52
https://github.com/scummvm/scummvm/commit/02165f7a43d471f0d2ff1b073a28ee97cc4bfc52
Author: Walter van Niftrik (walter at scummvm.org)
Date: 2024-11-29T01:20:56+02:00
Commit Message:
ADL: Remove broken strings in hires5
Fixes bug #15382.
Co-authored-by: Torbjörn Andersson <eriktorbjorn at users.sourceforge.net>
Changed paths:
engines/adl/adl.cpp
engines/adl/adl.h
engines/adl/hires5.cpp
diff --git a/engines/adl/adl.cpp b/engines/adl/adl.cpp
index ac700c80da2..05ff6f6ffc7 100644
--- a/engines/adl/adl.cpp
+++ b/engines/adl/adl.cpp
@@ -444,6 +444,15 @@ Command &AdlEngine::getCommand(Commands &commands, uint idx) {
error("Command %d not found", idx);
}
+void AdlEngine::removeMessage(uint idx) {
+ if (_messages[idx]) {
+ _messages[idx].reset();
+ return;
+ }
+
+ error("Message %d not found", idx);
+}
+
void AdlEngine::checkInput(byte verb, byte noun) {
// Try room-local command list first
if (doOneCommand(_roomData.commands, verb, noun))
diff --git a/engines/adl/adl.h b/engines/adl/adl.h
index a749c65a690..cea2313c8d5 100644
--- a/engines/adl/adl.h
+++ b/engines/adl/adl.h
@@ -297,6 +297,7 @@ protected:
void readCommands(Common::ReadStream &stream, Commands &commands);
void removeCommand(Commands &commands, uint idx);
Command &getCommand(Commands &commands, uint idx);
+ void removeMessage(uint idx);
void checkInput(byte verb, byte noun);
virtual bool isInputValid(byte verb, byte noun, bool &is_any);
virtual bool isInputValid(const Commands &commands, byte verb, byte noun, bool &is_any);
diff --git a/engines/adl/hires5.cpp b/engines/adl/hires5.cpp
index 9b50e9dda66..8441573809c 100644
--- a/engines/adl/hires5.cpp
+++ b/engines/adl/hires5.cpp
@@ -371,6 +371,21 @@ void HiRes5Engine::applyRegionWorkarounds() {
// of the script.
removeCommand(_roomCommands, 0);
break;
+ case 32:
+ // This broken message appears right before the game restarts,
+ // and should probably explain that the user fell down some
+ // stairs. We remove the broken message.
+ // TODO: Maybe we could put in a new string?
+ removeMessage(29);
+ break;
+ case 40:
+ // Locking the gate prints a broken message, followed by
+ // "O.K.". Maybe there was supposed to be a more elaborate
+ // message, in the style of the one printed when you unlock
+ // the gate. But "O.K." should be enough, so we remove the
+ // first one.
+ removeMessage(172);
+ break;
default:
break;
}
Commit: 5e3ad137d92fe0b18583511c17cdbe7e558e3221
https://github.com/scummvm/scummvm/commit/5e3ad137d92fe0b18583511c17cdbe7e558e3221
Author: Walter van Niftrik (walter at scummvm.org)
Date: 2024-11-29T01:20:57+02:00
Commit Message:
ADL: Add delay for title screen in hires1
Fixes bug #15301
Changed paths:
engines/adl/hires1.cpp
diff --git a/engines/adl/hires1.cpp b/engines/adl/hires1.cpp
index bce9b04b871..6a6c2865e8e 100644
--- a/engines/adl/hires1.cpp
+++ b/engines/adl/hires1.cpp
@@ -253,6 +253,10 @@ void HiRes1Engine::runIntro() {
static_cast<Display_A2 *>(_display)->loadFrameBuffer(*stream);
_display->renderGraphics();
+ // The title screen would normally be visible during loading.
+ // We add a short delay here to simulate that.
+ delay(2000);
+
_display->setMode(Display::kModeMixed);
if (getGameVersion() == GAME_VER_HR1_SIMI) {
Commit: 961b715a8dd2be0ac54cd3e747a1183891b0df6b
https://github.com/scummvm/scummvm/commit/961b715a8dd2be0ac54cd3e747a1183891b0df6b
Author: Filippos Karapetis (bluegr at gmail.com)
Date: 2024-11-29T01:20:57+02:00
Commit Message:
GOB: Apply cursor workaround to more Delia's videos in LIT - bug #10383
Also, chop off the video file suffix, as sometimes openVideo() is
called with video files that include the .IMD suffix
Changed paths:
engines/gob/videoplayer.cpp
diff --git a/engines/gob/videoplayer.cpp b/engines/gob/videoplayer.cpp
index 366f54c14ee..7a07d85d605 100644
--- a/engines/gob/videoplayer.cpp
+++ b/engines/gob/videoplayer.cpp
@@ -137,15 +137,17 @@ int VideoPlayer::openVideo(bool primary, const Common::String &file, Properties
// WORKAROUND: In some rare cases, the cursor should still be
// displayed while a video is playing.
+ Common::String videoFile = file;
+ videoFile.toUppercase();
+ if (videoFile.hasSuffix(".IMD"))
+ videoFile = videoFile.substr(0, videoFile.find('.'));
_noCursorSwitch = false;
+
if (primary && (_vm->getGameType() == kGameTypeLostInTime)) {
- if (!file.compareToIgnoreCase("PORTA03") ||
- !file.compareToIgnoreCase("PORTA03A") ||
- !file.compareToIgnoreCase("CALE1") ||
- !file.compareToIgnoreCase("AMIL2") ||
- !file.compareToIgnoreCase("AMIL3B") ||
- !file.compareToIgnoreCase("DELB"))
- _noCursorSwitch = true;
+ static const Common::StringArray videosWithCursorLIT = {
+ "PORTA03", "PORTA03A", "CALE1", "AMIL2", "AMIL3B", "DELB", "DELG"
+ };
+ _noCursorSwitch = (Common::find(videosWithCursorLIT.begin(), videosWithCursorLIT.end(), videoFile) != videosWithCursorLIT.end());
}
// WORKAROUND: In Woodruff, Coh Cott vanished in one video on her party.
Commit: e86427803c62c26118972a810f096f433ae342f0
https://github.com/scummvm/scummvm/commit/e86427803c62c26118972a810f096f433ae342f0
Author: Filippos Karapetis (bluegr at gmail.com)
Date: 2024-11-29T01:20:58+02:00
Commit Message:
GOB: Show the cursor for the closeup video of Bizoo in Gob3 - bug #5381
Changed paths:
engines/gob/videoplayer.cpp
diff --git a/engines/gob/videoplayer.cpp b/engines/gob/videoplayer.cpp
index 7a07d85d605..5f18b82f012 100644
--- a/engines/gob/videoplayer.cpp
+++ b/engines/gob/videoplayer.cpp
@@ -150,6 +150,13 @@ int VideoPlayer::openVideo(bool primary, const Common::String &file, Properties
_noCursorSwitch = (Common::find(videosWithCursorLIT.begin(), videosWithCursorLIT.end(), videoFile) != videosWithCursorLIT.end());
}
+ if (primary && (_vm->getGameType() == kGameTypeGob3)) {
+ static const Common::StringArray videosWithCursorGob3 = {
+ "CAIL1", "CAIL2"
+ };
+ _noCursorSwitch = (Common::find(videosWithCursorGob3.begin(), videosWithCursorGob3.end(), videoFile) != videosWithCursorGob3.end());
+ }
+
// WORKAROUND: In Woodruff, Coh Cott vanished in one video on her party.
// This is a bug in video, so we work around it.
_woodruffCohCottWorkaround = false;
More information about the Scummvm-git-logs
mailing list