Commit Graph
137148 Commits
Author SHA1 Message Date
Matthew Duggan 18e7da15e3 ULTIMA8: Add ability to return blocker from isValidPosition 2020-07-27 13:47:00 +09:00
Matthew Duggan 95d0fc6364 ULTIMA8: Keep track of the crosshair process instance 2020-07-27 13:47:00 +09:00
Nathanael Gentry 4f49df9ff2 DIRECTOR: LINGO: Implement palette of cast
Bitmap cast members also now have palette read in correctly, since the CLUT
field can refer to a castmember and not just one of the builtin fields.
2020-07-26 23:46:06 -04:00
Nathanael Gentry d6ac60a221 DIRECTOR: LINGO: Implement kTheFrameTempo 2020-07-26 23:46:06 -04:00
Nathanael Gentry 3cb5b5acb4 DIRECTOR: LINGO: Implement kTheFramePalette 2020-07-26 23:46:06 -04:00
Nathanael Gentry 013c7276e7 DIRECTOR: Implement basic puppetPalette
Right now, only changing the palette itself is supported. Fades and other fancy
features will come later, as needed.
2020-07-26 23:46:06 -04:00
Nathanael Gentry 1e38497d8a DIRECTOR: Properly read frame palette id 2020-07-26 23:46:06 -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
Paul Gilbert 83dbdf0c1f GLK: Mark engine as build by default 2020-07-26 19:29:41 -07:00
Paul Gilbert c414c43c20 ULTIMA: Mark engine as build by default 2020-07-26 19:29:41 -07:00
Paul Gilbert 315af395f1 GLK: Fix local unicode variables to be bool 2020-07-26 19:29:41 -07:00
Nathanael Gentry 402a8fb117 DIRECTOR: Set default palette for pre-D4 versions 2020-07-26 20:28:20 -04:00
antoniou 9828996bd3 CONFIGURE: Require ogg detected and enabled for theora 2020-07-27 02:11:43 +03:00
Cameron Cawley 2e6de7ee3f BACKENDS: Replace use of bzero() 2020-07-26 23:55:28 +01:00
Roland van Laar 9219568792 DIRECTOR: LINGO: Revert use lctxIndex in lscr dumps
This reverts commit 274be05986.

The castIds are repaired during the loading of the scripts
and thus can be dumped based on their castId again.
2020-07-27 00:48:51 +02:00
Roland van Laar 30e6f0a01d DIRECTOR: LINGO: Add scripts to the correct cast
Repair the castIds of script when the scripts are loaded.
The castIds that are defined in the scripts can be wrong.
A better way to link scripts with casts is via the scriptId.

To achieve this casts need to be fetched by their scriptId.
This commit implements the necessary getCastMemberByScript functions
to enable fetching a cast by it's scriptId.

Also removes the old way of repairing the castId coupling.
2020-07-27 00:48:51 +02:00
Eugene Sandulenko 820520f9d6 JANOTORIAL: Fix indentation 2020-07-27 00:46:00 +02:00
Eugene Sandulenko 300bea13c8 DIRECTOR: Remove unused variable 2020-07-27 00:39:40 +02:00
Eugene Sandulenko 490e614b30 DIRECTOR: Fix warning 2020-07-27 00:39:07 +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
Einar Johan Trøan Sømåen 38bb27fb98 Merge pull request #1657 from GunnarBirke/lights-and-shadows
GSOC WME3D: Lights and shadows
2020-07-27 00:20:20 +02:00
Filippos Karapetis 468ca9e00e STARTREK: Hook bridge function stubs 2020-07-27 00:54:49 +03:00
Filippos Karapetis e219042fb8 STARTREK: More work on the intro and credits. Remove custom math functions. 2020-07-27 00:54:49 +03:00
Filippos Karapetis bf80aa1ed0 STARTREK: Some work and stubs for the game intro 2020-07-27 00:54:49 +03:00
Filippos Karapetis b9d33f4f93 STARTREK: Fix MIDI driver initialization 2020-07-27 00:54:49 +03:00
Nathanael Gentry 740cf9f9bf DIRECTOR: Reorganize frame palette loading 2020-07-26 17:45:40 -04:00
Nathanael Gentry e1361a4ff9 DIRECTOR: Prettify puppetTransition arg test
The if is replaced with a nice switch.
2020-07-26 17:45:40 -04:00
Nathanael Gentry c98cea16b4 DIRECTOR: Keep track of loaded palettes 2020-07-26 17:45:40 -04:00
Roland van Laar 372a7f984f DIRECTOR: LINGO: Only replace string that is a var
cb_objectcall accepts strings that should be variables.
When a string isn't known as a variable it should be popped
back to the stack as a string.
The check was for VOIDSYM, however a non-existing var results in
a VOID.
2020-07-26 23:35:01 +02:00
Gunnar Birke 7d227310e3 WINTERMUTE: Add some comments to MeshX::update 2020-07-26 22:57:09 +02:00
Gunnar Birke cf345f91a6 WINTERMUTE: Add missing script calls for lights and shadows 2020-07-26 22:57:09 +02:00
Gunnar Birke bd022f4db6 WINTERMUTE: Add script calls for setting shadow image 2020-07-26 22:57:09 +02:00
Gunnar Birke f7d354c288 WINTERMUTE: Warn about actor being displayed with non-stencil shadows 2020-07-26 22:57:09 +02:00
Gunnar Birke 73c0e9464e WINTERMUTE: Fix calculation of transform for attachment shadow 2020-07-26 22:57:09 +02:00
Gunnar Birke 8d4b3de4a7 WINTERMUTE: Try to approximate wme settings for spotlight cutoff 2020-07-26 22:57:09 +02:00
Gunnar Birke d056758e72 WINTERMUTE: Initialize alpha value of specular and emissive color 2020-07-26 22:57:09 +02:00
Gunnar Birke beb33b2b6b WINTERMUTE: Implement shadow volume render functions 2020-07-26 22:57:09 +02:00
Gunnar Birke 70e30f11b1 WINTERMUTE: Invert z coord when loading in shadow light position 2020-07-26 22:57:09 +02:00
Gunnar Birke 6895116b63 WINTERMUTE: Use argb value for shadow color (like wme) 2020-07-26 22:57:09 +02:00
Gunnar Birke a1371d002f WINTERMUTE: Handle camera pointer being null 2020-07-26 22:57:08 +02:00
Gunnar Birke 06ea22dfaa WINTERMUTE: Render light position and direction if requested 2020-07-26 22:57:08 +02:00
Gunnar Birke 0df93728f7 WINTERMUTE: Let mesh update shadow volume vertices of model 2020-07-26 22:57:08 +02:00
Gunnar Birke 3105c4d9f7 WINTERMUTE: Generate adjacency list of mesh during load 2020-07-26 22:57:08 +02:00
Gunnar Birke 136831029c WINTERMUTE: Display shadow volume of actor if stencil shadows are set 2020-07-26 22:57:08 +02:00
Gunnar Birke bcc565c0f1 WINTERMUTE: Update normal vectors during animation update 2020-07-26 22:57:08 +02:00
Gunnar Birke b938293170 WINTERMUTE: Normalize normal vectors of 3d objects 2020-07-26 22:57:08 +02:00
Gunnar Birke aaaa397802 WINTERMUTE: Implement Light3D::setLight 2020-07-26 22:57:01 +02:00
Roland van Laar 32a4ec8d4d DIRECTOR: LINGO: Set correct debuglevel
The called function only prints on debuglevel 5. Set the debuglevel
to that.
2020-07-26 19:38:05 +02:00
Cameron Cawley 68107af6de TESTS: Fix the subsystem of the test runner on Windows 2020-07-26 17:07:35 +01:00