[Scummvm-tracker] [ScummVM :: Bugs] #14732: SCUMM: Remaining Mac GUI issues for Indy3 and Loom

ScummVM :: Bugs trac at scummvm.org
Thu Feb 1 07:50:22 UTC 2024


#14732: SCUMM: Remaining Mac GUI issues for Indy3 and Loom
-------------------------+------------------------------
Reporter:  eriktorbjorn  |       Owner:  (none)
    Type:  defect        |      Status:  new
Priority:  normal        |   Component:  Engine: SCUMM
 Version:                |  Resolution:
Keywords:                |        Game:  Indiana Jones 3
-------------------------+------------------------------
Description changed by eriktorbjorn:

Old description:

> This bug collects known remaining issues with the Macintosh GUI for
> Indiana Jones and the Last Crusade, and Loom. Most of them too small to
> warrant their own bug report.
>
> - The gfx_mac.cpp file is now the single largest file in the SCUMM
> engine, making it a prime candidate for splitting into its own directory
> with files per game. Particularly if we're going to add Mac GUI to the
> remaining Macintosh versions. (Should we?) But I think that can wait
> until after 2.8.0. (It's still dwarfed by the SCI engine's
> script_patches.cpp.) The split I'm thinking of goes something like
> widgets, dialog window, base GUI, Loom GUI, and Indy 3 GUI. That's simple
> enough. Splitting the header file might be harder, though...
>
> - We do not support the low-resolution mode used on 9" Mac screens. It's
> not something I have any personal interest in, but maybe there is someone
> out there who's nostalgic for it?
>
> [[Image(low-resolution.png)]]
>
> - In the original, the menu bar is activated by pressing the Command
> button. On PC style keyboards, this would probably be the Alt key, since
> that's how both Basilisk II and Mini vMac works. ScummVM instead uses the
> built-in feature to activate the menu when the mouse is moved to the top
> of the screen. This seems friendlier to touch devices, but it would be
> nice if we could support both. (Note that Alt-clicking is used by at
> least some window managers to drag windows, i.e. the click is not passed
> to the application.)
>
> - The menu-auto-appears even when the mouse is hidden.
>
> - The Edit menu isn't implemented at all. (Note that if we do implement
> clipboard handling, we have to make sure pasting text into an editable
> text widget does not exceed its maximum length.) I believe the original
> only uses the Edit menu for the Save dialog:
>
> [[Image(edit-menu.png)]]
>
> - As the Save dialog screenshot shows, the menus that aren't used for the
> dialog should be disabled. Except for the Apple menu, where the menus are
> still enabled and the Apple menu itself is highlighted:
>
> [[Image(apple-menu.png)]]
>
> - When loading images, ScummVM is not restricted to the 16 colors of the
> game palette, so it uses the ones from the image itself. This is probably
> technically an enhancement, but perhaps not something we need to fix or
> even flag as such?
>
> [[Image(color-correction.png)]]
>
> - The "About" dialogs are recreated based on observed behavior, but I've
> taken some liberties. The animations in the Loom one are probably the
> most obvious difference. I think they maintain the spirit of the
> originals, but if anyone wants to go the extra mile to make them exact...
> Rounded corners are also drawn a bit differently.
>
> - There is no "blinking" animation when selecting a menu item. Though on
> further investigation, it appears that this was always (?) configurable
> in MacOS. So not blinking isn't actually ''wrong...'' This is what I
> believe to be one of the earliest incarnations of the Macintosh control
> panel. Note the menu blink setting in the upper right corner.
>
> [[Image(menu-blink.png)]]
>
> - The Macintosh color palette is currently hard-coded. The games have a
> "clut" resource, but using that looks wrong so there must be something
> else involved?
>
> - There are a lot of hard-coded texts that we should be able to read from
> the STRS resource. I wasn't sure how to do that correctly, though.
>
> - Our save/load dialogs are a bit inconsistent. The Loom one is ours,
> built from scratch, where I added a "Delete" button that's not
> implemented. The Last Crusade one is built from the DITL resource, and
> doesn't have a "Delete" button. We should make up our minds about that.
>
> - The "About" dialogs trigger strange warnings from the Mac font manager.
> It appears to be harmless, because it works fine, so it could be the
> debug message itself that's wrong:
>
> {{{
> Found font substitute for font 'Indy-11-12' WARNING:
> MacFontManager::getFontName: No _fontInfo entry for font 65535!
> WARNING: MacFontManager: Requested font ID 65535 not found. Falling back
> to Geneva!
> as 'Geneva-0-12'
> }}}
>
> - https://bugs.scummvm.org/ticket/12984 - Text centering in Loom is a bit
> off.
>
> - https://bugs.scummvm.org/ticket/4494 - Music is not restored in Last
> Crusade when loading a savegame.

New description:

 This bug collects known remaining issues with the Macintosh GUI for
 Indiana Jones and the Last Crusade, and Loom. Most of them too small to
 warrant their own bug report.

 - The gfx_mac.cpp file is now the single largest file in the SCUMM engine,
 making it a prime candidate for splitting into its own directory with
 files per game. Particularly if we're going to add Mac GUI to the
 remaining Macintosh versions. (Should we?) But I think that can wait until
 after 2.8.0. (It's still dwarfed by the SCI engine's script_patches.cpp.)
 The split I'm thinking of goes something like widgets, dialog window, base
 GUI, Loom GUI, and Indy 3 GUI. That's simple enough. Splitting the header
 file might be harder, though...

 - We do not support the low-resolution mode used on 9" Mac screens. It's
 not something I have any personal interest in, but maybe there is someone
 out there who's nostalgic for it?

 [[Image(low-resolution.png)]]

 - In the original, the menu bar is activated by pressing the Command
 button. On PC style keyboards, this would probably be the Alt key, since
 that's how both Basilisk II and Mini vMac works. ScummVM instead uses the
 built-in feature to activate the menu when the mouse is moved to the top
 of the screen. This seems friendlier to touch devices, but it would be
 nice if we could support both. (Note that Alt-clicking is used by at least
 some window managers to drag windows, i.e. the click is not passed to the
 application.)

 - The menu-auto-appears even when the mouse is hidden.

 - The Edit menu isn't implemented at all. (Note that if we do implement
 clipboard handling, we have to make sure pasting text into an editable
 text widget does not exceed its maximum length.) I believe the original
 only uses the Edit menu for the Save dialog:

 [[Image(edit-menu.png)]]

 - As the Save dialog screenshot shows, the menus that aren't used for the
 dialog should be disabled. Except for the Apple menu, where the menus are
 still enabled and the Apple menu itself is highlighted:

 [[Image(apple-menu.png)]]

 - When loading images, ScummVM is not restricted to the 16 colors of the
 game palette, so it uses the ones from the image itself. This is probably
 technically an enhancement, but perhaps not something we need to fix or
 even flag as such?

 [[Image(color-correction.png)]]

 - The "About" dialogs are recreated based on observed behavior, but I've
 taken some liberties. The animations in the Loom one are probably the most
 obvious difference. I think they maintain the spirit of the originals, but
 if anyone wants to go the extra mile to make them exact... Rounded corners
 are also drawn a bit differently.

 - There is no "blinking" animation when selecting a menu item. Though on
 further investigation, it appears that this was always (?) configurable in
 MacOS. So not blinking isn't actually ''wrong...'' This is what I believe
 to be one of the earliest incarnations of the Macintosh control panel.
 Note the menu blink setting in the upper right corner.

 [[Image(menu-blink.png)]]

 - The Macintosh color palette is currently hard-coded. The games have a
 "clut" resource, but using that looks wrong so there must be something
 else involved?

 - There are a lot of hard-coded texts that we should be able to read from
 the STRS resource. I wasn't sure how to do that correctly, though.

 - Our save/load dialogs are a bit inconsistent. The Loom one is ours,
 built from scratch, where I added a "Delete" button that's not
 implemented. The Last Crusade one is built from the DITL resource, and
 doesn't have a "Delete" button. We should make up our minds about that.

 - The "About" dialogs trigger strange warnings from the Mac font manager.
 It appears to be harmless, because it works fine, so it could be the debug
 message itself that's wrong:

 {{{
 Found font substitute for font 'Indy-11-12' WARNING:
 MacFontManager::getFontName: No _fontInfo entry for font 65535!
 WARNING: MacFontManager: Requested font ID 65535 not found. Falling back
 to Geneva!
 as 'Geneva-0-12'
 }}}

 - https://bugs.scummvm.org/ticket/12984 - Text centering in Loom is a bit
 off.

--
-- 
Ticket URL: <https://bugs.scummvm.org/ticket/14732#comment:42>
ScummVM :: Bugs <https://bugs.scummvm.org>
ScummVM


More information about the Scummvm-tracker mailing list