Opened 5 years ago

Closed 4 years ago

#6782 closed defect (wontfix)

ZVISION: Temple door knocker knocks far too fast

Reported by: SF/tnm23 Owned by:
Priority: normal Component: Engine: ZVision
Keywords: Cc:
Game: Zork Nemesis

Description

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 SF/tnm23, 5 years ago

Damn, wrong game. Sorry.

comment:2 by bluegr, 5 years ago

Game: Zork Grand InquisitorZork Nemesis

comment:3 by digitall, 5 years ago

Summary: Temple door knocker knocks far too fastZVISION: Temple door knocker knocks far too fast

comment:4 by RichieSams, 5 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 RichieSams, 4 years ago

Resolution: wontfix
Status: newclosed
Note: See TracTickets for help on using tickets.