Capostrophic
4873d33642
Adjust magic light source linear attenuation (bug #3890 )
2018-10-27 01:27:05 +03:00
Andrei Kortunov
e7de6b974a
Optimize actors processing
...
1. Do not update physics and animations for actors outside processing range (bug #4647 )
2. Do not render such actors
3. Add transparency to actors near processing border, so they will not pop up suddenly
2018-10-25 22:52:59 +04:00
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