scrawl
b8c25e6bff
Use the correct priority of animation sources in getStartTime ( Fixes #4263 )
2017-12-21 14:49:09 +00:00
scrawl
b06512a60d
Fix error message that referred to the wrong file (Bug #4159 )
2017-11-10 22:51:32 +00:00
Chris Robinson
917a3b5dff
Avoid creating temp strings when looking for an animation stop key
2017-09-18 01:41:05 -07:00
Chris Robinson
b770c1493f
Don't spam about missing animations
2017-09-18 01:28:40 -07:00
scrawl
4c5992a0d5
Warn if removing a node fails
2017-09-01 21:42:35 +00:00
scrawl
132ac6001b
Fix bug of Animation::mSkeleton not being assigned
...
This bug resulted in deactivating a Skeleton not working properly for creatures (that are out of processing range), therefore reduced performance.
2017-09-01 21:42:34 +00:00
Bret Curtis
07f75e1104
replace boost::shared_ptr in extern and components
2017-06-09 19:08:53 +02:00
Allofich
ff3e307059
Pass parameters by const reference
2017-04-20 23:47:03 +09:00
Allofich
5a00b239ac
Reduce scope of variables
2017-04-20 01:22:30 +09:00
scrawl
29556a1802
More consistent wording of errors/warnings
...
A Warning indicates a potential problem in the content file(s) that the user told OpenMW to load. E.g. this might cause an object to not display at all or as intended, however the rest of the game will run fine.
An Error, however, is more likely to be a bug with the engine itself - it means that basic assumptions have been violated and the engine might not run correctly anymore.
The above mostly applies to errors/warnings during game-play; startup issues are handled differently: when a file is completely invalid/corrupted to the point that the engine can not start, that might cause messages that are worded as Error due to the severity of the issue but are not necessarily the engine's fault.
Hopefully, being a little more consistent here will alleviate confusion among users as to when a log message should be reported and to whom.
2017-03-04 21:48:31 +01:00
scrawl
2873c10284
Clean the object root of StateSets and hidden nodes
2017-03-01 03:09:32 +01:00
scrawl
4e0011bfc8
Improve NPC loading performance by caching the cleaned objectRoot
2017-03-01 03:00:49 +01:00
scrawl
00d4fea91c
Derive Animation from osg::Referenced to allow the UnrefQueue to delete it
2017-02-22 15:27:20 +01:00
scrawl
a5247394dc
(Re)set the inventory listener outside of the Animation class
2017-02-22 15:08:22 +01:00
Allofich
621d3e56cf
Fix Clang and OS X Travis CI warnings
2017-02-17 02:08:39 +09:00
scrawl
9fa8e88366
Revert "Don't create a CharacterController for objects with no animations"
...
This reverts commit cce42b6e9d
.
2017-02-12 10:22:11 +01:00
scrawl
67e4a7e37b
Change some osg::clone's to direct copy constructor to avoid dynamic_cast overhead
2017-02-09 04:51:20 +01:00
scrawl
cce42b6e9d
Don't create a CharacterController for objects with no animations
2017-02-06 03:43:08 +01:00
scrawl
ee4073541c
Animation: cache getVelocity()
2017-02-05 02:26:28 +01:00
scrawl
33e654f94d
Add explicit handling of most commonly used nodes to NodeVisitors to avoid excessive virtual function calls
2017-02-04 02:16:26 +01:00
Allofich
125e94ef0e
Fix shadowing warnings
2016-10-31 00:39:31 +09:00
Allofich
1c54f54ab8
Fix shadowing warnings
2016-10-15 00:12:46 +09:00
MiroslavR
611d02ad43
Remove unused code
2016-10-11 22:16:17 +02:00
scrawl
1893617ec9
Improvements to ignored light list setting
...
The pointer to the LightListCallback is now stored in the Animation, which eliminates the need for dynamic_cast. Also, when the object root is recreated, the previously used LightListCallback will be reused, so we no longer need the objectRootReset() notifier.
Finally, there was a bug when saving and reloading the game, the getIgnoredLightSources() were not being set, as the ActorAnimation constructor completes before the NpcAnimation sets the ObjectRoot. This was solved by creating the LightListCallback in advance in the Animation constructor.
2016-10-08 23:59:28 +02:00
MiroslavR
11565b5966
Make actors with non-portable lights in inventory glow ( Closes #2042 , #3338 )
2016-10-08 23:17:12 +02:00
Allofich
a033ba3bd2
Override spell textures by NiTexturingProperty
2016-09-14 23:03:04 +09:00
Allofich
7db31ab58a
Correct telekinesis glow length
2016-08-24 01:21:15 +09:00
scrawl
0fd810707e
Remove unused stopLooping()
2016-08-22 23:33:26 +02:00
scrawl
0c9882956a
Add AnimState::shouldLoop()
2016-08-22 23:25:00 +02:00
scrawl
6450c9be27
Simplify condition
2016-08-22 23:22:58 +02:00
Allofich
bf9dc45b2b
Emulate vanilla animation loops more closely
2016-08-23 01:42:36 +09:00
Allofich
83b715734f
Move part of addGlow() to addSpellCastGlow()
2016-08-10 02:52:43 +09:00
Allofich
1c76c93ed8
Use raw pointer to node in glowupdater
2016-08-10 01:35:22 +09:00
Allofich
67f31d948e
Add removeTexture method
2016-08-10 01:11:14 +09:00
Allofich
4b9aff7a03
Glowupdater fix when using shaders
2016-08-10 00:43:14 +09:00
Allofich
9b2cb2fb8c
Cleanups
2016-08-10 00:25:33 +09:00
Allofich
775162ccdf
Rewrite spell glow implementation
2016-08-09 22:56:53 +09:00
Allofich
cad41599cf
Fix travis build error and warnings
2016-08-09 22:56:53 +09:00
Allofich
1910128e9c
Don't remove uniform when spell glow ends
2016-08-09 22:56:53 +09:00
Allofich
35c14bb9bb
Minor rewrite, make "open" spells play glow effect
2016-08-09 22:56:53 +09:00
Allofich
e132b52a69
Handle spell glows within updatecallback
2016-08-09 22:56:53 +09:00
Allofich
57138b416e
Fix spell glows to only run one at a time
2016-08-09 22:56:53 +09:00
Allofich
3841a8fb40
Make non-actors glow when they cast spells
2016-08-09 22:56:53 +09:00
scrawl
0bbd715f65
Fix the cloned StateSet not being assigned
2016-08-09 01:13:19 +02:00
MiroslavR
b65f379b7f
Save scripted animation state ( Fixes #1931 , #2150 , #3393 )
2016-08-03 03:52:35 +02:00
Internecine
90735d226d
Replaced Store::find usage with Store::search to remove exception handlers.
2016-08-02 11:43:41 +12:00
Internecine
14165352f6
Added exception handlers when trying to retreive enchantment and magic effect data.
2016-08-01 13:16:42 +12:00
scrawl
44dd67ee0f
Fix a potential crash for lights without a model that have "off by default" flag set
2016-05-19 22:35:25 +02:00
scrawl
a9561f738a
Move RemoveParticlesVisitor to animation.cpp
2016-05-19 22:35:17 +02:00
scrawl
0efbdb25ee
Improve const-correctness in Animation
2016-05-19 22:30:14 +02:00
scrawl
137dde7cf8
Include cleanup
2016-03-10 12:59:17 +01:00
scrawl
0fc65db6bb
Remove parts before setting the new object root
2016-03-06 11:34:15 +01:00
scrawl
0df975a4d7
Properly detach nodes in CopyRigVisitor ( Fixes #3234 )
2016-03-06 11:33:07 +01:00
scrawl
67c8faec75
Infinite loop fix
2016-03-02 13:20:23 +01:00
scrawl
87871d7d54
Don't add RotateController to an uncontrolled node
2016-02-29 20:23:19 +01:00
scrawl
17c4dfdb62
Use the lowest unused texture unit for the enchanted item glow texture
2016-02-18 23:10:58 +01:00
scrawl
5e12a1b4ef
Add enchanted item glow to the shader
2016-02-18 23:05:44 +01:00
scrawl
268594dcf1
Recreate shader in NpcAnimation::setAlpha
2016-02-18 22:48:53 +01:00
scrawl
9376811213
Vertex lighting shader
2016-02-18 19:37:57 +01:00
scrawl
5824619a95
Clean up includes
2016-02-12 19:28:10 +01:00
scrawl
8b596dfcbe
Remove support for OSG 3.2
...
Since commit e8662bea31
, we're using OSG functionality that contains an unfixed crash bug in version 3.2. The bug is fixed in version 3.4 (OSG commit 6351e5020371b0b72b300088a5c6772f58379b84)
2016-02-12 14:46:45 +01:00
scrawl
e28dc3e72f
Preload instances in SceneManager
2016-02-09 18:35:26 +01:00
scrawl
ce3cce24a5
Remove unneeded dynamic_cast
2016-02-09 16:39:05 +01:00
scrawl
8ece1885cd
Animation: don't create the NodeMap if we don't need it
2016-02-09 16:39:05 +01:00
scrawl
ae031b23d4
Do not detach NPC parts in destructor
2016-02-09 16:10:42 +01:00
scrawl
9e53e12c70
More renaming of TextureManager -> ImageManager
2016-02-05 23:10:27 +01:00
scrawl
f99f403dda
Rename TextureManager to ImageManager
2016-02-05 23:03:53 +01:00
scrawl
6ef848b7c5
Remove TextureManager::getTexture2D
...
Instead use getImage and let the caller create the Texture. Sharing of textures is then handled in post by the SharedStateManager.
This is closer to what the OSG serializer does.
Streamlines the TextureManager and will make it easier to multithread.
2016-02-05 23:01:11 +01:00
scrawl
5b972ee777
Move texture filtering settings to SceneManager
...
Practical benefits:
- Filter settings are now applied to native OSG format models. These models do not use TextureManager::getTexture2D since the model itself specifies a Texture.
- The GUI render manager will be able to use its own separate textures, making it easier to turn off filtering for them.
2016-02-05 21:03:10 +01:00
scrawl
3089aeccc4
Factor out SceneUtil::addLight
2016-01-11 23:10:16 +01:00
scrawl
438b30d6f0
Move configureLight to a separate file
2016-01-11 23:10:16 +01:00
scrawl
6546c05428
Move Fallback map to components/
2016-01-11 23:10:16 +01:00
scrawl
1c8244276d
Exception handling improvements (Bug #3090 )
2015-12-18 02:36:34 +01:00
scrawl
fce43854bc
Fix last commit
2015-12-17 03:50:15 +01:00
scrawl
0a723ab075
Animation: do not assume the object root is a Group
2015-12-17 03:48:11 +01:00
scrawl
64424e7262
Move keyframe loading out of SceneManager to new KeyframeManager
2015-12-13 15:31:07 +01:00
scrawl
07b064f616
Rename to lowerCaseInPlace
2015-12-07 22:49:15 +01:00
scrawl
8e9571d155
Double buffer the light StateAttributes and StateSets
...
Fixes a race condition where the position of a light could jump a frame ahead.
2015-12-04 00:06:22 +01:00
scrawl
1ec338f19d
Don't attempt to load external keyframes for non-NIF files
2015-12-03 20:11:28 +01:00
scrawl
795f6d77f2
Cache the Animation's Skeleton
2015-12-03 20:06:00 +01:00
scrawl
62169a7039
Use a single-precision PositionAttitudeTransform in speed critical places
2015-11-22 19:54:26 +01:00
scrawl
eb2f16d682
Support for loading .osg mesh format
2015-11-16 23:26:43 +01:00
scrawl
02148a43f5
Node mask fix
2015-11-11 17:22:31 +01:00
scrawl
0a52ee17c3
Fix Drawable removal issues
2015-11-11 17:04:06 +01:00
scrawl
f1ac408f35
Place Drawables directly in the scene graph when built with OSG 3.4
...
OSG 3.4 adds the ability to place Drawables directly in the scene graph, without a Geode decorating them. Leveraging this should give a small performance boost, because the redundant Geodes increase culling overhead.
There is still an oustanding issue with the RemoveDrawableVisitor no longer working correctly, because Drawables can have multiple parents.
2015-11-10 18:23:42 +01:00
scrawl
35459f20d5
Refactor lighting mask
2015-11-10 17:23:12 +01:00
scrawl
fd1ccd21ff
Disable freezeOnCull for weather particles
2015-11-02 23:49:22 +01:00
scrawl
6ef139e1d7
Implement a custom RenderBin for first person models ( Fixes #1612 )
2015-10-19 22:17:04 +02:00
scrawl
ee450471fd
Disable head controller for non-bipedal creatures ( Fixes #2843 , Fixes #2966 )
2015-10-13 17:55:57 +02:00
scrawl
a37dee09e2
Fix invisibility effect disappearing after a view mode switch
2015-09-18 21:30:02 +02:00
scrawl
f8d4bc378f
Move setAlpha from NpcAnimation to Animation ( Fixes #2917 )
2015-09-16 16:15:55 +02:00
scrawl
126960261f
Keep playing IdleSneak on the lower body when casting spells / using weapons
2015-09-16 16:14:17 +02:00
scrawl
5692ef1eae
Add convenience operator [] to AnimPriority
2015-09-16 15:43:42 +02:00
scrawl
58cd2b1a84
Remove "Tri Bip*" nodes in creature meshes (meant for debugging)? ( Fixes #2148 )
2015-08-15 19:01:21 +02:00
scrawl
a33ca75742
Pass AnimPriority by const reference
2015-07-18 03:23:41 +02:00
scrawl
f6f82d433c
Fix bug with loop key assignment
...
Animations with time of "loop start" == time of "loop stop" were not getting their loop times assigned correctly.
This fixes incorrect playing of the jump animation, one aspect of Bug #2286 .
2015-07-16 19:55:05 +02:00
scrawl
3656851750
Remove the now unused changeBlendMask
2015-07-15 16:43:11 +02:00
scrawl
e93a578f23
Extend the animation priority system to one priority value per bone group / distinct blend mask
2015-07-15 14:18:31 +02:00
scrawl
335ef97cf5
Rename Animation::Group to Animation::BlendMask
...
The old naming is problematic, because the term group was being used for another feature (text key groups) already.
2015-07-15 13:49:16 +02:00
scrawl
6724585777
Light magic effect
...
Notable change compared to the old (Ogre) effect: uses the ambient instead of diffuse term (Fixes #2364 )
2015-07-02 20:46:34 +02:00