1
0
Fork 1
mirror of https://github.com/TES3MP/openmw-tes3mp.git synced 2025-01-16 00:49:54 +00:00
Commit graph

518 commits

Author SHA1 Message Date
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