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!
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.
When in debug mode enter: lingo on
The prompt will start with lingo) to indicate the repl is active.
To stop enter: lingo off
This will allow developers to interactively inspect the current state of
the program.
Only statements that fit on one line are supported.
- When these files are included for the second time, a warning is shown that the previous recipes will be overriden.
- Use_Rules helps with a workaround to disable these warnings.
For each engine:
- Make a new folder detection
- Move detection-related files inside the folder
- Add a new module "enginename/detection"
- Add DETECT_OBJS here
- Adjust the normal engine module to remove detect_objs
- Adjust every file for the new changes.
RearWindow is a mac only XObject that can draw on the desktop
outside the game window. This gives the user more immersion.
Implemented as a no-op since ScummVM doesn't handle the background
outside it's own window.
FixPalette is an XObject for Mac that patches the palette.
According to the docs it's either needed after an 8 palette switch
or when using QuickTime movies with more than one custome palette.
Afterwards the colors will be wrong.
The mPatchIt function that correctly sets the palette is stubbed.
Note: It's at the moment of writing this commit unknown if the
bug will show itself on the mac versions of games.
This commit introduces several changes to the rendering pipeline.
- Rather than having a window for each score that is played, there is a Stage
in g_director that is only cleared when the upcoming stage has a different
size. This permits transitions still clean transitions between movies.
- Rather than relying upon general surface blitting functions, there is
progress toward a custom blitter than makes working with inks much easier. A
pixelwise function, inkDrawPixel, has been introduced.
- The mask-based approach to incremental rendering has been abandoned, as it
caused performance issues and strange rendering bugs. Now the renderer
operates on a traditional list of dirty rects that must be redrawn.
- QuickDraw shapes are more closely integrated with the renderer, and they do
not require a temporary surface to draw.