Opened 18 years ago
Closed 18 years ago
#3062 closed defect (fixed)
KQ4: Crash in introduction
Reported by: | SF/jonww | Owned by: | bluegr |
---|---|---|---|
Priority: | normal | Component: | Engine: AGI |
Version: | Keywords: | ||
Cc: | Game: | King's Quest 4 |
Description
ScummVM version: ScummVM 0.10.0svn (Feb 13 2007 00:03:03)
Bug details: Game freezes when ESC key is pressed 3 times durning introduction. "event AC:32 occured" is displayed with ESC
AGI engine 0.10svn is ready. Emulating Sierra AGI v3.002.086 Loading objects: object Decrypting objects... done. Reading objects: 45 objects read. Loading dictionary: words.tok Running AGI script. script.size(250) Game ID: "KQ4" Priority base set to 73 event AC:32 occured event AC:32 occured event AC:32 occured
Language of game: English
Version of game: King's Quest IV: The Perils of Rosella (2.0 1988-07-27 3.5"/DOS/English)
Platform and Compiler: Win32
Ticket imported from: #1660158. Ticket imported from: bugs/3062.
Change History (5)
comment:1 by , 18 years ago
Component: | → Engine: AGI |
---|---|
Game: | → King's Quest 4 |
Summary: | King's Quest 4 crash in introduction → KQ4: Crash in introduction |
comment:2 by , 18 years ago
comment:3 by , 18 years ago
With that patch it looks like it simply looks like setvar() should be applied to in default case too. Our code seems to be similar. Weird. Perhaps origin of the bug is deeper. You told that NAGI behaves correctly there, perhaps it would be best to investigate its codepath better?
comment:4 by , 18 years ago
Owner: | set to |
---|---|
Resolution: | → fixed |
Status: | new → closed |
comment:5 by , 18 years ago
It was (yet) another issue with how esc key is handled by handleController. It seems that in the case of KQ4, the special case of key == KEY_ESCAPE has to be checked as well as key == 0.
It should be fixed in the current SVN version now
There's also a relevant closed bug in the old sarien project (where the AGI engine is inherited from), which has been closed.
The bug is #417927 - Can't skip KQ4 titles ---> http://sourceforge.net/tracker/index.php?func=detail&aid=417927&group_id=24759&atid=382570
The relevant change in the Sarien code seems to be in cycle.c (ScummVM's agi/cycle.cpp), here: http://sarien.cvs.sourceforge.net/sarien/sarien/src/core/cycle.c?r1=1.34&r2=1.35