Age | Commit message (Collapse) | Author |
|
We added 1 to the size as a workaround, but it's not really a
workaround, because original SCI allocated at least 2 bytes more.
They also made sure the size is even. We now do the same.
|
|
Fixes Mixed Up Mother Goose SCI1.1 crash when saving
And could potentially fix all sorts of other issues
Original SCI only zeroed out heap on init.
|
|
Fixes ego getting stuck when briefing is about to start.
Which is bug #5865. Also happened in original interpreter.
Quite a complicated issue, details in patch comments
|
|
Solves Space Quest 4 "getting shot while getting rope" game bug
Was an original game bug and happened in original SCI as well.
Fixes bug #6076
|
|
Put things like putPixel() into screen.h, so that it can be inlined.
Also don't use look up tables for those methods anymore and instead
calculate offsets manually, because that should be faster.
|
|
in screen class (calculating how many bytes are needed to
save a specified area of various screen maps)
|
|
|
|
|
|
|
|
|
|
Auto-saving is not used by SCI, but slot 0 is ScummVM "standard"
for auto-saving, that's why it's not available for saving anymore.
Jones still uses slot 0 for saving/restoring (because it's
hardcoded and changing it would break it somewhat)
Deleting + restoring is still possible of couse.
|
|
No longer checking for .sav file suffix, but instead checking
room number instead. The user is able to change the suffix,
which would have resulted in a compressed character file.
|
|
|
|
|
|
|
|
|
|
Was changed to Ctrl-Shift-D at some point, because a SCI game
uses Ctrl-D. Comment wasn't changed accordingly back then.
|
|
Renamed "ourModifiers" to "scummVMKeyFlags"
Now also using the flags directly from the ScummVM event in case
it actually was a Keyboard event.
|
|
7aeadba863ed1893fa6095008d35b32ce5117749
Thanks LordHoto for spotting it
|
|
Was the ScummVM-system-Keycode, sometimes modified.
Changed Menu/Portrait/Controls32-code to use .character instead.
Cleaned up a bit of code in getScummVMEvent()
|
|
|
|
Also added comment about .data field. Should be renamed.
|
|
Was effectively caused by commit adding the keyboard driver bug
for SCI0/SCI01, although the bug is actually real and happens.
It seems Sierra did not check the key-modifier in kMenuSelect.
We do and that's why the code didn't recognize all sorts of
menu keys anymore.
We now isolate the lower byte before comparing.
I also noticed, that Sierra passed keyboard modifiers in mouse
events. This was probably done, so that owners of a 1-button
mouse were able to right-click. We do this now too.
Also added information about mouse modifiers in kGetEvent.
Moved the mouse modifier code into getScummVMEvent().
This should fix bug #7009.
|
|
It seems the issues on AmigaOS aren't actually caused by the new
code. Reverting the revert.
|
|
Seems to cause at least issues on AmigaOS probably b/c SDL.
See bug #7009.
Added FIXME. Underlying issue needs to get fixed in SDL backend
or in SDL itself.
|
|
When the users presses keys on the numpad, we get digits in .ascii
even when Num-Lock is not enabled. This caused numpad cursor keys
not working anymore. Imo we should only get .ascii in those cases,
when Num-Lock is enabled.
|
|
New way is probably better. Sadly we get a few keys atm in the
ascii field, like cursor left and the function keys. That's why
a check for <= 0xFF is needed.
|
|
Previous code also selected files called e.g. "[targetname].abc"
|
|
|
|
|
|
Instead of choosing Windows as platform, users can now also simply
click this option for Gabriel Knight 1 + King's Quest 6
Defaults to high resolution graphics
|
|
|
|
|
|
|
|
|
|
|
|
Thanks to lskovlun for his help
|
|
|
|
|
|
Added a TODO for rhis, for now
|
|
|
|
SCI32: kPalVary, kPalette fade support, kPalette findColor support, improvements to game time management
|
|
|
|
It seems that findColor is used only by kPalette, and matchColor is
used only by Remap.
|
|
do not check _priorityTop. Sierra never did it (I checked all sorts
of SCI versions, kq4 early, kq5, kq6, etc.) and checking it will
cause at least a priority issue in lsl2 in room 54 (airplane that
is taking off will be drawn using priority 1 instead of 0)
|
|
This means tick-based times are saved to save games, as in SCI32
engine, instead of seconds, which are not accurate enough. It
also means places in SCI engine that need to access game ticks
should do so through g_sci instead of g_system or g_engine.
|
|
This also fixes kPalCycle signatures to be more accurate.
|
|
|
|
|
|
Thanks bSr43
|