Commit Graph
235 Commits
Author SHA1 Message Date
AndywinXp 76c18ee7b3 SCUMM: MM/ZAK: Fix iris transition timing for C64 versions 2022-12-10 20:45:35 +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
BLooperZ 24d5420aae SCUMM: simplify majmin bitstream reading 2022-11-18 13:53:12 +01:00
BLooperZ 1e51c121bd SCUMM: reuse majmin codec for smap 2022-11-18 13:53:12 +01:00
Torbjörn Andersson 1ffa644d20 SCUMM: Add feature flag for the "Ultimate Talkie" version of MI1/MI2
There are so many workarounds where we either want to make sure it's not
the "Ultimate Talkie" version or that it is, that it's much nicer to
have a feature flag than having to strcmp() the variant.
2022-11-07 22:07:28 +02:00
Donovan Watteau 86b2aedb2c SCUMM: Fix unintended dark blue background in French MI1 floppy VGA (WORKAROUND)
In the French VGA floppy release of Monkey Island 1 (and, apparently,
this release alone), the easter egg making fun of Sierra games has a
dark blue background that makes the black text really hard to read (very
much like the MI1 v5 issue in front of the Governor's mansion, which we
already fix).  The problem is in the OI itself, which was redrawn to
feature a translated text.

This problem doesn't exist in the other French releases (including the
Amiga VGA one), and the non-French VGA floppy releases look fine, to me.
So, just force a white background instead of dark blue, for this object
and on this particular release only.

(Note: they also messed up the top and left borders of that object, and
so a small black horizontal line will suddenly appear when the "Guybrush
falling into the trees" animation starts. Unfortunately, this is a
horizontal line, while strips are drawn as a series of vertical lines,
so it's hard to only fix this line, especially since its black color is
reused in the same strip for Guybrush trousers... So, this enhancement
just concentrates on solving the main issue, which is the legibility
problem with the blue background.)
2022-11-03 20:35:18 +01:00
Hubert Maier 49a9d5b394 SCUMM: Correct spelling mistake
accomodate -> accommodate
2022-10-27 15:57:28 +02:00
Torbjörn Andersson 15572c408b SCUMM: Exclude SEGA CD and FM Towns versions from dog sign workaround
The SEGA CD version already uses the old colors, and the FM Towns
version makes the text more readable by giving it a black outline.
2022-10-09 11:23:19 +03:00
Torbjörn Andersson b01d7d4d57 SCUMM: Exclude "Ultimate Talkie" MI1 from dog sign color workaround
The unofficial talkie version already uses the floppy version colors.
Applying our fix to it, while it doesn't seem to do any harm, is
unnecessary.
2022-10-09 11:23:19 +03:00
Torbjörn Andersson effb129776 SCUMM: Make the dog sign colors in MI1 VGA CD closer to MI1 VGA floppy
The colors in the sign that tells you that the dogs are only sleeping
are much harder to read in the VGA CD version than in the VGA floppy
version. I assume these were not picked deliberately, but rather a
consequence of the palette being different. So this works around that by
temporarily remapping the palette for the sign object, and adjusting one
of the text colors to something close to the floppy version.
2022-10-09 11:23:19 +03:00
AndywinXp 025d25a1f1 SCUMM: GUI: Fix pre-v7 text rendering over GUI 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 d1b73e1ffe SCUMM: GUI: Add functional main GUI banners for v5-6-7 2022-09-08 19:10:42 +02:00
AndywinXp 9ef023b11c SCUMM: GUI: Refactor internal GUI code 2022-09-08 19:10:42 +02:00
athrxx 5a2daf6ed3 SCUMM: (GUI) - fix another regression 2022-09-01 00:03:16 +02:00
athrxx 342cb9a36d SCUMM: fix regression/typo
(from 7932cf7 )
2022-08-31 23:05:45 +02:00
athrxx 7932cf7a46 SCUMM: (GUI) - fix invalid mem access 2022-08-31 22:47:06 +02:00
athrxx cde957a793 SCUMM: (v1) - improve render mode comment 2022-08-21 01:37:35 +02:00
AndywinXp 1561996dff SCUMM: v7-8: Apply blast pipeline corrections also to v7 2022-08-06 13:33:56 +02:00
AndywinXp f9010ca824 SCUMM: COMI: Fix original GUI glitches with blastTexts and blastObjects 2022-08-06 13:33:56 +02:00
AndywinXp fb2fcbf30e SCUMM: COMI: Implement savegame thumbnails 2022-08-06 13:33:56 +02:00
AndywinXp 811548dc05 SCUMM: COMI: Use _screenTop when marking rects as dirty 2022-08-06 13:33:56 +02:00
AndywinXp fabaeb4b83 SCUMM: COMI: Implement original GUI 2022-08-06 13:33:56 +02:00
Donovan Watteau b1e08f3f52 SCUMM: Fix typo in variable name in previous fix 2022-07-30 13:45:44 +02:00
athrxx 1e6e1c60f8 SCUMM: fix warning 2022-07-29 20:43:50 +02:00
athrxx 7c6973ed8a SCUMM: (LOOM/VGA) - fix dissolve effect for EGA dithering mode 2022-07-29 18:11:55 +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 2e9d0884b6 SCUMM (V2/CGA) - fix regression from 660512ac
(I broke the v2 CGA while working on v3/v4)
2022-07-24 00:12:51 +02:00
athrxx e993bbc389 SCUMM: (V4 - Hercules) - fix typo 2022-07-23 23:17:46 +02:00
athrxx af2ce28786 SCUMM: (V4 - Hercules) - fix Hercules mode for MI1EGA 2022-07-23 23:17:45 +02:00
athrxx 660512ac4d SCUMM: (V3/4 - CGA) - fix CGA mode for MI1EGA + cleanup
In the end, once fully understood, the CGA rendering is very similar for all versions. So I did manage to clean out some code. Hercules mode for MI1EGA is broken here, I will have another commit for that, once I understand how it works.
2022-07-23 23:17:45 +02:00
athrxx f9db5607d8 SCUMM: fix dissolveEffect for non VGA/EGA-rendering modes
(quite obvious in LOOM CGA mode, when suddenly the normal EGA colors appear on screen)
2022-07-16 14:51:15 +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
Torbjörn Andersson 941fce9686 SCUMM: Fix comment typo 2022-07-11 21:34: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 6735e3c0f0 SCUMM: Fix the cyan/pink lines when Indy meets Elsa in Berlin
In the 256-color versions of Indy3, there are some weird horizontal
cyan/pink lines which appear out of place in the Berlin night scene.
The official FM-TOWNS release fixed that by reusing some other colors
from the local palette, so we can apply a similar change for the DOS
and Steam versions, as long as we keep the original EGA colors for the
text and inventory.

(We still do a quick check for the original `smapLen`, just in case a
fan translation redid the background.)
2022-05-26 21:03:53 +03:00
AndywinXp ca527c8390 SCUMM: Implement a better approximation of some Amiga quirks 2022-05-21 22:44:01 +03:00
AndywinXp ebb3f2a842 SCUMM: Implement Amiga timings 2022-05-21 22:44:01 +03:00
Andrea Boscarino 38ac6fbadc SCUMM: GFX: Fix bool comparison 2022-05-21 22:44:01 +03:00
Andrea Boscarino 9d236fa13b SCUMM: GFX: Finish implementation for dissolveEffect() 2022-05-21 22:44:01 +03:00
Andrea Boscarino 6eef97375e SCUMM: GFX: Add clarificatory comment to scrollEffect() 2022-05-21 22:44:01 +03:00
Andrea Boscarino 6b838fd53a SCUMM: GFX: Update comments and kPictureDelay 2022-05-21 22:44:01 +03:00
Andrea Boscarino 23afa3bb88 SCUMM: WIP rework for dissolveEffect() 2022-05-21 22:44:01 +03:00
Andrea Boscarino b90609a95a SCUMM: Clean-up transitionEffect() 2022-05-21 22:44:01 +03:00
Andrea Boscarino 9cf60930b9 SCUMM: Fix the timings update for the script variable
This fixes music/game sync issues at the end of DOTT intro (before the main theme)
2022-05-21 22:44:01 +03:00
Andrea Boscarino 95894ae9fe SCUMM: Implement accurate PIT timings for DOS versions 2022-05-21 22:44:01 +03:00
Andrea Boscarino 9fc868c7ed SCUMM: Implement quarter frame precision timing 2022-05-21 22:44:01 +03:00
Donovan Watteau 5d8cc4fd75 SCUMM: Fix MM NES dark rooms colors on strict-alignment archs
Fix the missing case for SCUMM_NEED_ALIGNMENT archs in previous
commit 985ccfa8df.
2022-05-14 09:48:15 +03:00
Torbjörn Andersson 04804b6c2c SCUMM: Use 8x8 dissolve effect for TurboGrafx-16 Loom
Based on a somewhat blurry YouTube video, it looks like this is what the
original did. Though it also looks like it showed a wider image than the
320 pixels ScummVM shows. Possibly 352 pixels, based on the assumption
that it was 44 8-pixel blocks?
2022-02-04 14:01:30 +01:00