Commit Graph
282 Commits
Author SHA1 Message Date
Colin Snover 8dea740086 SCI32: Implement kMovePlaneItems 2016-03-10 18:28:53 -06:00
Colin Snover 4a16ebc970 SCI32: Implement kSetNowSeen 2016-03-10 14:16:56 -06:00
Colin Snover eac416f480 SCI32: Implement kCantBeHere 2016-03-10 10:38:07 -06:00
Colin Snover 9a280d3965 SCI32: Add all kBitmap signatures
Not all SCI2.1late/SCI3 function signatures are fully known yet,
but all subops are now represented in the kernel tables.
2016-03-03 20:31:10 -06:00
Colin Snover 3e5adc33a8 SCI32: Non-titled text bitmap implementation
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-28 21:48:56 -06:00
Lars Skovlund 11d6da4ef6 SCI32: Document purpose of 993.voc 2016-02-22 01:04:18 +01:00
Colin Snover 3bddd869ab SCI: Build kernel table for ScrollWindow and stub seen functions
Signatures in subops table are correct for length but unknown
types are marked as . instead of the correct type.
2016-02-18 13:18:02 -06:00
Colin Snover b829e48228 SCI: Remove wrong comments in kernel.h and break apart logical sections 2016-02-18 13:18:02 -06:00
Colin Snover fb891e4c08 SCI: Implement SCI32 kPalVary and kPalette setFade
This also fixes kPalCycle signatures to be more accurate.
2016-01-14 16:13:22 -06:00
Colin Snover f1cf07eded SCI: Add kPalMorph stub 2016-01-14 16:13:22 -06:00
Filippos Karapetis 7379e531c7 Merge pull request #644 from csnover/sci32-kPalCycle
SCI32: palette management (full kPalCycle, partial kSetPalStyleRange and kPalFade)
2016-01-08 10:58:03 +02:00
Colin Snover 70d89b3e39 SCI32: Add kSetPalStyleRange stub code 2016-01-07 16:35:09 -06:00
Martin Kiewitz 0b5a09f836 SCI32: fix kString calling from within kArray
(didn't work since the introduction of kString signatures and the
kString split-up)
2016-01-04 14:58:02 +01:00
Martin Kiewitz 0dd760724e SCI32: split up SCI2.1 into EARLY/MIDDLE/LATE
- Detection works via signatures (couldn't find a better way)
- new kString subcalls were introduced SCI2.1 LATE
- kString now has signatures and is split via subcall table
- kString fix, so that KQ7 doesn't crash, when starting a chapter
- Sci2StringFunctionType removed, because no longer needed
2015-12-29 01:44:11 +01:00
Martin Kiewitz 7f9f305111 SCI: improve debug output for signature mismatch
dump parameter list to debugger as well
2015-03-20 16:06:19 +01:00
Filippos Karapetis 9783f0bbd9 SCI: Remove trailing whitespace 2014-10-28 16:17:06 +02:00
Johannes Schickel 8fc7d60feb SCI: Make GPL headers consistent in themselves. 2014-02-18 02:39:37 +01:00
Martin Kiewitz ba3656d84e SCI: fix script patcher for games w/o vocab 2013-11-21 22:41:07 +01:00
Matthew Hoops ee86e671f1 SCI: Fix Phantasmagoria Mac's kDoSound 2013-04-28 13:43:17 -04:00
Filippos Karapetis f2464dc474 SCI: Add subop 9 of kPalVary (used in SCI32, e.g. QFG4 when exiting the caves) 2013-01-11 02:24:17 +02:00
Filippos Karapetis 61e8fdbf1d SCI: Separate the early SCI11 version of kRemapColors from the SCI32 one 2012-07-24 00:18:31 +03:00
Filippos Karapetis fb215929ef SCI: Some updates to SCI32 kernel graphics functions
- Added a stub for kSetScroll, which sets the target picture immediately
for now
- Added an initial stub of kPalCycle (doesn't work correctly yet)
- Adjusted the signatures of kUpdateLine and kDeleteLine for LSL6
- Unmapped kSetHotRectangles again, with updated information on how it
is used in Phantasmagoria
2012-07-05 13:58:41 +03:00
Filippos Karapetis 72c59baf24 SCI: Merge and simplify the code that sets the kernel functions 2012-07-04 01:02:15 +03:00
Filippos Karapetis 098f162ecc SCI: Use the later SCI file functions for the SCI0 ones
They are essentially the same (with the exception of the return values),
so unifying them reduces code duplication
2012-06-13 12:26:57 +03:00
Filippos Karapetis 944a774e6a SCI: Change kSave() to be a kernel function with subops 2012-06-13 12:26:55 +03:00
Filippos Karapetis 5a17ea0585 SCI: Move all file-related functions in file.*
This way, there is a clear separation of the actual SCI kernel file
functions and the file classes and wrappers of ScummVM
2012-06-13 12:26:53 +03:00
Filippos Karapetis dc11d223cd SCI: Initial implementation of AddLine, UpdateLine, DeleteLine 2012-06-09 15:36:36 +03:00
Filippos Karapetis 5af1ccbac6 SCI: Implement kGetConfig and kGetSierraProfileInt
This fixes the sluggish game speed in Phantasmagoria (DOS/Windows)
2012-05-26 16:41:11 +03:00
Filippos Karapetis 6b38731d39 SCI: Implement savegame deletion functionality in SCI32
This is based on two kernel functions, kMakeSaveCatName and
kMakeSaveFileName
2012-05-14 11:04:58 +03:00
Filippos Karapetis 4ac2940bc5 SCI: Added skeleton code for kEditText (still not working) 2011-10-28 22:20:33 +03:00
Filippos Karapetis 85af217a5b SCI: Implemented kObjectIntersect() 2011-10-19 20:29:02 +03:00
Filippos Karapetis 021b09d35c SCI: Initial implementation of kPlayDuck for Phantasmagoria 2 2011-10-18 02:38:26 +03:00
Filippos Karapetis 96ce226967 SCI: Proper implementation of text drawing for SCI2+ 2011-10-11 01:25:08 +03:00
Filippos Karapetis 32b4ef8199 SCI: SCI32 kernel functions kRepaintPlane and kInputText are unused 2011-10-10 12:18:12 +03:00
Filippos Karapetis 19cac9bb11 SCI21: Some initial work on kBitmap 2011-10-07 02:52:30 +03:00
Max Horn 88913c0139 ALL: Remove trailing whitespaces
This tries to make our code a bit more compliant with our code formatting
conventions. For future use, this is the command I used:
  git ls-files "*.cpp" "*.h" | xargs sed -i -e 's/[ \t]*$//'
2011-06-20 00:59:48 +02:00
strangerke 69b1485a22 GIT: Clean up: Suppress SVN tags, now useless 2011-05-12 01:16:22 +02:00
md5 0bc9db7872 SCI: Added automatic detection for several selectors
This ensures that these selectors will be detected regardless of the game
ID, when they're missing
2011-03-12 18:33:32 +02:00
Matthew Hoops be1f62af23 SCI: Add a stub for kFont which calls kSetFontRes as a subop
svn-id: r55755
2011-02-03 18:07:47 +00:00
Matthew Hoops 4d088332a2 SCI: Add support for GK1 Mac high-res fonts
svn-id: r55754
2011-02-03 15:51:51 +00:00
Filippos Karapetis 12b44f2fc0 SCI2.1: Some stubs used by SQ6
- Added a stub and some info about the (large) kScrollWindow kernel call
- Added info about kMovePlaneItems

svn-id: r55163
2011-01-08 12:28:47 +00:00
Filippos Karapetis c2acabd710 SCI2.1: Some functionality for Phantasmagoria 1 and MUMG Deluxe
- Added a stub for kSetLanguage, used in MUMG Deluxe - this needs support at the resource
manager level
- Made kGetSierraProfileInt a stub function (it's used in the Windows version of
Phantasmagoria 1 to override the video speed setting obtained from kGetConfig)

svn-id: r55161
2011-01-08 11:19:20 +00:00
Filippos Karapetis dd026268aa SCI: Fixed typo
svn-id: r55160
2011-01-08 10:34:04 +00:00
Filippos Karapetis fc83afc5f2 SCI2.1: Added/documented some functionality used by Shivers 1
- Added kFileIO subop 17 (create save slot)
- Added information about a (probably debug) kernel function used in a puzzle, kCelInfo
- Added some information on two kSave subops
- Added 2 workarounds for uninitialized variables

svn-id: r55158
2011-01-08 10:23:27 +00:00
Filippos Karapetis 1796e7afdd SCI2.1: Kernel function changes (after looking through all of the SCI2.1 games)
- Replaced the stub kWinDLL (unused), as well as the not fully implemented kPrintDebug
functions with empty function calls
- Marked several unused or debug kernel functions as stub
- Added some games where the rest of the unimplemented SCI2.1 kernel functions are used

svn-id: r55138
2011-01-07 00:12:18 +00:00
Filippos Karapetis 364d37b302 SCI: some changes to the way reverb is handled
- "Invalid" SCI reverb values (127) are properly handled now
- SCI kDoSound(reverb) sets the global reverb (renamed it accordingly)
- kDoSound(reverb) can also return the current reverb if no parameter is sent

svn-id: r54457
2010-11-24 14:21:31 +00:00
Lars Skovlund fbf5a453c7 SCI: Implement the GetConfig call for LSL7
svn-id: r54369
2010-11-19 12:46:36 +00:00
Filippos Karapetis 3d85d6804b SCI: Added a new debug command, "find_callk"
This command can be used to find the object methods (including their
corresponding objects and owner scripts) that call a specific kernel
call. This shall aid us track all the spots where a particular kernel
function is called from, therefore it'll be a bit easier to find
examples where unimplemented kernel functions are called

svn-id: r53646
2010-10-20 17:31:29 +00:00
Filippos Karapetis 8bf6777163 SCI2: some very early work on kSetShowStyle
svn-id: r52764
2010-09-17 15:19:18 +00:00
Filippos Karapetis 6cf1a4d537 SCI: Some very early work on kRemapColors (just comments/observations for now)
svn-id: r52733
2010-09-15 15:21:59 +00:00