Opened 3 years ago
Closed 3 years ago
#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
- Load the attached save
- Open the door. The cutscene will play.
- Move right, then left again.
- 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)
Change History (14)
by , 3 years ago
Attachment: | buried-Always Jumping Away.sav added |
---|
comment:1 by , 3 years ago
Keywords: | buried-win added; buried removed |
---|
comment:2 by , 3 years ago
comment:3 by , 3 years ago
Is there still an animation of the door opening the second time in the original?
comment:4 by , 3 years 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 , 3 years 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 , 3 years 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? At least when played in a standalone media player.
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.
comment:7 by , 3 years 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 , 3 years 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 , 3 years 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:
- Door automatically opens
dsCTUnlockedDoor
is set to 1dsCTViewedAgent3
is set to 1- Time jump video is played
- Unlock with key:
dsCTUnlockedDoor
is set to 1- Door does not automatically open
- Open door that is already unlocked (
dsCTUnlockedDoor == 1
)- If
dsCTViewedAgent3 == 0
, play time jump video (dsCTViewedAgent3
is never set to 1) - If
dsCTViewedAgent3 == 1
, play normal video
- If
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 , 3 years ago
Attachment: | buried-Da Vinci Never Opened Door.sav added |
---|
comment:10 by , 3 years 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.
comment:11 by , 3 years 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 , 3 years ago
Owner: | set to |
---|---|
Resolution: | → fixed |
Status: | new → closed |
Bug is fixed in the above PR.
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?