1
0
mirror of https://gitlab.com/OpenMW/openmw.git synced 2025-02-06 00:40:04 +00:00

331 Commits

Author SHA1 Message Date
elsid
9d2f132aa7
Fix AnimState initialization
Remove redundant user defined constructor and destructor, make sure all members
are properly initialized including mTime (new float does not initialize the
float).
2024-04-27 14:47:23 +02:00
Sam Hellawell
2288a691d2 Replace osgAnimation bone underscore naming at load time, map bone instances, reset root bone transform each frame 2024-04-04 00:10:51 +01:00
Mads Buvik Sandvei
320d8ef014 Spellcast related Lua API + spellcasting/activespell refactor 2024-03-25 13:50:23 +00:00
Mads Buvik Sandvei
36e1bdab10 Use a smaller integer type instead of dealing with casting issues. 2024-01-28 14:48:49 +01:00
Mads Buvik Sandvei
a94add741e Lua: Animation bindings 2024-01-26 21:39:33 +00:00
Mads Buvik Sandvei
f6a6c278dd More cleanup of scripted animations 2023-12-05 14:13:35 +00:00
Andrei Kortunov
d3d7a663c6 Move some objects instead of copying 2023-07-31 20:43:46 +04:00
elsid
b4868c6094
Filter evade directions by supported animations
To avoid trying those which will not lead to any actor movement due to absent
animation.
2023-07-22 17:30:40 +02:00
elsid
80ae8ce116
Cache supported animations 2023-07-22 17:30:40 +02:00
florent.teppe
486d15b19e moved light common to its own file
moved esm4light to it's own file
2023-02-07 16:29:17 +01:00
florent.teppe
dc961e3189 Adds the light into the scene.
Common struct for ESM3 and ESM4 light
2023-02-07 10:07:59 +01:00
unelsson
33afcbdc13 Use common function for blendmask detection, remove extra debug logs 2022-12-31 00:35:50 +02:00
unelsson
ffc64205c5 Force collada animation layers, remove nif blend mask detection. 2022-12-31 00:35:50 +02:00
elsid
063fff7fa4
Fix and prevent -Wextra-semi warning 2022-10-06 00:26:43 +02:00
elsid
da15db295e
Fix resetting player's animation on game loading
When game is loaded player's animation is replaced by a new object. Old object
is destructed without explicit removeFromScene call.
2022-10-02 13:50:51 +02:00
clang-format-bot
ddb0522bbf
Apply clang-format to code base 2022-09-22 21:35:26 +03:00
Evil Eye
534994b42a Use more string_view in the character controller 2022-08-27 13:47:15 +02:00
Evil Eye
42e59878c5 Use string_view in more animation code 2022-08-23 18:25:25 +02:00
psi29a
aa8eba239a Merge branch 'animation_view' into 'master'
Use string_view in animation code

See merge request OpenMW/openmw!2321
2022-08-21 20:05:00 +00:00
elsid
838d75a2e2
Avoid using owning raw pointer 2022-08-21 21:00:29 +02:00
unknown
827a2f0b77 Use string_view in animation code 2022-08-21 18:53:38 +02:00
Alexei Kotov
d458894868 Make getWeaponDrawn return 1 only when the weapon is attached (bug #4816) 2022-08-18 05:04:51 +03:00
elsid
f99ed6f1db
Split components/misc/stringops.hpp into multiple headers
Replace all ciEqual overloads with one having std::string_view as argument.
2022-08-03 22:06:24 +02:00
Evil Eye
55134d1e31 Use string_view in the CharacterController 2022-07-26 17:23:00 +02:00
elsid
1e7989c5e5
Remove animation objects from scene outside destructor 2022-07-24 21:08:27 +02:00
elsid
34fd8abf5f
Move Animation::getPtr definitions to header 2022-07-24 17:29:27 +02:00
Alexei Kotov
93068d71ea Use std::string_view whenever reasonable in CharacterController
C++ Core Guidelines SL.str.2
2022-06-11 04:54:50 +03:00
elsid
df092b558b
Replace shared_ptr by unique_ptr 2022-04-08 22:42:22 +02:00
Bo Svensson
7f9beac3a7
refactors a case insensitive map (#3184)
This PR aims to spark the retirement of a questionable pattern I have found all over our code base. I will illustrate how this pattern encourages code duplication, lacks type safety, requires documentation and can be prone to bugs.
```
std::map<std::string, Object> mMap; // Stored in all lowercase for a case-insensitive lookup

std::string lowerKey = Misc::StringUtils::lowerCase(key);
mMap.emplace(lowerKey, object);

std::string lowerKey = Misc::StringUtils::lowerCase(key);
mMap.find(lowerKey);

mMap.find(key); // Not found. Oops!
```
An alternative approach produces no such issues.
```
std::unordered_map<std::string, Object, Misc::StringUtils::CiHash, Misc::StringUtils::CiEqual> mMap;

mMap.emplace(key, object);

mMap.find(key);
```
Of course, such an alternative will work for a `map` as well, but an `unordered_map` is generally preferable over a `map` with these changes because we have moved `lowerCase` into the comparison operator. 

In this PR I have refactored `Animation::mNodeMap` accordingly. I have reviewed and adapted all direct and indirect usage of `Animation::mNodeMap` to ensure we do not change behaviour with this PR.
2021-10-25 09:18:26 +02:00
Bo Svensson
b2af81bc18
converts remaining osg::NodeCallback (#3147)
With this PR we convert remaining instantiations of the deprecated osg::NodeCallback in Open MW to SceneUtil::NodeCallback.
2021-10-05 14:21:12 +02:00
Bo Svensson
aaf7b423d6
adds a replacement for osg::NodeCallback (#3144)
* nodecallback.hpp

* lightmanager.hpp

* lightmanager.cpp

* lightmanager.hpp

* nodecallback.hpp

* nodecallback.hpp

* [ci skip]

* lightmanager.hpp

* nodecallback.hpp

* nodecallback.hpp

* lightmanager.cpp

* lightmanager.cpp

* nodecallback.hpp

* [ci skip]

* [ci skip]

* controller.cpp

* [ci skip]

* osgacontroller.cpp

* keyframe.hpp

* controller.hpp

* keyframe.hpp

* [ci skip]

* keyframe.hpp

* animation.hpp

* [ci skip]

* weaponanimation.cpp

* nodecallback.hpp
2021-10-04 10:56:55 +02:00
jvoisin
7a015d24c6 Sprinkle some const-ref 2021-08-15 19:50:28 +02:00
jvoisin
5840279f16 Use default instead of empty constructors/destructors
See https://pvs-studio.com/en/docs/warnings/v832/ for details
2021-06-24 00:26:15 +02:00
glassmancody.info
4ba473b684 Finalize settings, torch fix 2021-04-13 11:09:49 -07:00
Petr Mikheev
7bbbe40abe "static const" -> "static constexpr" in headers 2021-03-21 13:57:54 +01:00
Nelsson Huotari
f78a5d795c Separate keyframes logic to provide basis for osgAnimation integration. 2020-11-18 22:48:47 +02:00
Andrei Kortunov
8ca3c3b123 Mark overrided methods by override keyword 2020-10-16 22:18:54 +04:00
Andrei Kortunov
297898182b Reset attached arrow in the beginning of unequipping animation 2020-08-28 15:53:30 +04:00
psi29a
46db69a349 Merge branch 'swimming' into 'master'
Swimming-related fixes

See merge request OpenMW/openmw!247

(cherry picked from commit 8be328ef80f29e9692e29d24beefa8ced16537a7)

738c71fd Extend the "turn to movement direction" mode for swimming up and down.
10d3e82b New setting "swim upward coef"
2020-07-09 20:05:59 +00:00
Petr Mikheev
b4c699348f Improved strafe movement 2020-06-22 15:22:34 +02:00
bzzt lost a hitlab login
f12879a04c allow statesetupdater as cullcallback = faster + works in paging
Signed-off-by: Bret Curtis <psi29a@gmail.com>
2020-06-13 00:22:28 +02:00
Bret Curtis
357a845d00
Merge pull request #2862 from elsid/optimize_has_animation
Optimize MWRender::Animation::hasAnimation
2020-05-22 10:33:37 +02:00
elsid
9326111f4c
Use vector for Animation::mActiveControllers
Container is only used to add elements, iterate over all of them and
clear. Multimap adds overhead for all of these operations without any
benefits. Reduce Animation::resetActiveGroups CPU time usage by 50%.
2020-05-21 17:32:25 +02:00
elsid
a59e25e093
Optimize MWRender::Animation::hasAnimation
Use a set to check for group start existence.
Reduce time taken from 2.6% to 0.08% and
MWMechanics::MechanicsManager::update from 7% to 5%
in relative CPU time usage for a scene with ~100 actors.
2020-05-21 16:21:11 +02:00
Capostrophic
1928bebe98 Don't use up light duration if the held light is hidden (bug #5352) 2020-04-04 20:51:41 +03:00
Andrei Kortunov
2e7712a390 Fix C5204 warnings by adding default virtual destructors 2020-03-26 14:49:12 +04:00
Andrei Kortunov
d3a3b2f1f6 Shields holstering support (feature #5193) 2019-10-22 09:02:59 +04:00
Andrei Kortunov
8557346fbd Use glow for enchanted arrows (feature #5122) 2019-08-07 12:58:14 +04:00
Andrei Kortunov
4c92f0c4e1 Move getEnchantmentColor() from Animation to Class 2019-08-07 08:51:46 +04:00
Alexei Dobrohotov
e4ef7e8d3f
Merge pull request #2355 from akortunov/transparency
Use the StateSetUpdater to modify alpha for Animation objects
2019-05-04 20:24:01 +03:00