7 Commits

Author SHA1 Message Date
Matthew Jimenez 4a01560a44 IMAGE: Replace palette byte arrays with Palette class 2025-02-27 00:04:00 +02:00
sluicebox c2dbf6fa7c IMAGE: Fix memory leak in CicnDecoder
CID 1587162

(Separate from ebda265761)
2025-02-03 22:15:34 -08:00
sluicebox ebda265761 IMAGE: Fix memory leak in CicnDecoder
CID 1587162
2025-01-21 03:29:32 -08:00
Torbjörn Andersson 7a4ef28177 PEGASUS: Replaced cicn cursor loader, fixing #15600 in the process
The cicn cursor loader was introduced recently for the Mac SCUMM v6-7
games. I still haven't played Pegasus Prime, but I have forced it to
load all the nine cursors (ID 128-133, 900-901, and 20000) and it seems
to work fine for all of them. At least after I made a few fixes to the
loader itself.

I did get some crashes with the old code when trying to compare them, so
it's possible that we should backport this to 2.9. But I haven't seen
any bug reports about it, so maybe not...?
2025-01-04 11:54:58 +01:00
Torbjörn Andersson a1db6d8f6d IMAGE: Make the mask a Surface instead of a buffer
This is consistent with other masking.
2025-01-01 14:41:20 +02:00
Torbjörn Andersson a40fcc5401 SCUMM: MACGUI: Add support for icon masks
This fixes transparency for the slider widget handles in v6-7 games.
Someone may want to adjust the image decoder later, but it will do for
now. Not all icons have useful masks, but some do.
2025-01-01 14:41:20 +02:00
Torbjörn Andersson e5b964a24c SCUMM: MACGUI: Complete rework of v6-7 window palettes
When a dialog window is created now, all palettes from the individual
widgets (icons and pictures) are collected and combined into a single
palette. The widget palettes are remapped to this. The icon decoder is
now a proper image decoder, which makes icons and pictures very similar
to handle.
2025-01-01 14:41:20 +02:00