From 40865bc79e185f6a5807688ef634ef03fc3a9960 Mon Sep 17 00:00:00 2001 From: Filippos Karapetis Date: Thu, 25 Apr 2013 11:07:01 +0300 Subject: SCI: Add another version of LSL3 (bug #3611488) --- engines/sci/detection_tables.h | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/engines/sci/detection_tables.h b/engines/sci/detection_tables.h index c8137c8fb4..a87c413f82 100644 --- a/engines/sci/detection_tables.h +++ b/engines/sci/detection_tables.h @@ -1950,6 +1950,16 @@ static const struct ADGameDescription SciGameDescriptions[] = { AD_LISTEND}, Common::EN_ANY, Common::kPlatformPC, 0, GUIO5(GUIO_NOSPEECH, GAMEOPTION_EGA_UNDITHER, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + // Larry 3 - English DOS (supplied by kervala in bug report #3611488) + {"lsl3", "", { + {"resource.map", 0, "534d8946f10bc71a71b5bf89a84c31be", 5916}, + {"resource.001", 0, "f18441027154292836b973c655fa3175", 456265}, + {"resource.002", 0, "f18441027154292836b973c655fa3175", 577059}, + {"resource.003", 0, "f18441027154292836b973c655fa3175", 506817}, + {"resource.004", 0, "f18441027154292836b973c655fa3175", 513337}, + AD_LISTEND}, + Common::EN_ANY, Common::kPlatformPC, 0, GUIO5(GUIO_NOSPEECH, GAMEOPTION_EGA_UNDITHER, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + // Larry 3 - English DOS Non-Interactive Demo // SCI interpreter version 0.000.530 {"lsl3", "Demo", { -- cgit v1.2.3 From c47a51643011f366728307a17a7a6a9801519e44 Mon Sep 17 00:00:00 2001 From: Filippos Karapetis Date: Thu, 25 Apr 2013 11:08:11 +0300 Subject: SCI: Reorder the LSL3 detection entries a bit --- engines/sci/detection_tables.h | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/engines/sci/detection_tables.h b/engines/sci/detection_tables.h index a87c413f82..3dd2de30fe 100644 --- a/engines/sci/detection_tables.h +++ b/engines/sci/detection_tables.h @@ -1911,17 +1911,6 @@ static const struct ADGameDescription SciGameDescriptions[] = { AD_LISTEND}, Common::EN_ANY, Common::kPlatformAmiga, 0, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, - // Larry 3 - English DOS - // SCI interpreter version 0.000.572 - {"lsl3", "", { - {"resource.map", 0, "0b6bd3e039682830a51c5755c06591db", 5916}, - {"resource.001", 0, "f18441027154292836b973c655fa3175", 456722}, - {"resource.002", 0, "f18441027154292836b973c655fa3175", 578024}, - {"resource.003", 0, "f18441027154292836b973c655fa3175", 506807}, - {"resource.004", 0, "f18441027154292836b973c655fa3175", 513651}, - AD_LISTEND}, - Common::EN_ANY, Common::kPlatformPC, 0, GUIO5(GUIO_NOSPEECH, GAMEOPTION_EGA_UNDITHER, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, - // Larry 3 - English DOS (supplied by ssburnout in bug report #3049193) // 1.021 8x5.25" (label: Int#5.15.90) {"lsl3", "", { @@ -1950,6 +1939,17 @@ static const struct ADGameDescription SciGameDescriptions[] = { AD_LISTEND}, Common::EN_ANY, Common::kPlatformPC, 0, GUIO5(GUIO_NOSPEECH, GAMEOPTION_EGA_UNDITHER, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + // Larry 3 - English DOS + // SCI interpreter version 0.000.572 + {"lsl3", "", { + {"resource.map", 0, "0b6bd3e039682830a51c5755c06591db", 5916}, + {"resource.001", 0, "f18441027154292836b973c655fa3175", 456722}, + {"resource.002", 0, "f18441027154292836b973c655fa3175", 578024}, + {"resource.003", 0, "f18441027154292836b973c655fa3175", 506807}, + {"resource.004", 0, "f18441027154292836b973c655fa3175", 513651}, + AD_LISTEND}, + Common::EN_ANY, Common::kPlatformPC, 0, GUIO5(GUIO_NOSPEECH, GAMEOPTION_EGA_UNDITHER, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + // Larry 3 - English DOS (supplied by kervala in bug report #3611488) {"lsl3", "", { {"resource.map", 0, "534d8946f10bc71a71b5bf89a84c31be", 5916}, -- cgit v1.2.3 From d8eb01a7290e7a809b2e778fbb1eddada6854036 Mon Sep 17 00:00:00 2001 From: Filippos Karapetis Date: Thu, 25 Apr 2013 11:10:36 +0300 Subject: SCI: Add the French floppy version of GK1 (bug #3611487) --- engines/sci/detection_tables.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/engines/sci/detection_tables.h b/engines/sci/detection_tables.h index 3dd2de30fe..62d88ba1a5 100644 --- a/engines/sci/detection_tables.h +++ b/engines/sci/detection_tables.h @@ -696,6 +696,14 @@ static const struct ADGameDescription SciGameDescriptions[] = { AD_LISTEND}, Common::DE_DEU, Common::kPlatformPC, ADGF_UNSTABLE, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + // Gabriel Knight - French DOS Floppy (supplied my kervala in bug report #3611487) + // SCI interpreter version 2.000.000 + {"gk1", "", { + {"resource.map", 0, "236e36cc847cdeafdd5e5fa8cba916ed", 10801}, + {"resource.000", 0, "091cf08910780feabc56f8551b09cb36", 13033072}, + AD_LISTEND}, + Common::FR_FRA, Common::kPlatformPC, ADGF_UNSTABLE, GUIO4(GUIO_NOSPEECH, GAMEOPTION_PREFER_DIGITAL_SFX, GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FB01_MIDI) }, + // Gabriel Knight - English DOS CD (from jvprat) // Executable scanning reports "2.000.000", VERSION file reports "01.100.000" {"gk1", "CD", { -- cgit v1.2.3 From 38fa74d24ab5065acfdbd65ff3432cd33080d1f1 Mon Sep 17 00:00:00 2001 From: Willem Jan Palenstijn Date: Thu, 25 Apr 2013 20:48:20 +0200 Subject: SCI: Fix (unlikely) memory leak --- engines/sci/parser/grammar.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/engines/sci/parser/grammar.cpp b/engines/sci/parser/grammar.cpp index 6e02eb75e3..26e3ec9238 100644 --- a/engines/sci/parser/grammar.cpp +++ b/engines/sci/parser/grammar.cpp @@ -386,8 +386,10 @@ ParseRuleList *Vocabulary::buildGNF(bool verbose) { for (uint i = 1; i < _parserBranches.size(); i++) { // branch rule 0 is treated specially ParseRule *rule = _vbuild_rule(&_parserBranches[i]); - if (!rule) + if (!rule) { + freeRuleList(ntlist); return NULL; + } ntlist = _vocab_add_rule(ntlist, rule); } -- cgit v1.2.3 From 1841d184979e22741905cf1ebe643eaedf822338 Mon Sep 17 00:00:00 2001 From: Willem Jan Palenstijn Date: Thu, 25 Apr 2013 23:22:55 +0200 Subject: TOON: Fix memory leak --- engines/toon/anim.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/engines/toon/anim.cpp b/engines/toon/anim.cpp index 1c85a8d798..a6744568f7 100644 --- a/engines/toon/anim.cpp +++ b/engines/toon/anim.cpp @@ -78,8 +78,10 @@ bool Animation::loadAnimation(const Common::String &file) { delete[] _frames; _frames = new AnimationFrame[_numFrames]; for (int32 e = 0; e < _numFrames; e++) { - if (READ_LE_UINT32(data) != 0x12345678) + if (READ_LE_UINT32(data) != 0x12345678) { + delete[] finalBuffer; return false; + } int32 oldRef = READ_LE_UINT32(data + 4); uint32 compressedSize = READ_LE_UINT32(data + 8); -- cgit v1.2.3 From 4b7f352768bcbc7dce24e7afc7c0b5ab3ecdd4c1 Mon Sep 17 00:00:00 2001 From: Strangerke Date: Fri, 26 Apr 2013 00:40:29 +0200 Subject: HOPKINS: Fix bug #3611566 --- engines/hopkins/dialogs.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/engines/hopkins/dialogs.cpp b/engines/hopkins/dialogs.cpp index 5b9fb8afc2..c8a478f93b 100644 --- a/engines/hopkins/dialogs.cpp +++ b/engines/hopkins/dialogs.cpp @@ -422,6 +422,7 @@ void DialogsManager::showInventory() { if (cursorId != 1 && cursorId != 2 && cursorId != 3 && cursorId != 16) { if (mouseButton == 2) { _vm->_objectsMan->nextObjectIcon(newInventoryItem); + cursorId = _vm->_events->_mouseCursorId; if (cursorId != 23) _vm->_events->changeMouseCursor(cursorId); } -- cgit v1.2.3