Opened 3 years ago

Closed 3 years ago

#12334 closed defect (invalid)

AGS: Blackwell Deception (Steam, Win): Can't progress past boat sequence

Reported by: Tea23 Owned by: dreammaster
Priority: normal Component: Engine: AGS
Version: Keywords:
Cc: Game:

Description

After completing the boat sequence and Joey and Rosa take a look at the skyline, the opening credits music will play and display the game's logo but nothing will happen after they walk off screen.

Change History (3)

comment:1 by criezy, 3 years ago

Confirmed with the GOG version as well.

If you skip the sequence with Escape before the end, then you can continue the game.
If you try to use Escape after Joey and Rosa have left the screen however, then the game freezes (and the cursor is also frozen, but you can still quit ScummVM with a keyboard shortcut). The call stack for this frozen state is:

  * frame #0: AGS3::ccInstance::Run(this=0x000000013f2b4080, curpc=5763) at cc_instance.cpp:1198:16
    frame #1: AGS3::ccInstance::CallScriptFunction(this=0x000000013f2b4080, funcname="repeatedly_execute_always", numargs=0, params=0x0000000128f8e4a0) at cc_instance.cpp:339:15
    frame #2: AGS3::DoRunScriptFuncCantBlock(sci=0x000000013f2b4080, funcToRun=0x0000000128f8e490, hasTheFunc=true) at script.cpp:278:17
    frame #3: AGS3::run_function_on_non_blocking_thread(funcToRun=0x0000000128f8e490) at script.cpp:96:39
    frame #4: AGS3::game_loop_check_new_room() at game_run.cpp:110:3
    frame #5: AGS3::UpdateGameOnce(checkControls=true, extraBitmap=0x0000000000000000, extraX=0, extraY=0) at game_run.cpp:716:2
    frame #6: AGS3::GameTick() at game_run.cpp:864:2
    frame #7: AGS3::GameLoopUntilEvent(untilwhat=7, daaa=0x0000000117f84a38) at game_run.cpp:904:9
    frame #8: AGS3::GameLoopUntilValueIsZero(value=0x0000000117f84a38) at game_run.cpp:919:2
    frame #9: AGS3::WaitImpl(skip_type=1, nloops=1) at global_game.cpp:986:2
    frame #10: AGS3::scrWait(nloops=1) at global_game.cpp:1004:2
    frame #11: AGS3::Sc_scrWait(params=0x000000016f49ab10, param_count=1) at global_api.cpp:1864:2
    frame #12: AGS3::ccInstance::Run(this=0x000000013f2d0c80, curpc=491) at cc_instance.cpp:1009:20
    frame #13: AGS3::ccInstance::CallScriptFunction(this=0x000000013f2d0c80, funcname="room_AfterFadeIn", numargs=0, params=0x0000000000000000) at cc_instance.cpp:339:15
    frame #14: AGS3::RunScriptFunctionIfExists(sci=0x000000013f2d0c80, tsname="room_AfterFadeIn", numParam=0, params=0x0000000000000000) at script.cpp:355:32
    frame #15: AGS3::RunTextScript(sci=0x000000013f2d0c80, tsname="room_AfterFadeIn") at script.cpp:401:14
    frame #16: AGS3::RunScriptFunction(sc_inst=kScInstRoom, fn_name="room_AfterFadeIn", param_count=0, p1=0x000000016f49db20, p2=0x000000016f49db60) at script.cpp:266:4
    frame #17: AGS3::QueueScriptFunction(sc_inst=kScInstRoom, fn_name="room_AfterFadeIn", param_count=0, p1=0x000000016f49db20, p2=0x000000016f49db60) at script.cpp:255:3
    frame #18: AGS3::run_interaction_script(nint=0x000000013e990a10, evnt=7, chkAny=-1, isInv=0) at script.cpp:184:3
    frame #19: AGS3::process_event(evp=0x000000016f49f274) at event.cpp:175:4
    frame #20: AGS3::processallevents(numev=5, evlist=0x000000010a0313c0) at event.cpp:359:3
    frame #21: AGS3::update_events() at event.cpp:369:2
    frame #22: AGS3::game_loop_update_events() at game_run.cpp:624:2
    frame #23: AGS3::UpdateGameOnce(checkControls=true, extraBitmap=0x0000000000000000, extraX=0, extraY=0) at game_run.cpp:745:2
    frame #24: AGS3::GameTick() at game_run.cpp:864:2
    frame #25: AGS3::RunGameUntilAborted() at game_run.cpp:951:3

The current master of the original AGS interpreter works properly.
The issue has existed in ScummVM since at least early February (I tested the parent of ff276f88), and possibly since the beginning.

I will try to debug this further.

comment:2 by dreammaster, 3 years ago

What's the status of this? Do you have any appropriate saveagmes you can attach?

comment:3 by dreammaster, 3 years ago

Owner: set to dreammaster
Resolution: invalid
Status: newclosed

Closing this ticket, because no followup happened, and the new codebase will likely have fixed any problems in any case.

Note: See TracTickets for help on using tickets.