Commit graph

19 commits

Author SHA1 Message Date
Roland van Laar
6ca9c1f8bf DIRECTOR: fix check on array size
Setting a cursor to a cast needs an array of 2 not 1.
2021-08-26 12:58:06 +02:00
Roland van Laar
5d45afb18b DIRECTOR: Convert cursor setting into Datum
This fixes two bugs in one go:
- setting a cursor to 0 wasn't possible when a cast+mask cursor was used
- querying a sprite for cast+mask cursor returned 0 instead of the cast
  ids.

Cursors can be set in two ways:
    1) set cursor of sprite X to INT
    2) set cursor of sprite X to [INT, INT]

A `cursor of sprite X` should return the same values that as were used
when setting the cursor.
2021-08-26 12:23:07 +02:00
ysj1173886760
98b5adc4cc DIRECTOR: fix memory leak when using win cursor. 2021-08-17 08:56:13 +08:00
ysj1173886760
5f93dd7cd9 DIRECTOR: set arrow cursor for default custom cursor in windows platform. 2021-08-16 08:41:36 +08:00
ysj1173886760
2472c763be DIRECTOR: try to load custom cursor from exe file in win platform. 2021-08-16 08:41:36 +08:00
ysj1173886760
4766fd025b DIRECTOR: set fallback cursor when custom cursor is not read correctly. 2021-08-14 21:42:53 +08:00
djsrv
19dab8f130 DIRECTOR: Set cursors per-movie, not globally 2021-08-06 01:11:49 -04:00
djsrv
615995fdc1 DIRECTOR: Change member refs to use CastMemberID 2021-06-30 22:32:19 -04:00
Eugene Sandulenko
e27d5ac7fc DIRECTOR: JANITORIAL: Code formatting and unified the namespace end comments 2020-08-21 00:36:19 +02:00
Nathanael Gentry
5583009442 DIRECTOR: Add default cursor arrow case 2020-08-19 10:41:55 -04:00
djsrv
baacf3c1ab DIRECTOR: Replace SeekableSubReadStreamEndian
Use the superclass SeekableReadStreamEndian.
2020-08-12 17:26:55 -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
61f533e3e9 DIRECTOR: Fix cursor hotspot registration 2020-07-22 10:32:39 -04:00
Nathanael Gentry
343046bd5e DIRECTOR: Properly set cursor keyColor 2020-07-22 10:20:56 -04:00
Nathanael Gentry
87b8ff5825 DIRECTOR: Condition cursor palette check 2020-07-22 10:20:56 -04:00
Nathanael Gentry
f3b18aba52 DIRECTOR: Add missing flag
Otherwise, the mask is never applied.
2020-07-22 10:20:56 -04:00
Nathanael Gentry
2622a4628f DIRECTOR: Reset cursors properly
This also handles cases when there is an error loading.
2020-07-20 14:18:15 -04:00
Nathanael Gentry
f903822f8d DIRECTOR: Read cursors from external resources 2020-07-20 14:17:24 -04:00
Nathanael Gentry
4f15cb4af4 DIRECTOR: Introduce Cursor class 2020-07-18 00:37:57 -04:00