Commit Graph

17796 Commits (4ff5a04e9b3470847dd77efe3261e43c047c2b4f)

Author SHA1 Message Date
jvoisin b01ef2629c Fix two Wreorder clang warnings 3 years ago
Alexei Dobrohotov 839cf36bdd Merge branch 'hidden_markers' into 'master'
Use common implementation to filter hidden markers

See merge request OpenMW/openmw!1132
3 years ago
elsid 54a676f2e3
Add functions to get length of recast type arrays
To avoid duplicating same formulas in multiple places.
3 years ago
elsid 05258ed644
Remove redundant TileCachedRecastMeshManager::hasTile function
It's used only for tests. getMesh is a valid replacement.
3 years ago
elsid 3caf45807f
Use common implementation to filter hidden markers 3 years ago
Cédric Mocquillon b0b60b05b8 Do not update doors markers at each frame, only when needed 3 years ago
unelsson 298db2ef76 Initialize and check pointer. 3 years ago
unelsson f1d05a93bf Get index and model from proxy 3 years ago
jvoisin bcdd0f55da Merge branch 'bc_refnum' into 'master'
Always print object refnum

See merge request OpenMW/openmw!1123
3 years ago
elsid e84a177a91
Always print object refnum
Also print content file index even when it's negative. To be able to identify
the object unambiguously.
3 years ago
fredzio de9ee2f196 Revert "Calls directly MovementSolver::traceDown instead of"
This reverts commit c1e50f530b.
3 years ago
Petr Mikheev 0e6fbbc126 Lua package 'openmw.input' 3 years ago
psi29a 45b45b3560 Merge branch 'fix_op_bzzt_whoopsie' into 'master'
resolve issue of OP meshes that cross boundaries

See merge request OpenMW/openmw!1117
3 years ago
Bret Curtis c99bddc8dc Revert "Move reference to the right cell according to its geographical position"
This reverts commit d0677c3f07.
3 years ago
Bret Curtis 7dfaef7644 resolve issue of meshes that cross boundaries; should only be calculating the maxBound, not the minBound of y; also fix it in groundcover as it was copied blindly over; 3 years ago
Cédric Mocquillon bfc9ea9e32 Fix warning on MSVC convertion from double to float 3 years ago
Cédric Mocquillon b0e30e4bb6 Change setting to clamp the local viewing distance to fix value (instead of coeff) 3 years ago
Cédric Mocquillon b27de8f188 Disable zooming when setting is off 3 years ago
Alexei Dobrohotov 73e83fd3d8 Merge branch 'dontcrash' into 'master'
Fix #6208 (hopefully)

Closes #6208

See merge request OpenMW/openmw!1113
3 years ago
fredzio 8e3984ae5a Clear mActors when reseting the simulation. Otherwise during next run we can try to read past the end of mActorsFrameData. 3 years ago
jvoisin 586d8684d0 Fix two coverity issues about uninitialised variables 3 years ago
psi29a cb7a4d20dd Merge branch 'killmutex' into 'master'
Remove mutex from PtrHolder

See merge request OpenMW/openmw!1110
3 years ago
psi29a 3afa9829b3 Merge branch 'tracedown' into 'master'
Correct calls to traceDown in addActor

See merge request OpenMW/openmw!1109
3 years ago
fredzio c1e50f530b Calls directly MovementSolver::traceDown instead of
PhysicsSystem::traceDown before inserting into mActors.

The latter does nothing until the actor is inserted into mActors.
We can't move the call after the insertion either because then
the actor is part of the simulation, and we'd have a race.
3 years ago
AnyOldName3 8d93748f87 Fix rebase issue 3 years ago
AnyOldName3 cf15803e67 Disable triangle detection workaround when Bullet actually uses triangles 3 years ago
AnyOldName3 8b4c2d205d WIP-ish glPolygonOffset for Bullet debug geometry 3 years ago
fredzio b4dd9e6b4d Avoid division by zero in movementsolver when an actor is immobile and
in a storm
3 years ago
fredzio ee09f3095f At last kill PtrHolder mutex 3 years ago
fredzio 07fa1803f7 Use btCollisionObject* instead of MWWorld::Ptr inside of Projectile
collision handling and castRay() to avoid calling getPtr(). It is a step forward
removing the mutex inside of PtrHolder.

Do the same for DeepestNotMeContactTestResultCallback. It is used
only for not-ranged combat for now, but do it anyway for parity with all
other callback. This way, once the PtrHolder mutex is gone one will not
have to worry about wether it is safe to use the callback in a specific
context.

To avoid use-after-free with projectile / projectile collision, defer deletion of projectile.
Since instead of storing a copy of target Ptr we have a pointer to its collision object,
we can't delete projectiles until after we finished iterating over the loops.
3 years ago
fredzio e88b94d0b0 Move btCollisionObject* into PtrHolder
Remove unused function
3 years ago
psi29a 8ad3d3d792 Merge branch 'freezeandcool' into 'master'
Don't use FreezeOnCull for any particle system (#4744)

Closes #4744

See merge request OpenMW/openmw!1103
3 years ago
psi29a 8c81191d09 Merge branch 'schneller' into 'master'
Optimize actors physics simulation

See merge request OpenMW/openmw!1048
3 years ago
Alexei Dobrohotov 1fc7cb8191 Don't use FreezeOnCull for any particle system (#4744) 3 years ago
fredzio 5fc3b80406 Don't query actor halfextent in a tight loop, use the already existing
variable. These repeated calls become costly with > 150 actors.
3 years ago
fredzio 7dd5e715d7 Compute and store actor half extents. This is faster for 2 reasons:
- half extents changes when actor scale is modified, which is very rare
- we don't need to protect them by the actor mutex.
3 years ago
fredzio bcd6541d3e Reorganize ActorFrameData members:
- constify all read-only variables
- order them so that all variables modified as aprt of the simulation
  fits in one cache line
3 years ago
fredzio 0c5cf6ec19 Store the btCollisionObject* of the object we're standing on instead of
MWWorld::Ptr:
- they are equivalent
- btCollisionObject* is readily available from the simulation, it saves
  a call to a mutex
- btCollisionObject* is smaller
3 years ago
fredzio 26d9052b8c Move the weak_ptr<Actor> outside of ActorFrameData. 3 years ago
fredzio f68273c3c0 Remove Actor* from ActorFrameData 3 years ago
fredzio 9e911cc8b5 Introduce helper function to write back updated values inside parent Actor class 3 years ago
fredzio b04c958410 Modify the way swimming is handled:
- compute the swimming state instead of storing it, it changes as part of the simulation and was not updated, so it was wrong anyway.
- store the swim level in ActorFrameData, it is constant per Actor so no need to compute it inside the simulation
3 years ago
fredzio 6e51a9a512 Simplify a bit the solver 3 years ago
fredzio 51514e44cc Handle jump as part of the simulation preparation (inside of
PhysicsSystem) instead of inside the simulaiton.
For mechanics, we don't care how the jump is handled, just that it will be.
3 years ago
fredzio 1bfaf353be Explicitely store all the potential states an Actor can have into the
ActActorFrameData structure. It makes it easier to reason about the
simulation (and hopefully simplify it).
Remove atomics from Actor class as a side effect.

Rename mFloatToSurface to mInert to make is explicit what it represent, not what it is used for
Store the Actor rotation (1 Vec2) instead of the whole ESM::Position (2 Vec3)
3 years ago
fredzio 9472728fa4 Do not generate data for immobile actors instead of early out from the solver 3 years ago
Evil Eye 29921bf9fa Don't stack cast packages 3 years ago
psi29a b770373491 Merge branch 'OpenCS-enforce-str-length' into 'master'
OpenCS - Disallow entry of strings longer than the lengths allowed by the file format (#3066)

See merge request OpenMW/openmw!1088
3 years ago
glassmancody.info 09e03fde2e refactor and fix wobbly shores 3 years ago
glassmancody.info cad0b151cb enable shaders path and dehardcode depth formats 3 years ago
glassmancody.info d89e37d689 add framebuffer extension check and fix issues with manual screenshots 3 years ago
glassmancody.info 70fac33940 initial reverse-z depth implementation 3 years ago
Petr Mikheev a94072243b Lua command `core.quit` 3 years ago
cc9cii 8aee84c46e Disallow entry of strings longer than the lengths allowed by the file format.
It is possible to allow longer strings but that will require an extension in the omwaddon format as well as changes to the reader to handle that extension.  Such changes should be a separate MR.

(applied the patch in https://gitlab.com/OpenMW/openmw/-/issues/3066)
3 years ago
psi29a 9fa7521fc5 Merge branch 'OpenCS-no-charconv' into 'master'
OpenCS - Avoid the inclusion of charconv header

See merge request OpenMW/openmw!1087
3 years ago
psi29a 9b7e14ec00 Merge branch 'OpenCS-moved-reference' into 'master'
OpenCS - Fix moved reference - Issues #3514 and #4752

See merge request OpenMW/openmw!1051

(cherry picked from commit 2bee171c7990522da33c2667f7d079fa35f4ede0)

36c30f7f Fix for Issue #3514 where moving a reference to another cell is not handled properly.
40327681 Update the changelog.
3 years ago
psi29a e10e9c0005 Merge branch 'navmesh_reduce_lock_wait' into 'master'
Reduce waiting duration on locks when updating navmesh object in the main thread (#6193)

Closes #6193

See merge request OpenMW/openmw!1079
3 years ago
psi29a 16d04cf76c Merge branch 'fixtexindex' into 'master'
Fix texture index search bug

See merge request OpenMW/openmw!1080
3 years ago
cc9cii bf06898a79 Retain the use of std::string_view in the function signature. 3 years ago
cc9cii 99e691fbe3 Avoid the inclusion of <charconv> header due to Ubuntu Bionic (18.04) which as gcc version less than 8.1
Partially reverts commit fd67ebde25
3 years ago
Petr Mikheev 3ce5e9e680 Improve error messages in components/lua/serialization.cpp 3 years ago
Petr Mikheev 0f7f5ce140 Remove Lua command "self:setDirectControl" 3 years ago
elsid c8987bda2f
Store reference to BulletShapeInstance for btCollisionShape
To keep btCollisionShape lifetime.
3 years ago
elsid 4574e5f565
Remove redundant Navigator API functions 3 years ago
psi29a bd1bf4ec73 Merge branch 'donoteraseme' into 'master'
#6192: Stop crashing in moveActors()

See merge request OpenMW/openmw!1085
3 years ago
fredzio bc738c5640 Use extract/insert instead of erase/emplace
When we call moveObject(), we might trigger a change of cell for the
actor, which in turn triggers updatePtr(). The erase/emplace
construct invalidate references, whereas extract/insert do not.

The reason is was working before !1075 is because we were always
"refreshing" the reference by a call to getActor().
3 years ago
unelsson 09ee2a0a36 fix texture brush index search 3 years ago
psi29a 4b48e62b64 Merge branch 'fixandclean' into 'master'
Fix opencs build and remove some clang warnings

See merge request OpenMW/openmw!1078
3 years ago
fredzio 1391194152 Remove unneeded return statement 3 years ago
fredzio 9ba459662d Remove unneeded std::move
[19/199] Building CXX object apps/opencs/CMakeFiles/openmw-cs.dir/model/world/commands.cpp.o
../../../apps/opencs/model/world/commands.cpp:298:12: warning: moving a temporary object prevents copy elision [-Wpessimizing-move]
    mOld = std::move(model.getRecord (id).clone());
           ^
../../../apps/opencs/model/world/commands.cpp:298:12: note: remove std::move call here
    mOld = std::move(model.getRecord (id).clone());
           ^~~~~~~~~~                            ~
../../../apps/opencs/model/world/commands.cpp:333:12: warning: moving a temporary object prevents copy elision [-Wpessimizing-move]
    mOld = std::move(model.getRecord (id).clone());
           ^
../../../apps/opencs/model/world/commands.cpp:333:12: note: remove std::move call here
    mOld = std::move(model.getRecord (id).clone());
           ^~~~~~~~~~                            ~
2 warnings generated.
3 years ago
fredzio 36e33b0cf2 Add missing override 3 years ago
fredzio bede1ea1ec Fix build 3 years ago
psi29a 15d278de55 Merge branch 'opt-out-compose' into 'master'
Make it possible to opt out of composing variables

Closes #6186

See merge request OpenMW/openmw!1076
3 years ago
cc9cii 67cad2c515 Fix `CSMWorld::InfoCollection::getTopicRange()` returning one too many. 3 years ago
AnyOldName3 04e9b6d242 Abort on duplicate content file 3 years ago
AnyOldName3 4727ae4b3b Make it possible to opt out of composing variables 3 years ago
psi29a 547bc4a252 Merge branch 'notonlyactors' into 'master'
Refactor the physics simulation to make it not actor centric.

See merge request OpenMW/openmw!1075
3 years ago
psi29a a3a079acc1 Merge branch 'projstats' into 'master'
Add projectiles number to the resources stats

See merge request OpenMW/openmw!1074
3 years ago
psi29a 4c5e6beb75 Merge branch 'canyouseeme' into 'master'
Solve actor awareness check without async physics

See merge request OpenMW/openmw!1071
3 years ago
fredzio 35928cf4d3 Refactor a bit the physics simulation to make it not actor centric:
- inline PhysicsSystem::applyQueuedMovements() into PhysicsSystem::stepSimulation()
- rename PhysicsTaskScheduler::moveActors() to PhysicsTaskScheduler::applyQueuedMovements()
- move the actor movement code from World::doPhysics() to
  PhysicsSystem::moveActors() (analogically to the projectile manager)
3 years ago
psi29a 141095b850 Merge branch 'OpenCS-loading-opt' into 'master'
OpenCS loading time improvements

See merge request OpenMW/openmw!1044
3 years ago
fredzio c76387162b Add projectiles number to the resources stats 3 years ago
psi29a ca011927f3 Merge branch 'ObjectPagingDisappearingTexture' into 'master'
Move reference to the right cell according to its geographical position

See merge request OpenMW/openmw!1065
3 years ago
Evil Eye 5cdf1e7e6b Merge branch 'vec3_vs_xyz' into 'master'
Use Vec3f instead of x,y,z in World API

See merge request OpenMW/openmw!730
3 years ago
fredzio a7b190ad29 Change rotateObject() to take a osg::Vec3f argument instead of 3 floats
for readability.
3 years ago
fredzio 88a5ca440b Change moveObject() to take a osg::Vec3f argument instead of 3 floats
for readability.
3 years ago
fredzio 4e7c128d25 The LOS cache is now unconditionally used without async physics as well
with a TTL of 0 frame. It helps performance when several subsystems
request the same LOS in the same frame (combat, headtracking, etc).
Except it doesn't work if the cache is never trimmed.
3 years ago
Cédric Mocquillon d0677c3f07 Move reference to the right cell according to its geographical position 3 years ago
psi29a 8c36eb56cf Merge branch 'stereo_friendly_water' into 'master'
Stereo friendly water and statesetupdater

See merge request OpenMW/openmw!563
3 years ago
psi29a c5d49b44ba Merge branch 'lua_settings' into 'master'
Add Lua package 'openmw.settings'

See merge request OpenMW/openmw!1017
3 years ago
Evil Eye 779795734f Remove calm/rally/demoralize and turn undead from the wrong targets 3 years ago
Evil Eye a366a85c4e Merge branch 'noalloc_dance_for_npcanimation' into 'master'
Don't do an unnecessarily complex memory allocation dance in npcanimation.cpp

See merge request OpenMW/openmw!1042
3 years ago
Evil Eye 88d207b0cd Merge branch 'land' into 'master'
Correct creature landing sound type (bug #6118)

Closes #6118

See merge request OpenMW/openmw!1054
3 years ago
psi29a ea05b958b8 Merge branch 'FixIssueWithTRData' into 'master'
Fix issue with Tamriel Data landscapes

See merge request OpenMW/openmw!1064
3 years ago
psi29a 292e6f1a9e Merge branch 'seducer_ice_queen' into 'master'
Prevent a missing weapon animation from partially freezing actors

See merge request OpenMW/openmw!1060
3 years ago
Cédric Mocquillon c98b0f713d If same area is defined in multiple plugin the last must wins 3 years ago
elsid 6adf7b10ae
Fix removing heightfield from navigator
It's added not as object so it shouldn't be removed as it.
3 years ago
Petr Mikheev 2938aaf05c Rename `API_VERSION` -> `API_REVISION` in Lua API. 3 years ago
Petr Mikheev 3e4c0b775d Add Lua package 'openmw.settings' 3 years ago
Petr Mikheev 68b8a148d7 Initialize Lua packages in LuaManager::init rather than in constructor. 3 years ago
Evil Eye 977f717f8b Prevent a missing weapon animation from partially freezing actors 3 years ago
Alexei Dobrohotov 536dc6a0c6 Correct creature landing sound type (bug #6118) 3 years ago
psi29a 5a434aebe0 Merge branch 'SortedStaticLands' into 'master'
Replace land static container from vector to flat_set

See merge request OpenMW/openmw!853
3 years ago
Cédric Mocquillon 7772f5111b std::set version 3 years ago
madsbuvi 41c08b1c3b Stereo friendly StateSetUpdater
(cherry picked from commit 496b3aef88b8fd867dcdd23a6ca43144573b1b2f)

Stereo friendly water

(cherry picked from commit 0e22c55e48a7f965367d3d430c1bef5357b22748)

Option to disable per view mapping.

Include memory header

De-hardcode settings and buffers.

formatting error

Update water.cpp (whitespace)

Update water.cpp (more whitespace)

include render order

c array -> c++ array
3 years ago
psi29a 44ceb9572a Merge branch 'recast_mesh_heightfield' into 'master'
Reduce navmesh cache size by special handling for heightfields

See merge request OpenMW/openmw!1032
3 years ago
glassmancody.info 166e23a6d9 fix CI artifacts, missing header 3 years ago
elsid 9a5ec5fd03
Store heightfields as array of heights instead of triangles
To reduce size of RecastMesh and therefore cache size.
3 years ago
elsid 28b2f769c2
Update navmeshtilescache benchmark generators 3 years ago
elsid fdee9db20c
Consider RecastMeshManager not empty when there is water 3 years ago
elsid 5d6c93566d
Rename DetourNavigator::Water -> Cell 3 years ago
elsid 753767d6d9
Store only water shift
Rotation is not used.
3 years ago
elsid a1549321d7
Move Water struct out of RecastMesh class 3 years ago
elsid d60edb36aa
Make RecastMesh independent from recast scale factor
To avoid scaling until it's required by delaying coordinates conversion until
navmesh generation.
3 years ago
elsid af7059373c
Make RecastMesh independent from the order of RecastMeshBuilder calls
To make sure RecastMesh objects are equal if built with the same data but in
different order. Will be used later when there will be more than one place
building RecasMesh objects.
3 years ago
elsid 100cba6260
Use navigator field in Scene 3 years ago
psi29a 6949dd89c2 Merge branch 'gui_shaders' into 'master'
Add shader path for mygui (#6162)

See merge request OpenMW/openmw!1019
3 years ago
psi29a b92c6985cd Merge branch 'auto_in_most_apps' into 'master'
Using auto keyword in most apps

See merge request OpenMW/openmw!885
3 years ago
psi29a 7d7427015e Merge branch 'removing_unused_launcher_imports' into 'master'
Removing unused imports in the Launcher

See merge request OpenMW/openmw!884
3 years ago
Petr Mikheev 200ccfab69 Merge branch 'Allow-Zoom-levels-on-the-World-Map' into 'master'
Allow Zoom levels on the World Map

See merge request OpenMW/openmw!275
3 years ago
fredzio 7145ef4ce0 Update AABB also in sync cases 3 years ago
Petr Mikheev e371831086 Merge branch 'esmstore_infix' into 'master'
Use prefix increment for iterators in esmstore.cpp

See merge request OpenMW/openmw!1041
3 years ago
jvoisin ce8c30bf07 Minor code simplification in npcanimation.cpp 3 years ago
Cédric Mocquillon 1051745f29 [Launcher] Add new setting 'allow zooming' to advanced tab in the launcher 3 years ago
CedricMocquillon 9fee9dbc9c [Global map] Regroup markers when the zoom out 3 years ago
CedricMocquillon 18f5853279 [Global <-> Local] Auto switch between local and global map when zoom in/out 3 years ago
CedricMocquillon 8c87defddf [Local map] Use the distance view in the local map 3 years ago
CedricMocquillon ed04ebe9ff [Local map] Allow zoom on local map 3 years ago
CedricMocquillon 9fadbd5b7a [Global map] Allow zoom on global map 3 years ago
CedricMocquillon 99cd4b6742 [Refactoring] Several refactorings:
[Refactoring] Add marker size method instead of using magic constant

[Refactoring] Simplify worldPosToImageSpace and cellTopLeftCornerToImageSpace usage

[Refactoring] Add a missing 'f' to specify the float type

[Refactoring] Make cellTopLeftCornerToImageSpace more homogenous with worldPosToImageSpace

[Refactoring] Extract createmakrercoords method

[Refactoring] Use worldPosToImageSpace instead of cellTopLeftCornerToImageSpace
Remove cellTopLeftCornerToImageSpace as it is not used anymore
Remove getCellSize as it is not used anymore

[Refactoring] Extract new method createMarker

[Refactoring] Extract new method getMarkerCoordinates

[Refactoring] Extract new method getPosition

[Refactoring] Extract new method centerView

[Refactoring] Extract new method createDoorMarker

[Refactoring] Simplify for loop

[Refactoring] Make the test before the loop
3 years ago
cc9cii 33dcd7585a OpenCS - Jump To Modified 3 years ago
psi29a 2eea590762 Merge branch 'spawn_fix' into 'master'
Fix #6173

Closes #6173

See merge request OpenMW/openmw!1046
3 years ago
cc9cii 3e466699c8 A better way to plug a potential memory leak in the event of an exception during push_back(). 3 years ago
cc9cii fd67ebde25 Changes based on review comments, including:
* replace murmurhash with std::unordered_map
* plug potential leak from unique_ptr release
* replacing some sections with cleaner code
4 years ago
fredzio f348b70733 Set mCanWaterWalk and mOnGround when adding Actor to the scene.
mCanWaterWalk was set to false and updated during next frame's simulation
mOnGround is set to true but then was updated as part of the scene
loading logic.
4 years ago
cc9cii ee3361a118 Fix table being sorted twice (at least it appeared that way according to the sample profiler)
- Quoting Qt-4.8: "Note: . Setting the property to true with setSortingEnabled() immediately triggers a call to sortByColumn() with the current sort section and order."

(copied the changes from commit SHA-1: 77394fce99)
4 years ago
cc9cii 725d689e8a Call push_back() if inserting to the end of the vector. It seems MSVC may be generating different code compared to insert().
(copied the changes from commit SHA-1: 257126ed69)
4 years ago
cc9cii 44a333b6db Don't attempt to open files yet to be created. 4 years ago
Petr Mikheev ec79f26320 Merge branch 'minor' into 'master'
Minor code cleanup

See merge request OpenMW/openmw!1038
4 years ago
cc9cii 5c504e4d22 Convert the CellRef record index lookup maps to use integer keys rather than strings.
- Morrowind load over 300,000 references, so even small inefficiencies add up to longer loading times.
- std::map is used, but should try others, std::unordered_map or even std::vector

(copied the changes from commit SHA-1: 86945d1912)
4 years ago
cc9cii 10c6304a1f Fix typo from commit cfdbd0d471. 4 years ago
cc9cii fc2f68a465 Change the loader's top progress bar to show total number of records processed rather than the number of files.
(copied the changes from commit SHA-1: ff072441fd)
4 years ago
cc9cii 5fffcab94f Performance improvements for loading Info records.
- The order of info records with the same topic are maintained in Collection::mRecords
- The index lookup data structure are not ordered.  The topic string is hashed.  The infos for the topic are simply placed in a vector.
- The index values for appending or inserting a record takes prev/next values (if exist)
- FIXME: prev/next values are not adjusted for adding or removing records
- FIXME: undo after reordering does not reset the modified flag

(copied the changes from commit SHA-1: 06f9922822)
4 years ago
cc9cii 66bda84240 Convert RefNum index map to use find().
(copied the changes from commits 68e16b6cee and 0de223c637)

NOTE: it is unclear how this change affects commit 61a4a0807b
4 years ago
cc9cii be45092e55 Use std::unique_ptr to store records in collections, RefidCollection and RefIdData.
(copied the changes from commit 23e7e3c165)
4 years ago
glassmancody.info e8c6f31e0c add shader path for mygui (#6162) 4 years ago
jvoisin 73c20be29a Use prefix increment for iterators in esmstore.cpp
See https://pvs-studio.com/en/docs/warnings/v803/
for the rationale.
4 years ago
jvoisin 74fab99b89 Use a const-ref for an osg::Quat
Since an osg::Quat contains at least 4 floats,
it should be worth it to use a const-ref instead
of passing it by value.
4 years ago
jvoisin f86ddef4db Minor code cleanup 4 years ago
psi29a 469cc44ef7 Merge branch 'tweaks' into 'master'
Change settings for async physics

See merge request OpenMW/openmw!778
4 years ago