#5981 closed defect (fixed)
SCI: LONGBOW: Animation glitch in intro
Reported by: | SF/kurufinwe | Owned by: | m-kiewitz |
---|---|---|---|
Priority: | normal | Component: | Engine: SCI |
Version: | Keywords: | ||
Cc: | Game: | Conquests of the Longbow |
Description
Using ScummVM 1.5.0git2420-g975801b on Win 7 64 bit. Playing Conquests of the Longbow (DOS, English, v 1.0 with official Sierra patch).
This happens during the intro, when King Richard gets attacked by night. Using the original interpreter, he struggles with his attackers and eventually falls off his horse. With ScummVM, however, when his attackers reach him he immediately "teleports" to the ground, the falling-off animation plays in reverse (so he ends up back on his horse), then the animation plays again in the correct order and he's finally on the ground for good — and then the rest of the sequence plays as it should.
I can't seem to be able to save during the intro, so I guess you have to watch the whole thing to see the bug.
Ticket imported from: #3489094. Ticket imported from: bugs/5981.
Change History (7)
comment:1 by , 13 years ago
comment:2 by , 11 years ago
m_kiewitz investigated this and traced it to a workaround in soundcmd.cpp
I've confirmed that is indeed causing it, in all three of its incarnations in history: 9ad4ad1abc75e6393617ea9c5ca8fdfc2c8de6c4, 8024f406387a748718496e9592ffccb3a6a51d26 and master.
It is the check currently labeled "Check if the song is already at the requested volume".
Removing it re-introduces the problem of dialog boxes of the troubadour's song disappearing too quickly.
comment:3 by , 11 years ago
I have looked further through the scripts.
script 95 - class nightRider::changeState is responsible for the animations. state 7 results in the man on the horse swinging his sword (view 810, loop 2, cel 0 to 5) - using cycler "CT" from script 992 state 8 results in that animation going back 2 frames to cell 3, also using cycler "CT" state 9 results in that loop getting played back in full, this uses cycler "End"
It's really strange. When I set a breakpoint on nightRider::changeState, none of the animations play back throughout the whole scene. It seems something is triggering cues all the time, when breakpoints are set. The rider won't even ride down the hill in that case.
The troubadour scene works fine with latest code, so maybe it's another bug entirely and not caused by us not sending out a signal for one of the fade outs (where volume == targetvolume) at the start of that scene.
comment:4 by , 11 years ago
the breakpoint/debugger problem is now fixed (commit 0367d40647128836c7ccecc1cd9e3682b871dbf8)
comment:6 by , 11 years ago
Keywords: | original added |
---|---|
Owner: | set to |
Resolution: | → fixed |
Status: | new → closed |
comment:7 by , 11 years ago
Keywords: | original removed |
---|
A small precision: it seems that an animation of Richard pulling out his sword and fighting back is not playing in ScummVM and is replaced with the reverse fall. So the sequence should be (original interpreter):
1. Attackers approach 2. Richard pulls out his sword and tries to fight back 3. Richard falls to the ground
but what ScummVM does is:
1. Attackers approach 2. Richard falls to the ground IN REVERSE 3. Richard falls to the ground