diff options
author | Colin Snover | 2017-01-12 19:19:57 -0600 |
---|---|---|
committer | Colin Snover | 2017-01-16 12:16:12 -0600 |
commit | d49526782928a39bea63c5871700190ea13a6170 (patch) | |
tree | 6c487f2f660382ee71578f399939a4aff3098a4b | |
parent | 0e77471467c35f1c1522e16d169a4f927aaa307b (diff) | |
download | scummvm-rg350-d49526782928a39bea63c5871700190ea13a6170.tar.gz scummvm-rg350-d49526782928a39bea63c5871700190ea13a6170.tar.bz2 scummvm-rg350-d49526782928a39bea63c5871700190ea13a6170.zip |
SCI32: Fix loading save games in KQ7 1.51
-rw-r--r-- | engines/sci/engine/kernel_tables.h | 4 | ||||
-rw-r--r-- | engines/sci/engine/kfile.cpp | 5 |
2 files changed, 5 insertions, 4 deletions
diff --git a/engines/sci/engine/kernel_tables.h b/engines/sci/engine/kernel_tables.h index 741f46e02c..589a1f68a3 100644 --- a/engines/sci/engine/kernel_tables.h +++ b/engines/sci/engine/kernel_tables.h @@ -930,6 +930,8 @@ static SciKernelMapEntry s_kernelMap[] = { { MAP_DUMMY(PointSize), SIG_EVERYWHERE, "(.*)", NULL, NULL }, // SCI2.1 Kernel Functions + { "CheckCDisc", kCheckCD, SIG_SCI21EARLY, SIGFOR_ALL, "(i)", NULL, NULL }, + { "GetSaveCDisc", kGetSavedCD, SIG_SCI21EARLY, SIGFOR_ALL, "", NULL, NULL }, { MAP_CALL(CD), SIG_SINCE_SCI21MID, SIGFOR_ALL, "(.*)", kCD_subops, NULL }, { MAP_CALL(IsOnMe), SIG_EVERYWHERE, "iioi", NULL, NULL }, { MAP_CALL(List), SIG_SINCE_SCI21, SIGFOR_ALL, "(.*)", kList_subops, NULL }, @@ -993,8 +995,6 @@ static SciKernelMapEntry s_kernelMap[] = { // Unused / debug functions in the in-between SCI2.1 interpreters { MAP_DUMMY(PreloadResource), SIG_EVERYWHERE, "(.*)", NULL, NULL }, - { MAP_DUMMY(CheckCDisc), SIG_EVERYWHERE, "(.*)", NULL, NULL }, - { MAP_DUMMY(GetSaveCDisc), SIG_EVERYWHERE, "(.*)", NULL, NULL }, { MAP_DUMMY(TestPoly), SIG_EVERYWHERE, "(.*)", NULL, NULL }, // Used by Phantasmagoria 1, script 64981 (used in the chase scene) diff --git a/engines/sci/engine/kfile.cpp b/engines/sci/engine/kfile.cpp index 7bc3c2d212..49ad4caedb 100644 --- a/engines/sci/engine/kfile.cpp +++ b/engines/sci/engine/kfile.cpp @@ -220,8 +220,9 @@ reg_t kCheckCD(EngineState *s, int argc, reg_t *argv) { } reg_t kGetSavedCD(EngineState *s, int argc, reg_t *argv) { - // TODO: This is wrong, CD number needs to be available prior to - // the save game being loaded + // Normally this code would read the CD number from the currently loaded + // save game file, but since we don't have one of those, just return the + // disc number from the resource manager return make_reg(0, g_sci->getResMan()->getCurrentDiscNo()); } |