Opened 8 years ago
Closed 7 years ago
#6782 closed defect (wontfix)
ZVISION: Temple door knocker knocks far too fast
|Reported by:||SF/tnm23||Owned by:|
Scummvm version: ScummVM 1.8.0git (Jan 16 2015 10:31:43) Features compiled in: TAINTED Vorbis FLAC MP3 ALSA SEQ TiMidity RGB zLib MPEG2 Theora AAC FreeType2 JPEG PNG Optimised/Release build.
Bug details: Clicking and dragging the temple door knocker part-way up and releasing it lets it fall slowly and bounce a few times; the bouncing frequency seems inversely proportional to the height the knocker is lifted. This behaviour seems correct. Simply clicking on the knocker at the bottom without dragging it at all, however, should automatically lift one step and knock several times, slowly. Instead, when clicked it knocks several times really fast, so fast it doesn't even finish playing each knocking sound before the next one starts.
GOG version of Zork Nemesis. Installed under wine, subtitles patch applied, then all required files copied into /usr/share/scummvm/nemesis
Debian Wheezy 7.8, Kernel 3.2.0-4-amd64 (#1 SMP Debian 3.2.65-1), gcc version 4.7 (x86_64-linux-gnu)
Steps to reproduce: Start game and play as normal until the temple door. Click on door knocker.
Ticket imported from: bugs/6782.
Change History (5)
comment:1 by , 8 years ago
comment:2 by , 8 years ago
|Game:||Zork Grand Inquisitor → Zork Nemesis|
comment:3 by , 8 years ago
|Summary:||Temple door knocker knocks far too fast → ZVISION: Temple door knocker knocks far too fast|
comment:4 by , 8 years ago
This is actually the original behavior. The animation of the knocker is defined in the "knocker.lev" file. It gives specific 'returnRoutes' based on where the knocker is dropped from. Below is the psuedo code version of the file:
Dropped from position 0: (0 to 1) then (1 to 0) then (0 to 1) then (1 to 0) Dropped from position 1: (1 to 0) Dropped from position 2: (2 to 0) then (0 to 1) then (1 to 0) Dropped from position 3: (3 to 0) then (0 to 1) then (1 to 0) Dropped from position 4: (4 to 0) then (0 to 2) then (2 to 0) Dropped from position 5: (5 to 0) then (0 to 3) then (3 to 0) Dropped from position 6: (6 to 0) then (0 to 3) then (3 to 0) Dropped from position 7: (7 to 0) then (0 to 4) then (4 to 0) Dropped from position 8: (8 to 0) then (0 to 5) then (4 to 0) Dropped from position 9: (9 to 0) then (0 to 5) then (4 to 0)
In order to make the knocking slower, we would have to slow down all the lever animations by changing the hardcoded animation speed on lever_control.h L#60:
ANIMATION_FRAME_TIME = 30 // In millis
comment:5 by , 7 years ago
|Status:||new → closed|
Damn, wrong game. Sorry.