Willem Jan Palenstijn
65861bb914
SCI: Change workaround for PalVary / Animate race condition
...
The new approach is to delay kAnimate briefly (with an 68ms timeout)
while there is a zero-tick PalVary running, so that it has time to
trigger.
The previous workaround would immediately process a zero-tick
PalVaryInit/PalVaryReverse. This caused problems in QfG3 (bug #10304 )
where it interfered with PalVaryPause.
The previous workaround could also be modified to handle pause/resume,
but this new approach should be closer to SSCI's behaviour, which used a
timer for a zero-tick PalVary too.
This fixes bug #10304 , and keeps #5298 fixed too.
2018-04-22 22:54:18 +02:00
Colin Snover
31daa956d6
SCI: Implement bounds-checked reads of game resources
2017-03-27 19:42:31 -05:00
Colin Snover
4cfc387602
SCI32: Split GfxPalette and GfxPalette32 + HunkPalette
2016-07-11 10:39:50 -05:00
Filippos Karapetis
f450ca0ebf
SCI: Split color remapping functionality into a separate class
...
Currently, only the SCI16 remapping functionality is implemented
(used in the QFG4 demo)
2016-03-08 20:36:03 +02:00
Colin Snover
8224d32122
SCI: Implement SCI32 kPalette findColor and matchColor
...
It seems that findColor is used only by kPalette, and matchColor is
used only by Remap.
2016-01-14 17:21:05 -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
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
Martin Kiewitz
28967b617f
SCI: properly reversed color matching thanks wjp
2014-10-28 22:37:57 +01:00
Martin Kiewitz
f317e8c877
SCI: implement 8-bit color matching SCI1.1 bug
...
effectively fixes bug #6455
thanks to wjp and [md5]
2014-10-28 01:40:40 +01:00
Johannes Schickel
8fc7d60feb
SCI: Make GPL headers consistent in themselves.
2014-02-18 02:39:37 +01:00
Filippos Karapetis
fb0788d12f
SCI: Properly reset the palVary signal when loading (bug #3575569 )
2012-11-15 14:57:55 +02:00
Filippos Karapetis
3b5e92d4f3
SCI: Fix bug #3575569 - "SCI: QFG1VGA: Palette/hue bug after loading"
...
We make sure that any leftover palVary timers are removed when
loading. This is an edge case, but it won't hurt to remove these
timers just in case
2012-11-07 18:11:09 +02:00
Filippos Karapetis
7d436622a8
SCI: More work on kRemapColors
...
This implements some more color remap-based palette effects, found in QFG4
2012-08-21 03:32:23 +03:00
Filippos Karapetis
537b1969bf
SCI: Rewrite the color remapping code to support simultaneous effects
...
Fixes the torch in the full version of QFG4
2012-07-25 00:58:16 +03:00
Filippos Karapetis
fe3fb1873c
SCI: Cleanup of the palette remapping code
2012-07-24 22:54:37 +03:00
Filippos Karapetis
6f35130204
SCI: More work on color remapping
...
More transparency/color mapping effects are now working (e.g. the
flashlight at the Gedde tomb in GK1, the rays of light at Schloss Ritter
in GK1, the torch in the QFG4 demo and the shadows in QFG4, PQ4 and KQ7)
2012-07-24 22:34:46 +03:00
Filippos Karapetis
3d395545cb
SCI: Remove unused variables
2012-07-24 04:07:08 +03:00
Filippos Karapetis
bd281928cb
SCI: Initial implementation of kRemapColors(kRemapByPercent)
...
Fixes some graphics glitches in the QFG4 demo and the menus of QFG4, by
implementing one of the transparency effects used mainly in SCI32.
Many thanks to fuzzie for her debugging info on QFG4 demo and to wjp for
his great help on the dissassembly
2012-07-24 03:53:44 +03:00
Filippos Karapetis
935eaa175b
SCI: Move the palette merging checking code inside the GfxPalette class
2011-10-19 23:52:51 +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
d95b5331fb
SCI: Some palette related changes
...
- Moved palette color count inside the GfxPalette class
- Enabled all of the kPalette subops for 16 color SCI1 games, apart from
the ones for intensity palette animation, and palette resource loading
- Removed isVGA() and isAmiga32color() methods from the resource manager -
they ended up in having inconsistent code
2011-03-04 22:04:13 +02:00
Matthew Hoops
266806d892
SCI: Fix Mac icon bar palettes
...
The Mac icon bar uses a palette from the executable and keeps those entries in the palette constantly.
In addition, we're now performing gamma correction on the Mac-based colors so that they are in the same gamma as SCI. The color matching now works with this and using the same color finding as the Mac Palette Manager.
2011-02-17 13:38:23 -05:00
Matthew Hoops
dbc6910eae
SCI: Add support for Phantasmagoria 2 CLUT resources
...
My test of ising the clut associated with the intro video produced a decent quality color conversion. This is not yet hooked up to the video player.
2011-02-13 17:29:15 -05:00
Filippos Karapetis
04748b1744
SCI: Fixed compilation
...
svn-id: r55813
2011-02-07 18:32:42 +00:00
Martin Kiewitz
c422e39bf8
SCI: implemented kPalette(save/restore)
...
svn-id: r51381
2010-07-27 17:51:44 +00:00
Filippos Karapetis
3aa4f76ee4
SCI: Now saving the kPalVary state inside savegames
...
svn-id: r51194
2010-07-23 07:36:55 +00:00
Martin Kiewitz
c77c84f5c5
SCI: also sync palette after playing movies, fixes kq6 intro
...
svn-id: r50798
2010-07-11 10:11:31 +00:00
Martin Kiewitz
c6b0a5e896
SCI: detect, if SCI1.1 game is merging or copying palette instead of using gameIds. Also prints method used, when using debug command "version"
...
svn-id: r50261
2010-06-25 10:04:31 +00:00
Martin Kiewitz
f0145e6dcd
SCI: implementing boundary checking for GfxPalette::createFromData(), sq5 has a broken picture 0 resource, which would result in either crash or at least bad read from memory depending on whats read there
...
svn-id: r50178
2010-06-23 11:47:14 +00:00
Martin Kiewitz
079e5c3135
SCI: fixed typo
...
svn-id: r50154
2010-06-22 17:13:44 +00:00
Martin Kiewitz
9ca43423b4
SCI: kPalVary(SetTarget) implemented
...
svn-id: r50153
2010-06-22 17:05:00 +00:00
Martin Kiewitz
6f195ae5a4
SCI: implemented kPalVary(changeTicks)
...
svn-id: r50100
2010-06-20 21:12:15 +00:00
Martin Kiewitz
4a83b2c5f6
SCI: properly implement kPalVary functionality within kDrawPic and transitions, so pharkas finally works w/o palette corruption
...
svn-id: r50099
2010-06-20 20:52:31 +00:00
Martin Kiewitz
3c6639eb86
SCI: implemented kPalVary(reverse) for pharkas, although there is a bug somewhere, not working 100%
...
svn-id: r50089
2010-06-20 18:20:05 +00:00
Martin Kiewitz
7ecff0a300
SCI: implementing kPalVary(2)
...
svn-id: r50085
2010-06-20 17:08:39 +00:00
Martin Kiewitz
b016c16300
SCI: some kPalVary support - intro of island dr. brain works fine now
...
svn-id: r50082
2010-06-20 16:31:24 +00:00
Martin Kiewitz
7ce739f51b
SCI: kPalVary - cleanup and some more code
...
svn-id: r50081
2010-06-20 15:01:31 +00:00
Martin Kiewitz
30f6e7824b
SCI: update sys palette timestamp only on kDrawPic in SCI1.1, fixes intro of island of dr. brain
...
svn-id: r50077
2010-06-20 13:25:08 +00:00
Martin Kiewitz
871c9bddde
SCI: removing unneeded parameters inside SciPalette, cleanup of SciPalette
...
svn-id: r50076
2010-06-20 13:15:45 +00:00
Martin Kiewitz
36ca2ce421
SCI: some cleanup for kPalVary
...
svn-id: r50074
2010-06-20 12:21:57 +00:00
Martin Kiewitz
00ac852dc8
SCI: implement workaround for laura bow 2 demo, because that interpreter uses the old real palette merging from sci1 - some views contain a palette that has all colors marked as being used, which would overwrite sysPalette with blacks
...
svn-id: r49936
2010-06-17 16:06:01 +00:00
Martin Kiewitz
dc8b826f5e
SCI: set default palette after initializing music driver, fixes palette getting messed up when using mt32 emulation
...
svn-id: r49523
2010-06-08 22:00:59 +00:00
Martin Kiewitz
bc311445f8
SCI: change actual setting of palette, fixes gk1 palette issue when talking to grace indirectly caused by r47955, seems to also fix jones palette issue, could cause regressions
...
svn-id: r48474
2010-04-02 18:48:17 +00:00
Martin Kiewitz
ed2a3f1f16
SCI: set screen palette only when it got changed during merge (performance only change)
...
svn-id: r47955
2010-02-07 12:13:34 +00:00
Martin Kiewitz
749b0ea237
SCI: added dummy assertpalette to GfxPalette, setting destination palette immediately on kPalVary(start) call
...
svn-id: r47953
2010-02-07 12:00:06 +00:00
Martin Kiewitz
ab2941bb52
SCI: adding some minor documentation for the various graphic classes
...
svn-id: r47904
2010-02-05 15:48:45 +00:00
Filippos Karapetis
0d85b39468
Moved the PalVary code inside the GfxPalette class
...
svn-id: r47893
2010-02-04 23:17:33 +00:00
Martin Kiewitz
b21255509a
SCI: remove classname from header to fix build
...
svn-id: r47754
2010-01-31 16:29:02 +00:00
Martin Kiewitz
7184fa3bad
SCI: renamed kernelFind() to kernelFindColor, so that it isnt that confusing :P
...
svn-id: r47753
2010-01-31 16:26:15 +00:00