Commit Graph
123 Commits
Author SHA1 Message Date
Torbjörn Andersson 898ea4cf6e SCUMM: MACGUI: Allow playing Maniac Mansion without the Mac GUI 2025-01-08 21:45:57 +01:00
Torbjörn Andersson 042e83d78a SCUMM: MACGUI: Initial support for Maniac Mansion
There is currently no user friendly way to do this. You have to unpack
the Maniac Mansion files (since the game is not detected from the "Day
of the Tentacle Data" file), and then you have to put a copy of the Day
of the Tentacle Mac executable where ScummVM can find it (e.g. in the
same directory) because that's where the menus and dialogs are.

Known issues:

"About" shows the credits screen for Day of the Tentacle,
but the original behavior isn't much better: It just shows a black
screen.

The "Sound" menu should be disabled. There are some things I would like
to rearrange before looking into that, though.
2025-01-05 16:33:53 +01:00
AndywinXp 0558adf4af SCUMM: Refactor Mac scaling algorithms to implement cursor handling 2024-10-28 08:24:59 +01:00
Hubert Maier 370064f93f JANITORIAL: SCUMM: Fix typos 2024-09-16 01:55:26 +03:00
AndywinXp a467ab6f3e SCUMM: MANIAC (Apple IIgs): Implement correct cursor and color for texts
Everything is white now :-) The C64-like cursor and text colors
are now available via the "Visual changes" enhancement.
2024-08-12 20:52:24 +02:00
AndywinXp b0abcd0461 SCUMM: MANIAC (Apple IIgs): Fix all known gfx regressions
Poor Apple II version, it has been broken for at least a couple
of years :-)

All regressions were a byproduct of basically forgetting this
version existed when making changes which should have
(or should not have) targeted C64 games, which use the
same rendering routines and palettes as this one.

Fixes and closes #14765:
"SCUMM V0: MANIAC: APPLE II: Palette is incorrect."
2024-08-10 21:52:36 +02:00
athrxx f1bab933b5 SCUMM: (V1/2) - fix snail cursor for CGA, Hercules 2024-07-20 22:59:55 +02:00
Matthew Jimenez a2aaa36269 SCUMM: Adjust v80 default cursor palette map.
This is functionally the same, but adds the palette index offset rather than a check condition.
2024-05-04 00:10:02 +02:00
Torbjörn Andersson fb2bd1166d SCUMM: Split up gfx_mac.cpp into new macgui directory
The Mac GUI code is getting unwieldy, and this is an attempt at breaking
it up into more manageable chunks.
2023-12-22 15:09:06 +01:00
Torbjörn Andersson 3a7593a8c7 SCUMM: Mac GUI restructuring
My goal right now is to move all font drawing that isn't explicitly
handled by scripts into the Mac GUI. The Indy 3 speech boxes will
probably be moved into the Mac GUI as well, since they're a bit special.
This means the charset class will only have to keep track of the game
font, which will remove some odd special cases.
2023-11-18 18:47:39 +01:00
Torbjörn Andersson ec1ab82283 SCUMM: Initial work on a common MacGui class that handles Mac menus etc.
This will be used for Last Crusade and Loom. Loom is currently the more
broken of the two, though.
2023-11-18 18:47:39 +01:00
AndywinXp dffe1aa4fd SCUMM: MI1 (SegaCD): Implement proper cross cursor
I still have doubts on how the shadow color should be set,
but at least the cursor shape is now accurate.
2023-11-13 23:55:28 +01:00
Torbjörn Andersson 44b7558756 SCUMM: Remove Indy 3 Mac hacks that are no longer needed 2023-10-16 17:40:29 +02:00
Torbjörn Andersson c4b4dcf6c4 SCUMM: Fix crash when loading Mac Loom savegames
This is the same problem that has affected version 6 games and Mac Indy
3, so hopefully this fix is enough. I changed the _macScreen check to
check for platform, since that seemed more sensible to me. Some day, we
should probably get rid of the ability to play the Mac versions in low
resolution anyway.
2023-09-05 20:35:00 +02:00
AndywinXp 81ce20b4df SCUMM: INDY3 (Mac): Fix #14498
Cursor is handled differently in this Mac port, i.e. without
setting values in the _cursor object. The CursorManager
doesn't exactly like that, so in this commit I've provided a
post-load fix and a fix for the cursor initialization itself.
2023-06-06 23:52:55 +02:00
D G Turner c05a8a71c6 SCUMM: Fix Signed vs. Unsigned Comparison GCC Compiler Warning 2022-12-30 20:40:41 +00:00
AndywinXp 5c9b0a8aa2 SCUMM: GUI: Implement Atari ST cursors 2022-12-29 14:55:58 +01:00
AndywinXp e49e3c27f6 SCUMM: ZAK: Fix cursor colors for v1 C64 version 2022-12-27 15:14:14 +01:00
AndywinXp 7a007db0f8 SCUMM: Fix warning 2022-11-28 23:21:45 +01:00
AndywinXp 26cc83566d SCUMM: GUI: Add Amiga snail cursor for v2 games 2022-11-28 23:21:45 +01:00
AndywinXp 13e7c9d4d9 SCUMM: Implement basic support for v0-3 GUI 2022-11-28 23:21:45 +01:00
AndywinXp 9102a2f0ec SCUMM: DIG: Fix palette artifacts on cursor change
Interestingly, but unsurprisingly, this was caused by 20 years old code which now produces no effects
at all, other than causing the bug that this commit fixes :-P I have checked the disasm of every version
of SCUMM, and there is no sign of updatePalette() ever being called at the end of the fadeOut() function.
Removing it fixes the issue. I have tested every game I have for this change, but I'm sure that whatever
that updatePalette() call was trying to fix 20 years ago, it has probably been fixed properly now, so there's
no need for it.

Also, removed _fullRedraw toggles in o_LoadRoom for DIG and COMI, which, judging by the disasm, don't
force the redraw after changing the scene.
2022-11-28 21:28:32 +01:00
AndywinXp 87676d1365 SCUMM: Limit screen update on cursor change to v7-8 2022-10-04 21:31:59 +02:00
Donovan Watteau 80e134a912 SCUMM: Let it build again without ENABLE_SCUMM_7_8 2022-09-20 19:38:18 +02:00
athrxx b37ad8d06e SCUMM: (v6/EGA) - fix mouse cursor being dithered/scaled more than once 2022-09-08 19:10:42 +02:00
AndywinXp a431385a4f SCUMM: GUI: Fix cursor transparency issues in v6 2022-09-08 19:10:42 +02:00
AndywinXp 457bcb67db SCUMM: GUI: Implement the majority of the v7 Main Menu 2022-09-08 19:10:42 +02:00
AndywinXp c4ec012419 SCUMM: Fix DIG and COMI loading cursors not being shown 2022-08-31 22:52:41 +02:00
AndywinXp f0d371d96e SCUMM: Fix warnings 2022-08-06 13:33:56 +02:00
AndywinXp 9072aa007f SCUMM: COMI: Fix default cursor colors during SMUSH videos 2022-08-06 13:33:56 +02:00
AndywinXp fabaeb4b83 SCUMM: COMI: Implement original GUI 2022-08-06 13:33:56 +02:00
athrxx 85a191de2b SCUMM: (v6/EGA) - improved mouse cursor handling and some other fixes
The mouse cursors get dithered correctly now and due to earlier fixes SAMNMAX seems to be in as good a state as DOTT regarding EGA dithering mode, so I enable it. Also added a post-load fix for the palette and the mouse cursors.
2022-07-31 23:57:15 +02:00
athrxx 9ca9be789c SCUMM: implement EGA dithering mode
(for certain VGA titles)

I've included some titles that do not support this in the original, but e. g. DOTT will require some more fixes for glitches.
2022-07-29 16:23:24 +02:00
athrxx af2ce28786 SCUMM: (V4 - Hercules) - fix Hercules mode for MI1EGA 2022-07-23 23:17:45 +02:00
athrxx f28300f27f SCUMM: (V1) - add support for CGA black & white 2022-07-11 18:16:29 +02:00
athrxx 97fbe867cb SCUMM: (MMv1/ZAKv1) - add support for CGA, CGA Composite and Hercules modes
This does not improve anything about these modes for v2 and v3, except:
- brighter CGA colors
- v2 will also get the more accurate Hercules mouse cursor

I will do improve v2/v3 as separate tasks. v3 seems to be mostly fine, anyway, except for the actors (we dither them just like the backgrounds, but that looks different in DOSBox).
2022-07-10 01:04:38 +02:00
Eugene Sandulenko abea37c9bb ALL: Update ScummVM project license to GPLv3+ 2021-12-26 18:48:43 +01:00
Orgad Shaneh ed5489929c SCUMM: Use nullptr
Using clang-tidy modernize-use-nullptr
2021-11-14 15:51:59 +02:00
Torbjörn Andersson f5f78d7c5d SCUMM: The Indy 3 / Loom Macintosh cursors aren't animated
So there's no need to keep reading the cursor from the Mac resource over
and over again.
2021-10-14 08:46:02 +02:00
Torbjörn Andersson 6fe09c2cba SCUMM: Added Indy 3 Mac high-resolution cursor
Unlike Loom, there is apparently no cursor resource for this, so I'm
simply hard-coding it.
2021-06-30 14:59:55 +02:00
Torbjörn Andersson 3ef517d2a1 SCUMM: Fix some memory leaks
I forgot to free the streams after asking the Mac resource manager for a
resource.
2021-05-17 18:44:29 +02:00
Torbjörn Andersson 70a36d6b71 SCUMM: Use high-resolution cursor for Mac Loom 2021-05-17 18:44:29 +02:00
Torbjörn Andersson 819cfb8383 SCUMM: Initial work on Mac Loom font renderer
The main purpose of this set of changes is to refactor the code to make
it easier to pass the name of the Macintosh resource file to other parts
of the engine (it used to be hard-coded in the music players), and to
scale-up the graphics by 2.

The actual font rendering is almost completely broken.
2021-05-17 18:44:29 +02:00
sluicebox 93eeffc84d JANITORIAL: Update old bug tracker numbers 2021-03-03 02:15:05 +02:00
wonst719 837b94e83f SCUMM: Fix cursor with Korean fan translated Loom
- Tested with all known CJK versions of Loom (FMT/Japanese, PCE/Japanese)
2020-11-15 19:25:07 +09:00
Colin Snover 2e061d95c5 COMMON: Move VER macro for serializer into common code 2018-01-31 17:58:01 +01:00
Colin Snover 2b5605362a SCUMM: Fix signed integer overflow reading default v70HE cursor 2017-12-01 19:23:00 -06:00
Colin Snover c7989bb333 SCUMM: Fix buffer overflow reading default v70HE cursor 2017-12-01 19:22:56 -06:00
Johannes Schickel 3847465163 SCUMM: Make GPL headers consistent in themselves. 2014-02-18 02:39:38 +01:00
Johannes Schickel c22d914054 SCUMM: Do not set Surface::pixels directly anymore. 2013-08-03 04:14:07 +02:00