[Scummvm-cvs-logs] scummvm master -> 831e1b27dc5b114eaceb49bad08576b3bdf81ab5
bluegr
md5 at scummvm.org
Fri Jul 27 00:32:40 CEST 2012
This automated email contains information about 2 new commits which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .
Summary:
7eded163d8 SCI: Add support for kCD(0) with a parameter
831e1b27dc SCI: Add a workaround for a bug in Phantasmagoria 1
Commit: 7eded163d8088d97f65e482f63e9ecd194d00c68
https://github.com/scummvm/scummvm/commit/7eded163d8088d97f65e482f63e9ecd194d00c68
Author: Filippos Karapetis (md5 at scummvm.org)
Date: 2012-07-26T15:30:37-07:00
Commit Message:
SCI: Add support for kCD(0) with a parameter
It's now possible to start a chapter in Phantasmagoria 1
Changed paths:
engines/sci/engine/kfile.cpp
diff --git a/engines/sci/engine/kfile.cpp b/engines/sci/engine/kfile.cpp
index 7862762..f7cc4f4 100644
--- a/engines/sci/engine/kfile.cpp
+++ b/engines/sci/engine/kfile.cpp
@@ -197,8 +197,15 @@ reg_t kCD(EngineState *s, int argc, reg_t *argv) {
// TODO: Stub
switch (argv[0].toUint16()) {
case 0:
- // Return whether the contents of disc argv[1] is available.
- return TRUE_REG;
+ if (argc == 1) {
+ // Check if a disc is in the drive
+ return TRUE_REG;
+ } else {
+ // Check if the specified disc is in the drive
+ // and return the current disc number. We just
+ // return the requested disc number.
+ return argv[1];
+ }
case 1:
// Return the current CD number
return make_reg(0, 1);
Commit: 831e1b27dc5b114eaceb49bad08576b3bdf81ab5
https://github.com/scummvm/scummvm/commit/831e1b27dc5b114eaceb49bad08576b3bdf81ab5
Author: Filippos Karapetis (md5 at scummvm.org)
Date: 2012-07-26T15:31:12-07:00
Commit Message:
SCI: Add a workaround for a bug in Phantasmagoria 1
Changed paths:
engines/sci/engine/workarounds.cpp
diff --git a/engines/sci/engine/workarounds.cpp b/engines/sci/engine/workarounds.cpp
index 821549b..fea3aed 100644
--- a/engines/sci/engine/workarounds.cpp
+++ b/engines/sci/engine/workarounds.cpp
@@ -40,6 +40,7 @@ const SciWorkaroundEntry arithmeticWorkarounds[] = {
{ GID_MOTHERGOOSE256, -1, 999, 0, "Event", "new", -1, 0, { WORKAROUND_FAKE, 0 } }, // op_and: constantly during the game (SCI1 version)
{ GID_MOTHERGOOSE256, -1, 4, 0, "rm004", "doit", -1, 0, { WORKAROUND_FAKE, 0 } }, // op_or: when going north and reaching the castle (rooms 4 and 37) - bug #3038228
{ GID_MOTHERGOOSEHIRES,90, 90, 0, "newGameButton", "select", -1, 0, { WORKAROUND_FAKE, 0 } }, // op_ge: MUMG Deluxe, when selecting "New Game" in the main menu. It tries to compare an integer with a list. Needs to return false for the game to continue.
+ { GID_PHANTASMAGORIA, 902, 0, 0, "", "export 7", -1, 0, { WORKAROUND_FAKE, 0 } }, // op_shr: when starting a chapter in Phantasmagoria
{ GID_QFG1VGA, 301, 928, 0, "Blink", "init", -1, 0, { WORKAROUND_FAKE, 0 } }, // op_div: when entering the inn, gets called with 1 parameter, but 2nd parameter is used for div which happens to be an object
{ GID_QFG2, 200, 200, 0, "astro", "messages", -1, 0, { WORKAROUND_FAKE, 0 } }, // op_lsi: when getting asked for your name by the astrologer bug #3039879
{ GID_GK1, 800,64992, 0, "Fwd", "doit", -1, 0, { WORKAROUND_FAKE, 1 } }, // op_gt: when Mosely finds Gabriel and Grace near the end of the game, compares the Grooper object with 7
More information about the Scummvm-git-logs
mailing list