Eugene Sandulenko
233e0e21a8
DIRECTOR: Draw video only when it is truly changed
2020-08-24 20:53:37 +02:00
Eugene Sandulenko
806c946fd6
DIRECTOR: Attempt to implement 'directToStage'
...
Not working, as it is not clear how to change priority of a channel
2020-08-23 19:46:58 +02:00
Eugene Sandulenko
f3f0816bd3
DIRECTOR: Fixed showing initial frame on stopped videos
2020-08-22 18:02:10 +02:00
Nathanael Gentry
0bab9810c0
DIRECTOR: Fix getWidgetRect code path
...
This is morally equivalent to getWidgetRect, but takes into account the changes
to dimensions that MacText makes for borders and gutters and a text shadow.
Thus, these features are working again.
2020-08-21 16:34:06 -04:00
Eugene Sandulenko
45c49b1195
DIRECTOR: Load DVs only on demand
2020-08-21 10:52:08 +02:00
Eugene Sandulenko
586790d987
DIRECTOR: Start Digital Videos when they appear on a channel
2020-08-20 23:50:34 +02:00
Eugene Sandulenko
7053648484
DIRECTOR: Properly set movieRate when DV ends
2020-08-18 23:39:05 +02:00
Eugene Sandulenko
5ec3815106
DIRECTOR: Update digital video independently from the frame tempo
2020-08-18 13:08:52 +02:00
Eugene Sandulenko
3f160561d6
DIRECTOR: Fixed for 32bpp mode, things work
2020-08-16 23:08:33 +02:00
Nathanael Gentry
adc8847982
DIRECTOR: Make editable texts editable again
2020-08-14 01:23:11 -04:00
Eugene Sandulenko
c2a7a6586f
DIRECTOR: Properly position digital videos
2020-08-14 00:42:00 +02:00
Eugene Sandulenko
db4c8164e5
DIRECTOR: More work on Digital Video
2020-08-12 19:37:30 +02:00
djsrv
0ff7274993
DIRECTOR: Multiply version numbers by 100
...
To accomodate minor version.
2020-08-10 15:00:55 -04:00
Nathanael Gentry
43650c1a8a
DIRECTOR: Don't try to make shapes from bitmaps
...
This is so a proper null cast and then surface-not-found warning can be issued.
2020-08-10 11:59:06 -04:00
Eugene Sandulenko
09c12a820a
GRAPHICS: MACGUI: Make sure MacText is updated on cursor change
2020-08-07 10:07:32 +02:00
Scott Percival
628273226b
DIRECTOR: Move digital video properties to channel
2020-08-01 23:15:12 +08:00
Nathanael Gentry
d293504b9e
DIRECTOR: Fix typo
2020-07-31 10:37:05 -04:00
Nathanael Gentry
929cb91970
DIRECTOR: Split out Channel::setClean
2020-07-29 12:54:42 -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
djsrv
fcb79c78c2
DIRECTOR: Update puppet scriptId
2020-07-27 16:28:47 -04:00
Scott Percival
4bfffc43a7
DIRECTOR: Move widgets from cast members to channels ( #2372 )
...
This change is required to support copies of the same cast member running in different channels.
* DIRECTOR: Move widget ownership from cast member to channel
* DIRECTOR: Cache cast dimensions from createWidget
* DIRECTOR: Add null checks for createWidget
* GRAPHICS: MACGUI: Clear active/hover WM references if the widget is destroyed
* DIRECTOR: LINGO: Re-add null check for kTheEditableText
* DIRECTOR: Avoid destroying widgets if the channel isn't dirty
* DIRECTOR: Fix dirty test
* DIRECTOR: Fix text field writeback
* DIRECTOR: Fix null cast check
* DIRECTOR: Add bbox as argument to createWidget
* DIRECTOR: Add setCast method to Channel
* DIRECTOR: Fix use-after-free in Channel::getMask
* DIRECTOR: Fix bounding box for Button sprites
* DIRECTOR: Cache widget dimensions in cast member
* DIRECTOR: Remove widget from channel if nextSprite is empty
* GRAPHICS: MACGUI: Fix MacText::splitString for empty string case
* DIRECTOR: Add null checks for movie and score in processEvents
2020-07-26 04:32:29 +00:00
Nathanael Gentry
c9a1dfa75d
DIRECTOR: Recenter stretched sprites
2020-07-24 13:22:30 -04:00
Nathanael Gentry
45cd97c1c4
DIRECTOR: Add matte intersect/within checks
2020-07-22 15:19:16 -04:00
Nathanael Gentry
ae1af9c06a
DIRECTOR: Fix matte intersection check
...
Actually, it's not applied indiscriminately. It only take effect when there is
already a matte ink on the given sprite.
2020-07-21 23:12:54 -04:00
Nathanael Gentry
405f0bf1b9
DIRECTOR: Don't unnecessarily redraw puppets
2020-07-21 23:12:53 -04:00
djsrv
2a310ee7e7
DIRECTOR: Fix segfault
2020-07-21 16:21:56 -04:00
Nathanael Gentry
6b404187fc
DIRECTOR: Move mouse position check to channel
...
This permits, for instance, only changing the cursor when we are inside a
bitmapped sprite.
2020-07-21 15:11:34 -04:00
Eugene Sandulenko
00b0c3b474
DIRECTOR: Sanity check for Channel::isActiveText()
2020-07-19 17:32:25 +02:00
Eugene Sandulenko
7e09789d10
DIRECTOR: Set the current editable text channel
2020-07-19 17:17:45 +02:00
Nathanael Gentry
5fb984e99f
DIRECTOR: Mostly implement cursor of sprite
2020-07-18 00:37:57 -04:00
Nathanael Gentry
93d9bf4671
DIRECTOR: Add partial set-clean rendering mode
...
This is a mode for when the script or other internal parameters of a sprite have
changed, but nothing on screen should change. This also ensures that cast
widgets are properly updated with new priorities on each frame.
2020-07-16 18:36:33 -04:00
Nathanael Gentry
229c1a233f
DIRECTOR: Initialize channel with sprite dimensions
2020-07-15 11:50:57 -04:00
Nathanael Gentry
3733f3f02a
DIRECTOR: Skip over empty channels
2020-07-14 14:58:17 -04:00
Eugene Sandulenko
937c108af6
DIRECTOR: Initialize DirectorPlotData on generation
2020-07-13 11:41:54 +02:00
Nathanael Gentry
8276404d23
DIRECTOR: Reorganize dirty channel conditions
...
A condition is also added for stretch of sprite location updates
2020-07-09 23:58:48 -04:00
Nathanael Gentry
9c50f9162c
DIRECTOR: LINGO: Implement spriteBox
2020-07-09 23:40:36 -04:00
Nathanael Gentry
206118a341
DIRECTOR: Mostly implement stretch of sprite
...
Note that the offset is currently not correct. This will be fixed in a future commit.
2020-07-09 23:40:35 -04:00
Nathanael Gentry
4e4c603a6e
DIRECTOR: Add check for stretched sprite
2020-07-09 23:40:01 -04:00
Nathanael Gentry
c6d7766209
DIRECTOR: Keep sprite dimensions in channel
2020-07-09 23:40:01 -04:00
Nathanael Gentry
9a4aeffc25
DIRECTOR: Refactoring for implementing stretch of sprite
2020-07-09 15:53:59 -04:00
Nathanael Gentry
0bffd5d616
DIRECTOR: Reorganize control of DirectorPlotData
...
The Channel is also made into a class.
2020-07-09 13:31:32 -04:00
Nathanael Gentry
ea48193089
DIRECTOR: Add manual ink fixup mode
...
This is necessary because texts and shapes, in particular, come already
colourized and we need to adjust the colourization to match the ink style before
we get to the blitting step. This seems faster than copying the surface or just
keeping the text as a mask and colourizing the chunks as we go.
2020-07-09 09:40:14 -04:00
Nathanael Gentry
e3cf71185d
DIRECTOR: Standardize channel colour access
2020-07-09 09:40:14 -04:00
Nathanael Gentry
ed36fd4a37
DIRECTOR: Standardize cast colour access
2020-07-09 09:40:14 -04:00
Nathanael Gentry
8a85754f25
DIRECTOR: Move Channel to its own file
2020-07-08 13:44:02 -04:00