51 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
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
Colin Snover
719160d494 SCI32: Fix assertion failures in LSL6 hires caused by bad rects
LSL6 hires sends rectangles to kernel calls that have negative
dimensions. SSCI did not care about this and would simply accept
these invalid rects, so we do the same, at least for now.
2016-05-25 19:16:11 -05:00
Colin Snover
430d5be5bf SCI32: Add note about kCantBeHere rect 2016-03-13 13:28:14 -05:00
Colin Snover
7105fb23a8 SCI32: Use correct name of kCantBeHere kernel function
Only updating SCI32 names here due to not knowing about the
correctness of the SCI16 code.
2016-03-10 18:31:10 -06:00
Colin Snover
41b3d9ff46 SCI32: Use separate function for SCI32 version of kCantBeHere
Requested by @m-kiewitz.
2016-03-10 18:28:53 -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
Filippos Karapetis
138c19f06f SCI32: Remove two hacks for Torin, and document what happens instead 2016-02-27 15:00:55 +02: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
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
Max Horn
51bde6ced5 SCI: Remove a bunch of unused private member variables
All instances uncovered by clang warnings.
2013-04-18 23:50:20 +02:00
Filippos Karapetis
513d0be106 SCI: Merged all the code to get/set the NS rect 2011-10-19 20:29:05 +03:00
Filippos Karapetis
bfa26ffc44 SCI: Reverted commit db7dea3
The original check was correct, and the associated MG bug (#3049515) has
actually been fixed with another commit.

Fixes bug (regression) #3315639 - "Character Glitches in KQ4 SCI".
Many thanks to waltervn and wjp for their help on this
2011-06-13 16:43:04 +03:00
strangerke
69b1485a22 GIT: Clean up: Suppress SVN tags, now useless 2011-05-12 01:16:22 +02: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
md5
a01395bb45 SCI: Cleaned up and segmented the animate code in order to make it a bit more readable 2011-02-23 13:28:17 +02:00
md5
db7dea36cf SCI: Fixed bug #3049515 - "MOTHERGOOSE CD: Tommy Tucker lock-up" 2011-02-23 01:49:17 +02:00
Matthew Hoops
c62e507890 SCI: Fix GK1 Mac scaling
svn-id: r55744
2011-02-02 22:29:14 +00:00
Martin Kiewitz
5ba3475f93 SCI: fixing kBaseSetter on scaled views
adding check, if view is scaleable
also just copying nsRect now instead of recalculating - fixes lb2 regression at the docks (calling taxi hangs the game, bug #3982289) - i noticed this difference before but copying nsRect didnt work back then (i guess because of other bugs), that's why i recalculated it

should get backported, but only after some more testing - maybe someone should play through lb2 again

svn-id: r53045
2010-10-07 11:25:09 +00:00
Martin Kiewitz
fc3dfd1bf7 SCI: adding comment about invalid rect return val
svn-id: r52444
2010-08-29 18:19:11 +00:00
Filippos Karapetis
087a15ae0e SCI: Fixed bug #3049146 - "MOTHERGOOSE CD: Rooms 7, 23 crash", merged some similar workaround entries and added a comment for invalid rects received in kCan(t)BeHere
svn-id: r52223
2010-08-20 10:49:01 +00:00
Martin Kiewitz
adc243c5ac SCI: changing kBaseSetter behaviour when scaled
fixes lb2 docks issue (bug #3036306)

svn-id: r51835
2010-08-07 15:02:08 +00:00
Martin Kiewitz
d013be51e5 SCI: reverting part of r51361
breaks qfg3 right after intro

svn-id: r51363
2010-07-27 11:18:51 +00:00
Martin Kiewitz
114f4dfb0a SCI: adding scaling code in kBaseSetter
and fixing palVary timer crash when exiting engine during palVary processing

svn-id: r51361
2010-07-27 11:11:47 +00:00
Martin Kiewitz
b3949cf4be SCI: sci32 coord adjustment changes
- fixes lsl6hires inventory

svn-id: r51275
2010-07-25 16:31:46 +00:00
Matthew Hoops
9dcbff7259 SCI: Hopefully fix compilation when ENABLE_SCI32 is not defined
svn-id: r51164
2010-07-22 20:38:28 +00:00
Martin Kiewitz
54c516b3bf SCI: kSetNowSeen sci2.1
fixes hotspots

svn-id: r51085
2010-07-21 12:41:17 +00:00
Martin Kiewitz
ddd01ffcb6 SCI: some big changes to kCantBeHere - kCantBeHere returns the actual "problem" instead of being a plain boolean - part of solving lsl1 casino door / qfg1vga gate
svn-id: r50919
2010-07-15 19:23:18 +00:00
Martin Kiewitz
1287e6f252 SCI: adjust brRect and nsRect, if sci2 hires views are used, fixes hotspots in gk1
svn-id: r50536
2010-06-30 15:44:26 +00:00
Max Horn
9f48a37671 SCI: Add const qualifiers to many GfxView methods and their return values.
This helps to ensure proper data encapsulation.
Also reformatted some overlong comments to 80 chars per line, and
fixed some other code formatting issues.

svn-id: r50421
2010-06-28 11:20:14 +00:00
Filippos Karapetis
0a102981f0 Moved the SelectorCache struct inside selector.h, where it belongs, and fixed some header dependencies in the process
svn-id: r50183
2010-06-23 15:23:37 +00:00
Filippos Karapetis
eb4ec596cd Use the SELECTOR() macro for readability
svn-id: r49563
2010-06-10 09:18:57 +00:00
Filippos Karapetis
67de5b1bd3 Mass renaming of selector-related functions, and removed some defines which were just cloaking functions with a different name
- GET_SEL32 -> readSelector
- GET_SEL32V -> readSelectorValue
- PUT_SEL32 -> writeSelector
- PUT_SEL32V -> writeSelectorValue
Also, changed some selector-related function names and variables to CamelCase

svn-id: r49317
2010-05-29 23:37:15 +00:00
Martin Kiewitz
59a255226f SCI: SCI_SCREEN_MASK_* now GFX_SCREEN_MASK_*, using enum - added new enum GFX_SCREEN_UPSCALED_*
svn-id: r49039
2010-05-15 08:57:13 +00:00
Martin Kiewitz
d22d8f910a SCI: added warning when getting invalid rect in kCan(t)BeHere
svn-id: r48102
2010-02-21 09:52:44 +00:00
Filippos Karapetis
43ca6071ea Handle invalid rects in kCanBeHere(). Fixes some odd crashes in Iceman
svn-id: r48098
2010-02-21 00:50:27 +00:00
Filippos Karapetis
2cfa5e428c Mark the sanity checks inside kernelSetNowSeen and kernelBaseSetter as hacks
svn-id: r47932
2010-02-06 16:30:32 +00:00
Filippos Karapetis
b12437bbfc Don't try and manipulate invalid views (i.e. views with view ID -1/65535, which are most likely the currently missing dynamically constructed text views). Torin chapter 1 starts now (and dies shortly afterwards, but that's a different issue)
svn-id: r47930
2010-02-06 15:58:59 +00:00
Martin Kiewitz
c7cbb80dc4 SCI: removing int8 from kernelSetNowSeen() as well, didnt make any sense :P
svn-id: r47923
2010-02-05 23:17:39 +00:00
Martin Kiewitz
bf82c49ce4 SCI: removing int8 inside kernelSetNowSeen as well, didnt make any sense :P
svn-id: r47922
2010-02-05 23:14:46 +00:00
Max Horn
4be44fe9a2 SCI: Get rid of the mysterious sign_extend_byte() and replace it by a simple cast ;)
svn-id: r47921
2010-02-05 22:56:27 +00:00
Max Horn
b0b89e788b SCI: Document GfxCompare::canBeHereCheckRectList; pass Common::Rect by ref
svn-id: r47920
2010-02-05 22:56:05 +00:00
Max Horn
d2871f925a SCI: Add comment to GfxCompare::canBeHereCheckRectList
svn-id: r47919
2010-02-05 22:55:41 +00:00
Max Horn
f86618f92b SCI: Add a 'SELECTOR' macro
svn-id: r47918
2010-02-05 22:55:18 +00:00
Martin Kiewitz
248bc560f3 SCI: moved onControl etc. into GfxCompare, now getting called directly. also fixed loading saved games due Gfx* changes
svn-id: r47912
2010-02-05 20:44:03 +00:00
Martin Kiewitz
cabd18da9e SCI: renaming class View to GfxView
svn-id: r47891
2010-02-04 22:17:58 +00:00
Martin Kiewitz
72c2d360f7 SCI: renamed SciPalette to GfxPalette, Screen to GfxScreen, GfxPalette is now called directly w/o SciGui
svn-id: r47752
2010-01-31 16:21:11 +00:00