Commit Graph
72 Commits
Author SHA1 Message Date
Scott Percival 054c674f79 DIRECTOR: Fix pitch calculation for BITDDecoder
The expected decompression size for D4 and above was being mistakenly overwritten
by the D3 size.

Fixes leaves animation in GOODBYE.DIR for Chop Suey.
2023-01-16 17:51:19 +01:00
Scott Percival 7bd9eb1728 DIRECTOR: Fix visual regression in D3 with bitmap compression detection 2023-01-11 00:41:55 +01:00
Scott Percival 9fb41d82d1 DIRECTOR: Add support for displaying 2-bit and 4-bit bitmaps 2023-01-10 13:41:53 +01:00
Scott Percival 48740a2ad1 DIRECTOR: Remove all palette reversing workarounds
All of the builtin palette lookup tables have been reversed, to match
the original layout of the tables in the Director 4 projector executable.
This corresponds with the colour indexing used in Lingo.
Likewise, the code to load palettes from the cast no longer reads the
colours in reverse order, and shiftPalette no longer expects
the start index to be after the end index.

DirectorEngine::transformColor still exists to upgrade to 32-bit colour,
but no longer reverses the palette index.

The missing builtin 16-color palettes from Director 4 have been added.
2023-01-10 13:41:53 +01:00
Roland van Laar bb4bd0845b DIRECTOR: Follow documentation for DIB header
width, height pixelspermeter are signed according to the spec.
Use a warning with 'buildbot' to see which movies have a negative
height.

https://learn.microsoft.com/en-us/previous-versions//dd183376(v=vs.85)
2022-10-18 22:57:17 +02:00
Pragyansh Chaturvedi fd41ff75b0 DIRECTOR: Fix 8bpp BITD decoding regression 2022-08-29 20:13:24 +02:00
Eugene Sandulenko abea37c9bb ALL: Update ScummVM project license to GPLv3+ 2021-12-26 18:48:43 +01:00
Orgad Shaneh 02cfffcb67 DIRECTOR: Use nullptr
Using clang-tidy modernize-use-nullptr
2021-11-14 15:51:59 +02:00
D G Turner 8075db3c2c DIRECTOR: Simplify convertPixelIntoSurface method in BIT Decoder
This had identical code paths after the recent changes.

CID 1461549
2021-08-24 16:17:52 +01:00
ysj1173886760 dbdec32b7d DIRECTOR: add comments for BITD decoder. 2021-08-20 22:37:03 +08:00
ysj1173886760 a77da4dc37 DIRECTOR: fix BITD decoder for different behaviour in D3 and D4 2021-08-20 22:37:03 +08:00
ysj1173886760 458713d65a DIRECTOR: fix color channel in BITD decoder. 2021-08-20 22:37:03 +08:00
ysj1173886760 69ccaac440 DIRECTOR: fix BITD decoder. 2021-08-17 22:12:44 +08:00
ysj1173886760 73fb26bbe9 DIRECTOR: reverse the green channel and blue channel in BITDDecoder in D4 2021-08-14 21:42:53 +08:00
ysj1173886760 9061450e73 DIRECTOR: clean code. 2021-08-14 21:42:53 +08:00
ysj1173886760 ca0e7c4a79 DIRECTOR: fix BITD decoder. 2021-08-13 21:05:28 +08:00
ysj1173886760 c1dc522b35 DIRECTOR: clean the code and add the comment. 2021-08-08 17:26:31 +08:00
ysj1173886760 dba8b245d4 DIRECTOR: fix 16-bit BITD decoding. 2021-08-08 17:19:00 +08:00
ysj1173886760 db01ec1dbd DIRECTOR: fix 32-bit BITD decoding 2021-08-08 17:18:59 +08:00
ysj1173886760 5c23fcdcb5 DIRECTOR: skip compression in BITD decoder for D3 2021-08-03 15:13:30 +08:00
ysj1173886760 480fd72c2a DIRECTOR: clean code. 2021-08-03 15:11:12 +08:00
djsrv 9509db076b DIRECTOR: Remove FileVersion type name
File versions aren't constrained to the values in the enum, they can be
any uint16. The enum just contains major versions, and it doesn't make
much sense to treat it as an independent type.
2021-07-19 14:05:02 -04:00
ysj1173886760 c77f2e33cb DIRECTOR: amend version check in loadCast and BITD decoder 2021-07-10 14:11:19 +08:00
ysj1173886760 2f574b8988 DIRECTOR: constrain offset of BITD decoder to either 1 or 0. 2021-07-08 17:48:00 +08:00
ysj1173886760 629ee4bfa3 DIRECTOR: Don't skip the compression when _bitsPerPixel == 1 2021-07-08 02:25:11 +02:00
ysj1173886760 327b73b23a DIRECTOR: if we have pic size bigger than we want, then we won't regard it as RLE compression 2021-07-08 02:25:11 +02:00
ysj1173886760 ee2077b63d DIRECTOR: skip the compression when we have exactly number of what we need for image in D2 2021-07-08 02:25:11 +02:00
Paul Gilbert baccbedf50 GRAPHICS: Changed surface classes sizes from uint16 to int16 2021-07-04 18:24:27 -07:00
Eugene Sandulenko c03149d87f DIRECTOR: Blit images directly to 32-bit in 32bpp mode 2020-08-15 14:50:26 +02:00
Eugene Sandulenko 5c06d5402d DIRECTOR: More work on 32bpp rendering 2020-08-14 23:54:16 +02:00
Eugene Sandulenko e5e82d4cf6 DIRECTOR: Copy over PixelFormat from the WM for simpler access 2020-08-14 10:47:33 +02:00
Nathanael Gentry a49feca451 DIRECTOR: Properly set image tail length 2020-08-10 14:46:23 -04:00
jepael 1334292a62 DIRECTOR: Fix compiler warning 2020-06-15 01:14:14 +02:00
Scott Percival c94208cc27 DIRECTOR: Fix typo in compression size calculation 2020-06-15 00:15:33 +08:00
Scott Percival b3962f9501 DIRECTOR: Fix bitmap compression detection 2020-06-15 00:04:09 +08:00
Matthew Duggan 818e681746 IMAGE: Add support for Crusader: No Remorse movie decoding
The movies for Crusader: No Remorse have a unique decoder which is not too hard
to implement.  Unfortunately, they don't properly implement the "compression"
FourCC, and instead put their ID in the "Stream Handler".  Since supporting
them requires a change to the existing Image API, I thought I should make a
pull request for comments.

With this change, the movies in Crusader can all be played nicely.
2020-05-11 07:54:24 +02:00
Eugene Sandulenko 278c6c809e DIRECTOR: Fix crash on optimized out 32-bpp pictures
They still are not rendered correctly
2020-04-11 13:04:30 +02:00
Eugene Sandulenko a456938dab DIRECTOR: Fix code formatting 2020-04-11 13:00:55 +02:00
stevenhoefel 40501547f4 DIRECTOR: Extend Reverse Sprite drawing for shapes and controls.
Translate 32-bit images into palette-based sprites.
2020-04-10 22:38:12 +10:00
Eugene Sandulenko 1b4226ce90 DIRECTOR: Plugged memory leak it BITDDecoder 2020-04-02 13:58:04 +02:00
Roland van Laar 124b9ecc31 DIRECTOR: transformColor in non _vm places
- future proofing transformColor by using an uint32 instead of a byte
- handling cases where there is no reference to _vm by using
g_director->.
2020-03-21 14:45:08 +01:00
jepael 82e0a09610 DIRECTOR: Fix compiler warning 2020-01-29 22:57:32 +01:00
Eugene Sandulenko 7913684285 DIRECTOR: Fix regression in BITD image parsing 2020-01-23 15:03:25 +01:00
Eugene Sandulenko 54f42fb532 DIRECTOR: Added sanity check for reading BITD images 2020-01-20 23:16:11 +01:00
Eugene Sandulenko 046c1fc1c7 DIRECTOR: Plug memory leak 2020-01-06 13:24:02 +01:00
Eugene Sandulenko 7989d65b26 DIRECTOR: Add sanity check to BITDDecoder 2019-12-31 17:06:03 +01:00
Eugene Sandulenko 42dc7451ad DIRECTOR: Fix out-of-bounds write 2019-12-31 16:37:51 +01:00
Eugene Sandulenko cb95bb4dec DIRECTOR: Remove redundant code 2019-12-24 18:22:43 +01:00
Eugene Sandulenko 1e6ec8f3ac DIRECTOR: Finish work on reducing header dependency 2019-12-24 00:42:30 +01:00
Eugene Sandulenko b21b29a2f6 DIRECTOR: Further simplification of include dependencies 2019-12-24 00:19:27 +01:00