Opened 15 years ago
Closed 14 years ago
#4729 closed defect (fixed)
DW2: Minor Crash interacting with D'Blah in Act II
Reported by: | SF/tim20 | Owned by: | dreammaster |
---|---|---|---|
Priority: | normal | Component: | Engine: Tinsel |
Version: | Keywords: | ||
Cc: | Game: | Discworld II |
Description
I've encountered a strange and minor crash that has cropped up about twice now. It's happened randomly when I either double click, right click or try and use an item on D'Blah in Act II. Doing so causes the game to stop responding and crash back to the desktop. The solution is pretty straightforward as all you need to do is ignore him or interact with someone else. But I thought I'd mention this in case there's s an error in the code or something. If you want to reproduce it, all you need to do is load up the save I have and keep left/right clicking on D'Blah. The quicker you click the higher the chance of it crashing.
I'm using:
- ScummVM 1.0.0 - Nov 8 2009 11:04:03 - English - CD-ROM - Windows Vista 32-bit, Service Pack 2
Ticket imported from: #2917661. Ticket imported from: bugs/4729.
Attachments (1)
Change History (7)
by , 15 years ago
Attachment: | dw2-gb.001 added |
---|
comment:1 by , 15 years ago
Owner: | set to |
---|
comment:2 by , 15 years ago
comment:3 by , 15 years ago
Summary: | DW2 - Minor Crash → DW2: Minor Crash interacting with D'Blah in Act II |
---|
comment:5 by , 14 years ago
This was a case where I could see the issue from the provided savegame, but couldn't replicate the problem to begin with. Which makes it difficult to know if any fix would work or not. I've really meant to get back to it for a while to see if I can replicate the problem.. if it's, for example, leaving the area at an exact time, then I could add a script fix to reset the value when the player re-enters the area.
I'll spend some further time on it this weekend, and see if I can't resolve the issue, one way or another.
comment:6 by , 14 years ago
Resolution: | → fixed |
---|---|
Status: | new → closed |
Hmmm.. this is a tricky one. It's a slight different variation of the blocking problem from the previous DW2 script bug. In this case, global #306 is set when D'Blah is talking, and cleared when he finishes. It also already gets explicitly cleared when you enter the scene.
The intention is to briefly pause the interaction script (talk double-click or item interaction) if D'Blah is in the middle of speaking, and only then restart it when the talk finishes. The problem is that in this case, for some reason, the 'talk script' was aborted before it had a chance to finish, so the global #306 remains set to 1.
Since this global is only meant to remain set for a few seconds at most when D'Blah is speaking (but not to the player specifically), the player can keep double-clicking on D'Blah and causing the interaction scripts to start up and pause until the process space runs out.
Whilst I could put in a script fix to explicitly clear global #306 when you double-click on D'Blah or use an item on him, I think it may be worthwhile to experiment a bit to see if I can replicate the conditions under which the original 'talk script' gets aborted without clearing global #306. It may be a bug in the original game, but it may also be a deficiency in our engine code.