Commit Graph
104 Commits
Author SHA1 Message Date
Pragyansh Chaturvedi (r41k0u) ad6b80009f DIRECTOR: LINGO: Implement setting of timeOutLapsed property 2022-06-22 01:13:41 +02:00
Pragyansh Chaturvedi (r41k0u) 50ba58c7c9 DIRECTOR: LINGO: Implement the beepOn property and remove their respective STUBs 2022-06-21 01:04:30 +02:00
Athanasios Antoniou 5d1895ff5b DIRECTOR: Rephrase quit warning (#3759)
* DIRECTOR: Rephrase quit warning

For the case when a script has locked off quitting the game
Also set the dialogue buttons to Yes and No
2022-03-18 23:46:01 +01:00
Roland van Laar de695e7e7f DIRECTOR: pause music when display exit modal 2022-03-16 10:10:50 +01:00
Roland van Laar 2685673d48 DIRECTOR: show modal when exitLock is set
Implement conditions for the modal to show:
- reset the QUIT event to prevent the modal from closing immediately
- only show the modal when exitLock is set by the program
2022-03-16 09:23:13 +01:00
Roland van Laar a9a908eb23 DIRECTOR: Add modal call when user wants to quit
The goal is to ask user confirmation when the property exitLock is set.
Director would prevent the user from quitting in such a case.

Note: The modal doesn't show up.
2022-03-15 18:16:59 +01:00
Roland van Laar 7801d86e79 DIRECTOR: LINGO: Improve events in xPlayAnim
- PACo stops playing on keydown and mousedown
- quit event quits scummvm
- refactor quit event handler to be callable from outside the main event
  loop
2022-03-06 10:07:05 +01:00
Eugene Sandulenko abea37c9bb ALL: Update ScummVM project license to GPLv3+ 2021-12-26 18:48:43 +01:00
Scott Percival bc017c564a DIRECTOR: LINGO: Implement kTheDoubleClick 2021-09-25 01:13:50 +08:00
djsrv d27574acae DIRECTOR: Fix mouseUp events
Before, the code for setting a button's hilite flag made it so that
mouseUp only ever went to the last sprite that had a mouseDown
event. That is not correct. Whatever sprite the mouse goes up on
gets the event, even if it didn't get the last mouseDown event.
2021-08-23 16:10:44 -04:00
djsrv 690562b1b1 DIRECTOR: Use separate queues for user and non-user events
We don't want to immediately process user events when processing another
non-user event.
Fixes https://trello.com/c/wtRV31SE/451-journeyman-execution-order
2021-08-17 21:16:52 -04:00
ysj1173886760 c77f5f6b45 DIRECTOR: implement window keycode mapping. 2021-08-16 16:00:19 +08:00
djsrv 0603d7f5a7 DIRECTOR: Exit transition early if user quits 2021-08-13 00:12:41 -04:00
ysj1173886760 ca97db0fbd DIRECTOR: don't update currentClickOnSpriteId when button is up. 2021-08-11 16:40:21 +08:00
djsrv bae70bf784 DIRECTOR: Fix where timeout events are handled 2021-08-06 11:09:50 -04:00
ysj1173886760 57bac4ff9a DIRECTOR: fix processing timeOut related events 2021-08-06 17:01:07 +08:00
ysj1173886760 e24d00a81b DIRECTOR: implement handling timeOut related values. 2021-08-06 16:44:07 +08:00
ysj1173886760 5466511dce DIRECTOR: implement handling timeOut event 2021-08-06 16:44:07 +08:00
djsrv 19dab8f130 DIRECTOR: Set cursors per-movie, not globally 2021-08-06 01:11:49 -04:00
djsrv 88f77b53c1 DIRECTOR: Modify _vm->processEvents to handle transition events
processTransitionEvent skipped passing events to the window manager
and sent them directly to the current window, which is no good since the
event may need to go to another window. It also broke stopping
transitions on click.
2021-08-02 10:12:15 -04:00
ysj1173886760 ba990c2653 DIRECTOR: processEvent while playing transition 2021-08-02 19:34:47 +08:00
ysj1173886760 a8d7767b36 DIRECTOR: don't highlight buttons in list button style when we are not clicking button initially. 2021-07-28 16:20:48 +08:00
ysj1173886760 7276c10e47 DIRECTOR: amend the behaviour for list style button.
previously we didn't distinguish the list style and dialog button.
2021-07-28 16:04:45 +08:00
ysj1173886760 b16b2c4b6b GRAPHICS: MACGUI: amend the behaviour for list style button 2021-07-28 15:50:49 +08:00
ysj1173886760 8d5f8cef1c DIRECTOR: passing events to both widget and director. 2021-07-12 14:15:24 +08:00
ysj1173886760 010c724971 DIRECTOR: modify the way we are inverting the channel 2021-07-08 02:25:11 +02:00
ysj1173886760 aa5128e7ac DIRECTOR: re-organize the logic for handling the editableText. 2021-06-26 16:08:20 +02:00
ysj1173886760 7902d910db DIRECTOR: amend the version check in events and hilite check. add warning for readability 2021-06-20 14:33:53 +02:00
ysj1173886760 31098bbb16 DIRECTOR: modify event handling, introduce _currentHiliteChannelId and _currentHandlingChannelId to movie.
those two are aimed for the situation that when we hold the button and move out of the bounds, then we should de-activated the sprite
_currentHilite are for Bitmap castmember inverting. _currentHandling is for other castmembers, such as macbutton which has it's own check. And also for those sprites which don't need to hilited
2021-06-20 14:33:53 +02:00
ysj1173886760 071b093995 DIRECTOR: use getActiveSpriteIDFromPos to get sprite ID when we are at D3 2021-06-20 14:33:53 +02:00
Nathanael Gentry d7ec21cbeb DIRECTOR: Properly discover sprite cursors
We canot just use getSpriteIDFromPos, as Director gets the cursor from the
topmost sprite that has a non-empty cursor.
2020-08-19 10:41:55 -04: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
djsrv 8656c91e9d DIRECTOR: Remove leftover old event code 2020-08-04 18:25:29 -04:00
djsrv f4c652e76f DIRECTOR: Return true on handled key event 2020-08-04 15:16:18 -04:00
djsrv a7ca8a0b2c DIRECTOR: Get rid of busy wait for click loop 2020-08-04 15:14:05 -04:00
djsrv 054b8ddeb0 DIRECTOR: Improve mouse event handling 2020-07-27 16:42:42 -04:00
djsrv 33d07334eb DIRECTOR: Replace isFocusable with respondsToEvent 2020-07-27 12:51:51 -04:00
Eugene Sandulenko 300bea13c8 DIRECTOR: Remove unused variable 2020-07-27 00:39:40 +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
djsrv 177283249e DIRECTOR: Fix event segfaults 2020-07-24 14:10:13 -04:00
djsrv 6493e0d763 DIRECTOR: Don't switch movie in processEvent 2020-07-24 11:03:35 -04:00
djsrv f23ef93766 DIRECTOR: Move event handling to movie 2020-07-23 20:05:49 -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
djsrv a67e4bee50 DIRECTOR: Update screen in DirectorEngine::draw 2020-07-21 17:34:22 -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
Nathanael Gentry 5fb984e99f DIRECTOR: Mostly implement cursor of sprite 2020-07-18 00:37:57 -04:00
Nathanael Gentry 3cb709f135 DIRECTOR: Track dragged sprite by channel 2020-07-16 09:59:05 -04:00
Eugene Sandulenko 0ea87e19c6 DIRECTOR: LINGO: Implement command/shift/alt/optonDown 2020-07-11 11:01:47 +02:00
Eugene Sandulenko 6b3cc7498c DIRECTOR: LINGO: Implement 'the clickLoc' 2020-07-11 10:36:51 +02:00
djsrv 04f457c46b DIRECTOR: Add _playState to Score 2020-07-09 12:20:39 -04:00