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

537 commits

Author SHA1 Message Date
Andrei Kortunov
46bf45a6e2 Remove redundant code 2018-10-19 16:16:18 +04:00
Andrei Kortunov
e06f0b797a Replace all NULLs to nullptr 2018-10-09 10:21:12 +04:00
Marc Zinnschlag
b410d87aae Merged pull request #1952 2018-10-03 13:19:28 +02:00
Andrei Kortunov
3896a2eba6 Do not use a PartHolder for spell effect node 2018-10-01 20:18:20 +04:00
Andrei Kortunov
632045e145 Improve the 'part has no parents' warning 2018-10-01 20:18:19 +04:00
Andrei Kortunov
4dc424036f Cleanup magic effects, when create a new ActorAnimation 2018-10-01 20:17:58 +04:00
Kyle Cooley
e2ac392a40 Move common stuff to scene util, fix errors with 1st person meshes 2018-09-27 13:14:59 +04:00
Kyle Cooley
8444ee9981 Start rendering npc's 2018-09-27 13:14:59 +04:00
Andrei Kortunov
e5a81b1f99 Fix some issues, found by Coverity Scan 2018-09-10 16:35:27 +04:00
Andrei Kortunov
60698e6f8a Optimize new magic effects update system 2018-08-26 21:02:14 +04:00
Andrei Kortunov
31f8bea1dd Rework spell effects management 2018-08-17 12:41:13 +04:00
Andrei Kortunov
5a4d0cec3a Use new logging system for game itself 2018-08-14 23:05:43 +04:00
Andrei Kortunov
3c7ab976c3 Ignore movement from scripted animations (bug #4475) 2018-06-27 08:22:45 +04:00
Andrei Kortunov
c195144b17 Take transformation from first node with given name in file (bug #4469) 2018-06-20 14:24:32 +04:00
Andrei Kortunov
f299be8158 Play scripted animations even if SkipAnim is used 2018-06-12 16:07:36 +04:00
Andrei Kortunov
fea34bd73f Added support for per-group animation files 2018-06-08 17:04:15 +04:00
scrawl
cfdf99f601
Revert "Merged pull request #1573"
This reverts commit 7324bd368f, reversing
changes made to 810e4416f6.
2018-05-26 11:39:30 +00:00
Andrei Kortunov
22fb1f3403 Play spellcasting effects from objects 2018-04-30 17:12:06 +04:00
scrawl
bba9a8dd91
Don't update off-screen animations
Make flying creatures animate in-place when out of processing range
2018-01-11 01:49:35 +00:00
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