Commit Graph
142 Commits
Author SHA1 Message Date
Scott Percival 97a6076168 DIRECTOR: LINGO: Allow setting any property on a factory object
Fixes game initialisation of Yaken Rodem.
2023-01-10 13:41:53 +01:00
Scott Percival 873095c87e DIRECTOR: Move current Lingo state into Window-owned struct
The previous arrangement was to copy the bits of Lingo state back and forth from
the Window object to the Lingo instance, and query the window for the
callstack. This refactor consolidates the current Lingo state into a single
struct, owned by the Window object and accessible via a pointer on the
Lingo object.
2022-12-09 01:10:57 +01:00
eientei c616314c65 DIRECTOR: Add ispippin xlib for Circus! (Pippin) and stubbed qtmovie xlib 2022-12-01 01:18:11 +01:00
eientei 54727fec84 DIRECTOR: Add xlibs for Yearn2Learn: The Flintstones Coloring Book 2022-12-01 01:18:11 +01:00
eientei 467c393f03 DIRECTOR: Add xobjs for Ednovation games 2022-12-01 01:18:11 +01:00
Scott Percival f23675ab1d DIRECTOR: LINGO: Add more methods for SpaceMgr XObj 2022-10-22 19:53:22 +02:00
Scott Percival 75a0de4110 DIRECTOR: LINGO: Initial XObjs for AskUser and SpaceMgr 2022-10-22 19:53:22 +02:00
Roland van Laar cf8f854960 DIRECTOR: LINGO: XOBJ: Scaffolding for Widget
Widget is an XObject used in Alice: An Interactive Museum.
The assumption is that getPro returns the drive letter as
the return value of getPro is assigned to a variable called drv.

Resolves the following errors from: https://bugs.scummvm.org/ticket/13204
- WARNING: BUILDBOT: Uncaught Lingo error: Call to undefined handler 'Widget'. Dropping 1 stack items!
- WARNING: varFetch: global variable drv not defined!
2022-10-17 12:49:46 +02:00
Roland van Laar d4bc98d121 DIRECTOR: LINGO: switch to use datum constructor
The datum constructor is overloaded and handles setting the type.
Instead of setting the type by hand we leverage the constructor.

The in this commit are mainly for Datums of type int.
2022-09-21 12:14:35 +02:00
Scott Percival 29cc573d96 DIRECTOR: Update scriptframe command to include cast ID 2022-09-20 20:17:06 +02:00
Scott Percival c1ebb4d52d DIRECTOR: Implement funcs debugger command 2022-09-20 20:17:06 +02:00
Roland van Laar 55ba933b76 DIRECTOR: LINGO: XOBJ: Implement MoovXOBJ
The game C.H.A.O.S. Continuum (D3, win) uses an XOBJ to play Quicktime Video.

Implements the methods that are called in game.
In contrast to the documentation the mMovieDone function returns true when the movie is _not_ done. Otherwise movies are disposed of while playing.
The videos don't use sound.
2022-09-07 10:57:15 +02:00
djsrv d7f9e3601e DIRECTOR: Simplify redraw logic for kTheRegPoint
We only need to add dirty rects for the sprites with this cast member,
not force redraw every sprite.
2022-07-09 18:22:50 -05:00
Pragyansh Chaturvedi (r41k0u) 84c7b3acaa DIRECTOR: LINGO: Implement kTheRegPoint STUBs om BitmapCastMember::getField() and setField() 2022-06-28 22:11:16 +02:00
Pragyansh Chaturvedi (r41k0u) 761c99cbd8 DIRECTOR: LINGO: Implement kTheModified field in CastMember::getField() 2022-06-23 20:26:02 +02:00
eientei 356e1264df DIRECTOR: Add stubbed AppleCD, Barake, JITDraw3 and MiscX XObjs; add more functions to memoryxobj and flushxobj 2022-06-22 23:38:15 +02:00
Pragyansh Chaturvedi (r41k0u) a2a73f3f1a DIRECTOR: LINGO: Implement setting of kTheRect field in CastMember::setField() 2022-06-16 14:01:21 +02:00
Einar Johan Trøan Sømåen 4ddf23d393 DIRECTOR: Implement AIFF Xobject 2022-06-15 16:35:41 +02:00
Einar Johan Trøan Sømåen 039537bcd8 DIRECTOR: Stub MovUtils XObject 2022-06-15 16:35:41 +02:00
Einar Johan Trøan Sømåen a07723a8df DIRECTOR: Implement GPID XObject 2022-06-15 16:35:41 +02:00
Einar Johan Trøan Sømåen 54091dd50d DIRECTOR: Stub JWXINI XObject 2022-06-15 16:35:41 +02:00
Pragyansh Chaturvedi (r41k0u) a2a37604ce DIRECTOR: LINGO: Implement setting of ForeColor and BackColor properties of CastMember 2022-06-14 23:27:33 +02:00
Eugene Sandulenko 059a45b075 DIRECTOR: Catch writing to read-only properties with buildbot 2022-06-14 09:51:12 +02:00
Pragyansh Chaturvedi (r41k0u) a57e049ce9 DIRECTOR: LINGO: Implement kTheDepth property of BitmapCastMember 2022-06-14 09:48:22 +02:00
Eugene Sandulenko 93670edc46 DIRECTOR: LINGO: Optimize TextCastMember::setField() 2022-06-06 18:36:39 +02:00
Pragyansh Chaturvedi (r41k0u) 7846a08f49 DIRECTOR: LINGO: Add nullptr check for channel in TextCastMember::setField() 2022-06-06 18:32:14 +02:00
Pragyansh Chaturvedi (r41k0u) 8409314414 DIRECTOR: LINGO: Implement MacText::enforceFontSlant() and implement kTheTextStyle STUB in TextCastMember::setField() 2022-06-06 18:32:14 +02:00
Pragyansh Chaturvedi (r41k0u) 334bbd11a3 DIRECTOR: LINGO: Implement MacText::enforceTextFont() and use it to implement STUB kTheTextFont in TextCastMember::setField() 2022-06-06 18:32:14 +02:00
Pragyansh Chaturvedi (r41k0u) a982da07d7 DIRECTOR: LINGO: MOve the widget creation to top of TextCastMember::setField() to prevent duplicacy, remove redundant setText() in kTheTextHeight case of TextCastMember::setField() 2022-06-06 18:32:14 +02:00
Pragyansh Chaturvedi (r41k0u) 6b4cffb5e4 DIRECTOR: LINGO: Implement kTheTextSize STUB in TextCastMember->setField() of lingo-object.cpp 2022-06-06 18:32:14 +02:00
Pragyansh Chaturvedi (r41k0u) f241bdefd3 DIRECTOR: LINGO: Implement kTheTextFont, kTheTextStyle, kTheTextHeight and kTheTextSize in Lingo::setField() 2022-06-06 18:32:14 +02:00
Eugene Sandulenko ce486ae58e DIRECTOR: LINGO: Properly implement get textFont of field 2022-06-03 16:02:34 +02:00
Roland van Laar c0282f2da9 DIRECTOR: LINGO: include path with the fileName
The fileName property of a cast includes the directory.
2022-04-03 14:30:41 +02:00
Roland van Laar c342819a60 DIRECTOR: LINGO: Implement the rect of the stage
The rect of stage returns the values of the stage rect.
2022-04-03 12:05:30 +02:00
Roland van Laar 37c12fab97 DIRECTOR: LINGO: Memoryxobj update
The name reflects the name of the object inside the rsrc file.
It's now also registered as an XOBJ.
2022-03-25 19:28:20 +01:00
Roland van Laar 0799ed3b1e DIRECTOR: LINGO: Stub XCMD RegisterCommand
RegisterCommand is an XCMD used in Star Trek: The Next Generation
Interactive Technical Manual. It's unclear what it's purpose is.
2022-03-25 19:24:33 +01:00
Roland van Laar 1902b94c13 DIRECTOR: LINGO: move XPlayAnim to XObject
XPlayAnim is an XObject. It was only used as a regular builtin during
development.
2022-03-06 16:49:32 +01:00
Eugene Sandulenko abea37c9bb ALL: Update ScummVM project license to GPLv3+ 2021-12-26 18:48:43 +01:00
Orgad Shaneh 02cfffcb67 DIRECTOR: Use nullptr
Using clang-tidy modernize-use-nullptr
2021-11-14 15:51:59 +02:00
Roland van Laar 2d395d24db DIRECTOR: LINGO: Implement closeXlib with no arg
closeXlib without argument closes all open Xlibs.
From Lingo Dictionary Version 4 page 46:

    This statement closes all open X library files:
        closeXlib

Includes lingo tests
2021-10-21 23:11:31 +02:00
eientei 38eb5514b7 DIRECTOR: Implement Memory Xobj 2021-10-21 11:52:12 +02:00
Scott Percival dbd1eeed33 DIRECTOR: LINGO: Add implementation for MoveMouseXObj 2021-10-02 19:32:38 +08:00
Scott Percival 9c6d95e041 DIRECTOR: LINGO: Make m_perform inject the current object into the stack
Fixes the dialogue trees in Total Distortion.
2021-09-19 14:17:36 +08:00
djsrv fa01b6d434 DIRECTOR: LINGO: Don't warn when replacing script is expected 2021-09-05 20:38:59 -04:00
djsrv 48c4b08d0a DIRECTOR: LINGO: Allow scripts to call event handlers 2021-08-13 17:10:25 -04:00
Eugene Sandulenko 84cddcf3f6 DIRECTOR: Initial support for l-zone MacII 2021-08-13 17:35:38 +02:00
ysj1173886760 c777d7452f DIRECTOR: fix getting duration. 2021-08-13 18:03:19 +08:00
ysj1173886760 6819fcce6e DIRECTOR: fix the castType of cast 2021-08-09 16:51:25 +08:00
djsrv fc21f2b7be DIRECTOR: LINGO: Allow xlibs to have multiple filenames 2021-08-04 19:31:00 -04:00
djsrv d45f4ade4c DIRECTOR: LINGO: Remove .xlib from xlib name 2021-08-04 19:29:03 -04:00