Age | Commit message (Collapse) | Author |
|
* Convert selector literals to SIG_SELECTOR/PATCH_SELECTOR
* Convert word-size numeric literals to SIG_UINT16/PATCH_UINT16
* Wrap comments at 80 columns
* Rewrite comments for clarity and brevity
* Make alignment of operation comments consistent
* Make identifier suffixes, patch descriptions, and patch table
ordering consistent
|
|
* Make patch descriptions consistent
|
|
* Minor clarity fixes to comments
* Make patch descriptions and patch table ordering consistent
|
|
* Convert selector literals to SIG_SELECTOR/PATCH_SELECTOR
* Make identifier suffixes, patch descriptions, and patch table
ordering consistent
|
|
* Convert selector literals to SIG_SELECTOR/PATCH_SELECTOR
* Fix a patch to use jmp instead of waste bytes
* Make identifier suffixes and patch descriptions consistent
|
|
* Convert selector literals to SIG_SELECTOR/PATCH_SELECTOR
* Convert word-size numeric literals to SIG_UINT16/PATCH_UINT16
* Wrap comments at 80 columns
* Rewrite comments for clarity and brevity
* Make alignment of operation comments consistent
* Make identifier suffixes and patch descriptions consistent
|
|
* Convert selector literals to SIG_SELECTOR/PATCH_SELECTOR
* Make identifier suffixes and patch descriptions consistent
|
|
* Make patch descriptions consistent
|
|
* Convert selector literals to SIG_SELECTOR/PATCH_SELECTOR
* Convert word-size numeric literals to SIG_UINT16/PATCH_UINT16
* Wrap comments at 80 columns
* Rewrite comments for clarity and brevity
* Make alignment of operation comments consistent
* Make identifier suffixes and patch descriptions consistent
|
|
* Convert selector literals to SIG_SELECTOR/PATCH_SELECTOR
* Make alignment of operation comments consistent
* Make patch descriptions consistent
|
|
* Convert selector literals to SIG_SELECTOR/PATCH_SELECTOR
* Convert word-size numeric literals to SIG_UINT16/PATCH_UINT16
* Wrap comments at 80 columns
* Rewrite comments for clarity and brevity
* Make alignment of operation comments consistent
* Make identifier suffixes, patch descriptions, and patch table
ordering consistent
* Remove no-longer-needed script patch for day 10 room 808, which
has been fixed using a different, generic mechanism since commit
e8c429832f7b6393f853fd6d9ce8ba2e62f6a93c
|
|
This makes the game menu able to handle a 3rd state, so that the
game shows text but also play speech at the same time.
We need to inject our own view for the new button to really show
up. I'm not that experienced with the SCI32 graphics code, which
is why I prefer snover to do this part.
Right now it will show the button with text selected 2 times in
a row. The first "text" button is the dual mode / "both" state.
Anyway, thanks to snover for notifying me of this game needing
dual mode patched in and also for some help.
|
|
Now it says "BOTH", just what the button in SQ4 says as well.
|
|
This fixes a bad play call by replacing it with a fade call.
The newRoom function In script rm23v090 (room 23090) was
calling a play function with 5 arguments, but the play
function only takes 4 arguments. Since it looks like a fade
call it has been replaced with that.
Fixes Trac#10200.
snover helped.
|
|
Now those say "BOTH", just what the button in SQ4 says as well.
|
|
Fixes Trac#9744.
|
|
This fixes overlapping of the left arrow in all cases, but the
scroll delta and initial offset of inventory items will only be
fixed in new games because the affected objects are global objects
whose bad properties get persisted into save games.
Fixes Trac#10037.
|
|
The game has a feature where it will automatically create a save
game when you quit the game through the in-game control panel (or
when you die, for some reason).
Unfortunately, due to bad programming, this automatic save would
just overwrite whatever was in save slot 1 (slot 0 in the original
interpreter). Find this attempt to auto-save the game and redirect
it to the auto-save slot. This might not be totally correct, but
it is at least better than destroying a save game.
Fixes Trac#10201.
|
|
|
|
|
|
@sev- had asked why these flags were added a while ago (I had been
instructed this was the right thing to do when I asked in the past)
and ever since then it has been bugging me more and more that they
are there, since they serve zero purpose except to make the game ID
longer. In the past, it may have been the case that the SCI16 &
SCI32 code mixing meant that SCI32 games needed the CD flag for
things like managing subtitles, but at this point the only use of
the CD flag within the SCI32 engine is for the few games that
actually have different CD and non-CD versions. So these flags are
gone now.
|
|
Real MIDI devices, and MT-32 in particular, need delays between
SysEx messages to ensure sufficient time to receive and process
the incoming data buffer. Sending too much data too quickly to
these devices can cause them to crash with a buffer overflow.
The MT-32 emulator, on the other hand, has no problem receiving
SysEx data instantly, so skipping the delays means that games that
send lots of data to the MT-32 will start up much faster.
|
|
OpenGL backends don't always support the pixel format that is
returned by the Indeo 3 decoder when playing the GK2A.AVI from the
GK2 demo. If this happens, use the backend's preferred pixel format
and convert in software.
If a backend doesn't support any 16-bit or 32-bit format, the
playback code will error out. This is probably fine, since there
are not really any of those any more.
Fixes Trac#9994.
|
|
This fixes flickering icons during the word hallucinations.
|
|
This fixes the glitchy positioning during the word hallucinations.
Fixes Trac#10036.
|
|
|
|
|
|
|
|
Fixes Trac#10182.
|
|
|
|
This is not known to fix any particular issue, but the game does
set some flags internally if it's running in 256-color Windows,
which is possibly undesirable since we do run 16-bit videos
regardless.
|
|
This update should give the game the default mix it receives in
Windows. If necessary, the half-volume audio bug in the DOS
interpreter can be added as an additional hack for this game, since
there are still some sub-par audio mixes that might need additional
correction (like Curtis talking to Blob when taking her out of the
cage in his apartment at the start of the game) which were also
bad in the Windows version of the game.
Fixes Trac#10165.
|
|
|
|
|
|
This code is identical to the kArrayGetData implementation.
|
|
The original interpreter allowed most string references to be
null references, in which case it would substitute an empty
string.
|
|
In the original interpreter, is it valid to pass a null reference
to both kArray(GetData) (it just acts as an identity function when
the passed argument is not an object) and to kString functions (it
always dereferences to an empty string).
Fixes Trac#10039.
|
|
|
|
To enable the optional content censoring mode, Phant2 looks
for a RESDUK.PAT file, which is normally placed by the game's
installer if the user chose to enable censorship. If the file
exists, the game reads an unlock password out of the file and
asks the user to enter the password when starting a new game to
create an uncensored game, or to click a "less intense" button
to start the game with censoring. The censorship state of the
game is then persisted in the save game file, and installations
with the RESDUK.PAT file need to enter the password again in
order to restore any of the uncensored saves.
Since we do not have an installer that can enable this feature,
add a game option toggle to enable/disable censoring (for the
releases that have the optional censorship mode) instead so the
censored content feature is available for anyone that wants to use
it. This flag is restored from ScummVM whenever a save game is
loaded, so it can be toggled on or off at any point without
needing a separate save game, unlike in the original interpreter.
|
|
The GOG.com release is missing the AVIs used for the intro &
ending animations in Windows. I'm unaware of any substantive
differences between the DOS and Windows versions otherwise, so
just not allowing Windows to be selected as a platform when the
video files are missing seems like it should be fine. (Same thing
in the opposite direction for a case where the DOS Robot files
are missing, though I don't know of a specific case where that is
a thing with KQ7 2.00b.)
|
|
|
|
|
|
|
|
|
|
There is no practical risk now since the enum and array sizes are
the same, but there is no reason to rely on a separate data
structure to avoid potential out-of-bounds index use here instead
of just checking the array size directly, which is always safe.
|
|
|
|
|
|
Fixes Trac#10035.
|
|
|
|
|