Opened 11 months ago

Closed 2 months ago

#14807 closed defect (fixed)

TWINE: TV screen in Principal Island house plays a second wrong video

Reported by: antoniou79 Owned by: mgerhardy
Priority: normal Component: Engine: TwinE
Version: Keywords:
Cc: Game: Little Big Adventure

Description

This is with ScummVM 2.9.0git built from master HEAD on Windows, with the English version of LBA from GOG.

There's a house in Principal Island where, after you gain the trust of the people by killing a clone, you can examine the TV display screen and get a video cutscene.

If I'm not mistaken this is a cutscene that also plays during the intro of the game, and refers to Twinsen's dreams. (I am unsure why it plays there again).

But in ScummVM, after this cutscene ends, it also plays the cutscene of Twinsen traveling by boat to Principal Island and being sea-sick, which must be wrong.

I attaching a saved game from within the pertinent house. Check the TV to the right to get the video cutscenes.

This youtube playthrough shows only the one cutscene being played (timestamp at 1:01:40).
https://youtu.be/1GbLmYUAOZw?si=S3Dm2Ww_XJIq9jbn&t=3700

Attachments (1)

lba-win-1.003 (7.6 KB ) - added by antoniou79 11 months ago.

Download all attachments as: .zip

Change History (10)

by antoniou79, 11 months ago

Attachment: lba-win-1.003 added

comment:1 by mgerhardy, 11 months ago

This is in ScriptLife::lPLAY_FLA or ScriptMove::mPLAY_FLA

scene id 58

Last edited 11 months ago by mgerhardy (previous) (diff)

comment:2 by mgerhardy, 11 months ago

I'm not sure if this is really what was wanted here - but it's part of the life scripts

LIFE::BEGIN(0)
LIFE::EXEC(SWIF, 0)
LIFE::SWIF(zone(3 == 2), 12)
LIFE::EXEC(SWIF, 0)
LIFE::SWIF(action(1 == 1))
LIFE::EXEC(IF, 0)
LIFE::IF(distance(1, 3455 < 1250), 102)
LIFE::EXEC(IF, 0)
LIFE::IF(zone(3 == 3))
LIFE::EXEC(PLAY_FLA, 0)
LIFE::PLAY_FLA(introd.fla)
Play fla: introd.fla
twine custom event type end: 34
LIFE::EXEC(SET_FLAG_CUBE, 0)
LIFE::SET_FLAG_CUBE(0, 1)
LIFE::EXEC(IF, 0)
LIFE::IF(flag_game(203, 1 == 1)) <--- here is checked whether that video was already shown (GAMEFLAG_VIDEO_BATEAU)
LIFE::EXEC(PLAY_FLA, 0)
LIFE::PLAY_FLA(bateau.fla)
Play fla: bateau.fla
LIFE::EXEC(IF, 0)
LIFE::IF(flag_game(209, 0 == 1), 162)

---

I did activate the Scripts debug channel with

debugflag_enable Scripts

comment:3 by antoniou79, 11 months ago

Maybe it's me that's misunderstanding the purpose of the TV. Maybe it's supposed to be a way to view some movie cutscenes back-to-back?

(It still does not explain why on the Youtube video it just plays the one cutscene).

comment:4 by mgerhardy, 11 months ago

These cutscenes are only played back here if they were never seen before - and in your playthrough video on youtube at minute 54:00 one of the two (or three - I don't remember) sea related cutscenes is played back already. And that's why it's not played again I suppose (at least the script checks the game_flags array whether they were played back already and skips them if they already were).

comment:5 by antoniou79, 11 months ago

I wonder if the sea-sick scene played for me because maybe I skipped it in that particular playthrough. Can you tell from my save file?

comment:6 by mgerhardy, 10 months ago

it's gameflag 203 and the value is 0 in the himalaya save game

comment:7 by mgerhardy, 2 months ago

I think we can close this ticket as works-as-intended, no?

comment:8 by antoniou79, 2 months ago

Yes, I agree.

comment:9 by mgerhardy, 2 months ago

Owner: set to mgerhardy
Resolution: fixed
Status: newclosed
Note: See TracTickets for help on using tickets.