Opened 8 years ago

Closed 7 years ago

Last modified 7 years ago

#5885 closed defect (fixed)

AGI: Goldrush (Apple iigs) Crash

Reported by: SF/envisaged0ne Owned by: bluegr
Priority: normal Component: Engine: AGI
Keywords: script Cc:
Game: Goldrush

Description

On the Apple IIgs version - Once you start the game and they show your character standing on a bridge (1st screen), after you see the wagon go across, a message pops up saying "If you've seen one of these wagons, you've seen them all!". Then the game crashes and kicks you back to the desktop.

I've included a save game. Once loaded, just wait for the wagon to ride off the screen.
Using Win7 32 bit with latest daily build 1.4.0pre1-g987aba

Ticket imported from: #3426946. Ticket imported from: bugs/5885.

Attachments (1)

GR!_AIIGS.md5 (541 bytes ) - added by SF/envisaged0ne 8 years ago.

Download all attachments as: .zip

Change History (11)

comment:1 by digitall, 8 years ago

Summary: Apple iigs GR crashes at beginningAGI: Goldrush (Apple iigs) Crash

comment:2 by digitall, 8 years ago

envisagedOne: Thank you for the bug report.
In order to progress this bug, can you please attach a text file to this bug of the filenames and MD5sums of your datafiles (so we know your exact version).
The output of a tool such as http://md5summer.org/ is optimal.

comment:3 by digitall, 8 years ago

Also, can you test with the last stable version i.e. v1.3.1 and confirm if this occurs? (This will indicate whether this is a long standing issue or recent regression).

by SF/envisaged0ne, 8 years ago

Attachment: GR!_AIIGS.md5 added

comment:4 by SF/envisaged0ne, 8 years ago

Okie, I don't know if I did the checksum correctly, but I attached the file it generated. If I didn't do it correctly, can you please let me know what I need to do?
I also tested the game with v. 1.3.1. It still says "If you've seen one of these wagons, you've seen them all!", but the game doesn't crash. It also only partially plays the sounds of the wagon going by. While the daily build plays the full sounds correctly. I also noticed that when you leave that screen and go back to it, it keeps giving you 10 points. (so if you go back to the screen 5 times, you'll accrue 50 points)

comment:5 by bluegr, 8 years ago

The problem is with script 1. Either the script itself is corrupted (most likely), or there is some difference in the opcodes for that version (like there is for the Amiga version).

AGI Studio throws the following error for script 1:
"Error decoding logic (position 0x103): Unknown action command (178)"

All of the symptoms are caused by this buggy script: the popup is supposed to appear once if you examine the passing wagon, but in this case the check for this action is always evaluated, hence you always get the +10 points. The crash occurs because an invalid conditional statement is made (opcode 59), which is outside of the conditional table, hence the crash.

comment:6 by digitall, 8 years ago

envisaged0ne: Thanks. That file is fine.

thebluegr: I assume that the md5s the bug submitter has attached match your version i.e. that this corrupt/bad script is not due to corrupted game datafiles from a bad media copy?

comment:7 by digitall, 8 years ago

This bug as been duplicate reported by darkmoor9 as bug #3522310.

Has either of the reporters tried replicate the bug under the KEGS Emulator with the
original interpreter, as this would eliminate bad game media copy?:
http://sourceforge.net/projects/kegs-sdl/

comment:8 by SF/darkmoor9, 8 years ago

Just tried it on KEGS using the same copy of the game, and the crash doesn't happen.

(sorry about the dupe, by the way)

comment:9 by bluegr, 7 years ago

Turns out that this version has additional parameters for two opcodes (show.mouse and hide.mouse). Ignoring these confused the script parser, which started parsing junk. Fixed in commit ffa5f63, the fix should be available in the next daily version of ScummVM

This is the same as bug #3577754 (MH1 Apple IIGS)

comment:10 by bluegr, 7 years ago

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