Opened 13 years ago
Closed 13 years ago
Last modified 13 years ago
#5197 closed defect (fixed)
LB2CD & LB2Floppy: Some wandering actors aren't found
|Reported by:||SF/philohippus||Owned by:||waltervn|
|Cc:||Game:||Laura Bow 2: The Dagger of Amon-Ra|
Laura Bow 2: The Dagger of Amon Ra (CD/DOS/English), version 1.1 ScummVM 1.2.0svn51837
Situation: Museum, several rooms, Laura walks to a different room Bug: Game crashes when destination room is populated with random appearing actor Console outputs varying messages according to destination room and who was supposed to appear in room, for example: Uninitialized read for temp 6 from method aTut::init (script 90, room 448, localCall ffffffff)! or Uninitialized read for temp 6 from method aTut::init (script 90, room 450, localCall ffffffff)! or Uninitialized read for temp 6 from method aZiggy::init (script 90, room 448, localCall ffffffff)!
Attached savegame, walk north to trigger crash
Ticket imported from: #3041257. Ticket imported from: bugs/5197.
Change History (25)
by , 13 years ago
comment:1 by , 13 years ago
having come across rooms poulated with other actors, it seems that only Ziggy and Tut are causing crashes
comment:2 by , 13 years ago
|Status:||new → pending|
comment:3 by , 13 years ago
fixed in r51933, although i couldnt try it out, please check and report back
comment:4 by , 13 years ago
|Status:||pending → new|
comment:5 by , 13 years ago
Well the crash is certainly gone, but using the savegame that I posted, making the actor change room in either direction now leads to empty rooms where, judging by the previous crash console output, I suppose actor Tut was meant to make an appearance. I tried moving from room to room quite a few times and neither actors Tut or Ziggy appear anywhere, so I believe that in fixing the error a new one has arisen.
Here is a part of the video playthrough showing the appearance by actor Tut, which I now seem unable to make happen:
Maybe these appearances are differently scripted because they are appearances of moving actors, unlike other ones that stand still in their respective rooms.
Here is another such entrance by actor Yvette: http://www.youtube.com/watch?v=tAmAHi3kc0g#t=6m25s
comment:6 by , 13 years ago
ok and I got another crash with a different actor. This time the console reports:
Uninitialized read for temp 6 from method aCountess::init (script 90, room 610, localCall ffffffff)!
Attached a second savegame set to produce this crash. Enter door on right to trigger. Might be a good opportunity to test and see if the fix can produce the Countess in the room entered.
by , 13 years ago
second savegame, countess actor
comment:7 by , 13 years ago
Not sure this helps understand the problem but these moving actors are not just colorful animated appearances that vanish right after they show up, they really do stroll the museum from room to room in the sense that you can actually follow them or estimate their whereabouts based on where you last saw them heading. Does that shed some light on why the proposed fix didn't work and made them disappear altogether? Maybe it's that "big picture" mapping of their movements relative to large groups of rooms that's failing and causing the crashes?
comment:8 by , 13 years ago
i changed the workaround in r51959, so all random actors are now "fixed" that way. At least no crashes should happen now anymore. I need to look into this deeper, although its difficult because of the randomness.
comment:9 by , 13 years ago
thanks to your efforts game is now completable.
as for the missing wandering actors, this last fix for the countess worked great, she can be followed around as in the original. In fact all actors except Tut and Ziggy behave fine.
As seen in the original interpreter, at the beginning of Act 3 those two are supposed to be wandering in the right wing (medieval/egyptian rooms). In DosBox I always find Ziggy in the Egyptian room (which prompted a crash when I first filed the bug so this one's location might not be random at all) and he gets killed shortly after that so as things stand you don't get to talk to him again after Act 3 starts. As for Tut he does make later appearances in the left wing of the museum and he's an actor that survives the game so neither can I pinpoint the problem as well as with Ziggy, neither do I think it's that relevant. Maybe you could revert just the fix for the initial Ziggy "Uninitialized read for temp 6 from method aZiggy::init (script 90, room 448, localCall ffffffff)!" bug to see if an alternate fix can produce him at the Egypian room before he dies?
Anyway the main thing is that it is now completable so, great stuff
comment:10 by , 13 years ago
The actual fix currently for those errors dont seem to have anything to do with those non-appearing actors. An uninitialized variable is accessed, but not really used for anything inside the scripts. For the non-appearing actors - it seems there is something going wrong with the actor script. I am able to teleport Tut into any room using a debug command. And he will start wandering (which works), will then stand still and will shortly disappear again. I guess something else isn't working right.
comment:11 by , 13 years ago
Not really sure whether to file a new bug or not. Chose to check with you first:
Got two more hits with the Floppy version (Changed bug description accordingly). Console Output:
Uninitialized read for temp 6 from method aWatney::<noname110> (script 90, room 454, localCall ffffffff)!
Uninitialized read for temp 6 from method aZiggy::<noname110> (script 90, room 420, localCall ffffffff)!
The error is slightly different, with "<noname110>" instead of "init" following the actor's names. Want me to file this separately or do we keep using this bug report?
comment:12 by , 13 years ago
|Summary:||LB2CD: Crash when random actor appears → LB2CD & LB2Floppy: Crash moving to room with wandering actor|
comment:13 by , 13 years ago
The LB2 floppy issue has been fixed in r52253
comment:14 by , 13 years ago
By the way, I get a few console warnings starting LB2, hadn't noticed them before this fix... then again I might simply have missed them before:
WARNING: 7, 0! WARNING: 7, 10! WARNING: 7, 60! WARNING: 7, 61! WARNING: 7, 69! WARNING: 7, 1207! WARNING: 7, 4115! WARNING: No selector vocabulary found, using a static one!
These come up before the "emulating SCI" line
comment:15 by , 13 years ago
|Status:||new → closed|
comment:16 by , 13 years ago
|Status:||closed → new|
comment:17 by , 13 years ago
@ sev: this is not fully resolved. 2 actors are invisible and in room -1.
comment:18 by , 13 years ago
Perhaps this has been fixed with the latest changes to the way scaling is handled?
comment:19 by , 13 years ago
It appears the issue is still there, at the beginning of act 3 you're supposed to find actor Ziggy at the Egyptian Exhibit room (room 450). At least I always find him there running on the original interpreter.
comment:20 by , 13 years ago
|Summary:||LB2CD & LB2Floppy: Crash moving to room with wandering actor → LB2CD & LB2Floppy: Some wandering actors aren't found|
comment:21 by , 13 years ago
Perhaps it's somehow related to bug #3047418
comment:22 by , 13 years ago
It seems this bug was related to bug #3047418
Both Tut and Ziggy now appear in the second chapter, and wander around properly. They don't appear at the beginning of the chapter, but after you wander around a bit.
Thus, closing this as fixed
comment:23 by , 13 years ago
|Status:||new → closed|