Opened 4 years ago

Closed 4 years ago

Last modified 4 years ago

#6783 closed defect (fixed)

ZVISION: Earth pavilion door puzzle missing sound effects

Reported by: SF/tnm23 Owned by: bluegr
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: The skeletal hand door lock puzzle in the temple does not play any sounds when interacting with any knuckle on the left hand. The right hand knuckles play sounds correctly when opened or closed.

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 earth pavilion door puzzle. Click on any knuckle on the left hand to open or close it.

Ticket imported from: bugs/6783.

Change History (4)

comment:1 Changed 4 years ago by eriktorbjorn

Something looks a bit odd about the scripts in the version I have. In td9e.scr it defines the two "fist" controls like so:

control:563 fist {
              animation_id(567)
              sound_key(3457)
              descfile(fist.puz)
              cursor(active)
}
control:564 fist {
              animation_id(568)
              sound_key(3458)
              descfile(rfist.puz)
              cursor(active)
}

The .puz files contain additional parameters, but I don't think they matter here.

Then there are the scripts that I believe trigger the sound effects:

puzzle:3582 {               # TD9E Left Sound Up
              criteria { 
                            [568] = 1                   # TD9E Right Fist_anim
                            [3457] = 2                  # TD9E Left Fist Sound Key
              }
              results {
                            action:assign(3582, 0)      # TD9E Left Sound Up
                            action:assign(3457, 0)      # TD9E Left Fist Sound Key
                            background:music:3591(0 td9eq2tc.raw 0)
              }
              flags {
                            ONCE_PER_INST
              }
}
puzzle:3583 {               # TD9E Left Sound Down
              criteria { 
                            [568] = 1                   # TD9E Right Fist_anim
                            [3457] = 1                  # TD9E Left Fist Sound Key
              }
              results {
                            action:assign(3583, 0)      # TD9E Left Sound Down
                            action:assign(3457, 0)      # TD9E Left Fist Sound Key
                            background:music:3590(0 td9eq1tc.raw 0)
              }
              flags {
                            ONCE_PER_INST
              }
}
puzzle:3584 {               # TD9E Right Sound Down
              criteria { 
                            [568] = 1                   # TD9E Right Fist_anim
                            [3458] = 1                  # TD9E Right Fist Sound Key
              }
              results {
                            action:assign(3458, 0)      # TD9E Right Fist Sound Key
                            action:assign(3584, 0)      # TD9E Right Sound Down
                            background:music:3592(0 td9eq1tc.raw 0)
              }
              flags {
                            ONCE_PER_INST
              }
}
puzzle:3585 {               # TD9E Right Sound Up
              criteria { 
                            [568] = 1                   # TD9E Right Fist_anim
                            [3458] = 2                  # TD9E Right Fist Sound Key
              }
              results {
                            action:assign(3585, 0)      # TD9E Right Sound Up
                            action:assign(3458, 0)      # TD9E Right Fist Sound Key
                            background:music:3593(0 td9eq2tc.raw 0)
              }
              flags {
                            ONCE_PER_INST
              }
}

The left fist sets state value 567 to 1 while the animation is running, and to 2 when the animation is done. The right fist does the same to state value 568.

So why on earth (no pun intended) does the scripts for the left fist check state value 568?

comment:2 Changed 4 years ago by digitall

Summary: Earth pavilion door puzzle missing sound effectsZVISION: Earth pavilion door puzzle missing sound effects

comment:3 Changed 4 years ago by bluegr

Owner: set to bluegr
Resolution: fixed
Status: newclosed

comment:4 Changed 4 years ago by bluegr

This is a script bug as eriktorbjorn found out.

It has been fixed in commit 6c07f91.

The fix will be available in the next daily version of ScummVM.

Closing as fixed

Note: See TracTickets for help on using tickets.