From 4717533deaee057c450a01a78614c29d41b0cdfe Mon Sep 17 00:00:00 2001 From: Filippos Karapetis Date: Wed, 27 May 2009 17:13:42 +0000 Subject: Added a fix to get QFG3 working and changed an error to a warning to get EcoQuest 2 working svn-id: r40944 --- engines/sci/engine/kgraphics.cpp | 4 ++-- engines/sci/vocabulary.cpp | 3 ++- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/engines/sci/engine/kgraphics.cpp b/engines/sci/engine/kgraphics.cpp index 400a8f78ec..c4b017643e 100644 --- a/engines/sci/engine/kgraphics.cpp +++ b/engines/sci/engine/kgraphics.cpp @@ -276,8 +276,8 @@ PaletteEntry get_pic_color(EngineState *s, int color) { else if (color < s->gfx_state->gfxResMan->getColorCount()) return s->gfx_state->gfxResMan->getColor(color); else { - error("Color index %d out of bounds for pic %d (%d max)", color, s->gfx_state->pic_nr, s->gfx_state->gfxResMan->getColorCount()); - BREAKPOINT(); + // Happens in the beginning of EcoQuest 2, when the dialog box of the customs officer shows up + warning("Color index %d out of bounds for pic %d (%d max)", color, s->gfx_state->pic_nr, s->gfx_state->gfxResMan->getColorCount()); return PaletteEntry(0,0,0); } } diff --git a/engines/sci/vocabulary.cpp b/engines/sci/vocabulary.cpp index cfac4b0ebf..96b01b4c38 100644 --- a/engines/sci/vocabulary.cpp +++ b/engines/sci/vocabulary.cpp @@ -141,7 +141,8 @@ bool vocab_get_opcodes(ResourceManager *resmgr, Common::Array &o) { int offset = READ_LE_UINT16(r->data + 2 + i * 2); int len = READ_LE_UINT16(r->data + offset) - 2; o[i].type = READ_LE_UINT16(r->data + offset + 2); - o[i].name = Common::String((char *)r->data + offset + 4, len); + // QFG3 has empty opcodes + o[i].name = len > 0 ? Common::String((char *)r->data + offset + 4, len) : "Dummy"; #if 1 //def VOCABULARY_DEBUG printf("Opcode %02X: %s, %d\n", i, o[i].name.c_str(), o[i].type); #endif -- cgit v1.2.3