Mads Buvik Sandvei
cedc5289d7
Dejank movement solver vs animation movement accumulation
2023-12-09 14:49:42 +01:00
Alexei Kotov
440851ff48
Rewrite melee hit target selection (bug #3438 )
2023-09-19 22:31:45 +03:00
elsid
053a3caf7b
Pass cache expiry delay to GenericResourceManager constructor
2023-09-09 19:35:20 +02:00
elsid
eb77fd1813
Add height field to navigator in ESM4 cells
2023-08-13 02:26:45 +02:00
Andrei Kortunov
35561450f1
Do not copy osg::ref_ptr when possible
2023-07-31 20:43:46 +04:00
elsid
6e8dcc16c6
Use settings values for Game settings
2023-07-01 00:59:35 +02:00
Mads Buvik Sandvei
410e8b100a
Elsid comments
2023-05-23 19:30:29 +02:00
florent.teppe
a3bd6e7e47
ESM::ExteriorCellIndex => ESM::ExteriorCellLocation
2023-05-12 22:05:55 +02:00
florent.teppe
75561abfca
Factorises code and fixes preload bug.
2023-05-12 22:05:54 +02:00
florent.teppe
141878f30d
int x, int y , ESM::RefId worldspace => ESM::ExteriorCellIndex
...
also removed the changeToExteriorCell that only took a position as input, didn't work with esm4.
2023-05-12 22:05:53 +02:00
florent.teppe
d8a782425b
can actually load and teleport to esm4 exterior spaces
2023-05-12 22:05:53 +02:00
Petr Mikheev
f1beaa7b8c
Put ESMStore to Environment
2023-04-20 21:45:49 +02:00
Shi Han
a90e3b8c3b
Move from std::atoi to std::from_char
2023-03-18 09:30:48 +00:00
elsid
36b33cc1a5
Support absence of player and other actors in physics system
2023-02-08 20:19:59 +01:00
Alexei Kotov
b261f3bf65
Fix animated object physics
2023-01-16 17:08:48 +03:00
Alexei Kotov
434b4deda1
Don't use xkf if xnif is merely the base model (bug #5371 )
2023-01-14 04:55:12 +03:00
elsid
843753da14
Remove unused includes
2022-10-09 16:44:18 +02:00
clang-format-bot
ddb0522bbf
Apply clang-format to code base
2022-09-22 21:35:26 +03:00
elsid
cdc9141e2f
Reuse physics actors positions buffer
2022-09-08 01:57:45 +02:00
psi29a
fcd9b78cac
Merge branch 'REFACTOR_STORE' into 'master'
...
Refactoring the ESM store to better support many new ESM4 types
See merge request OpenMW/openmw!2161
2022-09-07 20:22:29 +00:00
elsid
277211c5b4
Reuse physics simulations buffer
...
To avoid redundant allocations.
Use 2 buffers to make sure there is no overlap between main and the background
threads.
2022-09-07 03:06:59 +02:00
florent.teppe
0dd529ab1d
With the records include removed from store.hpp, need to include the relevant files accross the codebase.Lots of touched files, but very little done
2022-09-06 13:26:13 +02:00
elsid
948e2f5db9
Do not use collision shapes with visual only collision to generate navmesh
...
These collision shapes are not used for actors movement physics simulation.
2022-08-25 00:56:03 +02:00
elsid
e4a254deb7
Replace Misc::Span by std::span
2022-08-21 23:53:27 +02:00
psi29a
454684bad3
Merge branch 'custom_actor_collision_shape_type' into 'master'
...
Support cylinder and rotating box collision shape types for actors (#6138 )
Closes #6138
See merge request OpenMW/openmw!2043
2022-08-01 11:00:23 +00:00
Alexei Kotov
bccdefd63f
Discard momentum upon teleportation (bug #6545 )
2022-08-01 07:59:14 +03:00
elsid
8b8e4f78b6
Support cylinder and rotating box collision shape types for actors
...
Cylinder collision shape should give the best consistency between physics
simulation and pathfinding. Rotating box is already used by some actors, so
add it to have the same collision shape type for all actors.
2022-07-30 14:28:21 +02:00
jvoisin
72a6d1f69f
Clean up bullet includes
2022-06-04 20:15:10 +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
Evil Eye
3c83117e99
Replace new with make_unique in openmw
2022-05-29 13:24:48 +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
elsid
617cd4ceb6
Make sure physics simulation does not reset flags for nonprocessed actors
...
Actor::getOnGround and Actor::getOnSlope is used to initialize ActorFrameData.
After a physics simulation the result is copied back. But when actor is outside
processing range, Actor::mInternalCollisionMode is false and physics simulation
does not recalculate OnGround and OnSlope flags. So the flags are always set to
false that makes actor play landing animation when they exit and then enter
actors processing range.
2022-05-24 23:25:35 +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
fredzio
d05a2facf3
Handle NCC flag in Nif files. Objects with this flag will collide only with camera.
...
Expose objects with NC flag to be used by Lua mods.
2022-04-17 20:03:00 +02:00
elsid
39da3bfef8
Ignore player when checking whether AiTravel destination is occupied by other actor
2022-04-11 19:30:54 +02:00
Abdu Sharif
de3092f014
Revert "Merge branch 'offset_the_deads' into 'master'"
...
This reverts commit 7dd02076f5a05528d0df308bf68e6bd733bd1b43
2022-02-22 04:04:08 +00:00
elsid
832ab103cb
Filter out unchanged animated objects for navigator update
2022-02-03 22:09:52 +01:00
psi29a
7dd02076f5
Merge branch 'offset_the_deads' into 'master'
...
#6410 : Use the scaled mesh translation for collision shape position for living actors
See merge request OpenMW/openmw!1446
2022-01-29 20:28:23 +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
fredzio
989f09930a
Use the scaled mesh translation for collision shape position for living actors. It seems only (some) dead
...
actors really needs to use the vertical half-extent.
2021-11-28 18:58:40 +01:00
Alexei Dobrohotov
7a0c13fcf8
Make better use of std::clamp
2021-11-06 08:47:32 +03:00
psi29a
523289c531
Merge branch 'refactor_bullet_shape' into 'master'
...
Refactor bullet shape
See merge request OpenMW/openmw!1333
2021-11-02 20:30:22 +00:00
fredzio
8c21b0b503
Apply waterwalking even when we skip simulation.
...
This chunk was supposed to be part of !1324 but somehow got stuck staged in my tree.
2021-11-01 12:44:36 +01:00
elsid
8e71c246bf
Remove redundant BulletShape getters
2021-10-30 03:44:08 +02:00
fredzio
68f4c336ce
Rework again SetPos command to make more mods work.
...
Previous version skipped collision the frame immediately after a call to SetPos. It worked for one-off calls (teleports for instance) and continuous call along a pre-defined path (scenic travel). However, in the case of mod which uses SetPos to simulate a player-controlled movement, it is equivalent to using tcl.
Solution:
1/ skip update of mPosition and mPreviousPosition to avoid janky interpolation
2/ use back plain moveObject() instead of moveObjectBy() since we don't want physics simulation
3/ rework a little bit waterwalking influence on coordinate because of 1/
2021-10-29 23:20:17 +02:00
elsid
29a772c33f
Rename Resource::BulletShape::CollisionBox fields according to styleguide
2021-10-29 21:05:58 +02:00
psi29a
e3cfe5d35a
Merge branch 'backproj' into 'master'
...
Move the projectile simulation to the background thread
See merge request OpenMW/openmw!1276
2021-10-29 12:52:41 +00:00
fredzio
3750eb9cd8
Move Projectile simulation to the background thread.
2021-10-27 22:17:06 +02:00
Frederic Chardon
5009b66ef5
Use std::variant in the physics simulation for the different types of objects. For now only support only for actors.
2021-10-27 22:02:46 +02:00
Andrei Kortunov
3ee6657768
Early out from LOS check when source and target is the same (bug 5913)
2021-10-27 10:01:06 +04:00