Opened 9 years ago

Closed 9 years ago

Last modified 9 years ago

#5197 closed defect (fixed)

LB2CD & LB2Floppy: Some wandering actors aren't found

Reported by: SF/philohippus Owned by: waltervn
Priority: normal Component: Engine: SCI
Keywords: Cc:
Game: Laura Bow 2: The Dagger of Amon-Ra

Description

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.

Attachments (2)

laurabow2.001 (56.6 KB ) - added by SF/philohippus 9 years ago.
savegame
laurabow2.006 (52.5 KB ) - added by SF/philohippus 9 years ago.
second savegame, countess actor

Download all attachments as: .zip

Change History (25)

by SF/philohippus, 9 years ago

Attachment: laurabow2.001 added

savegame

comment:1 by SF/philohippus, 9 years ago

having come across rooms poulated with other actors, it seems that only Ziggy and Tut are causing crashes

comment:2 by m-kiewitz, 9 years ago

Owner: set to m-kiewitz
Resolution: fixed
Status: newpending

comment:3 by m-kiewitz, 9 years ago

fixed in r51933, although i couldnt try it out, please check and report back

comment:4 by SF/philohippus, 9 years ago

Status: pendingnew

comment:5 by SF/philohippus, 9 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:

http://www.youtube.com/watch?v=XHackdhs_4U#t=4m28s

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 SF/philohippus, 9 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 SF/philohippus, 9 years ago

Attachment: laurabow2.006 added

second savegame, countess actor

comment:7 by SF/philohippus, 9 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 m-kiewitz, 9 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 SF/philohippus, 9 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 m-kiewitz, 9 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 SF/philohippus, 9 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 SF/philohippus, 9 years ago

Summary: LB2CD: Crash when random actor appearsLB2CD & LB2Floppy: Crash moving to room with wandering actor

comment:13 by bluegr, 9 years ago

The LB2 floppy issue has been fixed in r52253

comment:14 by SF/philohippus, 9 years ago

Cheers

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 sev-, 9 years ago

Status: newclosed

comment:16 by m-kiewitz, 9 years ago

Resolution: fixed
Status: closednew

comment:17 by m-kiewitz, 9 years ago

@ sev: this is not fully resolved. 2 actors are invisible and in room -1.

comment:18 by bluegr, 9 years ago

Perhaps this has been fixed with the latest changes to the way scaling is handled?

comment:19 by SF/philohippus, 9 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 bluegr, 9 years ago

Summary: LB2CD & LB2Floppy: Crash moving to room with wandering actorLB2CD & LB2Floppy: Some wandering actors aren't found

comment:21 by bluegr, 9 years ago

Perhaps it's somehow related to bug #3047418

comment:22 by bluegr, 9 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 bluegr, 9 years ago

Owner: changed from m-kiewitz to waltervn
Resolution: fixed
Status: newclosed
Note: See TracTickets for help on using tickets.