#12885 closed defect (fixed)

BURIED: Cutscene for opening door to Da Vinci's study plays every time the door is opened

Reported by: Thunderforge Owned by: eriktorbjorn
Priority: normal Component: Engine: Buried
Version: Keywords: buried-win
Cc: Game: Journeyman Project 2: Buried in Time

Description

When the door to Da Vinci's study (at the top of the second tower) is opened, a cutscene plays of another agent making a time jump. If you turn away from the door and reopen it, the cutscene will repeat.

I noticed that Arthur only comments after the first time the cutscene plays, but not on subsequent times, so that much is correct.

Reproduction Steps

  1. Load the attached save
  2. Open the door. The cutscene will play.
  3. Move right, then left again.
  4. Open the door again. The cutscene will play.

I tried to reproduce this in the GOG.com release's original interpreter, but the cutscene only played one time as expected, so it's not a bug in the original game code.

Versions

  • ScummVM 2.3.0pre 2021-08-31
  • Windows 10 Pro 20H2
  • The Journeyman Project 2: Buried in Time
    • v1.00 24BPP/Windows/English (CD release)
    • v1.1 24BPP/Windows/English (GOG release)

Attachments (2)

buried-Always Jumping Away.sav (1.1 KB ) - added by Thunderforge 11 months ago.
buried-Da Vinci Never Opened Door.sav (1.1 KB ) - added by Thunderforge 11 months ago.

Download all attachments as: .zip

Change History (14)

by Thunderforge, 11 months ago

comment:1 by Thunderforge, 11 months ago

Keywords: buried-win added; buried removed

comment:2 by eriktorbjorn, 11 months ago

It seems to be handled by CodexTowerOutsideDoor::mouseUp(), but I can only see it makes a difference between how you open the door, not if you've opened it before. Is there an entire case missing here?

comment:3 by eriktorbjorn, 11 months ago

Is there still an animation of the door opening the second time in the original?

comment:4 by eriktorbjorn, 11 months ago

I'm asking because I tried hard-coding it to play a different cutscene for the door, but no matter which one I picked I couldn't find one of the door opening without any lightning (which I assume is a time jump).

I tried downloading the GOG version, but I couldn't get it to run in Wine (nor in Windows, for that matter), so I can't compare them myself.

comment:5 by Thunderforge, 11 months ago

Is there still an animation of the door opening the second time in the original?

Yes, there is still an animation of the door opening in both versions. With the GOG release, the door opening is *not* followed by the agent jumping out the second time. I am unable to get the 1.00 version to run, so perhaps it is specific to that version?

comment:6 by eriktorbjorn, 11 months ago

From what I've seen, the only difference between 1.00 and 1.1 are in the .exe and .dll files, not the other data files.

The only animations I've been able to find for the door opening are in BITDATA/DAVINCI/DSCTVID1.BTV and they both had lightning on the other side, and something falling to the ground I think?

But as I said, I know very little about the engine and even less about the game, so not only could I be barking up the wrong tree, I'm not even sure I'm in the correct forest.

Version 0, edited 11 months ago by eriktorbjorn (next)

comment:7 by Thunderforge, 11 months ago

What you describe is the cutscene that triggers when you first open the door. You can see it in this YouTube video.

In the GOG release (the only one I was able to test), opening the door a second time shows the door opening to an empty room. But ScummVM shows the jumping out sequence every time.

comment:8 by eriktorbjorn, 11 months ago

I could only find minor differences between the GOG version and my DVD version. The data files were identical (except maybe for a missing "Sanctuary Woods" logo in data1?), and I only saw a one-byte difference in some EXE files.

So I'm almost certainly looking in the wrong place for that missing animation. Unfortunately, I have absolutely no idea where the right place to look is, so I can only hope someone else will be able to step up and fix this one.

Out of curiosity, is it possible to return to this spot once you've walked through the door? Or is it only possible to see this if you open the door, turn away, then open the door again?

comment:9 by Thunderforge, 11 months ago

Out of curiosity, is it possible to return to this spot once you've walked through the door? Or is it only possible to see this if you open the door, turn away, then open the door again?

I've reproduced this bug by walking in, turning around, walking out, turning around, and opening the door again.


I think I've found the issue with the code. The door can be opened by either unlocking it with a key or by prying it open with a metal bar.

  • Unlock with metal bar:
    1. Door automatically opens
    2. dsCTUnlockedDoor is set to 1
    3. dsCTViewedAgent3 is set to 1
    4. Time jump video is played
  • Unlock with key:
    1. dsCTUnlockedDoor is set to 1
    2. Door does not automatically open
  • Open door that is already unlocked (dsCTUnlockedDoor == 1)
    1. If dsCTViewedAgent3 == 0, play time jump video (dsCTViewedAgent3 is never set to 1)
    2. If dsCTViewedAgent3 == 1, play normal video

I tried setting the variable in this block, but that it seems that isn't set up correctly because now the animation is prying the door open followed by the time jump.

I've attached a new save of never having opened the door. You can unlock it with the Balcony Key in your inventory (look down, drag to the lock, look up) and then subsequently open it, or just stay at the current height and pry it open with the Metal Bar in your inventory.

by Thunderforge, 11 months ago

comment:10 by eriktorbjorn, 11 months ago

Ah, for some reason I through you couldn't go back out. I blame the muddy graphics, the sometimes confusing node-based navigation, and too much sunlight in my eyes. :-)

The destData.transitionData seems to determine which video it will play. 1 is opening the unlocked door, 2 is breaking it open with the metal bar. It seems like there should be yet a third animation, but I've been unable to find it.

That's where I got stuck.

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

comment:11 by eriktorbjorn, 11 months ago

Sev reached out to the upstreams developers, and handed me some code that I've re-integrated in https://github.com/scummvm/scummvm/pull/3363

I think I understand what it does, but could you please test if it's working correctly?

comment:12 by Thunderforge, 11 months ago

Owner: set to eriktorbjorn
Resolution: fixed
Status: newclosed

Bug is fixed in the above PR.

Note: See TracTickets for help on using tickets.