Opened 6 years ago

Closed 6 years ago

#6306 closed defect (fixed)

QUEEN: Can't quit from ScummVM while ending cutscene

Reported by: SF/greencis Owned by: bluegr
Priority: normal Component: Engine: Queen
Keywords: Cc:
Game: Flight of the Amazon Queen

Description

Windows XP, Android 2.3.6, Android 4.0.3
ScummVM 1.6.0git3955-g6936f83 (Apr 30 2013 09:14:51)

In Flight of the Amazon Queen ending cutscene, where you can see sunset and flying zeppelin on background and credits on foreground, you can neither return to Launcher nor quit from ScummVM. If you press 'Return to Launcher' or 'Quit' button, you need to wait while the cutscene ends. Only after this you will be able to quit from game. I've attached the savegame of the very end of game in case you need it.

Ticket imported from: #3612408. Ticket imported from: bugs/6306.

Attachments (1)

queen.s84 (12.0 KB ) - added by SF/greencis 6 years ago.
Savegame

Download all attachments as: .zip

Change History (6)

by SF/greencis, 6 years ago

Attachment: queen.s84 added

Savegame

comment:1 by digitall, 6 years ago

greencis: Thank you for this bug report. Looking at the code, there appears to a lack of calls to _vm->shouldQuit() in order to break various loops for the credits and/or cutaway special cases... It may take a while before a Queen engine developer has a chance to look at this, but you have provided sufficient information to look at this, so please stand by..

comment:2 by bluegr, 6 years ago

Owner: set to joostp

comment:3 by bluegr, 6 years ago

The loop in question is in logic.cpp, lines 1801 - 1813

Checking for shouldQuit() in that loop fixes the issue for me, i.e. changing this line:
while (bob->x > 150) {
to:
while (bob->x > 150 && !_vm->shouldQuit()) {

The current maintainer for queen is joostp, thus I'm assigning this to him.

joostp, is this the correct way to fix this?

comment:4 by bluegr, 6 years ago

Owner: changed from joostp to bluegr
Resolution: fixed
Status: newclosed

comment:5 by bluegr, 6 years ago

Well, it's a pretty simple and straightforward change that doesn't affect anything else in the game apart from skipping in that particular scene, so I've just pushed the change in commit bdd1314

Closing

Note: See TracTickets for help on using tickets.