Commit Graph
268 Commits
Author SHA1 Message Date
Eugene Sandulenko 54c06e8da0 DIRECTOR: JANITORIAL: Sort debug flags 2020-08-21 00:36:19 +02:00
Roland van Laar 18b99bf796 DIRECTOR: Add endvideo debugflag for stopped video
The movieRate is checked in lingo code to see if the movie
is still running. Setting it to 0 signals the end of the movie.
This is usefull in Majestic to progress in the game.

Note: This flag can be removed once DigitalVideo is working.
2020-08-15 22:24:43 +02:00
Eugene Sandulenko e5e82d4cf6 DIRECTOR: Copy over PixelFormat from the WM for simpler access 2020-08-14 10:47:33 +02:00
Eugene Sandulenko 88c46aefe3 DIRECTOR: Initial code for 32bpp rendering 2020-08-14 01:10:56 +02:00
Nathanael Gentry f28808007b DIRECTOR: Eliminate intermediate surface 2020-08-12 02:35:26 -04:00
djsrv 2f0090e11d DIRECTOR: LINGO: Reload builtins on version change 2020-08-10 15:00:55 -04:00
djsrv 0ff7274993 DIRECTOR: Multiply version numbers by 100
To accomodate minor version.
2020-08-10 15:00:55 -04:00
djsrv 4ec37c07cf DIRECTOR: LINGO: Implement kTheWindowType 2020-08-06 14:50:59 -04:00
djsrv efaf69a617 DIRECTOR: Add _isStage to Window 2020-08-06 13:50:09 -04:00
Nathanael Gentry 7a15ae695a DIRECTOR: Implement kTheCenterStage 2020-08-06 12:50:25 -04:00
Nathanael Gentry 5cb525e29e DIRECTOR: Record game data directory 2020-08-05 11:41:30 -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
Roland van Laar 644704a5ba DIRECTOR: Allow Director Version change during runtime
There are subtle versions between director versions.
Changing the version during runtime allows for testing these
changes from the lingo tests.

Includes a new kThe keyword: kTheScummvmVersion.
The Director Version can be set and queried with it.
2020-08-03 12:01:15 +02:00
djsrv 04f7e8d1c2 DIRECTOR: Set window border types 2020-07-31 16:38:37 -04:00
Nathanael Gentry ea75044ae1 DIRECTOR: Load palette castmembers
The loadPalette is also turned into a value-returning function.
2020-07-27 18:04:12 -04:00
Nathanael Gentry 74454b0434 DIRECTOR: Properly initialize current palette id 2020-07-27 09:07:02 -04:00
Nathanael Gentry b3b7ed19a4 DIRECTOR: Rework palette handling
Now there is no static for default palettes. All the defaults have negative ids
anyway, so those are just protected by the new setter method.
2020-07-26 23:46:06 -04:00
djsrv c12caa0e9b DIRECTOR: Don't processEvents if no main movie 2020-07-24 15:07:21 -04:00
djsrv f23ef93766 DIRECTOR: Move event handling to movie 2020-07-23 20:05:49 -04:00
Eugene Sandulenko 4c763f6981 DIRECTOR: Do not show GUI error under buildbot 2020-07-23 16:25:09 +02:00
Nathanael Gentry 0058822e6e DIRECTOR: Implement opening resource files 2020-07-20 14:17:24 -04:00
Nathanael Gentry 3cb709f135 DIRECTOR: Track dragged sprite by channel 2020-07-16 09:59:05 -04:00
Eugene Sandulenko c740cbb37b DIRECTOR: Added support for L-ZONE Win derectory stucture 2020-07-14 00:41:43 +02:00
Eugene Sandulenko 78df0dea5b DIRECTOR: Fix detection and startup for Win L-ZONE 2020-07-14 00:23:17 +02:00
Eugene Sandulenko 067cf78344 DIRECTOR: Plug memory leak 2020-07-13 11:41:54 +02:00
Eugene Sandulenko 1c394fb7fc DIRECTOR: Implement Director-specific PRNG and hook it to Lingo 2020-07-11 23:22:12 +02:00
Eugene Sandulenko 0ea87e19c6 DIRECTOR: LINGO: Implement command/shift/alt/optonDown 2020-07-11 11:01:47 +02:00
Scott Percival 8af755c7e3 DIRECTOR: Fix b_updateStage to redraw the screen 2020-07-11 12:30:58 +08:00
djsrv 72eba878a1 DIRECTOR: Move _wm->draw() to DirectorEngine 2020-07-09 15:40:04 -04:00
djsrv 324ecfa880 DIRECTOR: Play MIAWs 2020-07-09 12:20:39 -04:00
djsrv 191ed3bc19 DIRECTOR: LINGO: Implement window list 2020-07-08 15:19:04 -04:00
djsrv a56f400e32 DIRECTOR: Add main stage 2020-07-08 15:19:04 -04:00
djsrv 4c92044e36 DIRECTOR: LINGO: Stub window/stage methods 2020-07-07 16:59:55 -04:00
Eugene Sandulenko 585faec1ca DIRECTOR: Rename 'bytecode' to 'nobytecode'. Run bytecode by default for D4+ 2020-07-06 13:19:20 +02:00
Eugene Sandulenko 5ed12e2fe8 DIRECTOR: Initialize Director class members 2020-07-06 11:56:37 +02:00
djsrv 2c41b3f291 DIRECTOR: Give Stage ownership of movies 2020-07-03 15:55:14 -04:00
djsrv 509871448d DIRECTOR: Add desktop debug flag 2020-07-03 11:03:21 -04:00
djsrv f05be30146 DIRECTOR: Fix sharedCast mistake 2020-07-02 15:54:18 -04:00
djsrv 41eb01ff58 DIRECTOR: Fix warlock-mac crash 2020-07-02 15:17:37 -04:00
djsrv 38d17341e2 DIRECTOR: LINGO: Move lingo archive to Cast 2020-07-01 22:07:13 -04:00
djsrv fb39572fd5 DIRECTOR: Move _sharedCast to Movie 2020-07-01 13:24:37 -04:00
Eugene Sandulenko 1aa1fe2802 DIRECTOR: Furhter decrease of header dependency 2020-07-01 17:49:48 +02:00
djsrv 5ae6c34074 DIRECTOR: Separate Movie and Cast from Score 2020-07-01 10:50:31 -04:00
Nathanael Gentry d04934a54f DIRECTOR: Move rendering to a Stage class
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.
2020-06-30 12:38:46 -04:00
Nathanael Gentry 2643e2f957 GRAPHICS: MACGUI: MacWindowManager: Optionally set custom patterns
The Director engine, which uses custom patterns, is also updated.
2020-06-29 09:07:05 -04:00
djsrv f11da52a67 DIRECTOR: LINGO: Detect XCOD resources 2020-06-24 23:29:30 -04:00
djsrv 54a3bcdae4 DIRECTOR: LINGO: Reset Lingo on quit
This cleans up a ton of previously leaked memory.
2020-06-23 21:21:46 -04:00
Roland van Laar 398893b629 DIRECTOR: Set machinetype for windows games to IBM.
The default platform is a Macintosh IIci.
All windows games can be assumed to run on an IBM machine.

Specifically: the FixPalette XObject is not needed on Windows.
It fixes the Palette when on Macintosh for QuickTime movies.
http://www.zeusprod.com/technote/patchpal.html
2020-06-22 13:23:27 +02:00
Roland van Laar 87e9cdee28 DIRECTOR: implement debugflag for screenshotting
It's now possible to screenshot all played frames by using:
    `--debugflags=screenshot`
The screenshots are stored in `dumps/<archivename>-movie-<frameran#>.png`.

Note: it's PNG only.
2020-06-21 17:51:48 +02:00
djsrv 31399a675b DIRECTOR: Add Mac key code mappings 2020-06-16 22:43:12 -04:00