aboutsummaryrefslogtreecommitdiff
path: root/engines
diff options
context:
space:
mode:
authorFilippos Karapetis2010-09-02 13:50:49 +0000
committerFilippos Karapetis2010-09-02 13:50:49 +0000
commita816a27928d2686a27c9600bb93e39a557131a17 (patch)
tree21d30a7500db7caecbfc705a629ca819227b9b89 /engines
parent054a95498e4470acb99672f49ecbeeff58d014d8 (diff)
downloadscummvm-rg350-a816a27928d2686a27c9600bb93e39a557131a17.tar.gz
scummvm-rg350-a816a27928d2686a27c9600bb93e39a557131a17.tar.bz2
scummvm-rg350-a816a27928d2686a27c9600bb93e39a557131a17.zip
SCI: Added a FIXME for bug #3038870, related to kParse()
svn-id: r52497
Diffstat (limited to 'engines')
-rw-r--r--engines/sci/engine/kparse.cpp9
1 files changed, 9 insertions, 0 deletions
diff --git a/engines/sci/engine/kparse.cpp b/engines/sci/engine/kparse.cpp
index 552e425906..be32b340bb 100644
--- a/engines/sci/engine/kparse.cpp
+++ b/engines/sci/engine/kparse.cpp
@@ -138,6 +138,15 @@ reg_t kParse(EngineState *s, int argc, reg_t *argv) {
} else {
s->r_acc = make_reg(0, 0);
+ // FIXME: When typing something wrong in the fanmade game Demo Quest,
+ // after the error dialog, the game checks for claimed to be 0 before
+ // showing a subsequent dialog. The following selector change causes
+ // it to be 1, thus causing the game to hang in an endless loop (bug
+ // #3038870. Thus, this seems to be wrong (since fanmade games use
+ // the original SCI interpreter), but we need to check against
+ // dissassembly. Since kParse is in the process of being dissassembled
+ // again, I'm leaving this FIXME in for now, so that it won't be
+ // forgotten :)
writeSelectorValue(segMan, event, SELECTOR(claimed), 1);
if (error) {
s->_segMan->strcpy(voc->parser_base, error);