Joni Vähämäki
04e86e79c2
EMI: Disable talk delay.
2014-08-06 19:43:18 +03:00
Joseph Jezak
e057c003c1
EMI: Calculate the bounding box using the actor's bounding box info.
2014-08-04 11:14:28 -04:00
Joseph Jezak
2c563d41b4
EMI: Honor X and Y attributes to spoken lines, rebased from Botje.
2014-08-04 11:14:27 -04:00
Joseph Jezak
f0b2c54a56
EMI: Only use the wear chore to find the actor's bounding box.
2014-07-30 20:56:14 -04:00
Joel Teichroeb
dce4203afe
Merge pull request #968 from JoseJX/OptimizeTextSetup
...
EMI: Skip setting up the text when it will be repositioned later.
2014-07-28 10:49:23 -07:00
Pawel Kolodziejski
f963b7039f
GRIM: fix compilation warning
2014-07-23 20:58:45 +02:00
Pawel Kolodziejski
2b7ef79eab
EMI: fix for EMI demo crash by ignoring setting shadow to null Set
2014-07-23 20:58:09 +02:00
Pawel Kolodziejski
46885e8af1
GRIM: fixed compilation error
2014-07-23 17:22:44 +02:00
Joseph Jezak
94543abdb7
EMI: Skip setting up the text when it will be repositioned later.
2014-07-22 18:23:34 -04:00
Joel Teichroeb
96946a4802
Merge pull request #967 from Akz-/emi-fix-savecrash
...
EMI: Free materials as soon as they are no longer in use by any costumes
2014-07-22 14:46:05 -07:00
Joni Vähämäki
7438b7a2cb
EMI: Do not print a warning if Actor::getBboxInfo is called for an actor that doesn't have a model.
2014-07-20 22:11:38 +03:00
Joni Vähämäki
4a1df6bfa2
EMI: Enable shadow sprites.
2014-07-20 21:46:21 +03:00
Joni Vähämäki
535f025fd8
EMI: Calculate actor bounding box correctly.
...
This is necessary for Actor::shouldDrawShadow to behave correctly, but
could also affect collision detection.
2014-07-20 21:46:20 +03:00
Joni Vähämäki
1081471119
EMI: Implement projection shadows.
2014-07-20 21:46:14 +03:00
Joni Vähämäki
930a589569
EMI: Free materials as soon as they are no longer in use by any costumes.
2014-07-19 22:11:24 +03:00
Joseph Jezak
fcaabfa14d
EMI: Fix inventory item rotation by correcting the Euler Order.
2014-07-08 23:09:17 -04:00
Joel Teichroeb
63199bb0f6
GRIM: Set shadow userdata to nullptr when done with it.
2014-07-07 13:04:27 -07:00
Joni Vähämäki
39fa931012
EMI: Continuously update the look at vector when looking at an actor.
2014-07-05 14:14:53 +03:00
Joni Vähämäki
0ed645c4b1
EMI: Fixed Actor::getWorldPosition calculating the world transform incorrectly for attached actors.
2014-07-02 22:43:59 +03:00
Joni Vähämäki
23a99a9f2b
EMI: Implement head limits.
2014-07-02 22:43:58 +03:00
Joni Vähämäki
3adbd1fdcf
EMI: Implement head tracking.
2014-07-02 22:43:50 +03:00
Joseph Jezak
d2d23738a5
MATH: Replace Euler Angle Implementation in Quaternions with Rotation3D based method.
2014-07-01 16:18:12 -04:00
Joel Teichroeb
0e69cc11a7
Merge pull request #938 from Akz-/emi-sprite-fixes
...
EMI: Sprite fixes
2014-06-25 17:30:36 -07:00
Joni Vähämäki
5c20f0f4a7
EMI: Share Materials between Costumes.
...
Sometimes a texi component may refer to a material that was initialized by some other costume than the owner costume of the texi component. For example, the candles in gmi have a costume "fx/aura1.cos" that controls the animation of a material originally initialized by a sprite component of "fx/candle.cos".
2014-06-23 22:36:04 +03:00
Joni Vähämäki
947ddefbc8
GRIM/EMI: Move implementation of setFollowBoxes from header to source file.
2014-06-23 22:34:49 +03:00
Joseph Jezak
55f77fb92f
EMI/GRIM/MYST3: Replace some Quaternions with Rotation3D.
2014-06-23 09:24:26 -04:00
Joseph Jezak
76d36f676b
MATH: Add a selectable Euler Order to Rotation3D.
2014-06-23 09:04:25 -04:00
Joni Vähämäki
72a7f7c1b0
EMI: GetActorPuckVector should return nil for actors that have never followed walkboxes.
...
In Lua, The wear chore of dumbshadow.cos is only started if GetActorPuckVector returns a non-nil value. In the original game GetActorPuckVector seems to always return nil until a call is made to SetActorFollowBoxes.
This fixes the candles not appearing in the set gmi. The original Lua code only starts the candle animation if the candle actor is not playing any chores. Previously the wear chore of dumbshadow.cos was playing, so the animation was never started.
2014-06-22 14:19:52 +03:00
Joel Teichroeb
21115e35da
Merge pull request #930 from Akz-/grim-shadows-fix
...
GRIM: Shadow fixes
2014-06-20 08:38:23 -07:00
Christian Krause
1fb3b5df4b
GRIM/EMI: fix compiler warning
...
- remove unused variable
2014-06-19 23:57:14 +02:00
Joel Teichroeb
6ad4b70d84
Merge pull request #926 from Akz-/pathfind-fix
...
GRIM/EMI: Pathfinding fixes
2014-06-16 10:54:01 -07:00
Joni Vähämäki
360c6ee95f
EMI: Implemented SetActorLighting.
2014-06-16 15:42:25 +03:00
Joni Vähämäki
b5cdd1240f
EMI: Only draw models for actors inside the view frustum.
...
This adds math classes for doing frustum culling in software. These could be used for optimizing performance in many other places as well. For example, if an actor is outside the view frustum, it may not be necessary to do expensive keyframe animation and vertex skinning calculations for that actor.
2014-06-16 15:42:18 +03:00
Joni Vähämäki
8f9f541f17
EMI: Implemented dynamic lighting for models.
...
Lighting is done by calculating vertex colors in software, since the attenuation model used in EMI cannot be simulated with OpenGL fixed function lighting. The original game does the lighting this way as well. Ideally for the modern shader-based renderer a shader would be used for this instead.
2014-06-16 15:41:06 +03:00
Joni Vähämäki
c3bcfbb87b
GRIM: Test model center position instead of origin in shouldDrawShadow. Fixes #741
2014-06-16 15:24:46 +03:00
Joni Vähämäki
cd47ccb50c
GRIM: Use exact string search when searching for shadow sectors.
...
Fixes shadows in set st.
2014-06-16 15:24:45 +03:00
Joni Vähämäki
f3af129711
GRIM/EMI: The walk destination may reside in multiple sectors, so don't choose a single end sector.
...
This fixes Elaine walking through Guybrush at the end of the first cutscene in the set gme.
2014-06-15 13:32:16 +03:00
Joni Vähämäki
fa6ffcb46e
GRIM/EMI: Always walk towards the target position in a straight line if possible.
2014-06-15 13:32:16 +03:00
Joel Teichroeb
08f6e8195d
Merge pull request #891 from Akz-/grim-lookat-fix
...
GRIM: If ActorLookAt is called with an actor as the target, look towards...
2014-06-11 16:59:41 -07:00
Joel Teichroeb
ec026ecba4
GRIM: Remove usless setColormap line
...
The code in pushCostume and the behavior for setColormap(NULL) has been
unchanged since 0.1.0, so there are probably no unintended consiquences
and the functionality should not change without this line.
2014-06-02 18:56:33 -07:00
Joni Vähämäki
de3c68d89c
GRIM: If ActorLookAt is called with an actor as the target, look towards the actor's head instead of their origin. Fixes #887
2014-05-31 15:59:55 +03:00
Joel Teichroeb
0f3da43694
GRIM: Change NULL to nullptr.
2014-05-30 17:43:08 -07:00
Joni Vähämäki
3e322b67ba
Revert "EMI: Fix missing hold chores"
...
This reverts commit 863b33e803 .
Conflicts:
engines/grim/actor.cpp
engines/grim/actor.h
engines/grim/costume.cpp
engines/grim/costume.h
engines/grim/costume/chore.h
engines/grim/emi/costumeemi.cpp
engines/grim/emi/costumeemi.h
2014-05-31 03:05:30 +03:00
Joni Vähämäki
e6bc1430ca
EMI: Never fade rest chores.
2014-05-31 03:05:29 +03:00
Joni Vähämäki
a180b3b562
EMI: Chore fading fixes.
...
Fading out chores remain in playing state until they have completely faded out. Also using StopChore on a fading out chore will actually stop the chore, unlike in Grim where the chore will keep fading out.
2014-05-31 03:05:17 +03:00
Joni Vähämäki
ab1631e6ef
EMI: Fade talk chores.
2014-05-31 02:51:46 +03:00
Joni Vähämäki
4ece29c91e
EMI: Never stop the rest chore.
2014-05-31 02:51:44 +03:00
Joseph Jezak josejx@gentoo.org
6951b5c0ee
EMI: Remove setYaw.
2014-05-19 15:40:24 -07:00
Joel Teichroeb
1aa417fac6
Merge pull request #857 from JoseJX/FixActorAttach
...
EMI: Swap actors to remove the sign when calculating the position.
2014-04-05 12:51:12 -07:00
Pawel Kolodziejski
8759900b6a
ALL: synced with ScummVM
2014-04-05 18:18:42 +02:00