aboutsummaryrefslogtreecommitdiff
path: root/engines/sci
AgeCommit message (Collapse)Author
2017-09-16SCI32: Clean-up pass on PQ4 script patchesColin Snover
* 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
2017-09-16SCI32: Clean-up pass on PQ:SWAT script patchesColin Snover
* Make patch descriptions consistent
2017-09-16SCI32: Clean-up pass on Phant2 script patchesColin Snover
* Minor clarity fixes to comments * Make patch descriptions and patch table ordering consistent
2017-09-16SCI32: Clean-up pass on Phant1 script patchesColin Snover
* Convert selector literals to SIG_SELECTOR/PATCH_SELECTOR * Make identifier suffixes, patch descriptions, and patch table ordering consistent
2017-09-16SCI32: Clean-up pass on MGDX script patchesColin Snover
* 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
2017-09-16SCI32: Clean-up pass on LSL7 script patchesColin Snover
* 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
2017-09-16SCI32: Clean-up pass on LSL6hires script patchesColin Snover
* Convert selector literals to SIG_SELECTOR/PATCH_SELECTOR * Make identifier suffixes and patch descriptions consistent
2017-09-16SCI32: Clean-up pass on Lighthouse script patchesColin Snover
* Make patch descriptions consistent
2017-09-16SCI32: Clean-up pass on KQ7 script patchesColin Snover
* 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
2017-09-16SCI32: Clean-up pass on GK2 script patchesColin Snover
* Convert selector literals to SIG_SELECTOR/PATCH_SELECTOR * Make alignment of operation comments consistent * Make patch descriptions consistent
2017-09-16SCI32: Clean-up pass on GK1 script patchesColin Snover
* 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
2017-09-16SCI32: Add script patch for PQ4CD for dual mode (text+speech)Martin Kiewitz
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.
2017-09-16SCI: LB2-Dual mode: Change "DUAL" button to "BOTH"Martin Kiewitz
Now it says "BOTH", just what the button in SQ4 says as well.
2017-09-15SCI32: Fix bad play call in Shivers room 23090David Fioramonti
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.
2017-09-16SCI: KQ6-Dual mode: Change "DUAL" button to "BOTH"Martin Kiewitz
Now those say "BOTH", just what the button in SQ4 says as well.
2017-09-15SCI32: Blacklist pirated GOG.com + German GK2Colin Snover
Fixes Trac#9744.
2017-09-15SCI32: Fix clipping of inventory items in Phant2Colin Snover
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.
2017-09-14SCI32: Fix Phant2 "auto-save"Colin Snover
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.
2017-09-14SCI32: Fix PQ:SWAT platformColin Snover
2017-09-14SCI32: Drop platform from game ID for games that are Windows-onlyColin Snover
2017-09-14SCI32: Remove ADGF_CD from games that have no non-CD versionColin Snover
@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.
2017-09-12SCI: Omit SysEx delays when sending to MT-32 emulatorColin Snover
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.
2017-09-12SCI32: Improve chance of rendering non-8bpp AVIsColin Snover
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.
2017-09-12SCI32: Fix wrong open folder/doc icons in Phant2 computer on first renderColin Snover
This fixes flickering icons during the word hallucinations.
2017-09-12SCI32: Fix bad positioning of text in Phant2 computer on first renderColin Snover
This fixes the glitchy positioning during the word hallucinations. Fixes Trac#10036.
2017-09-12SCI32: Fix janky document scrolling in Phant2 computer interfaceColin Snover
2017-09-12SCI32: Replace spin loop with kWait in Phant2 alien password screenColin Snover
2017-09-10SCI: Remove dead codeColin Snover
2017-09-10SCI32: Fix bad audio loopingColin Snover
Fixes Trac#10182.
2017-09-09SCI32: Fix whitespace errorsColin Snover
2017-09-09SCI32: Send correct color depth to Phant2Colin Snover
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.
2017-09-09SCI32: Fix Phant2 movie-vs-game playback volumesColin Snover
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.
2017-09-08SCI32: Fix volume config when changing volume from in-game Phant2 controlsColin Snover
2017-09-08SCI32: Order nulls consistently in kernel signaturesColin Snover
2017-09-08SCI32: Remove redundant kStringGetData implementationColin Snover
This code is identical to the kArrayGetData implementation.
2017-09-08SCI32: Fix kString signatures to allow null references where appropriateColin Snover
The original interpreter allowed most string references to be null references, in which case it would substitute an empty string.
2017-09-08SCI32: Fix crash when changing security level of dead people in Phant2Colin Snover
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.
2017-09-08SCI32: Add missing include for ConfManColin Snover
2017-09-08SCI32: Toggle Phant2 content censoring from game optionsColin Snover
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.
2017-09-08SCI32: Detect KQ7 2.00b using platform-specific filesColin Snover
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.)
2017-09-08SCI32: Remove unnecessary calls to hide the virtual hardware cursorColin Snover
2017-09-08SCI: Use SCI32 naming convention for Audio36/Sync36 patch files in SCI32Colin Snover
2017-09-08SCI: Add resource integrity dump command to debuggerColin Snover
2017-09-08SCI: Add method to get resource patch file extensionsColin Snover
2017-09-08SCI: Improve array bounds safety checkColin Snover
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.
2017-09-04COMMON: Add helper macro for printing rectsColin Snover
2017-09-04SCI32: Fix creating over 20 saves in Phant2 native save gameColin Snover
2017-09-04SCI32: Disable save game mangling in Phant2Colin Snover
Fixes Trac#10035.
2017-09-04SCI: Remove already-finished TODOColin Snover
2017-09-04SCI: Allow deep inspection of objects in debuggerColin Snover