76 Commits

Author SHA1 Message Date
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
Matthew Hoops
c62e507890 SCI: Fix GK1 Mac scaling
svn-id: r55744
2011-02-02 22:29:14 +00:00
Matthew Hoops
24e983610d SCI: Fix GK1 Mac views, the game now starts
svn-id: r55721
2011-02-02 15:33:33 +00:00
Matthew Hoops
1ac0680a77 SCI: Fix SCI1.1+ Mac views with uint16 rle lengths (thanks, Walter)
svn-id: r55705
2011-02-01 03:50:29 +00:00
David Turner
58b7295193 SCI: Fixed View Cel RLE Decoding when RLE Code 0x40 is used (Corrects Bug #3135872 "LSL1VGA: "Pause Game" problem")
In the copy case, the runLength can be up to 127, not 64 i.e. the LSB of the RLE code forms part of the runLength.

svn-id: r54924
2010-12-15 22:36:55 +00:00
Filippos Karapetis
c8ef70ea1c SCI: Some minor fixes for Phantasmagoria 2 (which doesn't work at all, since it has some differences in its views)
svn-id: r54390
2010-11-20 00:20:05 +00:00
Martin Kiewitz
d078a4d235 SCI: fix gfx issues when giving out cards hoyle4
bit 2 actually triggers special drawing of cels in sierra sci

svn-id: r53855
2010-10-26 20:19:17 +00:00
Martin Kiewitz
ffbca0786d SCI: fixing iceman undithering door close-up
room 9 (go up right at the start)

svn-id: r53522
2010-10-15 22:19:27 +00:00
Martin Kiewitz
9cc51096c0 SCI: updating comment for r53515
svn-id: r53517
2010-10-15 21:16:36 +00:00
Martin Kiewitz
41e9691e86 SCI: fixing view-undithering for laura bow 1
(cupboards in room 43, just in the room to the left from the start)

svn-id: r53515
2010-10-15 21:12:42 +00:00
Martin Kiewitz
af46e0fdc0 SCI: disabling EGA mapping after sci1ega
fixes vga conversion games graphic glitches, some views have bad mapping tables

svn-id: r52218
2010-08-19 22:21:03 +00:00
Martin Kiewitz
d154361e89 SCI: improving comment about r51955
svn-id: r51956
2010-08-10 18:05:04 +00:00
Martin Kiewitz
9be20d5f0a SCI: adding displaceY adjust for sci1.1 views
sierra sci did this in their getCelRect(), we are doing it while loading, fixes laura bow not appearing in taxi (bug #3041220)

svn-id: r51955
2010-08-10 18:00:27 +00:00
Martin Kiewitz
09f4562551 SCI: adding non-scaleable view capability
fixes laura bow 2 (especially floppy but CD is also affected somewhat by this)

svn-id: r51660
2010-08-02 21:04:09 +00:00
Martin Kiewitz
adde79f1cb SCI: fixing regression of r51520
svn-id: r51580
2010-08-01 16:43:49 +00:00
Martin Kiewitz
fd7bc29536 SCI: adjusting inside view::getCelRect for sci0early
fixes cels being placed wrongly, sci0early didnt have the z adjust.

svn-id: r51537
2010-07-31 13:13:46 +00:00
Martin Kiewitz
9deb52fba6 SCI: fixing stupid typo
svn-id: r51533
2010-07-31 07:37:06 +00:00
Martin Kiewitz
062d9eedce SCI: fixing view scaling code
fixes crash in sq5 with elevator on goliath

svn-id: r51520
2010-07-30 22:44:23 +00:00
Martin Kiewitz
d5ced8ab9e SCI: using coordadjuster in GfxView
svn-id: r51276
2010-07-25 16:37:36 +00:00
Martin Kiewitz
2047e75d2b SCI: kCelWide/kCelHigh now adjust on hires views
somewhat fixes gk1 hires inventory issue

svn-id: r51245
2010-07-24 15:15:38 +00:00
Martin Kiewitz
bcc010a56e SCI: remove some duplicate code
svn-id: r50535
2010-06-30 15:26:45 +00:00
Martin Kiewitz
4e999c8295 SCI: support for hires views in gk1
svn-id: r50533
2010-06-30 14:26:47 +00:00
Filippos Karapetis
3a2ac994d4 Handle empty clip rectangles in GfxView::drawScaled(). Fixes an assert in the first room of the game
svn-id: r50503
2010-06-29 20:13:57 +00:00
Martin Kiewitz
473c429b5c SCI: updated comment about transparent pixels in views
svn-id: r50454
2010-06-28 18:10:21 +00:00
Martin Kiewitz
06648cb186 SCI: fix regression of r50422, please no refactoring without proper testing - fixes animations in all sorts of games
svn-id: r50451
2010-06-28 16:56:15 +00:00
Max Horn
1453093391 SCI: Cleanup GfxView code (formatting etc.); also insert some asserts to protect scalingX/Y arrays
svn-id: r50425
2010-06-28 11:21:23 +00:00
Max Horn
2c01d10a36 SCI: Remove GfxView::getLoopInfo; add assert to GfxView::getCelInfo
The return value of GfxView::getCelInfo was used virtually everywhere
without a check for it being non-NULL. Hence instead of returning
NULL when the loop count is zero, it makes more sense to assert out
(instead of a segfault, or worse, random data being used).

svn-id: r50422
2010-06-28 11:20:33 +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
Lars Skovlund
6864d09d68 SCI: Fix for large views in GK2. At least it does not segfault now.
svn-id: r50376
2010-06-27 13:15:01 +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
38cf6aa3e4 SCI: implemented kAssertPalette and a palvary fix for ::set, fixes erana's place in qfg1vga nighttime
svn-id: r50162
2010-06-22 19:01:43 +00:00
Martin Kiewitz
26e4e0e345 SCI: cleanup view decompression code
svn-id: r50053
2010-06-19 17:12:17 +00:00
Martin Kiewitz
602b32175a SCI: fixing detection of vga sci11 views for ega games (original change in r50025)
svn-id: r50028
2010-06-18 18:55:17 +00:00
Martin Kiewitz
3197dfc033 SCI: added more description about changes in r50025
svn-id: r50026
2010-06-18 17:53:35 +00:00
Martin Kiewitz
636ef64c68 SCI: making vga views work in ega games :P
svn-id: r50025
2010-06-18 17:40:13 +00:00
Matthew Hoops
3dda73d9a2 Add initial support for KQ6 Mac. Wrapper functions for read/writing to pointers are now used (found in util.*) for code that has different endianness in SCI1.1+ Mac games. Add support for Mac 'snd ' and 'CURS' resources. QFG1 Mac is not yet playable due to script compression.
svn-id: r49070
2010-05-18 04:17:58 +00:00
Martin Kiewitz
eb2b3f352e SCI: adding upscaled hires mode 640x480 for kq6 and gk1, fixing valgrind error in GfxPortrait class, not using priority anymore when drawing hires cels (shouldnt be needed for kq6)
svn-id: r49040
2010-05-15 14:17:50 +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
faffc57136 SCI: removing one assert() from view loading, cause view 260 in kq6 really contains a celCount == 0 o_O
svn-id: r49024
2010-05-13 15:49:52 +00:00