This commit:
- Continues my AKOS relabeling task and adds some documentation and missing information;
- Renames the codec functions from codec1, codec5 and codec16 to something more expressive;
- Add '_' in front of private class members, when missing;
- Changes "v1" names (unnamed variables supposedly coming from Ghidra or similar tools...) to something more expressive;
- Renames related variables from foo_bar (or foobar) to fooBar (on costume.cpp, base-costume.cpp and akos.cpp).
This is part of an on-going effort on my end to document the AKOS code, and fix strange stuff
such as integers being used as booleans, and variable_names instead of variableNames
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).
The mainRoutine() function returns a byte, not a bool. This caused text
to be partly erased when drugging the piranha poodles in MI1. Probably
other things as well.
As discovered by RetroSpeedruns on YouTube, in the Amiga version of Monkey
Island 2, trying to use the stick on the dog at the front of the Governor
Mansion's on Booty Island will cause a palette glitch for this costume.
This costume can be used in rooms 29 and 55, but in the latter case,
the palette won't match with this room's constraints. So, we override
this invalid palette when the costume is loaded from that room.
The palette was handmade, working from the colors of costume 1, and
trying to match the colors of costume 55/animation 13 while triggering
them in the jail and in front of the Governor's Mansion.
When Bernard turns his head inside the Chron-O-John during the DOTT
intro, part of the Chron-O-John is mirrored along with Bernard's face.
This is probably because the opening of the lid is part of the actor
animation.
This causes a visible glitch when Bernard is facing to the left side of
the screen. We fix that by always keeping the same mirroring for the
Chron-O-John and adjusting Bernard's head by a few pixels.
Now Bobbin's palette is changed when entering/leaving the darkened tent.
It's odd that this effect looks so different from all other versions of
the game that I've tried (VGA, EGA and FM Towns), but it seems to match
the original behavior based on YouTube videos I've watched.
The flashlight in MM NES does not have rounded corners, and due to
palette limitations does not render the lit areas in color.
This commit also adjusts the palette for sprites in dark rooms to match
a real NES.
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)
This tries to make our code a bit more compliant with our code formatting
conventions. For future use, this is the command I used:
git ls-files "*.cpp" "*.h" | xargs sed -i -e 's/[ \t]*$//'