Opened 5 years ago

Closed 21 months ago

#6770 closed defect (fixed)

ZVISION: Control lever still visible after opening Perils of Magic time tunnel

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

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: After unsealing and activating the time tunnel at the Perils of Magic exhibit, the control lever from the preceding puzzle is still drawn on the screen after approaching the tunnel.

English language edition of ZGI, 2 CD release. Installed under wine, official patch applied, then all required files copied into /usr/share/scummvm/zgi

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: Play as normal until the time tunnel in the Perils of Magic exhibit is activated. Approach the tunnel.

Ticket imported from: bugs/6770.

Attachments (3)

zgi-win.014 (18.8 KB ) - added by SF/tnm23 5 years ago.
zgi-win.045 (17.7 KB ) - added by dafioram 23 months ago.
Time tunnel before casting narwile. Cast narwile and the time tunnel will look fine, but if you go away and come back you will see the graphic glitch. So it doesn't happen the first time.
zgi_save.zip (5.3 KB ) - added by dafioram 23 months ago.
Saved game before opening time tunnel in original windows interpreter. Load save2 and then cast narwil.

Download all attachments as: .zip

Change History (13)

by SF/tnm23, 5 years ago

Attachment: zgi-win.014 added

comment:1 by digitall, 5 years ago

Summary: Control lever still visible after opening Perils of Magic time tunnelZVISION: Control lever still visible after opening Perils of Magic time tunnel

comment:2 by bluegr, 5 years ago

This is a bug in ScummVM, it works properly in the original:
https://www.youtube.com/watch?v=vs7ALIQa2Uc#t=19m48s

The relevant script is me2j.scr

comment:3 by eriktorbjorn, 5 years ago

If I understand correctly, this is the script that draws the lever. At least in my case, I should add, since I didn't use the savegame provided with this bug report.

puzzle:09536 {  # me2j_setup_lever
    criteria {
        [09526] = 1 # me2j_screenset
        [09484] > 7 # me2j_lever_control
        [09484] < 11    # me2j_lever_control
    }
    results {
        action:animplay:09537(me2ja151.rlf 480 247 551 310 8 8 1 0 0 0 0)   # me2j_setup_lever_anim
    }
    flags {
        once_per_inst
    }
}

comment:4 by eriktorbjorn, 5 years ago

I think this is the script that decides to show a close-up of the time tunnel (where the lever should not be visible) instead of showing the control panel (where the lever should be visible). So something about this should ensure that the lever isn't shown, perhaps?

puzzle:09526 {  # me2j_screenset
    criteria {
        [09491] = 3 # me2j_guard_state
        [09419] = 1 # me2j_fence_is_down
        [09404] = 1 # me2j_time_tunnel_open
    }
    results {
        action:set_screen(me2jf111.tga)
        action:animplay:09534(me2ja211.avi 213 22 428 321 0 49 0 0 0 0 0)   # me2j_time_tunnel_looping_anim
        action:assign(09406, 1) # me_can_hear_tunnel
        action:assign(09527, 0) # me2j_backup_1
        action:assign(09528, 0) # me2j_backup_2
        action:enable_control(09527)    # me2j_backup_1
        action:enable_control(09528)    # me2j_backup_2
        action:assign(09529, 0) # me2j_button_hotspot
        action:assign(19712, 0) # me2j_lever_hotspot
        action:disable_control(09529)   # me2j_button_hotspot
        action:disable_control(19712)   # me2j_lever_hotspot
        action:assign(09533, 0) # me2j_time_tunnel_hotspot_1
        action:disable_control(09533)   # me2j_time_tunnel_hotspot_1
        action:assign(09535, 0) # me2j_enter_time_tunnel_anim
        action:assign(06123, 1) # user_at_monastery_timetunnel
        action:assign(09404, 1) # me2j_time_tunnel_open
        action:assign(09530, 0) # me2j_machine_going
        action:assign(09531, 0) # me2j_machine_speed
        action:assign(09532, 1) # me2j_vo_played
        action:delay_render(10)
    }
    flags {
        once_per_inst
        do_me_now
    }
}

comment:5 by dafioram, 23 months ago

This bug does not happen in scummvm the first time you look at the time tunnel. Since the youtube video doesn't back away and look at it again we do not know that it is not in the original.

by dafioram, 23 months ago

Attachment: zgi-win.045 added

Time tunnel before casting narwile. Cast narwile and the time tunnel will look fine, but if you go away and come back you will see the graphic glitch. So it doesn't happen the first time.

comment:6 by eriktorbjorn, 23 months ago

I submitted a pull request for handling this as a script bug: https://github.com/scummvm/scummvm/pull/1070

But I don't know if it's correct, or if it has to be modified for other versions/translations of the game. (There hasn't been any feedback of it yet.)

by dafioram, 23 months ago

Attachment: zgi_save.zip added

Saved game before opening time tunnel in original windows interpreter. Load save2 and then cast narwil.

comment:7 by dafioram, 23 months ago

I've attached a save for the original interpreter windows/cd/gog version. This bug does appear in the original. Simply re-approach the tunnel after opening it the first time.

comment:8 by wjp, 23 months ago

Thank you very much for verifying this!

comment:9 by eriktorbjorn, 21 months ago

The workaround has been merged, and I have updated the comment to reflect that the bug does in fact happen in the original game.

comment:10 by eriktorbjorn, 21 months ago

Owner: set to eriktorbjorn
Resolution: fixed
Status: newclosed
Note: See TracTickets for help on using tickets.