Opened 10 days ago

Last modified 3 days ago

#15666 new feature request

SCUMM: LOOM (FM-Towns) Finish trim_fmtowns_to_200_pixels integration

Reported by: albertus82 Owned by:
Priority: normal Component: Engine: SCUMM
Version: Keywords: loom fmtowns trim
Cc: Game: Loom

Description

Hi, I'm facing the following crash playing Loom FM-Towns (english) after enabling the "trim_fmtowns_to_200_pixels" setting:

ScummVM 2.9.0 (Dec  8 2024 19:29:30)
Console is ready
Debugger started, type 'exit' to return to the game.
Type 'help' to see a little list of commands and variables.
ERROR: (2:6:0x2F): Trying to draw below screen boundaries!

To reproduce the bug, start the game with any resolution/scaler, select any skill level, then press ESC to skip intro and click on the leaf.

Full log attached (level 8).

Thanks.

Attachments (2)

log.txt (7.6 KB ) - added by albertus82 10 days ago.
scummvm.ini (1.0 KB ) - added by albertus82 10 days ago.

Download all attachments as: .zip

Change History (10)

by albertus82, 10 days ago

Attachment: log.txt added

comment:1 by albertus82, 10 days ago

Component: GraphicsEngine: SCUMM
Summary: Loom FM-Towns crashes using trim_fmtowns_to_200_pixels optionSCUMM: LOOM (FM-Towns) crash using trim_fmtowns_to_200_pixels option

by albertus82, 10 days ago

Attachment: scummvm.ini added

comment:2 by dwatteau, 4 days ago

Hi,

Thank you for reporting this issue.

Did the ScummVM GUI let you check the "Trim FM-TOWNS games to 200 pixels height" for Loom at some point? Or did you set the trim_fmtowns_to_200_pixels setting by hand yourself in your configuration file?

Looking at the detection tables for Loom (<https://github.com/scummvm/scummvm/blob/v2.9.0/engines/scumm/detection_tables.h#L183>), I see that Loom doesn't have the GAMEOPTION_TRIM_FMTOWNS_TO_200_PIXELS option that the other FM-TOWNS titles have.

It looks like this was done on purpose, back then (i.e. Loom is quite "special" if one wants to use this setting, and that's why the UI shouldn't offer this option yet, I guess):
<https://github.com/scummvm/scummvm/pull/2913>

Can you confirm whether you enabled that trim_fmtowns_to_200_pixels setting with the GUI, or by forcing it by hand, instead?

Thanks.

comment:3 by dwatteau, 4 days ago

It still looks unsupported in some way, yes. <https://forums.scummvm.org/viewtopic.php?p=97395#p97395> has a bit more info about it.

Unless the UI offered you to turn on this setting, it appears that you may be trying to force an unsupported setting for that game. In that case, for now, we should maybe just exclude Loom from that ConfMan.getBool("trim_fmtowns_to_200_pixels") check in ScummEngine::ScummEngine()?

comment:4 by dwatteau, 3 days ago

In 0e1a9634:

SCUMM: LOOM (FM-Towns): Ignore trim_fmtowns_to_200_pixels setting (Trac#15666)

trim_fmtowns_to_200_pixels support for Loom FM-Towns was not meant to
happen (see GH-2913 PR comments), and it has no TRIM_FMTOWNS_TO_200_PIXELS
game-option in its detection tables anyway.

But one could force this setting through the configuration file, hitting
the expected issues coming from the fact that Loom _does_ use the extra
40 pixels, in various places. See Trac#11290 and the original comments in
<https://forums.scummvm.org/viewtopic.php?p=97395#p97395> for more info.

So, unless someone wants to finish the original work to fix Loom with this
setting, we're going to ignore it for Loom, for now.

comment:5 by dwatteau, 3 days ago

Summary: SCUMM: LOOM (FM-Towns) crash using trim_fmtowns_to_200_pixels optionSCUMM: LOOM (FM-Towns) Finish trim_fmtowns_to_200_pixels integration
Type: defectfeature request

comment:6 by dwatteau, 3 days ago

So, with the links given above, it does look like this setting wasn't meant to be enabled for this particular FM-Towns title. Loom heavily used the extra 40 pixels for game content, and so enabling trim_fmtowns_to_200_pixels support for it would require deeper changes and testing (which are the topic of the forum post above).

So, for now, current ScummVM releases will just ignore this setting for Loom (for those who force it through the configuration file, as the UI already hides this option for Loom).

Note to other SCUMM devs: is GAMEOPTION_TRIM_FMTOWNS_TO_200_PIXELS doing anything useful to the FM-TOWNS titles not being v3? I don't really see what's the purpose of this option for Monkey1/Monkey2/Indy4, looking at what this option triggers in the code. But I may be overlooking something.

in reply to:  2 ; comment:7 by albertus82, 3 days ago

Replying to dwatteau:

Can you confirm whether you enabled that trim_fmtowns_to_200_pixels setting with the GUI, or by forcing it by hand, instead?

Hi,

sorry I forced it by hand, thinking that the absence of that option was a bug, since the game looks squashed.

in reply to:  7 comment:8 by dwatteau, 3 days ago

Replying to albertus82:

Hi,

sorry I forced it by hand, thinking that the absence of that option was a bug, since the game looks squashed.

Hi,

No problem! I just wanted to be sure that there was indeed no bug where the UI may have allowed this, because the lack of this setting for Loom indeed seems intentional.

If you force some setting by hand, it's useful to mention it in your bug reports, though. But no worries :)

And indeed, there was a bug, in that the backend was missing a check to forbid this.

I agree that it could be nice if Loom could benefit from this setting as well. But for now, I'm moving this to a feature request.

Cheers

Note: See TracTickets for help on using tickets.