Commit Graph
59 Commits
Author SHA1 Message Date
Paweł Kołodziejski 20cb0ae228 ALL: Cleanup ResidualVM -> ScummVM 2021-12-26 21:19:38 +01:00
Eugene Sandulenko abea37c9bb ALL: Update ScummVM project license to GPLv3+ 2021-12-26 18:48:43 +01:00
Bastien Bouclet 23339184ce GRIM: Clean up float data loading 2018-04-14 11:49:35 +02:00
Vincent Pelletier 84f83fe6ea ALL: Rename get_float to READ_LE_FLOAT
For consistency with other functions/macros from common/endian.h .
2017-05-12 13:57:16 +00:00
Christian Krause 6d226501b5 EMI: Implement mesh-specific alpha values
- if Lua_V2::SetActorGlobalAlpha() is called with a mesh name,
  set a mesh-specific alpha value / mode
- use this alpha value in drawEMIModelFace()
- fixes the problem that the whole actor vanishes in some scenes
  (e.g. when entering or leaving the porch of the of LUA bar)
2015-02-17 01:57:07 +01:00
Joni Vähämäki 1bf63977a6 EMI: Remove special treatment of wear chores which is no longer necessary. 2014-08-20 01:37:19 +03:00
Joni Vähämäki 0bd258be1d EMI: Return the first costume that has a model component in Actor::getCurrentCostume. 2014-08-20 01:36:32 +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
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
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 d1ba7b090a EMI: Skip chores that are internally marked as stopped when drawing components.
The playing chores list may contain chores that have been stopped during the current frame. Stopped chores will be removed from the list on the next costume update. Drawing stopped components caused flicker when entering the closeup at Stan's house.
2014-06-23 22:34:32 +03:00
Joel Teichroeb a539832c78 Merge pull request #910 from JoseJX/FixGLTextureParams
EMI: Clamp sprites, repeat other textures.
2014-06-20 08:30:44 -07:00
Joseph Jezak df3d63fc24 EMI: Add support for clamping sprite textures and repeating other textures. 2014-06-18 22:19:42 -04: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 3316420448 EMI: Save and restore chore instance IDs.
Previously chore instance IDs stored as Lua userdata became invalid after
loading a save, because the chores were recreated with different IDs. This
caused certain opcodes like StopChore to fail.
2014-06-15 03:17:13 +03:00
Joel Teichroeb 0f3da43694 GRIM: Change NULL to nullptr. 2014-05-30 17:43:08 -07:00
Joni Vähämäki 95c4650706 EMI: Chore duration 1000 means the chore should play infinitely. 2014-05-31 03:05:31 +03: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 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 47aa1ace87 EMI: Added support for animation priorities and implemented blending. 2014-05-31 02:50:06 +03:00
Joseph Jezak josejx@gentoo.org ed44e64369 EMI: Allow actors to be hidden by a call to set_wear_chore(nil). 2014-04-06 17:50:31 -04:00
Pawel Kolodziejski 8759900b6a ALL: synced with ScummVM 2014-04-05 18:18:42 +02:00
Christian Krause 863b33e803 EMI: Fix missing hold chores
The hold chore was always lost after e.g. turning left or right.
Although that chore was still in _playingChores, it was not shown.

The patch uses the following order for drawing the chores:
- wear chores
- rest chores
- walk/turn chores
- other chores (in order of the playChore calls)
2014-02-21 20:13:05 +01:00
tombsar 8503f7766e GRIM: Fix misplaced override specifier in costumeemi.cpp 2013-12-28 14:39:00 +00:00
Ingo van Lil a55c57d2ba EMI: Store active texture index for materials 2013-12-24 00:50:26 +01:00
Ingo van Lil 3efbe58ebf EMI: Store materials in costume, not in mesh
When multiple meshes in an EMI costume use the same material each will have
its own Grim::Material instance. If a material used by multiple meshes is
changed by a texi chore the instances will become inconsistent.

With this patch materials are managed by the costume, and there will only
be one instance of each reference material.
2013-12-24 00:50:13 +01:00
Ingo van Lil 68e4f8c572 EMI: Mangle filename when searching for shared material 2013-12-24 00:50:13 +01:00
Ingo van Lil 70520e5ffa EMI: Fix actor animations
The current code for loading EMI costumes contains a special treatment that
expects the skeleton and mesh components in a chore named "wear_default".
This assumption is not valid for costumes that contains multiple wear chores,
most notably for Guybrush who has a different outfit for each island.

The new code considers any chore containing skeleton and mesh components
to be a wear chore. The skeleton from the last played wear chore will be
animated.
2013-12-08 01:06:57 +01:00
Ingo van Lil 552b813f0d EMI: Rename PoolChore to EMIChore, move to emi/costume 2013-12-07 14:36:31 +01:00
Ingo van Lil 81e65b0c70 EMI: Save/restore state of costumes
EMICostume overrides the parent class's saveState/restoreState methods with
NOP functions, causing a great number of graphical glitches after restoring
a savegame. EMI costumes do not seem to have any additional dynamic state,
so the parent save and restore methods work just fine.
2013-11-26 20:37:31 +01:00
Einar Johan Trøan Sømåen fe3883cecd GRIM: Reformat code to be closer to convention. 2013-07-09 21:12:55 +02:00
Dries Harnie db48705fbb EMI: Share skeleton transformation among ANIM components 2013-07-06 13:04:03 +02:00
Dries Harnie 038caf3e5f EMI: Only update components for playing chores 2013-07-06 13:04:02 +02:00
Dries Harnie f98ec8b8b7 JANITORIAL: Remove some commented code 2013-07-06 13:04:02 +02:00
Dries Harnie 71c2e44983 EMI: Read binary data in little-endian format 2013-06-04 21:21:26 +02:00
Giulio Camuffo 612a1ff77d EMI: Fix compile warning.
Overloading a virtual function doesn't really overload it, but hides the base one.
2012-12-23 17:50:37 +01:00
Paweł Kołodziejski 175620b62a ALL: change license headers from LGPL to GPL, and few updates 2012-12-19 23:15:43 +01:00
Dries Harnie 801a1a069a EMI: Ignore components tagged as 'snd2' 2012-11-21 20:12:39 +01:00
Dries Harnie c0e372814b EMI: Correct misreported duration of chores 2012-11-20 19:32:15 +01:00
Dries Harnie 9fd29752e3 JANITORIAL: Fix argument spacing in tags 2012-11-18 17:46:52 +01:00
Dries Harnie e081a07692 EMI: Don't always draw default mesh for actors
Some chores have their own meshes (watertable.cos:wear_shadow).
This patch only renders the default emiMesh if no chore drew a mesh.
2012-11-18 17:06:54 +01:00
Einar Johan Trøan Sømåen 6b3c3e7611 Merge pull request #640 from Botje/luavar-work
EMI: Support the new LUAC and LUAV components.
2012-07-22 10:34:31 -07:00
Paweł Kołodziejski 9c8aa5943d EMI: fix shadowing variable name 2012-07-20 05:44:24 +02:00
Paweł Kołodziejski 1708c1df1c Merge pull request #638 from Botje/guybrush-blinks
EMI: Guybrush blinks! No more staring eyes!
2012-07-19 20:25:42 -07:00
Dries Harnie 726dd93b73 EMI: Implement LUAV components 2012-07-17 22:29:15 +02:00
Dries Harnie 6b0e289058 EMI: Add support for TEXI components 2012-07-17 22:28:20 +02:00
Dries Harnie cf1d73420b EMI: Share all materials for a given costume 2012-07-17 22:28:20 +02:00
Dries Harnie 0193a50f13 EMI: Grab correct component in Chore::update()
For EMICostume, Choretrack.compID is always 0.
Use Choretrack.component instead.
2012-07-17 22:28:20 +02:00
Dries Harnie 2857130521 EMI: Handle duration-1000 chores 2012-07-13 19:00:17 +02:00