Age | Commit message (Collapse) | Author |
|
Only updating SCI32 names here due to not knowing about the
correctness of the SCI16 code.
|
|
Requested by @m-kiewitz.
|
|
Error messages now contain the name of the failed function and
plane/screen item information that can be used to look up the
plane/screen item in a debugger, if the games ever crash in a
release in this code, per suggestion by @m-kiewitz.
Commented out messages that were used during the rearchitecture of
the main graphics engine are also removed, since that code is stable
now.
|
|
|
|
|
|
|
|
|
|
|
|
Regression from d4869218200a3dd165c2f1c156f3c1620c813241.
|
|
|
|
|
|
|
|
Currently, only the SCI16 remapping functionality is implemented
(used in the QFG4 demo)
|
|
|
|
|
|
The demo versions of these games were using a very different engine -
SCI1.1 vs SCI2/SCI2.1. Thus, we split them into different game IDs,
to avoid mixing specific game checks for them, as well as specific
game workarounds, which are different for the demos than the full
versions. Also, the demos should be working when SCI32 is disabled.
For these games, we don't use ADGF_DEMO, to avoid game IDs like
foodemo-demo
|
|
gameid -> gameId
guioptions -> guiOptions
|
|
_singleid -> _singleId
_gameids -> _gameIds
_guioptions -> _guiOptions
|
|
The implementation was not correctly rounding the scaled position
with mulru, leading to occasionally incorrect hit detection at
the boundaries of boxes.
|
|
|
|
|
|
|
|
This is used by the Mr Soylent machines in SQ6 (e.g. room 370).
|
|
|
|
|
|
Fixes invalid memory access during kq5 floppy ending
|
|
Game hangs during the magic battle during the ending.
Happened in all multilingual versions because of a script bug
(scripts were waiting for a signal, music didn't set one)
Fixes French, German and Spanish versions of KQ5
Also happened, when using the original interpreter
|
|
If anything actually uses this feature, we should know about it
eventually.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
This adds a slightly more accurate comparison algorithm that will
at least ensure that all the engine-generated planes and screen
items with matching priorities will be sorted above
script-generated planes and screen items, like in the original
engine. It still does not sort script-generated items by memory
handle order, so if that is ever a thing that actually happens,
those may still be in the wrong order.
|
|
|
|
|
|
|
|
Other platforms, that support analog stick + touch screen at the
same time, are possibly also affected.
Cursor workarounds exist for qfg1vga, qfg3, lsl5 and Island of
Dr. Brain. Those sometimes worked and sometimes didn't on
at least OpenPandora and should be fixed now.
|
|
Some backends like GCW0 do no support graphics >320x240 due to
the hardware limitation (downscaling is possible but it will ruin
the pixel hunting which is often part of the gameplay).
Instead of manually updating the list of engines, we now introduce
a new dependency.
I marked all relevant engines, but some, like tinsel, require more
work with putting their relevant high-res games under USE_HIGHRES
define.
|
|
|
|
Not all SCI2.1late/SCI3 function signatures are fully known yet,
but all subops are now represented in the kernel tables.
|
|
|
|
The original engine had some members on PlaneShowStyle to
allow wall clock timing but never actually used them in the
processing loop so transitions simply ran as quickly as the
CPU could process them. For the moment, we will just limit
these transitions to ~30fps, which hopefully roughly matches
the speed of the engine on hardware of the era.
|
|
|
|
Causes issues in at least gk1 (option + inventory plane are shown)
Game::restore is not called, when doing restores from launcher,
so in the original interpreter this script code wasn't called
either.
Fixes option + inventory planes etc. being shown right after
restoring via launcher, when original save/load dialogs were
disabled.
|
|
|
|
Adding consts to try to isolate rectangles that change during
draw list processing, to be investigated for incorrect mutations
causing lower screen items to be drawn over higher screen items at
their edges.
|
|
These changes should cause ScummVM to be more accurate in edge
case rounding.
|