Commit Graph
92 Commits
Author SHA1 Message Date
athrxx d4ad27547e SCUMM: (v5/6/EGA) - disable palManipulate in EGA dithering mode.
The orginal does not have an EGA mode implementation for this. For INDY4 (which uses palManipulate) the EGA mode has been ditched completely in the full version. I have tried to make a palManipulate implementation for ScummVM, but it is just glitchy and ugly...
2022-08-10 15:27:19 +02:00
AndywinXp 276e7620c7 SCUMM: Use PaletteLookup for internal GUI 2022-08-06 13:33:56 +02:00
AndywinXp f0d371d96e SCUMM: Fix warnings 2022-08-06 13:33:56 +02:00
AndywinXp 3ce00256b3 SCUMM: Fix getPaletteColorFromRGB() behavior with 0xFF and 0x00 values 2022-08-06 13:33:56 +02:00
AndywinXp fb2fcbf30e SCUMM: COMI: Implement savegame thumbnails 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 c79f3e8781 SCUMM: (DOTT/EGA) -fix verb screen glitch
(wrong color range in darkenPalette, but actually only for games that don't really support the EGA mode)
2022-07-29 19:35:33 +02:00
athrxx 602a70fa2b SCUMM: (EGA) - fix palette glitch when loading savegames 2022-07-29 16:43:33 +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 33c2631290 SCUMM: (V2) - improve CGA and Hercules modes
Should be pixel-perfect now.
This change is only about SCUMM2 (ZAK/MM).
2022-07-15 15:40:16 +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
Donovan Watteau fe16115aae SCUMM: Work around lava flowing up in MONKEY1-FLOPPY-VGA (Trac#10854)
In the floppy VGA version of Monkey Island 1 (and only this particular
version), the lava was flowing up instead of flowing down, in the cave
under the Giant Monkey Head.  This doesn't happen with the original
interpreter. ScummVM displays this effect correctly with the VGA CD
version.

This is maybe because the game uses color-cycling for this effect in
VGA, and the floppy VGA version is still a GF_SMALL_HEADER game where
we decode this effect differently, notably by always setting its
flags to 2 (and it's been this way for a very long time).

Setting the flags to 0 instead fix this effect.  We should maybe
always use this 0 value, but it seems safer to only change this value
for the lava at the moment, until some disasm confirms or disproves
the current flags value for GF_SMALL_HEADER games.

(Also fix some incoherent indentation while there.)
2022-06-05 09:01:10 +03: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 c5f3116300 SCUMM: Make white be 0xFFFFFF in MacintoshBW rendering mode
The Macintosh "EGA" palette would make it 0xFCFCFC. The difference is
probably not noticeable.
2021-07-14 08:24:36 +02:00
Torbjörn Andersson e2544841df SCUMM: Handle shadow palette in Macintosh b/w mode
In Macintosh b/w mode, there really is no such thing as palette
manipulation. Any color changes have to be handled by the renderer.
Instead of marking the palette as dirty, changes to the shadow palette
trigger a full redraw of the screen.

At the time of writing, I'm only aware of two things that use this: The
lightning flashes at Castle Brunwald in Indiana Jones and the Last
Crusade, and the scene where the dragon finds Rusty in Loom. I have
verified that both of these seem to work correctly.
2021-07-13 09:53:36 +02:00
Torbjörn Andersson 2ba156184c SCUMM: Add Macintosh b/w rendering mode
This is currently only (partially) implemented for the 16-color Mac
versions of Loom and Indiana Jones and the Last Crusade. The text is
still drawn in color, since that's rendered separately, but I'm
committing this now while it still works.
2021-07-13 09:53:36 +02:00
Torbjörn Andersson c6018fe678 SCUMM: Use the Mac palette for Indy 3 Mac 2021-06-30 14:59:55 +02:00
Torbjörn Andersson 6980ddb337 SCUMM: Add hard-coded Macintosh palette for Loom
I think this is correct. It's based on Basilisk II.
2021-05-17 18:44:29 +02:00
Orgad Shaneh a05e54f00c JANITORIAL: Remove trailing whitespaces 2021-05-04 11:46:30 +03:00
sluicebox 93eeffc84d JANITORIAL: Update old bug tracker numbers 2021-03-03 02:15:05 +02:00
laurentlasalle 70005ab037 SCUMM: Add Apple IIgs custom color palette 2020-05-05 00:37:32 +02:00
mataniko e85e6cf846 SCUMM: Fix MM NES palette and colors
Also adds an optional more natural palette as a game option
2020-05-03 01:11:13 +02:00
D G Turner d6b4e94395 SCUMM: Change NES Palette Used for Maniac Mansion to Sony CXA2025AS
NES games have a 48 color and 6 gray palette, but this does not include
how the colors are mapped to the screen which will vary by system / TV
display. Each NES Emulator has used slightly different values.

These values are submitted as a better mapping for the flesh tones in
Maniac Mansion by the user "LaurentLaSalle" from a forum post.
2020-04-29 10:12:44 +02:00
Paul Gilbert 11e33ba3fc JANITORIAL: Removing trailing spaces after int casts 2018-08-17 20:30:20 -07:00
Johannes Schickel 3847465163 SCUMM: Make GPL headers consistent in themselves. 2014-02-18 02:39:38 +01:00
Eugene Sandulenko 55b95e3f50 SCUMM: Fix copy/paste errors 2011-11-03 01:34:53 +00:00
Johannes Schickel f85fd9b4f1 SCUMM: Fix text color bug in Indy4 Amiga outro. 2011-09-03 13:48:06 +02:00
Johannes Schickel 44bc1bff06 SCUMM: Limit Indy4 Amiga specific code to that version. 2011-09-03 13:41:57 +02:00
Johannes Schickel 003c16920c SCUMM: Also save first used color beyond 80 in Indy4 Amiga palette. 2011-08-27 19:57:45 +02:00
Johannes Schickel cd45d63e06 SCUMM: Added some comments about special colors in Indy4 Amiga. 2011-08-27 17:41:12 +02:00
Johannes Schickel b4a17c702d SCUMM: Add some comments to our Indy4 Amiga verb palette handling.
We handle the verb palette map a bit different, since we use one 64 color
palette instead of two 32 color palettes for different screen areas.
2011-08-26 18:35:13 +02: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 cef09b345b SCUMM: Fix bug in Indy4 Amiga's implementation of darkenPalette. 2011-08-26 06:49:00 +02:00
Johannes Schickel 618d01c41c SCUMM: Fix some range checks in Indy4 Amiga palette code. 2011-08-26 06:35:46 +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
Johannes Schickel ae19be0628 SCUMM: Actually disable the setShadowPalette used in Indy4... 2011-08-21 22:07:17 +02:00
Johannes Schickel 7ed005716c SCUMM: Disable setShadowPalette for Indy4 Amiga.
Like palManipulateInit the setShadowPalette function is a nullsub in the
original Amiga executable of Indy4.
2011-08-21 21:52:49 +02:00
Johannes Schickel bc6ed998a9 SCUMM: Fix for bug #3174197.
The bug is: "FOA: Wrong colors in the Amiga version".

In the original Indy4 Amiga executable palManipulateInit is a nullsub, thus
the palette effect set up by the scripts is just ignored.

The same might be true for other SCUMM Amiga games, but I can not check these
thus I limited this to Indy4 Amiga for now.
2011-08-21 18:52:29 +02: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
Matthew Hoops 9539017ee3 ALL: initialise -> initialize 2011-05-25 11:17:11 -04:00
Max Horn ff3087e56c SCUMM: Remove obsolete TODO 2011-05-13 11:47:11 +02:00
strangerke 69b1485a22 GIT: Clean up: Suppress SVN tags, now useless 2011-05-12 01:16:22 +02:00
Ori Avtalion 9414d7a6e2 JANITORIAL: Reduce header dependencies in shared code
Some backends may break as I only compiled SDL
2011-04-28 15:08:58 +03: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
Johannes Schickel bb9e82c3b3 SCUMM: Adapt to setPalette RGBA->RGB change. 2011-02-14 17:08:33 +01:00