Opened 10 years ago

Closed 10 years ago

Last modified 6 years ago

#6742 closed defect (fixed)

PJGAMES: Crash upon playing Happy Fun Squares on Hard

Reported by: SF/legoking831 Owned by: Kirben
Priority: normal Component: Engine: SCUMM
Version: Keywords:
Cc: Game:

Description

This game is oddly not logged on the bug report database, you may want to fix that.

Anyway, in Pajama Sam's Games to Play on Any Day (I'm using the Steam release, but another person has confirmed on an original English copy that this happens too in SVM but not on the interpreter), if you try to play the minigame Happy Fun Squares with the difficulty set to Hard, the app crashes completely (not even in the usual sense of just closing out, the OS throws up a fatal error message). This occurs on the latest daily build and the latest official build. The debug output reads:

Assertion failed: _scummStackPos >= 0 && _scummStackPos < ARRAYSIZE(_vmStack), file engines/scumm/script.cpp, line 713

The application has requested the Runtime to terminate it in an unusual way. Please contact the application's support team for more information.

To replicate, do the following: 1. Press ESC to skip the opening cut scene 2. Click the "Happy Fun Squares" game on the main menu 3. Set the difficulty to "Hard" 4. Click "GO" in the upper right

If done correctly, the app will crash on this point. I am running the Windows version of the daily build by the way.

Ticket imported from: bugs/6742.

Change History (3)

comment:1 by Kirben, 10 years ago

Owner: set to Kirben
Resolution: fixed
Status: newclosed

comment:2 by Kirben, 10 years ago

The problem was due to later games (HE99+) from Humongous Entertainment requiring a larger vm stack size. The Happy Fun Squares game, sets a large amount of variables on the vm stack in a script (room 9 script 2102), when the Hard difficulty setting is selected.

Fixed in ScummVM GiT, use the next daily snapshot of ScummVm GiT.

comment:3 by digitall, 6 years ago

Component: Engine: SCUMM
Note: See TracTickets for help on using tickets.