Menu

#6782 ZVISION: Temple door knocker knocks far too fast

Zork Nemesis
closed-wont-fix
nobody
None
5
2016-02-02
2015-01-25
tnm23
No

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.

Discussion

  • tnm23

    tnm23 - 2015-01-25

    Damn, wrong game. Sorry.

     
  • Filippos Karapetis

    • Group: Zork Grand Inquisitor --> Zork Nemesis
     
  • digitall

    digitall - 2015-01-29
    • summary: Temple door knocker knocks far too fast --> ZVISION: Temple door knocker knocks far too fast
     
  • RichieSams

    RichieSams - 2015-02-10

    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
    
     

    Last edit: RichieSams 2015-02-11
  • RichieSams

    RichieSams - 2016-02-02
    • status: open --> closed-wont-fix