uramer
fd7965d77f
Use correctMeshPath instead of string constants
2022-06-12 11:30:29 +02:00
psi29a
af82140dda
Merge branch 'filter_physics_actors' into 'master'
...
Do not perform physics simulation for actors outside processing range
See merge request OpenMW/openmw!1934
2022-05-29 19:19:35 +00:00
elsid
bf76faeb2d
Increment iterator before fast forward
...
When player is located in the exterior cell AiTravel::fastForward may move
another actor into a cell outside active grid. This will remove the actor from
MWMechanics::Actors::mActors which invalidates current iterator in the
Actors::fastForwardAi loop.
2022-05-27 13:35:21 +02:00
elsid
ac5844cad2
Do not perform physics simulation for actors outside processing range
...
Actors with disabled collisions still have physics simulations. Assuming they
should not be processed at all instead of disabling collision add a new flag to
make them inactive.
2022-05-26 10:36:03 +02:00
psi29a
31c0c0cb58
Merge branch 'fix_initial_landing' into 'master'
...
Do not play landing animation for actors entering to scene without a reason (#6346 + #6513 )
Closes #6513 and #6346
See merge request OpenMW/openmw!1926
2022-05-26 06:15:59 +00:00
Evil Eye
921a4c7bca
Fix inverted logic
2022-05-25 16:49:03 +02:00
elsid
85c79d382c
Enable collisions for actor before adjusting position
...
Otherwise adjustPosition does not call traceDown and actor appears flying for
the first physics simulation.
2022-05-24 23:30:57 +02:00
elsid
77c09dff39
Store CharacterController by value in MWMechanics::Actor
2022-05-21 00:41:55 +02:00
elsid
e2c44d13f3
Use std::list to store mechanics actors
...
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.
2022-05-20 22:55:55 +02:00
Evil Eye
2531e24ee3
Fix inverted logic
2022-05-16 18:29:16 +02:00
elsid
ef64587cbf
Mark unchanging static as const
2022-05-09 00:59:51 +02:00
elsid
66c9b6c199
Make MWMechanics::Actors local static variables to be members
2022-05-09 00:59:37 +02:00
elsid
79676aee15
Make Environment a storage of referencing pointers instead of owned
...
Engine controls lifetime of managers therefore it should own them. Environment
is only access provider.
This allows to avoid redundant virtual calls and also some functions from
managers base classes can be removed if they are used only by Engine.
2022-05-06 23:44:01 +02:00
ζeh Matt
1a41cefab3
Use active package in predictAndAvoidCollisions
2022-04-12 18:32:58 +03:00
Petr Mikheev
5ed22c4c7a
Minor fix in actors.cpp
2022-04-06 21:55:05 +02:00
Matt
49e21e121a
Revert "Merge branch 'refactor/6677-2' into 'master'"
...
This reverts merge request !1733
2022-04-04 17:09:52 +00:00
Matt
21e4c10fa9
Introduce IndexedVector
2022-04-04 13:56:19 +00:00
ζeh Matt
33706923a3
Restructure function updateCrimePursuit
2022-03-28 17:25:22 +03:00
ζeh Matt
9821982944
Restructure function updateEquippedLight
2022-03-28 16:48:16 +03:00
ζeh Matt
127366a948
Restructure function updateDrowning
2022-03-28 16:38:39 +03:00
ζeh Matt
0b306bc1ea
Restructure function engageCombat
2022-03-28 16:32:56 +03:00
ζeh Matt
8631b96680
Restructure function updateGreetingState
2022-03-28 16:25:33 +03:00
ζeh Matt
5e44dd41eb
Restructure function updateMovementSpeed
2022-03-28 16:20:24 +03:00
ζeh Matt
cba51e5e1c
Restructure function updateHeadTracking
2022-03-28 16:13:40 +03:00
ζeh Matt
f5b527e445
Restructure function isCommanded
2022-03-28 16:07:20 +03:00
ζeh Matt
08fae7be6e
Pass the prng from world where appropriate
2022-03-21 17:49:42 +02:00
Petr Mikheev
df41b4080d
Merge branch 'refactor/headtracking' into 'master'
...
Small improvement for headtracking
See merge request OpenMW/openmw!1683
2022-03-03 20:39:53 +00:00
Matt
0b528d3bfb
Small improvement for headtracking
2022-03-03 20:39:53 +00:00
ζeh Matt
eca405e5c7
Use std::vector instead of std::list
2022-02-25 04:02:21 +02:00
Matt
367bdcf0cc
#6091 : Optimize isInCombat
2022-02-12 23:50:41 +00:00
Petr Mikheev
6c56436809
Control AI packages from Lua
2022-02-06 15:01:51 +01:00
uramer
c31dedb89c
Implement Yaw, Pitch and Use (attack / cast spell) in Lua self.controls
2022-02-01 18:47:20 +00:00
Bret Curtis
d1fb854521
move most of the files from esm to esm3, keep common code in esm; this is make space for a future with esm4
...
esm typo
esm typo
2022-01-23 17:04:48 +01:00
Evil Eye
ff9f010d99
Explicitely add the initial actor to the set of its allies
2021-12-11 15:30:57 +01:00
Evil Eye
d6f06fbf9a
Remove allies from combat when stopping combat
2021-11-25 22:00:52 +01:00
Petr Mikheev
3941c42a71
Use applyDeferredPreviewRotationToPlayer
only after applying values from luaControls
. Otherwise camera rotation is not smooth when movement is controlled from lua.
2021-11-19 20:37:21 +01:00
Alexei Dobrohotov
7a0c13fcf8
Make better use of std::clamp
2021-11-06 08:47:32 +03:00
Evil Eye
92bdd44e58
Allow creatures to use torches
2021-10-31 20:25:37 +01:00
Evil Eye
289e1544d2
Don't wait a frame to recalculate magicka
2021-10-25 16:54:50 +02:00
Bo Svensson
ef906cbfa8
improves MWClass mapping ( #3166 )
...
Currently, we use a peculiar mapping of ESM classes by their std::type_info::name. This mapping is an undefined behaviour because std::type_info::name is strictly implementation defined. It could return a non-unique value on some platforms. With this PR we use the unsigned int sRecordId of the ESM class as a more efficient lookup type that does not build on undefined behaviour. We can expect marginally faster save-game loading with these changes as well.
2021-10-11 13:46:21 +02:00
psi29a
2c8c36fe5d
Merge branch 'master' into 'effective_magic'
...
# Conflicts:
# CHANGELOG.md
2021-10-01 21:20:08 +00:00
Bret Curtis
8309910d9d
Restore the cell grid to its former non-exorbitant size, reducing stutter and also threw in a simple alternative fix for the actor position adjustment issue.
2021-09-30 22:58:40 +02:00
Evil Eye
b8e4f18751
Clear temporary effects before unloading actors to prevent absorb effects becoming permanent
2021-09-29 19:25:11 +02:00
Evil Eye
dc1fe62dde
Overhaul magic effects to work with onApply and onEnd events
2021-09-29 19:25:10 +02:00
Andrei Kortunov
fc2076db1a
Fix MSVC warnings about local variables redeclaration ( #3130 )
2021-09-29 09:36:05 +02:00
Petr Mikheev
5893b88409
Ignore time to destination when giving way ( #6296 )
2021-09-22 01:46:04 +02:00
Alexei Dobrohotov
31e70f2ecc
Merge branch 'minor_factorisation' into 'master'
...
Minor factorisation in apps/openmw/mwmechanics/actors.cpp
See merge request OpenMW/openmw!1143
2021-08-21 06:22:17 +00:00
jvoisin
39cd679ca9
Minor factorisation in apps/openmw/mwmechanics/actors.cpp
2021-08-16 13:13:44 +02:00
jvoisin
0792bb212a
Use an emplace instead of an insert
2021-08-15 18:57:33 +02:00
fredzio
5fc3b80406
Don't query actor halfextent in a tight loop, use the already existing
...
variable. These repeated calls become costly with > 150 actors.
2021-08-07 13:38:24 +02:00