Commit Graph
121 Commits
Author SHA1 Message Date
Colin Snover eec95957bf SCI32: Clean up outdated/wrong comments 2016-03-20 09:33:13 -05:00
Colin Snover f4e5c6d2de SCI32: Return correct value from kSetFontHeight 2016-03-20 09:32:53 -05:00
Colin Snover 37b8bd9404 SCI32: Do not change accumulator in non-returning kernel calls
This did not cause any known bugs, but is wrong according to the
way the actual engine works.
2016-03-20 09:31:28 -05:00
Colin Snover 9335e40997 SCI32: Use signed values for displacement position 2016-03-20 09:12:43 -05:00
Filippos Karapetis 9b92960691 SCI32: Document kAddLine 2016-03-15 11:30:53 +02:00
Filippos Karapetis 16a7bcb0c3 SCI32: Implement kBitmapSetDisplace 2016-03-15 11:29:24 +02:00
Colin Snover 3a067f3b79 SCI32: Implement kBitmapDrawColor 2016-03-14 19:49:33 -05:00
Colin Snover 3f2469c33e SCI32: Implement kCelInfo 2016-03-13 23:38:26 -05:00
Colin Snover 362b46259f SCI32: Implement kCelHigh and kCelWide SCI32 versions
The SCI16 versions do not implement the scaling algorithm used
by SCI32 so would be off by one in some cases.
2016-03-13 12:40:16 -05:00
Filippos Karapetis 3a770fa0d8 SCI32: Initial implementation of kRemapColors
applyRemap() is still not finished, so nothing is actually visible yet
2016-03-11 05:10:32 +02:00
Colin Snover 8dea740086 SCI32: Implement kMovePlaneItems 2016-03-10 18:28:53 -06:00
Colin Snover 0bb4c32c50 SCI32: Minor cleanup of kernel calls 2016-03-10 14:16:56 -06:00
Colin Snover eac416f480 SCI32: Implement kCantBeHere 2016-03-10 10:38:07 -06:00
Filippos Karapetis aa69563f8a SCI32: Disable kRemapColors32, as SCI32 remapping is still incomplete 2016-03-08 20:36:02 +02:00
Colin Snover a2e9cc4965 SCI32: Clean up kIsOnMe and fix rounding bug
The implementation was not correctly rounding the scaled position
with mulru, leading to occasionally incorrect hit detection at
the boundaries of boxes.
2016-03-08 10:29:05 -06:00
Colin Snover b9fa04c201 SCI32: Implement kBitmapDrawText 2016-03-07 20:51:06 -06:00
Colin Snover 73eea88939 SCI32: Move in-memory bitmap read/write into its own class 2016-03-07 20:51:06 -06:00
Colin Snover 1337cd3dec SCI32: Implement kEditText 2016-03-06 21:34:43 -06:00
Colin Snover 445980f010 SCI32: Fix misidentification of createFontBitmap(CelInfo &) 2016-03-03 21:29:53 -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 b6a7d8c6a5 SCI32: Minor consistency improvement to FrameOut 2016-03-02 14:02:49 -06: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 03754d4127 SCI32: Warn when the unhandled parameter is set in kPalVarySetPercent 2016-03-01 04:21:09 +02: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
Martin Kiewitz 7b9c15634f SCI32: Use debugC instead of debugCN for debug output 2016-02-21 14:20:11 +01:00
Martin Kiewitz edd1efb049 SCI32: Add debug output to Add/Update/DeleteScreenItem+Planes
debugflag Graphics
level 6 for Add+Delete
level 7 for Update
2016-02-21 14:14:11 +01:00
Martin Kiewitz 0941dcdb67 SCI32: Add a bit more debug info to errors + screenitems 2016-02-21 13:59:17 +01:00
Martin Kiewitz a1246901ee SCI32: Change kAddLine to use kStubNull b/c signatures 2016-02-20 16:27:59 +01:00
Martin Kiewitz 19283b94a9 SCI32: Some work on kIsOnMe
Plenty of hotspots seem to work now
Not fully done yet
2016-02-20 05:38:22 +01:00
Filippos Karapetis 62ae61dd22 SCI: Silence false positive warnings by MSVC 2016-02-19 02:36:12 +02:00
Colin Snover 766cf6cee7 SCI: Fix too-fast rendering
Now that the renderer is loading resources without spinning CPU time
on decompression every frame, it becomes apparent that kFrameOut is
spammed constantly by the interpreter and needs to be throttled to
ensure that transitions and fades work properly.
2016-02-18 13:18:03 -06:00
Colin Snover 03e3f2c68c SCI: Fix some rect off-by-ones 2016-02-18 13:18:03 -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
Colin Snover 75ccabc325 SCI: Implement accurate renderer architecture for SCI32 2016-02-18 13:18:02 -06:00
Colin Snover 5b6b20f421 SCI: Fix SCI32 kPalVary subops 1, 4, 5, 7, 8, 9 using wrong indexes 2016-01-20 16:12:56 -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
Colin Snover 8a1d48fc03 SCI32: Add kFrameOut stub code 2016-01-07 16:35:09 -06:00
Colin Snover 70d89b3e39 SCI32: Add kSetPalStyleRange stub code 2016-01-07 16:35:09 -06:00
Colin Snover aeee621e44 SCI32: Add initial support for palette cycling (kPalCycle) and fading (kPalFade)
Graphics palette code was rewritten between SCI1 and SCI2, so
SCI32 palette engine code has been moved to a separate GfxPalette32
class.
2016-01-07 16:35:09 -06:00
Johannes Schickel 8fc7d60feb SCI: Make GPL headers consistent in themselves. 2014-02-18 02:39:37 +01:00
Filippos Karapetis ed400d57fc SCI: Fix NS rect calculation in GK1 (and SCI32 in general)
This fixes the regressions caused by refactoring in SCI32. Thanks to
Timo Korvola for tracking down the issue and providing an initial
patch in bug #6452
2014-02-17 12:00:17 +02:00
Filippos Karapetis 566eb5d247 SCI: Add some info on kPalVary(9)/kPalVaryUnknown2 2013-01-11 02:24:17 +02: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
Willem Jan Palenstijn 3dad5e55e2 SCI32: Add more KScrollWindow notes 2012-12-31 21:51:46 +01:00
Willem Jan Palenstijn 8ff034ef94 SCI32: Add more KScrollWindow notes 2012-12-30 16:12:47 +01:00
Willem Jan Palenstijn 704eb425d3 SCI32: Add notes about KScrollWindow/Where,Go 2012-12-30 13:57:08 +01:00