aboutsummaryrefslogtreecommitdiff
path: root/engines/sci/engine
AgeCommit message (Collapse)Author
2016-03-13SCI32: Correct some kernel call signaturesColin Snover
2016-03-13SCI32: Implement kCelHigh and kCelWide SCI32 versionsColin Snover
The SCI16 versions do not implement the scaling algorithm used by SCI32 so would be off by one in some cases.
2016-03-11SCI32: Fix incorrect mouse event coordinates in SCI2 hiresColin Snover
2016-03-11SCI32: Initial implementation of kRemapColorsFilippos Karapetis
applyRemap() is still not finished, so nothing is actually visible yet
2016-03-10SCI32: Use correct name of kCantBeHere kernel functionColin Snover
Only updating SCI32 names here due to not knowing about the correctness of the SCI16 code.
2016-03-10SCI32: Use separate function for SCI32 version of kCantBeHereColin Snover
Requested by @m-kiewitz.
2016-03-10SCI32: Implement kMovePlaneItemsColin Snover
2016-03-10SCI32: Minor cleanup of kernel callsColin Snover
2016-03-10SCI32: Implement kSetNowSeenColin Snover
2016-03-10SCI32: Implement kCantBeHereColin Snover
2016-03-08SCI: Fix build with SCI32 disabled.Johannes Schickel
Regression from d4869218200a3dd165c2f1c156f3c1620c813241.
2016-03-08SCI: Split color remapping functionality into a separate classFilippos Karapetis
Currently, only the SCI16 remapping functionality is implemented (used in the QFG4 demo)
2016-03-08SCI: Update the game ID of a workaround that's only used in QFG4 demoFilippos Karapetis
2016-03-08SCI32: Disable kRemapColors32, as SCI32 remapping is still incompleteFilippos Karapetis
2016-03-08SCI: Separate the demos of QFG4, PQ4 and GK1 from their full versionsFilippos Karapetis
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
2016-03-08SCI32: Clean up kIsOnMe and fix rounding bugColin Snover
The implementation was not correctly rounding the scaled position with mulru, leading to occasionally incorrect hit detection at the boundaries of boxes.
2016-03-07SCI32: Implement kBitmapDrawTextColin Snover
2016-03-07SCI32: Move in-memory bitmap read/write into its own classColin Snover
2016-03-08SCI: Script patch for ending glitch in multilingual kq5Martin Kiewitz
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
2016-03-07SCI32: Add reg_t comparisons for graphics sortingColin Snover
2016-03-06SCI32: Implement kEditTextColin Snover
2016-03-05SCI: Make cursor workaround work properly on OpenPandoraMartin Kiewitz
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.
2016-03-03SCI32: Fix misidentification of createFontBitmap(CelInfo &)Colin Snover
2016-03-03SCI32: Add all kBitmap signaturesColin Snover
Not all SCI2.1late/SCI3 function signatures are fully known yet, but all subops are now represented in the kernel tables.
2016-03-02SCI32: Minor consistency improvement to FrameOutColin Snover
2016-03-02SCI32: Add a workaround for kPalVarySetPercent in GK1 (chapter change)Filippos Karapetis
2016-03-02SCI32: Don't do a syncWithScripts on restore from launcherMartin Kiewitz
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.
2016-03-01SCI32: Fix index/offset mixup in updateInfoFlagViewVisibleWillem Jan Palenstijn
2016-03-01SCI32: Revert GK1 hacksWillem Jan Palenstijn
Replacing a valid signature error by a warning isn't useful.
2016-03-01SCI32: Warn when the unhandled parameter is set in kPalVarySetPercentFilippos Karapetis
2016-03-01SCI32: GK1 adds another optional parameter to kPalVarySetPercentFilippos Karapetis
2016-03-01SCI: Remove superfluous cast to boolean and fix code stylingFilippos Karapetis
2016-03-01SCI: Use uint32 instead of unsigned intFilippos Karapetis
2016-02-29SCI3: Collect bits for managing kInfoFlagViewVisibleLars Skovlund
2016-02-28SCI32: Non-titled text bitmap implementationColin Snover
This implementation is not 100% engine accurate, but it is more accurate than what was there, and hopefully the differences between this and the engine code are merely cosmetic. The known (intentional) differences are: 1. Uses ScummVM rects inside the engine code, converting to/from SCI rects on the kernel edges and when scaling 2. Fewer side effects when performing operations that *should* have been pure from the start (like text dimension calculation). Still not side-effect-free, but at least things like colours and alignment do not need to be reset every time a measurement is taken, unlike in the actual engine. Editor controls and some other kBitmap code are temporarily disabled as a result of changes to GfxText32 until they can be updated to be engine-accurate.
2016-02-27SCI32: Update InfoFlagViewVisible from send_selectorWillem Jan Palenstijn
2016-02-27SCI32: Update InfoFlagViewVisible in VM opcodesWillem Jan Palenstijn
2016-02-26SCI: Make Freddy Pharkas intro scaling patch more genericMartin Kiewitz
So that hopefully the signature will match for all versions
2016-02-25SCI: Add script patch for Freddy Pharkas intro scalingMartin Kiewitz
Fixes game title views not shown while they are scaled in.
2016-02-24SCI: Add script patch for qfg3 combat speed problemMartin Kiewitz
Fixes bug #6247
2016-02-24SCI: Fix FM-Towns audio language selectionMartin Kiewitz
This first of all combines both detection entries and makes it possible so that the user can directly choose English or Japanese without having to add the game twice. But it also fixes the in-game option to switch between English and Japanese. Prior to this commit it was only possible to for example switch from Japanese to English once, but it was not possible to switch back without quitting the game and starting it again.
2016-02-23SCI: Improve kAnimate fastcast detection, Remove EQ1 hackMartin Kiewitz
- Add "kAnimate fast cast state" to "version" debug command - Make it possible for script patcher signatures to get fully used outside of the regular script patcher - Remove previous fastcast detections and replace them with a signature heuristic - Remove object name checking, when fastcast global is set - Heuristic detects "fast cast" support incorrectly for multilingual KQ5, but it seems the game never sets the global, so it won't matter. KQ5 CD (also SCI1 late) has fastcast support. - Remove hack in GfxView::draw - Add lots of comments to ScriptPatcher class This fixes EcoQuest 1 Floppy showing the anemone on top of the message box (see bug #5170)
2016-02-22SCI32: Do not clear screen when restoring for SCI32Martin Kiewitz
Fixes graphical issues, when restoring saved games. SCI32 did not clear the screen and also did not even redraw the screen on restore. It only redraws elements that have changed. Behavior verified using TSR in DOSBox (see comments). Also added comment about clearing the screen for SCI16.
2016-02-22SCI: Add hack for Pepper's Adventure in Time CDAUDIO issueMartin Kiewitz
Game checks for file CDAUDIO. Currently the kFileIO(Exists) code is working pretty slowly on at least Windows. Needs to get fixed properly by enhancing SaveFileManager(). This is primarily for branch 1.8.0.
2016-02-22SCI: Make Pharkas CD opcodes return explicit values. Document.Lars Skovlund
2016-02-22SCI32: Document purpose of 993.vocLars Skovlund
2016-02-21SCI32: Fix save patching for ScummVM dialogMartin Kiewitz
- Patch game super object for saving instead of game object - Remove re-adding planes+screen items, game::replay does that We would only have to do that for soft-failing on restore - Change debug levels of kNumLoops/kNumCels to 9 - Add special comment about -info- selector in syncWithScripts() This should now make ScummVM menu saving work properly at least in SQ6.
2016-02-21SCI32: Implement syncing planes+screen items from VM for restoreMartin Kiewitz
Fixes restoring saved games, when ScummVM dialogs are patched in Removing clearing planes+screen items as well, because the scripts actually did that, but did not clear everything. Fixes "Invalid screen item" message when entering options menu, after restoring in SQ6.
2016-02-21SCI32: Use debugC instead of debugCN for debug outputMartin Kiewitz
2016-02-21SCI32: Add debug output to Add/Update/DeleteScreenItem+PlanesMartin Kiewitz
debugflag Graphics level 6 for Add+Delete level 7 for Update