This is loaded as `MovieUtilities` in Momi no Ki no Shita de, which
also makes use of the getSystemPath method.
Other methods not implemented since they're not used on this disc.
[Based on Director in a Nutshell, page 15]
The following properties of a sprite are auto-puppeted whenever
the property is set: backColor, blend, editable, foreColor, height,
ink, loc, locH, locV, member, moveable, rect and width. Auto-puppeting
of individual properties has no effect on the puppet of sprite property
['Lingo Dictionary' 601 Fixes]
Sprites now have a duration as specified in the (new) score view.
When lingo modifies any of the sprite properties that property
will be auto-puppeted, i.e. the value set will stick for the
duration of that sprite despite any values recorded in the score.
This can cause existing lingo which relied on setting the property
of a sprite without the use of 'puppet' to behave differently.
Calling 'puppetSprite spriteNumber, FALSE' will also clear any
currently auto-puppeted properties.
In original engine it is possible to set non-puppted sprite properties
like position, backcolor etc and then call updatestage to update the
screen according to property. This is undocumented behaviour
which is not present depicted in any books however with rigorous testing
it is found to be true. This change only persist for the current frame
and once the playback head is moving the change is lost.
`ATD\HD\bdDREAMA.DXR` of 'totaldistortion' used some of this quirk to
display moving bullets.
In 6e47994fc793f122768565185b1d6c6052aca2d9, openResFile was changed
to use the new `openArchive` method. However, that method tries to
treat the file as a Director archive and it may not be. This broke,
for example, loading external cursors via `openResFile`. This reverts
to the previous behaviour.
This figure is supposed to be the highest member ID for a cast member in
the current movie, not the actual count of cast members.
In addition, Lingo only throws an error when querying cast member IDs that
are higher than this figure. If the member ID is lower and the cast
member doesn't exist, "the" queries return a VOID.
Fixes the verify cast table check in Star Trek TNG Episode Guide.
Make DirectorEngine::_allOpenResFiles the de-facto owner of Archive *
objects, move all of the various loadEXE/loadMac methods off Window and
onto DirectorEngine, and replace inline Archive loading with
openArchive().
Starting D4, actorList is implemented and all the documentation
points to the use of it, however with testing it has been found
that the support for mAtFrame is never removed, both of these
can be used in parallel, hence adding support for mAtFrame hook
in future director versions.
`Hierarchical Bird` of 'theapartment4' which is built for director 4
uses legacy mAtFrame hook.
This reverts commit 72d890b751.
This brought a regression of turning sound in many games.
It breaks again the7colors when exiting the car:
--start-movie=03CAR:xn--Car.IO-ma28a:CarOutSideView03
Implements modal property using the locking widgets of macwindowmanager.
`modal of window` in 'workshop' uses this.
Co-authored-by: Pragyansh Chaturvedi <pragyanshchaturvedi18@gmail.com>
Modifies border of window by first changing title to "", then updating
window border to borderType 2 `ThinNoTitle`.
`titleVisible of window` to verify this behavior.
Co-authored-by: Pragyansh Chaturvedi <pragyanshchaturvedi18@gmail.com>
It must use Director character order.
This also implemented d_strstr() function as strstr() replacement
The side effect of it is the7colors navigation was broken. It contains
the following code:
set offs = offset("ROOM.I/O",the pathname) - 1
set path = chars(the pathname,1,offs)&"01.Colidor:"
the pathname is "01ROOM:Room.I/O:" that does not match "ROOM.I/O"
Adds the support to get/set field 'rect' of window object, interally it modifies the inner dimension of window object.
'mcluhan' used this to set window dimensions of background windows (through tell), Additionally `rect of window` in `workshop` also uses this patch for setting/getting field `rect` of window.
resize function is extracted to new function resize and resizeInner,
also a new private function rebuildSurface is created to handle common
code of refreshing/rebuilding surface after modifying inner or outer
window dimensions.
Initially, window can only handle calls by string parameters, ie `window "abc"`, however a window can also be called using its index in windowList, ex. `window 1`, this patch adds support to check reference type (ie checking using STRING or INT) and return window by index if applicable.
`rect of window` of `workshop` used this feature to create a window named ball then referring to it using `window 1`, previously multiple windows were getting created, however now the existing window will be returned.
Initially for a bad file that didn't exist, the ProjectorArchive was throwing up, now however implemented gracefully loading.
Fixed error and termination for `Majestic.bin`, the path it tried to look up was `Majestic` from detection entry.
This patch uses ProjectorArchive to extract multiple resources embedded into executable files, additionally a new function getRawExe is defined which gets raw exe file name without --start-movie overriding it.
Solves the problem for finding multiple resource files like `ModTB.DXR` in 'mcluhan', uses 'mcluhan.exe' to extract resources and add them to SearchMan.