Commit Graph
76 Commits
Author SHA1 Message Date
Eugene Sandulenko f6f669c953 DIRECTOR: Setting loop for stopped DV should actually play it 2020-08-22 18:02:10 +02:00
Eugene Sandulenko d1b0c5a986 DIRECTOR: Render last frame from paused or stopped videos 2020-08-22 18:02:10 +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 6372c5d845 DIRECTOR: Implemented DV looping 2020-08-21 09:37:33 +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 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 6889c7e720 DIRECTOR: Do not render stopped videos 2020-08-20 00:53:23 +02:00
Nathanael Gentry faa88c8f51 DIRECTOR: Preserve text formatting on setText 2020-08-19 16:32:45 -04:00
Eugene Sandulenko cc14dede0f DIRECTOR: More debug output to DV 2020-08-19 14:54:30 +02:00
Eugene Sandulenko a6a809f1c3 DIRECTOR: Moved DV loading to castmember.cpp 2020-08-19 13:45:15 +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 7563759f4b DIRECTOR: Fix Matte Ink for 32bpp mode 2020-08-16 23:51:56 +02:00
Eugene Sandulenko 97fecbec16 DIRECTOR: Simplify DigitalVideo rendering 2020-08-16 23:08:33 +02:00
Eugene Sandulenko 03055cb49d DIRECTOR: Keep alpha when inverting a channel in 32bpp mode 2020-08-16 23:08:33 +02:00
Eugene Sandulenko bce9cfd19c DIRECTOR: More work on 32bpp 2020-08-16 00:59:05 +02:00
Eugene Sandulenko caea5ef118 DIRECTOR: Made matte bitmaps 32bpp-compatible 2020-08-16 00:59:05 +02:00
Eugene Sandulenko 5b96eb6bff DIRECTOR: Blit >8bpp videos in 32bpp mode 2020-08-14 10:47:33 +02:00
Eugene Sandulenko e2055ddb5d DIRECTOR: Convert video to 32bpp when requested 2020-08-14 10:47:33 +02:00
djsrv 2fa87f010f DIRECTOR: LINGO: Turn CastMember into an object 2020-08-13 22:36:05 -04:00
Eugene Sandulenko f763dbd6c5 DIRECTOR: Added comment sections to castmember.cpp 2020-08-13 13:29:31 +02:00
Eugene Sandulenko 420cb78c48 DIRECTOR: Implement setStopTime() for Digital Video 2020-08-13 12:55:57 +02:00
Eugene Sandulenko db4c8164e5 DIRECTOR: More work on Digital Video 2020-08-12 19:37:30 +02:00
Eugene Sandulenko 301f0b4782 DIRECTOR: Added hacky way of startion Digital Video 2020-08-12 00:51:12 +02:00
Eugene Sandulenko 4823eeab7a DIRECTOR: Added STUB for non-8bpp videos instead of crashing 2020-08-11 23:58:25 +02:00
Eugene Sandulenko e008baab98 DIRECTOR: Add sanity checks to DigitalVideo rendering 2020-08-11 23:45:19 +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
djsrv 0ff7274993 DIRECTOR: Multiply version numbers by 100
To accomodate minor version.
2020-08-10 15:00:55 -04: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
djsrv 9c537a8744 DIRECTOR: Rename Stage to more general Window
The stage and windows are the same type of thing, but the stage only
refers to one particular window.
2020-08-04 23:54:09 -04:00
Scott Percival 9852f49329 DIRECTOR: Add load hook for QuickTime movies 2020-08-01 23:15:12 +08:00
Roland van Laar f6c0641853 DIRECTOR: Read D3 DigitalVideo
The following cast options were found to change the flag (12th byte):

Center:           0x01
Scale:            0x02
Sound:            0x08
Loop:             0x10
Direct To Stage   0x20
  Use Controller  0x40

Include comment that bytes 4-7 look like rect information.
However it's bytes and the height would be 0.
2020-08-01 00:11:51 +02:00
Roland van Laar 412b340ce8 DIRECTOR: Add debuginfo for DigitalVideoCast 2020-07-29 16:46:54 +02: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
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
Eugene Sandulenko 4757680160 DIRECTOR: Fix warning 2020-07-23 22:06:13 +02: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
djsrv 5656716fe2 DIRECTOR: Don't read nonexistent sound data 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
Nathanael Gentry 99e973f5ec DIRECTOR: More carefully check for end of bitmap stream
This is a patch for the bitmap loading bug introduced in 3d1a68a3ed.
2020-07-21 11:27:54 -04:00