Opened 7 years ago

Closed 7 years ago

#10118 closed defect (fixed)

MOHAWK: Riven: Screen doesn't fade to black when capturing Gehn.

Reported by: macca8 Owned by: bgK
Priority: high Component: Engine: Mohawk
Version: Keywords:
Cc: Game: Riven

Description

This report refers to the second meeting with Gehn (having previously met before the trapbook was recovered), where the player returns to his office and gives him the trapbook.

If the player chooses to enter the trapbook when prompted, instead of the screen fading to black, it freezes with the image of Gehn holding the book. The movie plays as expected, but the image remains in the background (see attached screenshots) until the sequence completes.

To reproduce, using the attached saved game, enter the trapbook when prompted by Gehn.

What happens next is inconsistent.

Sometimes the game continues as normal, but I'm concerned that other times it will simply crash (bus error).
If it's going to crash, it's generally when the cursor reappears (either after Gehn's capture is complete or, if the trapbook is ignored, when he leaves the office).

Mac OS X console report: com.apple.launchd.peruser.501[xxx] ([0x0-0x25025].org.scummvm.scummvm[xxx]) Job appears to have crashed: Bus error.

Extract crash report:
Thread 1 Crashed: Dispatch queue: com.apple.libdispatch-manager
0 libSystem.B.dylib 0x98ccc382 kevent + 10
1 libSystem.B.dylib 0x98ccca9c _dispatch_mgr_invoke + 215
2 libSystem.B.dylib 0x98ccbf59 _dispatch_queue_invoke + 163

Attachments (4)

After player enters.png (115.1 KB ) - added by macca8 7 years ago.
Player is inside book.
Before Gehn enters.png (135.4 KB ) - added by macca8 7 years ago.
Gehn considers his decision.
After Gehn enters.png (84.9 KB ) - added by macca8 7 years ago.
Gehn captured!
riven-007.rvn (18.3 KB ) - added by macca8 7 years ago.
Link to office, enter trapbook when prompted.

Download all attachments as: .zip

Change History (9)

by macca8, 7 years ago

Attachment: After player enters.png added

Player is inside book.

by macca8, 7 years ago

Attachment: Before Gehn enters.png added

Gehn considers his decision.

by macca8, 7 years ago

Attachment: After Gehn enters.png added

Gehn captured!

by macca8, 7 years ago

Attachment: riven-007.rvn added

Link to office, enter trapbook when prompted.

comment:1 by macca8, 7 years ago

Sorry, forgot to mention. The trapbook performs correctly at all other meetings. The crash is unique to this meeting.

comment:2 by macca8, 7 years ago

Current Daily Build: 1.10.0git4414-ge84c164 (11 August 2017)
Last known without either bug: 1.10.0git3512-gdeab63f (21 June 2017)
Game Version: English, 5-CD (contains v1.02 patch files)
Platform: Intel Mac (OS X 10.6.8)

comment:3 by dafioram, 7 years ago

I originally played through this part recently on the DVD version on commit:
0e2d14ac415faeec25226cef64b3443b0905eff9 (August 8). I only went through that part once, but I do recall there being a long delay after entering the book and the movie for gehn entering the book starting (it showed a black screen for a lot longer than usual).

So I did encounter something, but since I only played through once I will test this part more thoroughly to see what exactly the dvd version does, later today.

comment:4 by bgK, 7 years ago

This is a script bug specific to the CD version of the game. The script tries to change card during a screen update and while still loading the previous card ...

CD version script:

== Script 1 ==
type: CardUpdate
switch (agehn) {
	case 1:
		switch (atrapbook) {
			case 1:
				obutton = 1;
				transition(16);
				switchCard(2);
				break;
		}
		break;
	case 2:
		activatePLST(5);
		break;
	case 3:
		activatePLST(5);
		break;
}

DVD version script:

== Script 1 ==
type: CardUpdate
switch (agehn) {
	case 1:
		switch (atrapbook) {
			case 1:
				obutton = 1;
				activatePLST(6);
				break;
		}
		break;
	case 2:
		activatePLST(5);
		break;
	case 3:
		activatePLST(5);
		break;
}

== Script 2 ==
type: CardEnter
switch (agehn) {
	case 1:
		switch (atrapbook) {
			case 1:
				obutton = 1;
				transition(16);
				switchCard(2);
				break;
		}
		break;
}

I'll patch the script to match the DVD version.

comment:5 by bgK, 7 years ago

Owner: set to bgK
Resolution: fixed
Status: newclosed

I've added the script patch in commit ee588a8. Should work fine now. Thanks for your report.

Note: See TracTickets for help on using tickets.