aboutsummaryrefslogtreecommitdiff
path: root/engines/sci/engine
AgeCommit message (Collapse)Author
2016-03-25SCI: Introduce accessors for SegmentObjTable entries.Johannes Schickel
This makes code not use _table directly whenever possible. An exception is the save game code which is not easy to adapt due to design deficiencies.
2016-03-25SCI: Get rid of template hack for serialization.Johannes Schickel
The former template hack relied on specialized functions for various types. We use a hand crafted set of functions for serialization functionality now.
2016-03-20SCI32: Clean up outdated/wrong commentsColin Snover
2016-03-20SCI32: Return correct value from kSetFontHeightColin Snover
2016-03-20SCI32: Do not change accumulator in non-returning kernel callsColin Snover
This did not cause any known bugs, but is wrong according to the way the actual engine works.
2016-03-20SCI32: Use signed values for displacement positionColin Snover
2016-03-18SCI32: Add workaround for invalid temp read in TorinColin Snover
2016-03-18SCI32: More correctly fix kStringCopy overflowColin Snover
This entire kString code needs to be reviewed/refactored, but at least this fix is more complete than the last one. Thanks to @lordhoto and @wjp for their assistance.
2016-03-18SCI32: Fix heap overflow (read) in kStringCopyColin Snover
2016-03-16SCI: Add workaround for restoring kq6 saved games (lowres/hires)Martin Kiewitz
KQ6 CD sets a global depending on lowres/hires state right at the start and some scripts are using it instead of calling kPlatform. This causes some graphics to be incorrect (well lowres) in case the user saves in lowres mode, then switches to hires mode and restores the previously saved game. We now set that global directly after restoring saved games, so that this issue does not happen anymore. KQ6 CD demo did the same.
2016-03-15SCI32: Document kAddLineFilippos Karapetis
2016-03-15SCI32: Implement kBitmapSetDisplaceFilippos Karapetis
2016-03-14SCI32: Implement kBitmapDrawColorColin Snover
2016-03-13SCI32: Implement kCelInfoColin Snover
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