121 Commits

Author SHA1 Message Date
Scott Percival
665a76536e DIRECTOR: Fix setter for "the rect of sprite"
Normally you can only change the width and height of a sprite when the
sprite is a puppet, and the stretch flag is set. Apparently for shapes,
all that's required is the puppet flag.

Fixes the mouse cursor bounding box in DEVO Presents: Adventures of the
Smart Patrol.
2022-11-18 16:28:05 +01:00
Scott Percival
1524ee3615 DIRECTOR: Fix coloring of 1-bit bitmaps
If a channel contains a 1-bit bitmap cast member, use the foreground
color instead of black when rendering in Background Transparent mode.

Fixes various text bitmaps in Total Distortion and iD4 Mission Disk 1.
2022-11-18 16:28:05 +01:00
Scott Percival
b2d13c5ea1 DIRECTOR: Stop playing videos when sprite gets replaced
Fixes cupcake song not stopping in Chop Suey.
2022-10-06 00:05:17 +02:00
Scott Percival
e477106daa DIRECTOR: Update Channel::_movieTime in Score::updateWidgets
Previously this would be updated in
DigitalVideoCastMember::createWidget, which meant it was possible for a
movie to complete without updating _movieTime to the final end position.

Fixes the cupcakes from not stopping animating once the song is finished
in Chop Suey.
2022-10-06 00:05:17 +02:00
Scott Percival
b572de94a4 DIRECTOR: Hardcode white and black in Channel::getPlotData()
Blit operations in Director expect that the "white" and "black" color
indexes are at 255 and 0, respectively. Fetching these values from
the window manager is not reliable when the palette has multiple
indexes sharing a color (e.g. blackPalette and whitePalette), which will
mean the applyColor flag is incorrectly set to true when foreColor and
backColor are the correct values.

Fixes fade from white when entering the door to the Land of Desire in
Eastern Mind.
2022-09-12 15:52:18 +02:00
Pragyansh Chaturvedi
fb6497a059 DIRECTOR: Fix constrainH fail build step in BUILDBOT by adding _constraint check 2022-07-02 23:58:15 +02:00
Pragyansh Chaturvedi
42dfdd9f35 DIRECTOR: LINGO: Implement constraint in Channel::getBbox(), Fix getActive() to return true for movable sprites 2022-06-26 22:53:08 -05:00
Eugene Sandulenko
c95d4245dc
DIRECTOR: Simplify DirectorPlotData 2022-06-13 18:12:22 +02:00
Pragyansh Chaturvedi (r41k0u)
3610df85c6 DIRECTOR: Implement erase lingo command 2022-03-26 22:58:55 +01:00
Eugene Sandulenko
abea37c9bb
ALL: Update ScummVM project license to GPLv3+ 2021-12-26 18:48:43 +01:00
Scott Percival
2e77b6eaf6 DIRECTOR: Fix position of film loop subchannels
Sprites stored in frames are referenced by position (minus the
registration offset), width and height. Film loops are the same. As
such, fix the bounding box calculation for the film loop to use the
correct sprite positions (e.g. center for bitmaps), then fix the
subchannel generator to take these into account.
2021-11-09 21:46:44 +08:00
Scott Percival
6d32f570f5 DIRECTOR: Rework film loops to render as channels
The engine treats film loops as N full channels getting rendered to the
screen in the space of one. As such, it's impossible to pre-blit together
the content, as any blitter mode can be used for each of the items.
2021-11-07 12:05:29 +08:00
Scott Percival
e4f767c916 DIRECTOR: Move methods from Channel to Sprite 2021-10-12 01:08:34 +08:00
djsrv
80b4d55586 DIRECTOR: Make isMouseIn return false for invisible sprites 2021-08-23 16:10:44 -04:00
ysj1173886760
8e8f640e69 DIRECTOR: fix editableText both in D2/3 and in D4. 2021-08-18 20:19:18 +08:00
ysj1173886760
000efc160d DIRECTOR: update video time when render sprites. 2021-08-13 18:03:19 +08:00
ysj1173886760
15c0c68b1c DIRECTOR: don't clear bbox when render trailed channel. 2021-08-12 17:03:09 +08:00
ysj1173886760
dcabde4f8e DIRECTOR: release previous widget when setting new castmember. 2021-08-12 17:03:09 +08:00
ysj1173886760
48934882d3 DIRECTOR: always use the unstretched dims to create widget. 2021-08-09 16:51:25 +08:00
ysj1173886760
dc6211dac0 DIRECTOR: fix the condition of resetting stopTime 2021-08-05 17:10:52 +08:00
ysj1173886760
8bc3b3c1f1 DIRECTOR: reset the _stopTime when we are not playing video. 2021-08-05 17:00:35 +08:00
ysj1173886760
12dcfbfd72 DIRECTOR: implement getting the mouseLine 2021-07-31 15:52:57 +08:00
ysj1173886760
dd7a3bfc53 DIRECTOR: implement getting the mouseItem 2021-07-31 15:47:07 +08:00
djsrv
91a1339e39 DIRECTOR: Use matte for arithmetic ink types
White surrounded by colored pixels needs to be drawn for these ink
types. Fixes https://trello.com/c/WkQSoAZW
2021-07-30 13:29:53 -04:00
ysj1173886760
ab1e526c1e DIRECTOR: implement getting the MouseWord 2021-07-30 16:38:31 +08:00
ysj1173886760
928e76538f DIRECTOR: implement getting the MouseChar 2021-07-30 16:26:36 +08:00
ysj1173886760
6315f744d8 DIRECTOR: implement checkBoxAccess property 2021-07-29 10:52:45 +08:00
djsrv
d8310a0181 DIRECTOR: Don't add file extensons to video names 2021-07-24 01:44:27 -04:00
ysj1173886760
e8bfee1742 DIRECTOR: keep update sprite info when we are dealing with QDShape 2021-07-21 20:43:56 +08:00
ysj1173886760
a96793a4d5 DIRECTOR: fix calculating registeration offset for scale bitmap castmember. 2021-07-21 20:43:56 +08:00
ysj1173886760
d271a4d741 DIRECTOR: add comment for setClean 2021-07-19 10:41:23 +08:00
ysj1173886760
da3f84e37a DIRECTOR: amend replacing widget for checking the changing of spriteType 2021-07-19 10:41:23 +08:00
ysj1173886760
6d2131801f DIRECTOR: use sprite type to guide creating widget, instead of overwrite cast type 2021-07-19 10:41:22 +08:00
ysj1173886760
9d6a7343da DIRECTOR: add a new parameter spriteType for createWidget. 2021-07-19 10:41:22 +08:00
ysj1173886760
5f17f5e69b DIRECTOR: move checking the conflict of sprite type to where we create the widget. 2021-07-19 10:41:22 +08:00
ysj1173886760
8c58acc8d8 DIRECTOR: don't render if sprite type is conflict with cast type, instead of override cast type 2021-07-19 10:41:22 +08:00
ysj1173886760
0565b342a3 DIRECTOR: support scaling matte ink bitmap castmember 2021-07-12 15:24:32 +08:00
ysj1173886760
947764159c DIRECTOR: fix rendering text separately. read fg color though text, instead of argument 2021-07-09 09:41:31 +08:00
ysj1173886760
cd227d47e9 DIRECTOR: rendering ink copy editable text separately 2021-07-09 09:41:31 +08:00
ysj1173886760
d86a1e021c DIRECTOR: rendering editable text separately. 2021-07-09 09:41:31 +08:00
ysj1173886760
ee52e2274c DIRECTOR: eliminate forcing dims when setting cast in lingo 2021-07-08 10:10:07 +08:00
ysj1173886760
6c8d4f3367 DIRECTOR: force to modify sprite dims when we are setting cast though lingo 2021-07-08 02:25:11 +02:00
ysj1173886760
8c792cd2a4 DIRECTOR: set the newSprite to reset the currentpoint when we are changing the widget. 2021-07-08 02:25:11 +02:00
ysj1173886760
330d3b4dc5 DIRECTOR: enforce to replace widget when we have dims changed 2021-07-08 02:25:11 +02:00
ysj1173886760
048585abca DIRECTOR: scale the registrationOffset when we are scaling the bitcast 2021-07-08 02:25:11 +02:00
djsrv
615995fdc1 DIRECTOR: Change member refs to use CastMemberID 2021-06-30 22:32:19 -04:00
ysj1173886760
bcd33eeba3 DIRECTOR: fix rendering text to suit for different style text 2021-06-30 16:29:00 +02:00
ysj1173886760
d0317fa1bb DIRECTOR: use text style to determine whether text should fix dims 2021-06-30 16:29:00 +02:00
ysj1173886760
b2ea651b9d DIRECTOR: auto expand text widgets for D3/4 2021-06-30 16:29:00 +02:00
ysj1173886760
7eb039d174 DIRECTOR: fix intersect check. add 1 offset for constrain boundary 2021-06-30 16:29:00 +02:00