Commit graph

65 commits

Author SHA1 Message Date
ysj1173886760
8e8f640e69 DIRECTOR: fix editableText both in D2/3 and in D4. 2021-08-18 20:19:18 +08:00
ysj1173886760
c777d7452f DIRECTOR: fix getting duration. 2021-08-13 18:03:19 +08:00
ysj1173886760
9d6a7343da DIRECTOR: add a new parameter spriteType for createWidget. 2021-07-19 10:41:22 +08:00
ysj1173886760
f2121c4f2b DIRECTOR: organize the code 2021-07-14 18:00:49 +08:00
ysj1173886760
0565b342a3 DIRECTOR: support scaling matte ink bitmap castmember 2021-07-12 15:24:32 +08:00
djsrv
f1ddc4b346 DIRECTOR: Handle STXT encoding 2021-07-12 00:38:05 -04:00
ysj1173886760
56fad1585b DIRECTOR: implement setting text size for text cast member 2021-07-08 02:25:11 +02:00
ysj1173886760
8c70bab234 DIRECTOR: implement linespacing for text castmember, set line spacing default to 1 in D4 2021-07-08 02:25:11 +02:00
ysj1173886760
a841358e69 DIRECTOR: implement some basic field operations for text cast 2021-07-08 02:25:11 +02:00
djsrv
4b30859276 DIRECTOR: Make _modified protected
We should always use isModified() outside of the CastMember class since
it can be overridden.
2021-06-29 15:19:24 -04:00
djsrv
22f9d6e589 DIRECTOR: LINGO: Implement chunk ref properties 2021-06-28 19:59:53 -04:00
ysj1173886760
a5bdc4d335 DIRECTOR: eliminate calculating pure text dimensions. 2021-06-26 16:08:20 +02:00
ysj1173886760
048f18ca3b DIRECTOR: release the link from castmember to widget when we are changing the sprites.
Because we may get new widget here.
2021-06-26 16:08:20 +02:00
ysj1173886760
ab9aef85b7 DIRECTOR: add a link with widget for text castmember. Set widget directly if we have widget to control.
Set text to mactext directly and add dirty rect when we are doing set the text. By doing this, we can reach the real-time modifying effect for text castmember.
2021-06-20 14:33:53 +02:00
ysj1173886760
9f01b08a1b DIRECTOR: wrap up calculating pure text dims of mactext to getTextOnlyDimensions 2021-06-13 00:41:26 +02:00
djsrv
06f74a2416 DIRECTOR: Set initial values for CastMemberInfo fields 2021-06-04 19:17:59 -04:00
djsrv
a58cb03c1c DIRECTOR: Improve autohilite behavior
In D3 or higher, there's an autohilite flag in the cast info.
In D2, sprites seem to autohilite only if they have matte ink.
2021-06-04 17:51:25 -04:00
djsrv
9db8f29708 DIRECTOR: Add CastMember::getInfo() 2021-06-04 17:51:25 -04:00
Scott Percival
8836857b1b DIRECTOR: Stop playing videos after the sprite changes 2021-05-30 19:29:16 +08:00
Scott Percival
ca0c5c800d DIRECTOR: Fix memory leaks in SoundCastMember 2021-04-25 23:22:51 +08:00
Scott Percival
89bfa05874 DIRECTOR: Fix video playback in 256-colour mode 2021-04-25 23:22:51 +08:00
Eugene Sandulenko
d1b0c5a986 DIRECTOR: Render last frame from paused or 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
3afe32c66c DIRECTOR: LINGO: Implement 'the duration of cast' 2020-08-20 23:50:34 +02:00
Eugene Sandulenko
fbbea1a01f DIRECTOR: Implement DV::setMovieRate() 2020-08-20 23:50:34 +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
a6a809f1c3 DIRECTOR: Moved DV loading to castmember.cpp 2020-08-19 13:45:15 +02:00
Cameron Cawley
c187d1835a DIRECTOR: Fix mismatched types 2020-08-16 20:20:27 +01:00
Eugene Sandulenko
bce9cfd19c DIRECTOR: More work on 32bpp 2020-08-16 00:59:05 +02:00
djsrv
2fa87f010f DIRECTOR: LINGO: Turn CastMember into an object 2020-08-13 22:36:05 -04:00
Eugene Sandulenko
db4c8164e5 DIRECTOR: More work on Digital Video 2020-08-12 19:37:30 +02:00
Eugene Sandulenko
72ccb76940 DIRECTOR: Decode digital video frames (produces garbage) 2020-08-11 13:10:10 +02:00
Eugene Sandulenko
40a368deb0 DIRECTOR: Remove redundant method 2020-08-11 13:10:10 +02:00
Eugene Sandulenko
819a6130cb DIRECTOR: Create surface for DigitalVideo 2020-08-11 13:10:10 +02:00
Eugene Sandulenko
daa2fd5618 DIRECTOR: Identify more DV flags 2020-08-10 12:49:07 +02:00
Eugene Sandulenko
c88a027cf6 DIRECTOR: Streamline DV cast member loading 2020-08-10 12:46:56 +02:00
Scott Percival
9852f49329 DIRECTOR: Add load hook for QuickTime movies 2020-08-01 23:15:12 +08: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
4f49df9ff2 DIRECTOR: LINGO: Implement palette of cast
Bitmap cast members also now have palette read in correctly, since the CLUT
field can refer to a castmember and not just one of the builtin fields.
2020-07-26 23:46:06 -04:00
Eugene Sandulenko
490e614b30 DIRECTOR: Fix warning 2020-07-27 00:39:07 +02: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
91ac560619 DIRECTOR: Remove erroneous widget deletion
This reverts commit 48599bd622.
2020-07-24 09:19:19 -04:00
djsrv
40861f3dd8 DIRECTOR: Move flags1 to common cast loading
This seems to be present in pretty much every cast member even though
it's usually unused.
2020-07-23 11:38:13 -04:00
Eugene Sandulenko
d722075d87 DIRECTOR: Read _flags1 from castmember data.
In fact, this must be rewritten, because that field belongs
to the static part of the header, not to the individual types
2020-07-22 13:24:18 +02:00
Nathanael Gentry
697fae20db DIRECTOR: Keep track of failed matte creation
This dramatically cuts down the number of matte warnings in Majestic.
2020-07-21 23:12:53 -04:00
Eugene Sandulenko
d759ca6271 DIRECTOR: Store cast member size 2020-07-21 18:28:17 +02:00
Eugene Sandulenko
86d249ffed DIRECTOR: LINGO: Implement the purgePriority. We're not going to use it, though 2020-07-20 15:34:04 +02:00
Eugene Sandulenko
d59292f9fd DIRECTOR: More text cast loading 2020-07-16 17:55:34 +02:00
djsrv
a892bb58d1 DIRECTOR: LINGO: Fix D4 script loading
Script IDs are in cast info now.
2020-07-15 22:19:33 -04:00
Eugene Sandulenko
8a9f5dec72 DIRECTOR: Load text formatting for CastInfo 2020-07-15 01:43:16 +02:00