Commit Graph
108 Commits
Author SHA1 Message Date
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
Johannes Schickel c05cb7f3bb SCUMM: Prefer getBasePtr over direct Surface::pixels access. 2013-08-03 02:52:31 +02:00
Johannes Schickel 89abab97e3 JANITORIAL: Remove trailing whitespaces.
Powered by:
git ls-files "*.cpp" "*.h" "*.m" "*.mm" | xargs sed -i -e 's/[ \t]*$//'
2012-09-26 04:17:55 +02:00
Johannes Schickel a401f0a19e ALL: Replace cursorTargetScale in OSystem API with a simple "do not scale" logic.
All uses of the old target scale API actually wanted to disallow scaling of
the mouse cursor. This commit adapts our API to this and thus simplifies
backend implementations.

Some backends, most notable the Wii and Android, did some implementation of
the cursor target scale, which I didn't adapt yet. I added a TODO for the
porters there.
2012-06-03 02:02:57 +02:00
Tarek Soliman a4798602d7 JANITORIAL: Fix missing whitespace in pointer cast
find -name '*.h' -or -name '*.cpp' | xargs sed -r -i 's@\(([A-Za-z0-9]+)\*\)@(\1 *)@g'

This seems to have caught some params as well which is not undesirable IMO.
It also caught some strings containing this which is undesirable so I
excluded them manually. (engines/sci/engine/kernel_tables.h)
2012-02-15 10:07:10 -06:00
Johannes Schickel e791f904ed SCUMM: Fix Indy4 Amiga cursor.
The original did not use the room nor verb palette map for the cursor, but
seems to use a custom palette. I now just changed the cursor to use the colors
from the DOS version of Indy4.

This is rather guesswork, but the original did always show a flashing color in
those colors instead of based on the screen colors.
2011-08-26 18:29:03 +02:00
Johannes Schickel 4ea4172cba SCUMM: Implement proper Indy4 Amiga palette handling.
This should fix incorrect text colors in some scenes.
2011-08-26 05:54:47 +02:00
Matthew Hoops ced79d8f29 SCUMM: Fix cursor palette in the HE80+ default cursor 2011-08-18 00:21:13 -04:00
Matthew Hoops 111d70af7d SCUMM: Make the default cursor for all v80+ games be the Windows cursor 2011-08-16 02:47:23 -04:00
Matthew Hoops 310bd54e64 SCUMM: Set the default moonbase cursor to be the default Windows cursor 2011-08-16 01:23:02 -04:00
athrxx 0a42a7d625 SCUMM: hopefully fix 16bit mode support for SCUMM FM-TOWNS games and LOOM PCE on Android
This mostly reverts 5b7754e3f0. Instead, we try to use other 16bit modes  after 555 fails.
2011-06-15 22:30:04 +02:00
athrxx 5b7754e3f0 SCUMM: fix bug #3316738
This provides fallback to 8bit color mode for SCUMM3 FM-TOWNS games on platforms which set the USE_RGB_COLOR define even though that color mode is not being fully implemented for that platform.
2011-06-15 17:12:17 +02:00
strangerke 69b1485a22 GIT: Clean up: Suppress SVN tags, now useless 2011-05-12 01:16:22 +02:00
Johannes Schickel da734a4af0 ALL/GRAPHICS: Remove Surface::bytesPerPixel. 2011-04-17 21:27:34 +02:00
Johannes Schickel b0bd8fa795 SCUMM: Prefer Surface::format over Surface::bytesPerPixel. 2011-04-17 20:58:07 +02:00
Max Horn 0ce2ca4e00 COMMON: Replace MKID_BE by MKTAG
MKID_BE relied on unspecified behavior of the C++ compiler,
and as such was always a bit unsafe. The new MKTAG macro
is slightly less elegant, but does no longer depend on the
behavior of the compiler.
Inspired by FFmpeg, which has an almost identical macro.
2011-04-12 16:53:15 +02:00