Opened 20 years ago
Closed 20 years ago
Last modified 20 years ago
#524 closed defect (fixed)
DIG: Actor lockup in tomb
|Reported by:||SF/xplo||Owned by:||fingolfin|
In the tomb (the bright room with the statue of that dragon creature). Everything works as usual. Then yout have to touch the statue. It'll vanish as expected. But afterwards you cannot combine certain inventory items anymore in this room. Boston will turn around and not do nor speak anything. Cursor locked. No special console warning.
Attached is a (german) savegame *before* the statue has been touched. To reproduce try to combine for example the ripcage with the green crystals.
Ticket imported from: #630570. Ticket imported from: bugs/524.
Change History (21)
by , 20 years ago
comment:1 by , 20 years ago
|Summary:||DIG: actor lockup in tomb → DIG: Actor lockup in tomb|
comment:2 by , 20 years ago
What OS? What version of ScummVM?
comment:3 by , 20 years ago
WinXP (compiled in VS.NET), Version was the CVS of the creation day. Still happens with the CVS pulled 5 mins ago (2002-11-18 17:16)
comment:4 by , 20 years ago
|Priority:||normal → high|
comment:5 by , 20 years ago
|Priority:||high → blocker|
comment:6 by , 20 years ago
Sounds like a speech bug, I'll look into it.
comment:7 by , 20 years ago
After riding the lift down into the tomb and coming back out, if you attempt to remove the rod that is jamming down the floor trigger the cursor will also lock.
comment:8 by , 20 years ago
Why do you think this is a speech issue, ender?
BTW, it seems that of the 20 or so bug reports we have on the Dig, a lot are related to speech & scrolling issues.
comment:9 by , 20 years ago
Still happens with latest CVS :-(
comment:10 by , 20 years ago
Also an actor lockup problem when you enter the tomb and use the rod on the loose stone. Boston wont leave the stone when you click around the room; He can place the blue crystal without moving from the stone, and will basically teleport out of the room if you click the exit.
comment:11 by , 20 years ago
The actor also stops walking, the sprite just "glides" around without any proper animation after the you used the rod with the loose stone.
You are also not able to walk onto the lift, only "look" is possible.
This bug totally renders The Dig uncompletable.
comment:12 by , 20 years ago
If you get out of the tomb entrance first, before doing anything, you usually can avoid the problem. One trick that often works for me is to click 1-2 on the ground plate (*not* the rod) until Low starts walking to it, then click somewhere else on the ground. From this point on, you should be "safe"
So this bug seems to be walking related to me. Something with walkboxes, walkscripts, wait opcodes etc. must be messed up (that's a vague remark cause I only have a vague idea on this right now :-).
comment:13 by , 20 years ago
comment:14 by , 20 years ago
I disabled walkscripts, but the problem persists (in fact it's worse because essentially I can only enter the statue room, or leave it, but nothing else.
Some data: Low is actor 3. When you enter the statue room (#58), when he stands in the entrance (hidden, basically, by the stones), he is at x:307, y:141, walk box 25
My guess is that he shouldn't stand there, but rather walk into view or so... it would be very useful if somebody owning the original game could test this, and tell me what exactly happens when you enter the status room (does it do the same as we, i..e Low is not visible when entering because he stands in the entrace? or does he take some steps forward? Or what else?
comment:15 by , 20 years ago
Some more details: Script roomobj-55-387 is the one which loads room 58:
[012E] (85) loadRoomWithEgo(399,191,40)
(399 is an object in room 58). If one looks as the loadRoomWithEgo opcode, then it *should* cause the main actor (low) to walk to position (191,40), but for some reasons that doens't happen.
comment:16 by , 20 years ago
comment:17 by , 20 years ago
Yay! Lockup is fixed: problem was that a script in the background was repeatedly setting the actor elevation, and we then always made the actor redraw (even if the elevation didn't change compared to its old value), which caused waitForActorDrawn opcode to be stuck in an endless loop (each time frame, first the script changing the elevation was run, then another waiting for the actor to be drawn). The reason the room doesn't lock up immediately is that relative order of those two scripts which initially is the other way around.
Anyway, the elevation change opcode now only causes a redraw if the elevation actually has changed.
I am not yet closing this, because there is another bug in the statue room now. Basically, when I enter it, I can't move into the room, only can exit it. Looking into that now.
comment:18 by , 20 years ago
|Status:||new → closed|
comment:19 by , 20 years ago
Added a workaround for the "can't properly enter Tomb" bug. Scene now works just fine for me (except for some issues regarding text not been removed properly, but that's another issue :-)
comment:20 by , 20 years ago
german save in tomb