5636 Commits

Author SHA1 Message Date
Christian Krause
4425493124 GRAPHICS: Cleanup
- no need to dereference g_driver since createSpecialtyTexture()
  is already called in the correct object's context
2014-12-31 15:47:36 +01:00
Christian Krause
ad2ce4a87e EMI: Fix memleaks caused by specialtyTextures
- delete screenshot after texture is created
- free _data[] entries in BitmapData::freeData()
- destroy _specialtyTextures[] entries in
  graphic driver's destructors
2014-12-31 15:47:36 +01:00
Christian Krause
026166ecf6 GRIM: Make malloc/free calls symmetric
- MemoryReadStream's data is destroyed in its desctructor
  via free so that original memory allocation needs to use malloc
  instead of new
2014-12-31 15:47:33 +01:00
Christian Krause
455f58a309 EMI: Minor cleanup of access modifier
- make EMIChore::fade() private (no need for public access, method is
  already protected in base class)
2014-12-31 15:47:02 +01:00
Christian Krause
5b5b8e5281 EMI: Use correct type for comparison 2014-12-31 15:46:37 +01:00
Pawel Kolodziejski
ae24374482 Revert "GRIM: Fix deleting material when it is still needed"
This reverts commit 8767a41294a24bc24b50adda12b19cadbdfc0515.
2014-12-31 12:09:22 +01:00
Pawel Kolodziejski
ed6a7a067f SDL: For TinyGL only change resolution to desktop in fullscreen mode when aspect ratio is on 2014-12-30 12:57:40 +01:00
Paweł Kołodziejski
3c2203e8c6 Merge pull request #1142 from klusark/mat
GRIM: Fix deleting material when it is still needed
2014-12-30 07:08:31 +01:00
Joel Teichroeb
8767a41294 GRIM: Fix deleting material when it is still needed 2014-12-29 21:51:27 -08:00
Pawel Kolodziejski
4f19ee6a2c GRIM: restored previous position shifting, but only partially for one font 2014-12-29 12:00:09 +01:00
Pawel Kolodziejski
a37e7bc204 GRIM: fixed TinyGL draw sprites 2014-12-28 17:11:13 +01:00
Pawel Kolodziejski
2a6f23839f GRIM: turn on back Depth Write after draw shadow planes 2014-12-28 16:51:06 +01:00
Pawel Kolodziejski
4166e1f4f5 GRIM: fixed compilation on AmigaOS4 2014-12-28 08:54:59 +01:00
Pawel Kolodziejski
91725ce54f GRIM: improve drawing X on Don's computer in OpenGL driver 2014-12-28 08:49:15 +01:00
Pawel Kolodziejski
7a252183dc GRIM: fixed issue #1069 2014-12-28 00:04:24 +01:00
Pawel Kolodziejski
f039ccd474 TINYGL: make consistent between allocation and free resource 2014-12-27 23:28:11 +01:00
Pawel Kolodziejski
6afed33017 GRIM: fixed issue #1083 (revert old behavior) 2014-12-27 21:51:01 +01:00
Pawel Kolodziejski
dd02af967e GRIM: Fixed crash/invalid reads in Blocky16 #909 2014-12-27 14:31:53 +01:00
Paweł Kołodziejski
951a61a09a Merge pull request #1139 from Akz-/grim-elevator-fix
GRIM: Quaternion rotation fixes
2014-12-27 08:43:03 +01:00
Joni Vähämäki
e287fb4c8e GRIM: Initialize rotation quaternion also when loading text format model. 2014-12-27 00:30:09 +02:00
Joni Vähämäki
ae64297e3a GRIM: Initialize animated pose to bind pose, so the model bounding box is calculated correctly. Fixes #1082
Also removed the yaw, pitch and roll fields from ModelNode as they are no longer needed after the rotation is converted to a quaternion.
2014-12-27 00:28:39 +02:00
Joel Teichroeb
943ee12926 GRIM: Add sector null check. Fixes #1134 2014-12-26 08:42:45 -08:00
Paweł Kołodziejski
9d1cef2447 Merge pull request #1133 from Akz-/quat-fix
GRIM: Fix matrix to quaternion conversion. Fixes #1132
2014-12-25 22:38:37 +01:00
Joni Vähämäki
2c1ae44b5c GRIM: Fix matrix to quaternion conversion. Fixes #1132 2014-12-25 23:12:26 +02:00
Pawel Kolodziejski
b8bddf64da GRIM: fixed transparency in TinyGL renderer 2014-12-25 15:16:50 +01:00
Pawel Kolodziejski
c2a9a394c3 MYST3, TINYGL: fixed endian issue 2014-12-23 20:40:59 +01:00
Bastien Bouclet
7a3e61a9b7 MYST3: Fix the endian-safety of the OpenGL texture loading 2014-12-22 20:20:00 +01:00
Pawel Kolodziejski
24b6e643b4 CREDITS: corrected name 2014-12-21 17:38:19 +01:00
Pawel Kolodziejski
2f7ab83118 EMI: prevent use cache when result is false 2014-12-21 16:46:52 +01:00
Bastien Bouclet
b7e8ef5dc4 MYST3: Turn some warnings into debugs 2014-12-21 16:26:34 +01:00
Pawel Kolodziejski
86876c6bbc ALL: synced with ScummVM 2014-12-21 16:09:34 +01:00
Pawel Kolodziejski
ca9c1afa86 ALL: update credits 2014-12-21 14:45:05 +01:00
Pawel Kolodziejski
f727e0966d ALL: upgrade version number for master 2014-12-21 13:22:37 +01:00
Pawel Kolodziejski
73c9fda2e5 ALL: full sync with ScummVM 2014-12-04 21:16:12 +01:00
Pawel Kolodziejski
8b8783134f ALL: synced with ScummVM 2014-12-04 20:46:56 +01:00
Bastien Bouclet
3973f8f539 GRAPHICS: Fix mouse scaling with fullscreen TinyGL 2014-12-04 20:27:11 +01:00
Bastien Bouclet
aabc7bc34f MYST3: Allow disabling aspect ratio correction 2014-12-04 19:38:04 +01:00
Bastien Bouclet
ee50a268d4 MYST3: Enable arbitrary resolution support 2014-12-04 19:31:18 +01:00
Pawel Kolodziejski
d1b4ea1226 GFX: fix compile for amigaos4 2014-12-04 19:13:21 +01:00
Pawel Kolodziejski
778618eacb SDL: no need additional 'if' 2014-12-04 19:08:52 +01:00
Dries Harnie
56cab59b6b Merge pull request #1110 from Botje/aspect-ratio-rebased
GRAPHICS: Fullscreen rendering and correct aspect ratio at native resolutions
2014-12-04 15:37:52 +01:00
Einar Johan Trøan Sømåen
f756848928 Merge pull request #1097 from somaen/emiMac
EMI: A first set of patches to improve Mac-support (German only)
2014-12-03 13:17:45 +01:00
Einar Johan Trøan Sømåen
2412047c14 GRIM/EMI: Handle 32bpp BGR in gfxOpenGL::prepareMovieFrame
This fixes the display of the Aspyr Logo in OpenGL.
2014-12-02 17:38:31 +01:00
Einar Johan Trøan Sømåen
223c81b144 EMI: Add code for one-shot playing the Aspyr logo on EMI Mac
This needs to be separate from the other videos, since the logo
is encoded as QuickTime. This solution replicates logic from
mainLoop to avoid adding any further special cases in engine code.
2014-12-02 17:01:39 +01:00
Joel Teichroeb
3de0a4eb35 Merge pull request #1123 from klusark/foreach
COMMON: Use c++11 foreach if available
2014-11-30 13:43:44 -08:00
Christian Krause
8011a6a1e3 Merge pull request #1121 from chkr-private/dart-player-fixes
EMI: Fix stuck dart players
2014-11-30 21:48:25 +01:00
Christian Krause
5df7e5991d EMI: Fix semantic of IsActorTurning() LUA call
TurnActorTo is mapped to Actor::singleTurnTo() which only
turns the actor (according to its turn rate) by a small amount.

If the turn could not be completed, TurnActorTo returns false.

In EMI, all LUA calls to TurnActorTo are repeated until the
actor does eventually look into the correct direction.

However, for parallel running LUA threads, calls to IsActorTurning
would return false during such a "LUA-controlled" turn.

In the scene with the dart players, the LUA code for the dialog
waits for the dart player to stop moving (and turning) by repeatedly
calling IsActorTurning. Since that function returns false
even if the players are still turning towards the dart board, the
dialog code starts and spawns a parallel LUA thread to use
TurnActorTo to make the dart players looking at Guybrush.

This means, that eventually for each dart player, two LUA
threads with contradicting TurnActorTo directions will run forever
since in none of the threads the final direction is ever reached.

To fix that, a new actor state variable, _singleTurning, is introduced.
It is set to true if an Actor::singleTurnTo() call indicates that
the turn is not complete. It is set to false once the turning has
fininshed.

Since all TurnActorTo calls in EMI are repeated until the function returns
false, it is safe to use that variable to indicate that a "LUA-controlled"
turning is in progress.

In GRIM, that's not the case and so isTurning() is only changed for EMI.
2014-11-30 21:24:04 +01:00
Joel Teichroeb
2c44b2bbdc GRIM: Use floating point division 2014-11-29 16:01:40 -08:00
Joel Teichroeb
10f265da58 MYST3: Fix two type conversion warnings 2014-11-27 17:10:37 -08:00
Joel Teichroeb
45d8da48f4 COMMON: Use c++11 foreach if available 2014-11-27 13:10:15 -08:00