2530 Commits

Author SHA1 Message Date
Christian Krause
5577bd71b7 Merge pull request #833 from chkr-private/compiler-warning-fixes
EMI/GRIM/TINYGL: fix compile warnings and coverity issues
2014-02-15 18:50:59 +01:00
Christian Krause
07e22b6734 GRIM/EMI: Fix compile warning
- the pixel data retrieved via getPixels() is stored as non-const
data in pixebuffer, so the original object can't be const
2014-02-15 18:40:35 +01:00
Christian Krause
6acf4984d0 GRIM/EMI: Use proper GL constants 2014-02-15 18:40:30 +01:00
Christian Krause
446f56eb67 GRIM/EMI: Fix compile warnings 2014-02-15 18:40:19 +01:00
Ori Avtalion
eed8769412 GRIM: Fix typos in include guards 2014-02-14 16:21:42 +02:00
Dries Harnie
30e3f5b019 Merge pull request #822 from chkr-private/item-drawing-fixes
EMI: Rotation of (attached) actors
2014-02-12 00:13:41 +01:00
Dries Harnie
d54ddfe957 MYST3: Clamp cube textures in the ES2 renderer
This effectively implements GL_CLAMP_TO_EDGE in the shader
for 3D objects, solving the issue described in 61968c6.
2014-02-11 22:32:19 +01:00
Bastien Bouclet
61968c6341 MYST3: Explain the texture size workaround used in the ES2 renderer 2014-02-11 20:11:23 +01:00
Bastien Bouclet
2d37561276 Merge pull request #834 from Botje/myst-es2
MYST3: ES2 backend
2014-02-11 20:04:01 +01:00
Dries Harnie
32a232fd3e EMI: Update shader for actors and sprites [OpenGLS] 2014-02-11 02:30:29 +01:00
Dries Harnie
0c7d08cf1a MYST3: Reset viewport in menus 2014-02-08 18:39:57 +01:00
Bastien Bouclet
9d1cfd28c6 MYST3: Don't needlessly center the mouse when changing nodes 2014-02-08 16:48:51 +01:00
Bastien Bouclet
60c2765346 MYST3: Dialog movies are also localized 2014-02-08 16:42:04 +01:00
Dries Harnie
98d04e3516 MYST3: Support Text rendering [OpenGLS] 2014-02-08 11:40:21 +01:00
Dries Harnie
94882742d5 JANITORIAL: Remove g_ prefix from instance variables 2014-02-07 22:41:34 +01:00
Dries Harnie
ac913880be MYST3: Separate renderers into separate classes 2014-02-07 22:41:34 +01:00
Dries Harnie
f5549e86a1 MYST3: Move OpenGLTexture into separate file 2014-02-06 18:56:11 +01:00
Dries Harnie
522ef90830 MYST3: Introduce shader-based renderer 2014-02-06 18:56:11 +01:00
Christian Krause
f12647cdca EMI: Fix position of attached actor
When attaching an actor to another one, set its local position
so that its final position (position of the parent actor + the
local position) remains the same as the final position before
it was attached.
2014-02-05 21:35:08 +01:00
Christian Krause
58d7bf116c EMI/GRIM: Fix rotation of attached actors
Use matrix multiplications to fix the rotation for attached actors:
- calculate the final transformation matrix recursively for attached
  actors (instead of using getWorldPos and getWorldRot)
- use a different order for building the quaternions out of the Euler
  angles
- changed handling of camera position (just apply the rotation of the
  camera, the (inverted) position of the camera and the position of the
  actor
- no functional changes for GRIM
- no changes for drawing in overworld

Code simplification for GRIM:
- no need to use _currentPos in calculations for GRIM since it is
always (0, 0, 0)

This fixes:
- the rotation of any items Guybrush is holding in his hands
- the handling of the pole when using the raft in the swamps
- getting the bananas with the banana picker
2014-02-05 21:35:02 +01:00
Joel Teichroeb
dbfd0efab6 GRIM: Don't bother checking if the value returned from new is nulll
It can never be null and will throw an exception if it can't allocate the
memory
2014-02-04 13:07:17 -08:00
Christian Krause
95bceeb216 EMI: Handling of invalid bone names
Two animations (guy_puton_cap, guy_holdstickystuff) contain bone names
which which don't match any joints. To avoid that the holding actor is
drawn with a wrong orientation, ingore the unknown bone names when
running the animations.

Skeleton::getJointNamed() will now return null for unknown names.
The original behaviour for Actor::getWorldPos and
Actor::getRotationQuat is kept.

This patch fixes the problem, that Guybrush is "lying down" once he
holds the bottle of glue.
2014-02-02 14:26:12 +01:00
Einar Johan Trøan Sømåen
cc2cc0fdf8 GRIM: Fix broken overriding functions play and loadFile in NullPlayer 2014-02-02 04:12:48 +01:00
Ingo van Lil
549225964a EMI: Use parent sort order for attached actors
When drawing attached actors the engine uses the parent's sort order
plus one. This offset can move the attached actor behind a background
plane, for instance the chess board in the Lucre docks or Guybrush when
riding the manatee.
2014-02-02 00:51:47 +01:00
Bastien Bouclet
0d194bd8ba BINK: Use the new audio track selection API 2014-01-26 09:43:21 +01:00
Pawel Kolodziejski
9098dfe9a2 ALL: sync with scummvm 2014-01-25 22:16:57 +01:00
Dries Harnie
ca20357bd5 GRAPHICS: Add shadow mode to grim actors [OpenGLS] 2014-01-23 20:03:22 +01:00
Dries Harnie
6c8a35e53b GRAPHICS: Transpose view/model matrices correctly 2014-01-23 20:03:21 +01:00
Dries Harnie
f618b90d31 GRAPHICS: Stencil for grim shadows [OpenGLS] 2014-01-23 20:03:21 +01:00
Joel Teichroeb
7cf3f2f99c GRIM: Add a constructor for Shadow
This lets us get rid of the loop in Actor and lets us ensure
that Shadow is initizlied even if constructed elsewhere.
2014-01-23 10:22:44 -08:00
Joel Teichroeb
91f4e2681b GRIM: Add a vertex buffer object for blast text drawing
This makes it so that we don't have to destroy the VBO
that a blast text object uses. This fixes what is probably
a driver bug with the windows nvidia drivers.
2014-01-17 09:48:09 -08:00
Joel Teichroeb
4af2b19577 GRIM: Initialize _userData in BitmapData and Mesh 2014-01-15 09:16:02 -08:00
Christian Krause
71a44ba28a Merge pull request #797 from chkr-private/collision-fixes
Collision fixes
2014-01-14 14:48:52 -08:00
Joel Teichroeb
9d4ba85cd9 Merge pull request #815 from chkr-private/costume-fixes
EMI: Fix costume unloading
2014-01-14 14:41:57 -08:00
Dries Harnie
3ab4fa601f GRAPHICS: Support Irises [OpenGLS] 2014-01-14 00:26:47 +01:00
Dries Harnie
85c94be5b5 JANITORIAL: Fix signed-unsigned warnings 2014-01-14 00:26:47 +01:00
Dries Harnie
583eafc2d6 GRAPHICS: Remove duplicate EBO [OpenGLS] 2014-01-14 00:26:44 +01:00
Dries Harnie
f4626819ce GRAPHICS: Disable lighting for now [OpenGLS] 2014-01-14 00:26:43 +01:00
Dries Harnie
3a9af2dabc GRAPHICS: Add support for Grim primitives [OpenGLS] 2014-01-14 00:26:43 +01:00
Dries Harnie
00e72387e0 GRAPHICS: Use RGBA for all textures [OpenGLS] 2014-01-14 00:26:43 +01:00
Dries Harnie
2313ce4fb0 GRAPHICS: Support sprites (WIP) [OpenGLS] 2014-01-14 00:26:39 +01:00
Dries Harnie
fa2077626d GRAPHICS: Screenshots and specialty textures [OpenGLS] 2014-01-14 00:26:39 +01:00
Dries Harnie
4157f52eb2 GRAPHICS: Drawing of actors [OpenGLS] 2014-01-14 00:26:39 +01:00
Dries Harnie
be53635c9a GRAPHICS: Loading and updating of GRIM/EMI models [OpenGLS] 2014-01-14 00:26:39 +01:00
Dries Harnie
ad64bdcbf6 GRAPHICS: Background drawing [OpenGLS] 2014-01-14 00:26:39 +01:00
Dries Harnie
b8a4b1acc6 GRAPHICS: Support Smush [OpenGLS] 2014-01-14 00:26:39 +01:00
Dries Harnie
141cc5a42b GRAPHICS: Text drawing [OpenGLS] 2014-01-14 00:26:39 +01:00
Dries Harnie
f2ff416c5d GRAPHICS: Emergency font [OpenGLS] 2014-01-14 00:26:39 +01:00
Dries Harnie
5da8aa7144 GRAPHICS: Introduce GfxOpenGLS 2014-01-14 00:26:39 +01:00
Bastien Bouclet
a0a8939f49 MYST3: Make sure to use the shortest direction when animating
Thanks klusark for noticing the issue in TOHO 5
2014-01-12 19:36:45 +01:00