Colin Snover
0bb4c32c50
SCI32: Minor cleanup of kernel calls
2016-03-10 14:16:56 -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
Filippos Karapetis
5125652be2
SCI32: Add a workaround for kPalVarySetPercent in GK1 (chapter change)
2016-03-02 21:43:27 +02:00
Willem Jan Palenstijn
d03ab8b716
SCI32: Revert GK1 hacks
...
Replacing a valid signature error by a warning isn't useful.
2016-03-01 11:32:02 +01:00
Filippos Karapetis
6ba31a88f0
SCI32: GK1 adds another optional parameter to kPalVarySetPercent
2016-03-01 04:12:36 +02: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
Colin Snover
2c0e64fdaf
SCI: Add short-lived kSetFontRes kernel function
...
kSetFontRes didn't exist in SCI2, showed up in SCI2.1early,
then was replaced with kFont subop 1 in SCI2.1mid.
2016-02-18 13:18:02 -06:00
Colin Snover
20ccad80bf
SCI: WIP GfxText32 code
...
This at least prevents SQ6 from crashing when going into the
introduction
2016-02-18 13:18:02 -06: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
Filippos Karapetis
f2e80ffc7f
SCI: Do not map SetScroll twice
2016-01-15 21:34:42 +02:00
Filippos Karapetis
2a4b04f3b2
SCI: Add an initial implementation of kStringTrim
...
Thanks to lskovlun for his help
2016-01-15 03:25:40 +02:00
Filippos Karapetis
fbc9fe03c0
SCI: Allow null references to kStringGetData, for Torin's Passage
...
Added a TODO for rhis, for now
2016-01-15 02:46:35 +02: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
Colin Snover
dc42a86f7e
SCI: Fix bad spacing in kernel tables
2016-01-14 16:13:22 -06:00
Filippos Karapetis
0434617018
SCI: Initialize kString properly for SCI2 games
...
SIG_UNTIL_SCI21MID did not account for SCI2 games. Fixes GK1 DOS
2016-01-08 11:37:13 +02:00
Colin Snover
70d89b3e39
SCI32: Add kSetPalStyleRange stub code
2016-01-07 16:35:09 -06: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
Willem Jan Palenstijn
58ef44eb8d
SCI: Register and save playBed option to PlaySound
...
The playBed option is not handled yet, only stored. This increases
the savegame format version.
2015-02-14 16:06:55 +01:00
Filippos Karapetis
1cbfe02bcf
SCI: Allow invalid references to kUnload() - bug #6600
...
Since the reference will be invalidated anyway by kUnload itself,
there's no real reason to check for its validity. We do the same with
kGraph() and kDisplay().
2014-08-08 02:11:49 +03:00
Martin Kiewitz
d7f26886c3
SCI: more hoyle 4 workarounds (bug #6604 )
2014-06-01 23:33:45 +02:00
Filippos Karapetis
311471c857
SCI: Fix script bug #6485 - "SCI: MUMG EGA - kStrCpy error"
2014-02-19 03:03:11 +02:00
Johannes Schickel
8fc7d60feb
SCI: Make GPL headers consistent in themselves.
2014-02-18 02:39:37 +01:00
Filippos Karapetis
9addca7287
SCI: Allow saving without a VERSION file in Jones
...
Apparently, the original does the same. Fixes bug #6535
2014-02-17 11:52:49 +02:00
Filippos Karapetis
d58c5b89b5
SCI: Fix script bug #3615120 - "SCI: Crazy Nick Laura Bow - kReadNumber signature mismatch"
2013-10-30 08:47:46 +02:00
Filippos Karapetis
182f342a01
SCI: Add 2 workarounds for script bugs in QFG4
2013-01-11 02:24:17 +02:00
Filippos Karapetis
1286710248
SCI: Fix bug #3578335 - "SCI: Mixed-Up Mother Goose EGA - crash upon choosing kid"
...
In several SCI0 games, the parameter to kDoSoundFade can be null.
We handle that case, instead of adding individual workarounds per game
2012-10-22 12:47:28 +03:00
Johannes Schickel
89abab97e3
JANITORIAL: Remove trailing whitespaces.
...
Powered by:
git ls-files "*.cpp" "*.h" "*.m" "*.mm" | xargs sed -i -e 's/[ \t]*$//'
2012-09-26 04:17:55 +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
d61c5ae529
SCI: make g_base_opcode_formats and SciOpcodes a bit more readable
2012-07-04 11:57:40 +03:00
Filippos Karapetis
d74d211479
SCI: Mark the SetScroll and SetHotRectangles kernel functions as unused
2012-07-04 02:21:08 +03:00
Filippos Karapetis
a0ad504059
SCI: Update some kernel table related comments
2012-07-04 01:06:58 +03:00
Filippos Karapetis
43224076e7
SCI: Handle the autosave call of Torin's Passage
2012-07-04 01:02:19 +03:00
Filippos Karapetis
e0a3cfd21c
SCI: FileIO subop 19 checks for directory validity
...
This is used in Torin's Passage and LSL7 when autosaving
2012-07-04 01:02:17 +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
694f0f534a
SCI: Only include kSave_subops if ENABLE_SCI32 is defined
2012-06-13 12:26:58 +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
dc11d223cd
SCI: Initial implementation of AddLine, UpdateLine, DeleteLine
2012-06-09 15:36:36 +03:00
Filippos Karapetis
de3f6a19ed
SCI: Initial implementation of kScrollWindow, used in some SCI21 games
...
This is used in LSL6 hires and SQ6. This initial implementation is hackish
and only works in SQ6 (nothing is shown in LSL6)
2012-06-07 11:27:59 +03:00
Filippos Karapetis
f15582b190
SCI: Map another missing kFileIO call
...
This is used to change directories in the save/load dialog (unused by us)
2012-05-26 16:42:38 +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
beef27fc10
SCI: Map the rarely used VibrateMouse kernel function to be an empty call
...
This is a function used to implement vibration in the floppy version of
QFG4 for exotic force feedback mice, such as the Logitech Cyberman
2012-05-24 01:44:25 +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
df0528e786
SCI: Blacklist more unused/debug SCI2.1 kernel functions
2012-01-13 22:55:09 +02:00
Willem Jan Palenstijn
0192d2f2de
SCI: Fix restarting SCI engine with different SCI version
2011-11-29 18:34:34 +01:00
Filippos Karapetis
4ac2940bc5
SCI: Added skeleton code for kEditText (still not working)
2011-10-28 22:20:33 +03:00