Opened 3 years ago

Closed 3 years ago

#12721 closed defect (fixed)

Quest for Glory 1 EGA crashes during Intro & Start New Game

Reported by: Tucky27 Owned by: sluicebox
Priority: normal Component: Engine: SCI
Version: Keywords: hero's quest
Cc: Game: Quest for Glory 1

Description

Error message:
User picked target 'qfg1-1' (engine ID 'sci', game ID 'qfg1')...

Looking for a plugin supporting this target... SCI [all games]

WARNING: kTextSize: string would be too big to fit on screen. Trimming it!
WARNING: kCan(t)BeHere - invalid rect 65473, 122 -> 1, 126!
WARNING: kCan(t)BeHere - invalid rect 65482, 122 -> 4, 126!
WARNING: kCan(t)BeHere - invalid rect 65481, 122 -> 5, 126!
Assertion failed: isValidRect(), file ./common/rect.h, line 286

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

I was at the intro stage where the hero's quest letters have emerged and the saurus is just beginning to run across the screen - you can just see his head on the left. The crash occured using the daily build (July 5th 2021). I similarly tried the 2.2 stable build and had no issues with it. I have tried using both SDL and opengl both globally and locally with the same result. Additionally I have tried with different scalings.

When I try skipping the intro I get to the character select screen where it then crashes. If I start a new game it gets to character select and crashes as well. If I try loading a game from the scummvm main menu it loads then crashes.

Attachments (1)

qfg4-savegame.zip (56.6 KB ) - added by Tucky27 3 years ago.

Download all attachments as: .zip

Change History (8)

comment:1 by sluicebox, 3 years ago

Yikes!! Thank you for reporting this regression and providing so many helpful details.

I can reproduce with daily buildbot win32 build. I tested PC 1.200 and Amiga 1.137, as that's what I happened to have on this laptop at the moment, and they both crashed. Release 2.2.0 works. I'll take a look at this soon.

comment:3 by eriktorbjorn, 3 years ago

Looks like most SCI games crash during the intros, or very early into the game, now:

  • Castle of Dr. Brain
  • Codename: Iceman
  • Conquest of Camelot: King Arthur, Quest for the Grail
  • Conquest of the Longbow: The Adventures of Robin Hood
  • EcoQuest: The Search for Cetus
  • Freddy Pharkas: Frontier Pharmacist
  • Jones in the Fast Lane
  • King's Quest I
  • King's Quest IV
  • King's Quest V
  • The Colonel's Bequest
  • The Dagger of Amon Ra
  • Leisure Suit Larry 1
  • Leisure Suit Larry 2
  • Leisure Suit Larry 3
  • Leisure Suit Larry 5
  • Leisure Suit Larry 6 (low-resolution version)
  • Police Quest 1
  • Police Quest 2
  • Police Quest 3
  • Quest for Glory 1 (older and newer versions)
  • Quest for Glory 2
  • Quest for Glory 3
  • Space Quest 1
  • Space Quest 3
  • Space Quest 4
  • Space Quest 5
  • The Island of Dr. Brain

King's Quest VII and RAMA didn't crash, but seemed broken in other ways. (I could be wrong about that.)

Last edited 3 years ago by eriktorbjorn (previous) (diff)

by Tucky27, 3 years ago

Attachment: qfg4-savegame.zip added

comment:4 by Tucky27, 3 years ago

I'm not sure if its related but I couldn't leave Doctor Cranium's lab in Quest for Glory 4 on day 2. He just kept repeating the same line when I put the walk icon on the exit area and clicked to leave. There was no freeze up, he just repeated the same message with each click. I've attached the save game if that helps.

Last edited 3 years ago by Tucky27 (previous) (diff)

comment:5 by wjp, 3 years ago

The culprit is 1c3e7fb4e9e761b26840ca7dd785e80dfa639f18, "COMMON: Change Rect and Point to have int32 fields".

Specifically, interactions between 16 bit values copied from scripts and Common::Rect objects are now potentially broken (and there are a lot of those in SCI), because these typically go via uint16's. This worked as expected when Rect fields were int16, but now behaves differently.

comment:6 by eriktorbjorn, 3 years ago

The Rect commit has been reverted (to be replaced by a different solution later, apparently), so the crashes should no longer happen. No idea about the Quest for Glory 4 bug mentioned above, though. I've never played those games past the intro.

comment:7 by sluicebox, 3 years ago

Owner: set to sluicebox
Resolution: fixed
Status: newclosed

Fixed in 0136043f094f51312a92b1a6fe5336dca0e1810f and available in the latest daily build.

Tucky27: Consider everything in QFG4 that occurred in that broken version contaminated, including save games that were created with it. If that problem still occurs with the latest version and "clean" saves from before the bug, just open a ticket for that and we'll take a look. Thanks again for reporting!

Note: See TracTickets for help on using tickets.