From 8eefa4e2b52806fe0bbdf7805241e4d913706f5e Mon Sep 17 00:00:00 2001 From: Martin Kiewitz Date: Sun, 14 Feb 2016 15:17:29 +0100 Subject: AGI: Added a few comments about KQ1 set.simple gets called when killing the witch + planting beans Right after bowing to the king, ego faces away from him. This issue was already present in 1.7.0. Could probably get solved later via script patcher. --- engines/agi/op_cmd.cpp | 2 ++ engines/agi/view.cpp | 6 +++++- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/engines/agi/op_cmd.cpp b/engines/agi/op_cmd.cpp index e7363c313a..61ef20a16a 100644 --- a/engines/agi/op_cmd.cpp +++ b/engines/agi/op_cmd.cpp @@ -895,6 +895,8 @@ void cmdSetSimple(AgiGame *state, AgiEngine *vm, uint8 *parameter) { // it's called with parameter 16. // Original interpreter doesn't seem to play any sound. // TODO: Figure out what's going on. It can't be automatic saving of course. + // Also getting called in KQ1, when planting beans - parameter 12. + // And when killing the witch - parameter 40. if ((getVersion() < 0x2425) || (getVersion() == 0x2440)) { // was not available before 2.2425, but also not available in 2.440 warning("set.simple called, although not available for current AGI version"); diff --git a/engines/agi/view.cpp b/engines/agi/view.cpp index 322afd8ec0..a13e40e60d 100644 --- a/engines/agi/view.cpp +++ b/engines/agi/view.cpp @@ -482,7 +482,11 @@ void AgiEngine::setLoop(ScreenObjEntry *screenObj, int16 loopNr) { // requested loop not existant // instead of error()ing out, we instead clip it // At least required for possibly Manhunter 1 according to previous comment when leaving the arcade machine - // TODO: check MH1 + // TODO: Check MH1 + // TODO: This causes an issue in KQ1, when bowing to the king in room 53 + // Ego will face away from the king, because the scripts set the loop first and then the view + // Loop is corrected by us, because at that time it's invalid. Was already present in 1.7.0 + // We should probably script-patch it out. int16 requestedLoopNr = loopNr; loopNr = screenObj->loopCount - 1; -- cgit v1.2.3