Commit Graph

24123 Commits (8ca3c3b123daeb026552de39fdf5182fa0263b49)
 

Author SHA1 Message Date
Andrei Kortunov 8ca3c3b123 Mark overrided methods by override keyword 4 years ago
Bret Curtis e5392cabf1
Merge pull request #3013 from OpenMW/macos_target_fix
Resolve 'shared_timed_mutex' is unavailable: introduced in macOS 10.12
4 years ago
Bret Curtis b024518c18 Resolve 'shared_timed_mutex' is unavailable: introduced in macOS 10.12 4 years ago
psi29a c16fa27407 Merge branch 'async-physics' into 'master'
Async physics

See merge request OpenMW/openmw!248
4 years ago
fredzio ae3306c019 Document async physics settings
Add an option to the launcher
Update changelog
4 years ago
fredzio 3c2504b442 Process movement queue in one or several background threads
Before movement calculation, the main thread prepare a
vector of ActorFrameData, which contains all data necessary to perform
the simulation, and feed it to the solver. At the same time it fetches
the result from the previous background simulation, which in turn is
used by the game mechanics.
Other functions of the physics system (weapon hit for instance)
interrupt the background simulation, with some exceptions described
below.

The number of threads is controlled by the numeric setting

[Physics]
async num threads

In case 'async num threads' > 1 and Bullet doesn't support multiple threads,
1 async thread will be used. 0 means synchronous solver.
Additional settings (will be silently switched off if async num threads = 0)

[Physics]
defer aabb update

Update AABBs of actors and objects in the background thread(s). It is not an especially
costly operation, but it needs exclusive access to the collision world, which blocks
other operations. Since AABB needs to be updated for collision detection, one can queue
them to defer update before start of the movement solver. Extensive tests on as much
as one installation (mine) show no drawback having that switched on.

[Physics]
lineofsight keep inactive cache

Control for how long (how many frames) the line of sight (LOS) request will be kept updated.
When a request for LOS is made for the first time, the background threads are stopped to
service it. From now on, the LOS will be refreshed preemptively as part of the background
routine until it is not required for lineofsight keep inactive cache frames. This mean
that subsequent request will not interrupt the background computation.
4 years ago
fredzio 91b3926a49 We need to update the collision world after each step.
Change order of traversal simulation step to make it rare enough to be parallelizable

Before:
for actor in actors:
    repeat numstep:
        solve(actor)
After:
repeat numstep:
    for actor in actors:
        solve(actor)

Introduce struct ActorFrameData to pack all data that is necessary for
the solver
4 years ago
fredzio d76cc5d0a9 Make the Object class manage its collision object and position. 4 years ago
fredzio 4ef36973fb Make the Actor class manage its collision object and position. 4 years ago
fredzio 82da2045a9 Non functionnal changes in preparation for async physics feature 4 years ago
Bret Curtis 425fa837d1
Merge pull request #3012 from akortunov/container_crash
Fix crash on saving
4 years ago
Bret Curtis e65fad2070
Merge pull request #3004 from akortunov/arrow_attach
Attach arrows to actor's hands
4 years ago
Andrei Kortunov c3d84b2c7c Ability to attach arrows to shooter's hands (feature #5642) 4 years ago
psi29a 5c43e015a7 Merge branch 'noobject' into 'master'
Unbreak build with cmake < 3.12

See merge request OpenMW/openmw!344
4 years ago
Andrei Kortunov 8e647aa72a Fix crash on saving 4 years ago
fredzio 4ea07639b8 Unbreak build with cmake < 3.12
This reverts commit 3cadc16f88.
4 years ago
Assumeru 72549651e0
Rework container resolution (#3006)
* Rework container resolution

* add optional argument to getCount

* remove now-redundant changes

* undo worldimp changes

* move save-fixing code to InventoryState

* replace Rng instances with Seeds
4 years ago
Bret Curtis c99be77a32
Merge pull request #3008 from akortunov/strings
Rework fixed strings handling
4 years ago
psi29a 82736f013d Merge branch 'objectlib' into 'master'
Convert components to an object library.

See merge request OpenMW/openmw!342
4 years ago
psi29a 9a912486f9 Merge branch 'deprecated-exception' into 'master'
Use C++11 exception specification

See merge request OpenMW/openmw!343
4 years ago
fredzio 3cadc16f88 Convert components to an OBJECT library. It saves space in the object
directory (about 1G on an optimized build on Windows and BSD).
Build should run somewhat fast as well.
4 years ago
Bret Curtis 11c938b176
Merge pull request #3011 from elsid/navmesh_fixes
Navmesh fixes
4 years ago
psi29a 1274e68e1d Merge branch 'fix_5630' into 'master'
Fix #5630 "NPCs momentarily turn when the player character is moving backwards during combat"

Closes #5630

See merge request OpenMW/openmw!339
4 years ago
psi29a ed0bf72119 Merge branch 'menu' into 'master'
Put the main menu below other windows (bug #5622)

See merge request OpenMW/openmw!312
4 years ago
Petr Mikheev 15078f5b3c Fix #5630 "NPCs momentarily turn when the player character is moving backwards during combat" 4 years ago
Alexei Dobrohotov b85d507f35 Merge branch 'absorption' into 'master'
Restore empty target check in spell absorption

See merge request OpenMW/openmw!338
4 years ago
Alexei Dobrohotov 1842f546c3 Restore empty target check in spell absorption 4 years ago
fredzio 460e69e92a Get rid of warning: dynamic exception specifications are deprecated 4 years ago
AnyOldName3 341bcb66f5 Merge branch 'macos_shared_runner' into 'master'
MacOS Shared Runners

See merge request OpenMW/openmw!325
4 years ago
Alexei Dobrohotov e930251d92 Merge branch 'godmode' into 'master'
Add many more godmode checks to harmful magic (bug #5633)

Closes #4264

See merge request OpenMW/openmw!336
4 years ago
AnyOldName3 5514c95b23 Merge branch 'debian-cache-bump' into 'master'
Bump Debian cache version numbers

See merge request OpenMW/openmw!337
4 years ago
AnyOldName3 c6eb0dacd3 Bump Debian cache version numbers
This should stop MR builds clobbering the increased size with their tiny
size.
4 years ago
Alexei Dobrohotov 0e8c5c5034 Merge branch 'avoid_collision_update' into 'master'
Update logic of "NPCs avoid collisions"

See merge request OpenMW/openmw!318
4 years ago
Alexei Dobrohotov b85875a354 Ignore Burden effect in god mode 4 years ago
Alexei Dobrohotov 39678c74bf Add many more godmode checks to harmful magic (bug #5633) 4 years ago
Alexei Dobrohotov f8293536e6 Merge branch 'regressions' into 'master'
Fix recent regressions

See merge request OpenMW/openmw!335
4 years ago
Alexei Dobrohotov 05cd005b30 Fix NiTriStripsData loading 4 years ago
Alexei Dobrohotov 0dcb8c6b69 Fix pick/probe uses decrement 4 years ago
AnyOldName3 ea669cc115 Merge branch 'fix-ccache' into 'master'
Increase CCache size for Debian where needed

See merge request OpenMW/openmw!334
4 years ago
AnyOldName3 ef41edba9b Install tools in before_install.osx.sh 4 years ago
AnyOldName3 1aa5e5cc52 Increase CCache size for Debian where needed 4 years ago
Alexei Dobrohotov f04be08327 Merge branch 'revert-bbcfcc88' into 'master'
Revert "RigGeometry: convert some pairs to structs"

See merge request OpenMW/openmw!333
4 years ago
Alexei Dobrohotov 9f08dc9968 Revert "Merge branch 'skinning' into 'master'"
This reverts merge request !327
4 years ago
AnyOldName3 3a39e1f8f8 config was from Windows CI 4 years ago
AnyOldName3 2f1b7c4d2f Rename DMG file 4 years ago
AnyOldName3 da49901dbc Merge branch 'castray' into 'master'
Fix RayCastingResult warning

See merge request OpenMW/openmw!331
4 years ago
Alexei Dobrohotov ec825b2510 Fix RayCastingResult warning 4 years ago
AnyOldName3 c26c43bb73 Merge branch 'cmake' into 'master'
fix cmake warning

See merge request OpenMW/openmw!330
4 years ago
tess 38e567a7e4 match opening and closing if args 4 years ago
tessa 02861fa8e3 fix cmake warning 4 years ago