I'm uncertain exactly where this is used, but during the endgame at the
very least. (Fortunately I had saved my old savegames from when playing
it in a Mac emulator.)
This adds optional EPX scaling and 640x480 resolution for
LucasArts Macintosh games other than Indy3 and Loom.
This includes:
* Monkey Island 1
* Monkey Island 2
* Indy4
* Day of the Tentacle
* Sam&Max
* Full Throttle
* The Dig
In doing this, I reverted the ugly code which previously offset
the game screen 20 pixels below (to create an internal 320x240
buffer, instead of 320x200). Instead of just offsetting mouse
coordinates and the final screen texture, I used to offset the
in-engine graphics elements. Ew.
This ensures flawless savegame compatibility between old and
new, without touching anything.
For some reason, the background color of the sign at the Governor's mansion
is already white in the Macintosh release (at least in the one I have here),
but the scripts still have the wrong color set. It looks like the Macintosh
interpreter may have fixed this on the fly...
So we still have to fix this, but for the Macintosh release the Enhancement
will always be enabled, since it matches the original behavior. Also, this
release only changed the background color, not the text color.
See my addition to the previous GH-4168 PR for a screenshot.
If someone has a Macintosh interpreter showing a different behavior, or
wants to analyze it to see whether the fix is indeed hardcoded into it,
I'd be curious to know that, of course :)
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."
While the workaround makes sense for room graphics,
I haven't yet see a reason why it should be used for the text
area as well...
This fixes#13107:
"SCUMM: MM (NES-EU-ES) - Last letters retained in screen/missing letters"
This version redrew the background of room 46 for censorship reasons, but
yet the weird cyan/pink lines were left intact, as in the other VGA
releases. So we what to check for a different smapLen value there.
Checked against my own copy.
This closes ticket #6712:
"SCUMM/HE: SPYFOX3 - Text drawing
glitch in "Radioactive Trash Collector""
HE100 (and a very late version of HE99) uses different
flags for drawBox color modes. Incidentally, the target
color (light gray) used for the background on which
text is rendered managed to trigger a different mode,
hence the text never being removed.
This closes ticket 13420:
"SCUMM: PUTTZOO Animation overlap bug
with final iceberg in Putt-Putt Saves the Zoo"
Not only this now works correctly, but now in updated versions
of the game the hair of the lower left penguin is not masked
anymore, so the iceberg piece will be drawn on top of said hair.
I have verified that this is 100% accurate, the code for TMSK
decompression is the same in every HE version, and the original
executable shows exactly the same behavior.
So refrain from filing a bug for that, thanks :P
This is the thing I held off doing during the HE gfx rewrite, only to find out
it was actually needed. As usual, a great number of changes for... only
one small bug fixed. This closes ticket #9619:
"SCUMM/HE: PUTTZOO- Kenya Animation Bug Persists"
I have tested a bunch of representative HE70+,80,90,95,98,99,100
entries and I didn't notice regressions.
HE versions under 70 have not been touched by this, as I'd like to
know if there are issues with actor/object overlaps BEFORE actually
starting disassembling 16-bit DOS executables...
Currently, buffers get allocated that do not get freed. Apparently,
the reason is that it is not well known when it is actually safe to
do that. This here should hopefully fix the situation. Or at least
give some inspiration on how to fix it...
("INDY3 (FMTowns): Map lines are drawn incorrectly, plus more
issues when leaving Germany")
The bug with the wrong colors is caused by the shadow palette, which
gets set with the colors for the modified country borders, but gets
reset immediately after drawing the background. So when the map
travel marker makes an area dirty, it would be restored with the wrong
color. Now, the original V3 FM-Towns interpreter can draw on layer 2
directly, without declaring anything dirty, effectively bypassing the
normal SCUMM drawing. This avoids any change to the background.
This happens for drawBox, but also when displaying or hiding the pause
banner.
In SCUMM5 drawBox works the way we had it implemented, drawing
on the text surface (MI1: also on the vs buffer) and then making that
rect dirty.
(INDY3 (FMTowns): Map lines are drawn incorrectly)
This fix addresses the part concerning the line width of the travel
marker. Turns out that SCUMM3 FM-Towns draws all boxes one
pixel wider and higher on virtual screens other than 1. This also
allows removal of a hack in ScummEngine_v5::o5_drawBox().
I also fixed the old style pause/restart banners, since they incorrectly
used drawBox() for line drawing (which would be glitchy with the now
verdrawing drawBox(). The positive outcome is that we no have original
looking FM-Towns banners (only in Japanese, though, since - unlike the
original - we don't run the English version in 640x480).
The changed method of drawing and removing the banner also fixes
the removal of the black country borders on the map. But it will still
be removed below the pause banner and in the spots where the travel
marker passes the border. So that has to be addressed separately.
Perhaps this will finally fix the screen corruption bug I've been seeing
occasionally in Mac Indy 3? That seemed to happen because the screen was
changing while the game was paused, after the Window manager had made a
copy of the current screen.