[Scummvm-cvs-logs] SF.net SVN: scummvm:[51663] scummvm/trunk/engines/sci/engine

m_kiewitz at users.sourceforge.net m_kiewitz at users.sourceforge.net
Mon Aug 2 23:44:41 CEST 2010


Revision: 51663
          http://scummvm.svn.sourceforge.net/scummvm/?rev=51663&view=rev
Author:   m_kiewitz
Date:     2010-08-02 21:44:41 +0000 (Mon, 02 Aug 2010)

Log Message:
-----------
SCI: allowing kCheckSaveGame with id 0

qfg2 - when trying to restore from an empty saved game list

Modified Paths:
--------------
    scummvm/trunk/engines/sci/engine/kfile.cpp
    scummvm/trunk/engines/sci/engine/workarounds.cpp

Modified: scummvm/trunk/engines/sci/engine/kfile.cpp
===================================================================
--- scummvm/trunk/engines/sci/engine/kfile.cpp	2010-08-02 21:37:43 UTC (rev 51662)
+++ scummvm/trunk/engines/sci/engine/kfile.cpp	2010-08-02 21:44:41 UTC (rev 51663)
@@ -488,6 +488,10 @@
 	Common::Array<SavegameDesc> saves;
 	listSavegames(saves);
 
+	// we allow 0 (happens in QfG2 when trying to restore from an empty saved game list) and return false in that case
+	if (virtualId == 0)
+		return NULL_REG;
+
 	// Find saved-game
 	if ((virtualId < SAVEGAMEID_OFFICIALRANGE_START) || (virtualId > SAVEGAMEID_OFFICIALRANGE_END))
 		error("kCheckSaveGame: called with invalid savegameId!");
@@ -502,7 +506,7 @@
 		return NULL_REG;
 
 	// Otherwise we assume the savegame is OK
-	return make_reg(0, 1);
+	return TRUE_REG;
 }
 
 reg_t kGetSaveFiles(EngineState *s, int argc, reg_t *argv) {

Modified: scummvm/trunk/engines/sci/engine/workarounds.cpp
===================================================================
--- scummvm/trunk/engines/sci/engine/workarounds.cpp	2010-08-02 21:37:43 UTC (rev 51662)
+++ scummvm/trunk/engines/sci/engine/workarounds.cpp	2010-08-02 21:44:41 UTC (rev 51663)
@@ -111,7 +111,7 @@
 	{ GID_QFG1,           -1,   210,  0,          "Encounter", "init",        0xbe4,    0, { WORKAROUND_FAKE,   0 } }, // qfg1: going to the brigands hideout
 	{ GID_QFG2,           -1,    71,  0,        "theInvSheet", "doit",           -1,    1, { WORKAROUND_FAKE,   0 } }, // accessing the inventory
 	{ GID_QFG2,           -1,   701, -1,              "Alley", "at",             -1,    0, { WORKAROUND_FAKE,   0 } }, // when walking inside the alleys in the town - bug #3035835 & #3038367
-	{ GID_QFG2,           -1,   990,  0,            "Restore", "doit",           -1,    0, { WORKAROUND_FAKE,   0 } }, // when press enter in restore dialog w/o any saved games present
+	{ GID_QFG2,           -1,   990,  0,            "Restore", "doit",           -1,  364, { WORKAROUND_FAKE,   0 } }, // when press enter in restore dialog w/o any saved games present
 	{ GID_QFG3,          330,   330,  0,        "rajahTeller", "doChild",        -1,   -1, { WORKAROUND_FAKE,   0 } }, // when talking to King Rajah about "Rajah" (bug #3036390, temp 1) or "Tarna" (temp 0)
 	{ GID_SQ1,           103,   103,  0,               "hand", "internalEvent",  -1,   -1, { WORKAROUND_FAKE,   0 } }, // Spanish (and maybe early versions?) only: when moving cursor over input pad, temps 1 and 2
 	{ GID_SQ1,            -1,   703,  0,                   "", "export 1",       -1,    0, { WORKAROUND_FAKE,   0 } }, // sub that's called from several objects while on sarien battle cruiser


This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.




More information about the Scummvm-git-logs mailing list