Commit Graph
58 Commits
Author SHA1 Message Date
aryanrawlani28 4f55c1b689 DIRECTOR & KYRA: MODULES: Use workarounds to skip warnings.
- 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.
2020-10-03 14:56:36 +02:00
aryanrawlani28 29ceb07959 ENGINES: ALL: Revert detection submodule to be directly present in the engine directory
- DETECT_OBJS are present and added inside an engine's modules.mk file.
2020-10-03 14:56:36 +02:00
aryanrawlani28 8189a05316 ENGINES: ALL: Adapt to changes for new plugins by defining a new detection module
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.
2020-10-03 14:56:36 +02:00
aryanrawlani28 7944a7b039 DIRECTOR: Split detection features & adapt to new plugins. 2020-10-03 14:56:36 +02:00
Eugene Sandulenko 6afb2159c6 DIRECTOR: Remove obsolete video.* 2020-08-18 13:08:52 +02: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 edd5aab7fd DIRECTOR: LINGO: Implement RearWindowXObj as no-op
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.
2020-07-27 12:44:22 +02:00
Eugene Sandulenko 6260ebebde DIRECTOR: Fix module.mk format 2020-07-27 10:12:25 +02:00
Roland van Laar 9e040d1b3c DIRECTOR: LINGO: STUB XObject FixPalette
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.
2020-07-27 00:36:07 +02:00
Roland van Laar af62a9d182 DIRECTOR: LINGO: Add FlushXObject
FlushXObj is a Mac only XObject to call the underlying FlushEvents function
from the Macintosh Toolbox. Its purpose is to flush, i.e. remove, events
that happened while loading code.

Implemented as a no-op, there's no need to flush events because:
 - ScummVM handles them and
 - computers were slower and queued events when the program was loading.

More information about the Toolbox and the flush events can be found here:
 https://en.wikipedia.org/wiki/Macintosh_Toolbox
 https://developer.apple.com/legacy/library/documentation/mac/pdf/MacintoshToolboxEssentials.pdf
2020-07-27 00:36:07 +02:00
Eugene Sandulenko 9c22d5bc8f DIRECTOR: Sort module.mk 2020-07-25 22:35:18 +02:00
Nathanael Gentry 4f15cb4af4 DIRECTOR: Introduce Cursor class 2020-07-18 00:37:57 -04:00
Nathanael Gentry 8a85754f25 DIRECTOR: Move Channel to its own file 2020-07-08 13:44:02 -04:00
djsrv 5ae6c34074 DIRECTOR: Separate Movie and Cast from Score 2020-07-01 10:50:31 -04:00
djsrv 3303ab985e DIRECTOR: Rename cast.cpp -> castmember.cpp 2020-07-01 10:50:31 -04:00
djsrv dea03c1171 DIRECTOR: Rename movie.cpp -> video.cpp 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
djsrv 7f579c2dd2 DIRECTOR: LINGO: Future proof for Xtras 2020-06-10 12:18:29 -04:00
djsrv dd74683f10 DIRECTOR: LINGO: Add XObject type 2020-06-10 12:18:29 -04:00
Nathanael Gentry a2e230803d DIRECTOR: Render texts and buttons with widgets 2020-06-10 15:42:49 +02:00
djsrv 041326bdd1 DIRECTOR: LINGO: Implement factory method calls 2020-06-06 18:34:06 +02:00
Eugene Sandulenko e900e8bb4c DIRECTOR: Split out score loading methods 2020-06-04 00:30:37 +02:00
Eugene Sandulenko 38a5b8e9ef DIRECTOR: Moved all director test-related code to tests.cpp 2020-06-04 00:07:34 +02:00
Eugene Sandulenko efc1840c51 DIRECTOR: Switched to Homebrew flex for consistency 2020-05-31 14:38:35 +02:00
Eugene Sandulenko 87cc5f1c68 DIRECTOR: LINGO: Implemented code patcher and added patches for Warlock 2020-05-22 15:38:49 +02:00
Eugene Sandulenko b90b5a690e DIRECTOR: Moved Ink-related Score methods to ink.cpp 2020-05-21 23:24:43 +02:00
Eugene Sandulenko 07e5734759 DIRECTOR: Made director-grammar target brew-only 2020-04-07 19:30:38 +02:00
Eugene Sandulenko 0a25627a70 DIRECTOR: Moved transitions code to separate file 2020-03-24 01:04:11 +01:00
Eugene Sandulenko 990a3b06ec DIRECTOR: LINGO: Speciy lexer output file in the sources 2020-01-15 00:20:59 +01:00
Eugene Sandulenko ef72a41082 DIRECTOR: LINGO: Specified bison output files in the grammar file 2020-01-14 18:03:51 +01:00
Eugene Sandulenko b022b8ad76 DIRECTOR: Split out Lingo preprocessor code into a separate file 2019-12-24 00:19:27 +01:00
Scott Percival ffde055357 DIRECTOR: begin interpreter for Lingo V4 bytecode 2019-11-17 22:31:54 +01:00
Tobia Tesan 415d9d660e DIRECTOR: Add CachedMacText 2017-05-02 21:01:23 +01:00
Tobia Tesan 4ae5453af8 DIRECTOR: Add stxt.cpp 2017-05-02 21:01:23 +01:00
Eugene Sandulenko 4873330d23 DIRECTOR: Lingo: Added stub for generic event handlers 2017-04-14 18:49:01 +02:00
Eugene Sandulenko 4c3f07b3e0 DIRECTOR: Moved event processor to events.cpp 2017-03-09 17:57:12 +01:00
Eugene Sandulenko 27a0f43333 DIRECTOR: Move utility functions to util.cpp 2017-02-25 21:44:01 +01:00
stevenhoefel 6e04b361b2 DIRECTOR: Implement Shape Patterns and Borders for D3. 2017-01-13 12:17:36 +11:00
Eugene Sandulenko 25a2333394 DIRECTOR: Split out cast-related classes into separate file 2016-11-08 21:51:51 +01:00
Eugene Sandulenko d5009ee5c1 DIRECTOR: Put all archive parsing methods into archive.cpp 2016-08-29 18:15:00 +02:00
Eugene Sandulenko f8483d2dab DIRECTOR: Split score.cpp file into classes 2016-08-23 09:41:00 +02:00
Eugene Sandulenko 79995f6222 DIRECTOR: Stub for 1bpp bitmap decoder 2016-08-21 11:24:11 +02:00
Eugene Sandulenko e0a9d96974 DIRECTOR: Put flex/bison as separate target, so general compilation is not affected 2016-08-04 13:38:46 +02:00
Eugene Sandulenko 22baf62312 DIRECTOR: Lingo: Added stub for 'the' entities 2016-08-03 23:40:36 +02:00
Eugene Sandulenko 8cc88b6fca DIRECTOR: Lingo: Initial code for built-in functions 2016-08-03 23:40:36 +02:00
Eugene Sandulenko 2523bed5db DIRECTOR: Lingo: Split out the code gen functions into a separate file. 2016-08-03 23:40:36 +02:00
Eugene Sandulenko 79a91588b8 DIRECTOR: Lingo: Split out opcodes from actual function implementations 2016-08-03 23:40:36 +02:00
Eugene Sandulenko 81b056ffc1 DIRECTOR: Lingo: Add missing funcs 2016-08-03 23:40:36 +02:00
Dmitry Iskrich f675f9be93 DIRECTOR: Add initial code for QuickTime video 2016-08-03 23:40:36 +02:00
Eugene Sandulenko 4e2b3f449e DIRECTOR: Lingo: Moved func_mci() to a separate file 2016-08-03 23:40:36 +02:00