Commit graph

114 commits

Author SHA1 Message Date
Colin Snover
a4eb6a5ca5 SCI: Remove old SCI32 view scaling code from SCI16 graphics code 2017-09-27 20:27:34 -05:00
Colin Snover
76806732e0 SCI: Remove Mac SCI32 code from SCI16 code 2017-09-24 22:56:58 -05:00
Martin Kiewitz
5c901afad5 SCI: LB2-Dual mode: Change "DUAL" button to "BOTH"
Now it says "BOTH", just what the button in SQ4 says as well.
2017-09-16 13:26:41 +02:00
Martin Kiewitz
1504f41706 SCI: KQ6-Dual mode: Change "DUAL" button to "BOTH"
Now those say "BOTH", just what the button in SQ4 says as well.
2017-09-16 00:34:15 +02:00
Willem Jan Palenstijn
388419c53c SCI: Ignore priority and transparency for KQ6 hi-res views
This fixes bug 9786. Thanks to m_kiewitz for verifying with disasm.
2017-05-15 22:03:25 +02:00
Colin Snover
532828c143 SCI: Remove old SCI32 check from SCI16 drawing code 2017-03-27 19:42:31 -05:00
Colin Snover
6600fb77ea SCI: Use containers in GfxView and remove some SCI32 code 2017-03-27 19:42:31 -05:00
Colin Snover
31daa956d6 SCI: Implement bounds-checked reads of game resources 2017-03-27 19:42:31 -05:00
Colin Snover
4e1a9be816 SCI32: Remove CoordAdjuster32, at least for the moment
This may come back in the future to deduplicate some gfx code,
but SCI32 had two different inlined ways of doing coordinate
conversions with different rounding methods, so CoordAdjuster32
didn't get used when the graphics system was rewritten.

At the moment, SCI32 code uses the mulru/mulinc methods from
helper.h for scaling up/down coordinates.
2016-08-19 15:23:10 -05:00
Filippos Karapetis
75527e3df5 SCI32: Remove getColorAtCoordinate()
The only calling code for this was removed in commit 3f2469c33e
2016-03-16 01:51:06 +02: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
Martin Kiewitz
82165bb6f6 SCI: Improve kAnimate fastcast detection, Remove EQ1 hack
- Add "kAnimate fast cast state" to "version" debug command
- Make it possible for script patcher signatures to get fully
used outside of the regular script patcher
- Remove previous fastcast detections and replace them with
a signature heuristic
- Remove object name checking, when fastcast global is set
- Heuristic detects "fast cast" support incorrectly for multilingual
KQ5, but it seems the game never sets the global, so it won't
matter. KQ5 CD (also SCI1 late) has fastcast support.
- Remove hack in GfxView::draw
- Add lots of comments to ScriptPatcher class

This fixes EcoQuest 1 Floppy showing the anemone on top of the
message box (see bug #5170)
2016-02-23 20:17:18 +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
Filippos Karapetis
9783f0bbd9 SCI: Remove trailing whitespace 2014-10-28 16:17:06 +02:00
Filippos Karapetis
22aaf995ed SCI: Hopefully fix bug #6718 in LSL6 Polish
View flags are mainly used by LB2. The flag in the LSL6 view seems to
be garbage, so we ignore it
2014-10-18 16:03:50 +03:00
Johannes Schickel
8fc7d60feb SCI: Make GPL headers consistent in themselves. 2014-02-18 02:39:37 +01:00
Martin Kiewitz
a4bde6dade SCI: injecting "dual" view into King's Quest 6 CD
for dual mode (text+speech at the same time)
2013-12-24 23:31:17 +01:00
Martin Kiewitz
a72d7d3932 SCI: injecting "dual" view into Laura Bow 2 CD
for dual mode (text+speech at the same time)
2013-12-24 22:24:42 +01: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
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
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
c424c22f19 SCI: Fix bug #3040625 - "SCI: ECOQUEST French/German: Speech balloon graphic glitch"
This bug is caused by the fact that the sprites in that scene and the
speech bubble share the same priority, so we compensate for that with a
workaround
2012-05-11 12:54:06 +03:00
Matthew Hoops
ba798e250d SCI: Add support for slater mac 2011-11-16 17:56:12 -05:00
Filippos Karapetis
228c4fb286 SCI: Added a hack to fix bug #3035693 - "SCI: QFG3 demo: Rope swinging more heroic than ever" 2011-10-20 00:47:53 +03:00
Heather Douglass
084b2deccc SCI: Implementation of kCelInfo subop 4
kCelInfo subop 4 returns the pixel color at the
passed in x,y coordinates for the passed in view,
loop, cel.  Shivers uses this function for the
red door puzzle, room 23601 to determine what
blocks on the puzzle board are already occupied
by pieces.
2011-10-12 02:50:28 +03:00
Filippos Karapetis
43fb9d32b5 SCI: Code formatting 2011-09-26 20:02:32 +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
Willem Jan Palenstijn
9e2c7f26d2 SCI: Treat all priorities above 15 as none
Before only 255 was treated this way. This fixes part of the broken
dialog boxes in Jones CD (bug #3297111) which use priority 254,
and matches Jones CD disassembly.
2011-06-12 20:25:46 +02:00
strangerke
69b1485a22 GIT: Clean up: Suppress SVN tags, now useless 2011-05-12 01:16:22 +02:00
Matthew Hoops
2a2c7f5bef SCI: Minor cleanup 2011-03-30 16:00:46 -04:00
Lars Skovlund
40d922206b SCI32: Support for views with 640x400 native resolution
(fixes Wolfgang closeup, room 720)
2011-03-30 21:30:51 +02:00
Matthew Hoops
e1883a6cf4 SCI: Limit SCI32 view scaling to when we're actually scaling
Fixes bug #3253208
2011-03-29 10:56:19 -04:00
Matthew Hoops
2cbcc76789 SCI: Fix uncompressed SCI1.1 views
A regression from d2ad7898d9
2011-03-10 18:45:51 -05:00
md5
24df295328 SCI: Made some checks inside unditherBitmap() more understandable 2011-03-10 21:50:06 +02:00
md5
91d2d04f90 SCI: Some renaming related to the undithering code
Renamed some variables, functions and comments related to the
undithering code, to make them a bit easier to understand
2011-03-10 18:05:59 +02:00
md5
cd816b24d7 SCI: Whitespace fixes 2011-03-09 15:14:12 +02:00
md5
7e517b7808 SCI: Some cleanup and fixes to the view unpacking code
- Added comments for all the different view unpacking algorithms
- Merged the SCI1 VGA and SCI1.1 VGA unpacking code
- Fixed views in Longbow Amiga (the palette is still broken, though)
- Used memset()/memcpy() instead of looping through
- Fixed a regression of rev. d2ad789 (LSL1 Spanish, bug #3135872)
2011-03-09 15:06:42 +02:00
md5
4ddc66d68e SCI: Initial handling of the views in Longbow Amiga. Still not right 2011-03-07 13:23:52 +02:00
Matthew Hoops
adfa5e1b86 SCI: Fix Mac SCI1.1 view decompression
A regression from d2ad7898d9
2011-03-06 12:46:01 -05:00
md5
d2ad7898d9 SCI: Merged the cel data unpacking code for views and pictures 2011-03-06 19:22:32 +02:00
md5
5b9677da72 SCI: Cleaned up some view type checks 2011-03-04 22:04:12 +02:00
md5
ef939772b3 SCI: Added support for 16/32 color view and picture patches
16 color patches (*.p16 and *.v16) are used in 16 color EGA SCI1 games
32 color patches (*.p32 and *.v32) are used in 32 color Amiga SCI1 games
Removed a workaround for SCI1 EGA (bug #3044500), as that bug has been
fixed already in the view patch. Thanks to waltervn for observing this.
2011-03-04 17:16:54 +02:00
md5
72f65b3946 SCI: Renamed SCI_VERSION_1_EGA to SCI_VERSION_1_EGA_ONLY
This renaming allows us to better distinguish that this version is for games
that only had an EGA version, and avoid confusion with newer SCI1 game releases
with EGA graphics (e.g. KQ5 EGA). The only game with this SCI version is QFG2,
a SCI1 EGA game with a parser. Also, added some games for each SCI version.
2011-02-27 16:48:53 +02:00
md5
ab256842e4 SCI: Added a TODO concerning the workaround for SQ1EGA, as we don't know if it happens in the original version 2011-02-26 18:47:23 +02:00
md5
8bd01f69b2 SCI: Added a workaround for script bug #3044500 - "SQ1EGA: Skimmer-Buyer Dialogue Portrait Backwards Anim" 2011-02-24 16:35:19 +02:00
md5
ae88f41596 SCI: Slight cleanup 2011-02-20 12:20:40 +02:00
Matthew Hoops
631d2de745 SCI: Fix Mac SCI1 view transparency
This was a regression from r55825.

svn-id: r55868
2011-02-10 15:12:06 +00:00
Matthew Hoops
85f8dc5dee SCI: Add detection for Freddy Pharkas Mac
svn-id: r55828
2011-02-08 15:03:23 +00:00
Walter van Niftrik
8f3324f6ba SCI: Do not flip clearKey for Mac SCI1.1+ views.
svn-id: r55825
2011-02-08 14:26:39 +00:00
Matthew Hoops
8b19704771 SCI: Fix Mac SCI1.1+ view white/black/transparency
Since Mac OS required black to be at 0xff and white to be at 0x00, the original Sierra programs had to hack around that in various sections of the code to keep things in line with the PC versions. We're changing the view pixels instead so we only have to change in one location.

svn-id: r55823
2011-02-08 05:01:42 +00:00