Commit graph

129 commits

Author SHA1 Message Date
Eugene Sandulenko
abea37c9bb
ALL: Update ScummVM project license to GPLv3+ 2021-12-26 18:48:43 +01:00
Orgad Shaneh
940c7bfc14 SCI: Use nullptr
Using clang-tidy modernize-use-nullptr
2021-11-14 15:51:59 +02:00
Paul Gilbert
0136043f09 COMMON: Revert Change Rect and Point to have int32 fields
This reverts commit 1c3e7fb4e9.
2021-07-06 20:35:42 -07:00
Paul Gilbert
1c3e7fb4e9 COMMON: Change Rect and Point to have int32 fields 2021-07-04 18:24:26 -07:00
sluicebox
9982c761a2 SCI: Update all old bug tracker ticket numbers 2021-02-25 01:18:52 -08:00
sluicebox
4ecfa0c217 SCI: Implement SCI 1.1 view scaling algorithm
Replaces a home-made scaling algorithm with Sierra's algorithm.
Views should now be scaled the same as in the original interpreter.
Discrepancies were particularly noticeable when scaling down.

Examples:
ego in KQ6 after entering room 210 from 240.
ego in LSL6 after entering room 860 from 230.
2020-12-19 22:31:38 -08:00
Willem Jan Palenstijn
2cc67cd29b SCI: Add custom palette mods for SQ3 and LSL2
This adds a devtools script to convert scifx config files from FreeSCI
into C++ code to apply the palette mods.

The actual palette mods are by Matt Hargett, and from FreeSCI.
2020-10-31 11:44:28 +02:00
Filippos Karapetis
f9744da62b Revert "SCI: Hopefully fix bug #6718 in LSL6 Polish"
This reverts commit 22aaf995ed.
2020-02-09 23:52:26 +02:00
D G Turner
d11c61db14 SCI: Fix Missing Default Switch Cases
These are flagged by GCC if -Wswitch-default is enabled.
2019-12-01 05:06:31 +00:00
Kawa-oneechan
18716672bb SCI: Split out duplicated color remapping code 2019-06-23 23:46:38 +03:00
Kawa
9aadb27267 SCI: Add some more SCI11+ features
Also gate them behind the presence of a 184.VOC resource instead of GID_CATDATE. This should not matter with regards to the remap effects -- the 2015 and 2016 demos had none, and the first that did has an unknown release status. Only the 2017 demo would fall, which would be easily fixed by dropping in a valid 184.VOC patch file.
2019-06-23 01:46:53 +03:00
sluicebox
6790855916 SCI: Handle recursive view loop references
Fixes bug #10953 in FPFP
2019-05-01 14:53:23 +03:00
Kawa
c22e8ebfd0 SCI: fix full view remap effect (#1432) 2018-12-03 22:31:23 +02:00
Kawa
ca2209cb5f SCI: Add support for The Dating Pool (#1403) 2018-12-02 22:56:19 +02:00
D G Turner
09abcc5c2c SCI: Fix Fall Through Compiler Warnings. 2018-11-13 12:10:30 +00:00
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