Commit Graph
89 Commits
Author SHA1 Message Date
Scott Percival c5095c0e62 DIRECTOR: Fix several blend modes
Blend modes have been confirmed with visual inspection of a test card.

Fixes the end screens in Yaken Rodem.
2023-01-10 13:41:53 +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
Scott Percival 93262a99fb DIRECTOR: Add memory guardrails for inkBlitSurface 2022-11-18 16:28:05 +01:00
Scott Percival 1524ee3615 DIRECTOR: Fix coloring of 1-bit bitmaps
If a channel contains a 1-bit bitmap cast member, use the foreground
color instead of black when rendering in Background Transparent mode.

Fixes various text bitmaps in Total Distortion and iD4 Mission Disk 1.
2022-11-18 16:28:05 +01:00
Scott Percival 076423de8a DIRECTOR: Implement color cycling 2022-09-12 15:52:18 +02:00
Scott Percival 756cfdd27d DIRECTOR: Make DirectorEngine copy palettes on use
This is going to be the basis for the palette-cycling effects.
2022-09-12 15:52:18 +02:00
Scott Percival 671d3116ea DIRECTOR: Add palette shifting code for transitions
Fixes transitions in Lost Mind of Dr. Brain demo.
2022-09-12 15:52:18 +02:00
Pragyansh Chaturvedi 842fe20c5e DIRECTOR: Modify decomposeColor to fix missing text in buttons in 32bpp mode 2022-09-09 02:21:47 +02:00
D G Turner 739af389f0 DIRECTOR: Fix Signed vs. Unsigned Comparison GCC Compiler Warning 2022-08-29 01:57:17 +01:00
Scott Percival ef03dbb92e DIRECTOR: Fix rendering for kInkTypeBackgndTrans and kInkTypeCopy
I don't know what scenario was used as a basis for developing the existing
applyColor logic in inkDrawPixel(). As such, I've kept it for the uint32
pathway, and replaced the uint8 pathway with the logic documented in the
Director 4 manual.
2022-08-28 10:31:00 +00:00
Eugene Sandulenko dbb1114269 DIRECTOR: Switch to wider rect primitives so visuals stay unchanged 2022-07-13 23:22:35 +02:00
Eugene Sandulenko 38a1cb9963 DIRECTOR: Fix outlined QD sprites with pattern tiles 2022-06-17 01:07:14 +02:00
Eugene Sandulenko f92f51b3e4 DIRECTOR: Fix thickness when drawing tiled QD shapes 2022-06-16 23:40:45 +02:00
Eugene Sandulenko 1e082af6f8 DIRECTOR: Attempt to fix tile pattern origin. Still incorrect 2022-06-15 18:23:06 +02:00
Eugene Sandulenko 131138b9a7 DIRECTOR: Fix drawing outlined QD shapes, patterns were missing 2022-06-15 18:23:05 +02:00
Eugene Sandulenko c5b8d31f16 DIRECTOR: Implement tile pattern drawing. Not yet referenced. 2022-06-15 01:01:05 +02:00
Eugene Sandulenko b7735a6326 DIRECTOR: Encapsulated tile access and implement override by VWTL 2022-06-15 01:01:05 +02:00
Eugene Sandulenko 43b1306bcd DIRECTOR: Simplify builtin tiles decompressing 2022-06-14 01:03:02 +02:00
Eugene Sandulenko aa34532742 DIRECTOR: Added built-in tile drawing to tests 2022-06-13 18:12:22 +02:00
Eugene Sandulenko 43a71055f5 DIRECTOR: Decompress built-in tiles 2022-06-13 18:12:22 +02:00
Eugene Sandulenko c95d4245dc DIRECTOR: Simplify DirectorPlotData 2022-06-13 18:12:22 +02:00
Eugene Sandulenko abea37c9bb ALL: Update ScummVM project license to GPLv3+ 2021-12-26 18:48:43 +01:00
Scott Percival 29973e8627 DIRECTOR: Revert change to inkBlitShape
Using the dest. rect for everything leaves snail trails
in most of Spaceship Warlock.
2021-10-12 08:19:29 +08:00
Scott Percival 8b240f69b8 DIRECTOR: Fix inkBlitShape to use destRect for drawing 2021-10-12 01:08:34 +08:00
Scott Percival 257fd958e7 DIRECTOR: Add blitting code to FilmLoopCastMember 2021-10-12 01:08:34 +08:00
Scott Percival 8963cf211a DIRECTOR: Move methods from Window to DirectorPlotData 2021-10-12 01:08:34 +08:00
Roland van Laar 28fdbed20d DIRECTOR: simplify setting applyColor to false 2021-08-25 11:27:08 +02:00
Roland van Laar 274cfacbb9 DIRECTOR: Fix rendering with Bkgnd Transparent ink
Scores with the Bkgnd Transparent ink set were rendered black.

This hapened on with cards on the poker table in Majestic (win).
2021-08-25 11:27:08 +02:00
ysj1173886760 9fa0e1d2c2 DIRECTOR: fix inkTypeAdd 2021-08-17 09:48:08 +08:00
ysj1173886760 efe26065ef Revert "DIRECTOR: apply global inverter on reverse type ink."
This reverts commit b3aec17d6d.
inverter is not working correctly on reversed text.
further investigation is needed.
2021-08-17 09:27:00 +08:00
ysj1173886760 b3aec17d6d DIRECTOR: apply global inverter on reverse type ink. 2021-08-16 17:00:32 +08:00
djsrv 19dab8f130 DIRECTOR: Set cursors per-movie, not globally 2021-08-06 01:11:49 -04:00
djsrv 91a1339e39 DIRECTOR: Use matte for arithmetic ink types
White surrounded by colored pixels needs to be drawn for these ink
types. Fixes https://trello.com/c/WkQSoAZW
2021-07-30 13:29:53 -04:00
ysj1173886760 8d270071cf DIRECTOR: don't draw outline shape when we get linesize < 0 2021-07-08 02:25:11 +02:00
ysj1173886760 4aace40b6c DIRECTOR: don't apply effects when we are drawing invisible rectangles. i.e. return directly. 2021-07-08 02:25:11 +02:00
Eugene Sandulenko b438f6fb07 DIRECTOR: Fix warnings 2020-08-23 01:23:28 +02:00
Eugene Sandulenko e27d5ac7fc DIRECTOR: JANITORIAL: Code formatting and unified the namespace end comments 2020-08-21 00:36:19 +02:00
Eugene Sandulenko b2030d9e1c DIRECTOR: Code reshuffling for readability 2020-08-21 00:21:32 +02:00
Eugene Sandulenko afc972f584 DIRECTOR: Split out static data from graphics.cpp
Actually, we'd better move it to director.dat file
2020-08-21 00:18:30 +02:00
Eugene Sandulenko 3f160561d6 DIRECTOR: Fixed for 32bpp mode, things work 2020-08-16 23:08:33 +02:00
Eugene Sandulenko 7370a946e3 DIRECTOR: Make ink drawing 32bpp-compatible 2020-08-16 00:59:05 +02:00
Eugene Sandulenko e604c97607 GRAPHICS: MACGUI: Made MacDrawPixel bpp-aware 2020-08-15 16:09:20 +02:00
Eugene Sandulenko 5ea23f666f DIRECTOR: Make rendering tests work in 32bpp 2020-08-15 14:50:26 +02:00
Eugene Sandulenko 66f5aadf4e DIRECTOR: Do not set palette in 32bpp mode 2020-08-14 10:47:33 +02:00
Nathanael Gentry 68d2852e90 DIRECTOR: Permit reassigning palette IDs 2020-08-03 11:01:49 -04:00
Nathanael Gentry d92a3f33b0 DIRECTOR: Implement basic alpha transparency
This finishes the implementation for blend of sprite, as well.
2020-07-29 00:47:26 -04:00
Nathanael Gentry ea75044ae1 DIRECTOR: Load palette castmembers
The loadPalette is also turned into a value-returning function.
2020-07-27 18:04:12 -04:00
Nathanael Gentry 74454b0434 DIRECTOR: Properly initialize current palette id 2020-07-27 09:07:02 -04:00
Nathanael Gentry b3b7ed19a4 DIRECTOR: Rework palette handling
Now there is no static for default palettes. All the defaults have negative ids
anyway, so those are just protected by the new setter method.
2020-07-26 23:46:06 -04:00