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
elsid
a66c095ec3
Cleanup openmw class and mechanics includes
2022-08-19 15:46:39 +02:00
Alexei Kotov
7f3d2c18e1
Evaluate melee hits on weapon release (bug #5057 )
2022-08-13 01:15:42 +03:00
Alexei Kotov
3e34d5e9f2
Rewrite attack animation logic (bug #4127 )
2022-08-11 15:55:26 +03:00
Alexei Kotov
ac892f2bfd
Clean up updateWeaponState()
2022-08-08 20:45:29 +03:00
Alexei Kotov
e5ef9f1464
Improve upper body character state naming
2022-08-08 19:46:46 +03:00
psi29a
5cd4dbd9a9
Merge branch 'unrestrictedfailure' into 'master'
...
Spellcasting timing fixes (bug #4227 )
Closes #4227
See merge request OpenMW/openmw!2201
2022-07-30 07:35:46 +00:00
Alexei Kotov
8005d3ca25
Rename updateState back into updateWeaponState
2022-07-29 17:22:51 +03:00
Alexei Kotov
a914d7a9b0
Spellcasting timing fixes (bug #4227 )
...
Play spellcasting animation and VFX (but not hand VFX) if spellcasting failed due to insufficient magicka
Apply spellcasting fatigue loss when the spellcasting starts instead of when the spell is applied
2022-07-29 16:24:28 +03:00
Evil Eye
55134d1e31
Use string_view in the CharacterController
2022-07-26 17:23:00 +02:00
Alexei Kotov
2b019864b7
Remove more legacy states
2022-06-14 13:47:16 +03:00
Alexei Kotov
c2ac52c82a
Remove dead code
2022-06-14 12:50:30 +03:00
Alexei Kotov
5dfce6205a
Reset the idle animation after a movement animation ends
...
Fix non-biped actor idle reset
2022-06-14 12:50:30 +03:00
Alexei Kotov
1a646374b0
Always reset the idle animation after the landing animation ends
2022-06-14 12:50:30 +03:00
Alexei Kotov
69a1d8ac86
Restart idle instantly only after the hit state ends
2022-06-14 12:50:30 +03:00
Alexei Kotov
253de65d13
Fix knockout animation interruption/looping
2022-06-13 17:53:38 +03:00
Alexei Kotov
b8018024a6
Avoid passing weapon short group to refreshXAnims
2022-06-13 17:53:38 +03:00
Alexei Kotov
0a38c3ab78
Reset current animation states in a consistent way
2022-06-13 17:53:38 +03:00
Alexei Kotov
c2e637d661
Mark setAttackingOrSpell as const
2022-06-12 03:02:23 +03: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
Alexei Kotov
97d4206a3d
Improve CharacterController const-correctness
...
C++ Core Guidelines Con. 2
2022-06-11 02:08:43 +03:00
Alexei Kotov
788de7edcb
Initialize most of CharacterController in-class
...
See C++ Core Guidelines C.48
2022-06-11 00:40:14 +03:00
elsid
77c09dff39
Store CharacterController by value in MWMechanics::Actor
2022-05-21 00:41:55 +02:00
elsid
ce3bba0cdc
Use std::list to store mechanics objects
...
To make the order of elements deterministic. Using memory address based objects
as map key makes order of elements there nondeterministic. Later it can be
replaced with vector when there are no indirect munipulations with container
inside iteration loops.
Change map key to const MWWorld::LiveCellRefBase* to avoid erasing and inserting
elements on MWWorld::Ptr update.
Store CharacterController by value instead of pointer to avoid redundant memory
allocation.
2022-05-20 00:47:10 +02:00
Evil Eye
7bd4971e0c
Disallow non-bipedal hand-to-hand refreshes
2022-02-16 21:58:22 +01:00
unknown
5ebcd37da1
Rename method and restore swish sounds
2022-02-05 19:07:44 +01:00
Evil Eye
8752f78fa4
Remove weaponless, non-biped distinction
2022-02-01 21:58:55 +01:00
uramer
c31dedb89c
Implement Yaw, Pitch and Use (attack / cast spell) in Lua self.controls
2022-02-01 18:47:20 +00:00
jvoisin
cf11870b1c
Sprinkle some references where it makes sense
2021-06-24 00:28:09 +02:00
jvoisin
ee2446d5c4
Trim even more
2021-04-30 20:11:41 +02:00
fredzio
60f66f5e29
Remove never used parameter from CharacterController:update()
2021-01-09 21:28:27 +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
Petr Mikheev
bd6b984022
Smoothing speed in CharacterController
2020-09-22 22:50:44 +02:00
Petr Mikheev
63f828fea8
Bugfix for "turn to movement direction"
2020-06-26 20:04:02 +00: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
Andrei Kortunov
fcd6e915d4
Fallback for long animation groups
2019-08-09 19:40:30 +04:00
Andrei Kortunov
123ca175c8
Fallback for short weapon groups
2019-08-09 19:40:30 +04:00
Andrei Kortunov
f0cef772fa
Refactor weapon types behaviour
...
1. Move weapon types behaviour from switches to the table (should allow
us to de-hardcode weapon types later)
2. Gereralize bones injection to actors skeletons (instead of using the
hardcoded xbase_anim_sh.nif)
2019-08-09 19:40:27 +04:00
Capostrophic
f9a711d2fd
Revert poor animation decisions
...
Start force-updated in-air animation from loop start
Make movement animations have higher priority than jump animations
Make jumping animations have higher priority than turning animations
Don't reset idle during landing animation
Don't play default landing sound if the character is not on ground
2019-01-22 23:21:33 +03:00
Andrei Kortunov
a53333c3d5
Native animated containers support (feature #4730 )
2018-12-13 23:11:16 +04: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
e06f0b797a
Replace all NULLs to nullptr
2018-10-09 10:21:12 +04:00
Capostrophic
713330351b
Experimental animation regression fixes
...
Don't unnecessarily start movement and jump animations from loop start
Don't play movement animation until jumping animation finishes
2018-09-24 19:30:02 +03:00
Andrei Kortunov
0136f0552b
Do not update mIdleState directly
2018-09-11 22:24:44 +04:00
Andrei Kortunov
16edac8c47
Fix incorrect 'preparing' word spelling
2018-08-16 17:47:06 +04:00
Andrei Kortunov
307e0103dc
Use fallbacks for missing weapon animations (bug #4470 )
2018-08-12 16:14:24 +04:00
Andrei Kortunov
a0d0e5d2db
Give jumping animations higher priority than movement ones
2018-08-09 16:19:03 +04:00
Andrei Kortunov
3d1daaebab
Rework manual spellcasting (e.g. via scripts)
2018-07-12 16:24:25 +04:00