Commit Graph
217 Commits
Author SHA1 Message Date
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
Eugene Sandulenko abea37c9bb ALL: Update ScummVM project license to GPLv3+ 2021-12-26 18:48:43 +01:00
athrxx 32837a858f SCUMM: tweak screen shakes some more
- fix Japanes FM-Towns: the shake positions have to be multiplied with the _textSurfaceMultiplier

- slightly reduce shake speed for SCUMM <=3
2021-11-18 00:37:30 +01:00
athrxx 33d1804b4e SCUMM: fix bug no. 13065 ("Incorrect screen shaking") 2021-11-16 20:35:32 +01:00
Orgad Shaneh ed5489929c SCUMM: Use nullptr
Using clang-tidy modernize-use-nullptr
2021-11-14 15:51:59 +02:00
Alexandre Detiste 6044504762 JANITORIAL: typos
some in the variable names, some in the comments;
no change for the strings that interract with original games assets
2021-10-31 20:46:31 +01:00
athrxx 7afd105562 SCUMM: (FM-TOWNS) - add menu option to disable smooth scrolling 2021-08-01 16:10:42 +02:00
Torbjörn Andersson 0ecf7db54b SCUMM: Fix leftover text from copy protection screen in Indy 3 Mac 2021-06-30 14:59:55 +02:00
Torbjörn Andersson 3f249aa67a SCUMM: De-simplify Mac text boxes a bit
We can't pretend that the Mac text box is on the main virtual screen,
because then removing it will remove all other text on the main virtual
screen, e.g. the copy protection instructions.
2021-06-30 14:59:55 +02:00
Torbjörn Andersson 2a361f3c61 SCUMM: Simplified previous commit 2021-06-30 14:59:55 +02:00
Torbjörn Andersson b5cfd4d5e3 SCUMM: Remove mac_restoreCharsetBg()
The differences between the two weren't as great as I had first thought.
2021-06-30 14:59:55 +02:00
sluicebox 674ed112aa JANITORIAL: Update more old bug tracker numbers
I missed the six digit ones and a few others in:
93eeffc84d
2021-06-09 14:28:52 -06:00
Torbjörn Andersson cdfe9b5b4c SCUMM: Add practice mode box for Mac Loom
Unlike the PC version, the practice mode box appears to be hard-coded in
the Mac version. The script that draws the box in the PC version just
sets variables in the Mac version. This implementation is based on
screenshots.

To keep things a bit saner, I've split out the Mac-specific drawing to
its own file.
2021-05-17 18:44:29 +02:00
Torbjörn Andersson ec6f0b1cf3 SCUMM: Some fixes for removing text
Drawing boxes and restoring verb backgrounds now also clears the text
surface in Macintosh Loom.
2021-05-17 18:44:29 +02:00
Torbjörn Andersson 5c0c64bc5a SCUMM: Fixed black screen after loading savegame.
I misunderstood the purpose of _textSurface. Now text is drawn to the
Mac screen, and a text mask is drawn to the _textSurface. I hope that's
better.

Still no luck with the non-disappearing text at the start of the game
though.
2021-05-17 18:44:29 +02:00
Torbjörn Andersson 27420f78d4 SCUMM: Simplified Mac font rendering
Instead of trying to keep track of the real Mac screen coordinates in
the _charset data type, use the original 320x200 coordinates and only
scale up at the time of rendering.

Either way, the output is not pixel perfect, and this is much less error
prone.

Now if only text removal worked correctly...
2021-05-17 18:44:29 +02:00
Torbjörn Andersson 5b70ddd802 SCUMM: Fix text color and shadow
Text positioning is still all over the place, though.
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