Commit Graph

16694 Commits (66c884be6515cd6e94a392dbad7e8267fdd7b2e2)

Author SHA1 Message Date
psi29a 4adc689c7a Merge branch 'summoncrash' into 'master'
Avoid summon spawn if actor isn't in a cell (bug #5644)

See merge request OpenMW/openmw!351
4 years ago
Alexei Dobrohotov f90e403bc1 Avoid summon spawn if actor isn't in a cell (bug #5644) 4 years ago
psi29a f513ee1f1d Merge branch 'configurable_turning_delay' into 'master'
Makes the delay of turning while run configurable (part of "smooth movement")

See merge request OpenMW/openmw!349
4 years ago
psi29a 9d350ec824 Merge branch 'head_bobbing' into 'master'
Add head bobbing in first person mode

Closes #5043

See merge request OpenMW/openmw!320
4 years ago
Petr Mikheev 9ec6fce446 Makes the delay of turning while run configurable (part of "smooth movement"). 4 years ago
Petr Mikheev c72199155c Use full speed in the "NPCs give way" maneuver. 4 years ago
Bret Curtis 8050882baf
Merge pull request #3015 from akortunov/overrides
Mark overrided methods as overrides
4 years ago
AnyOldName3 df178ed97c Merge branch 'container-regressions' into 'master'
Fix container regressions

See merge request OpenMW/openmw!346

(cherry picked from commit b0aee6f83d4cddb0116284b197913f9687dd9cee)

95e7a22d fix container regressions
4 years ago
Andrei Kortunov 8ca3c3b123 Mark overrided methods by override keyword 4 years ago
fredzio 978af12c2d Restore fall damage 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
Andrei Kortunov c3d84b2c7c Ability to attach arrows to shooter's hands (feature #5642) 4 years ago
Andrei Kortunov 8e647aa72a Fix crash on saving 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
Petr Mikheev 15078f5b3c Fix #5630 "NPCs momentarily turn when the player character is moving backwards during combat" 4 years ago
Alexei Dobrohotov 1842f546c3 Restore empty target check in spell absorption 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
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 0dcb8c6b69 Fix pick/probe uses decrement 4 years ago
Alexei Dobrohotov ec825b2510 Fix RayCastingResult warning 4 years ago
Petr Mikheev be27b51279 Add head bobbing in first person mode 4 years ago
psi29a bca698d951 Merge branch 'shader_line_numbering' into 'master'
Correctly resetting line numbering during shader processing.

See merge request OpenMW/openmw!317
4 years ago
AnyOldName3 c9e3db40a1 Merge branch 'multi-config-build' into 'master'
Add support for multi configurations generators on unix

See merge request OpenMW/openmw!198
4 years ago
Andrei Kortunov 822764d0fa Rework fixed strings handling 4 years ago
Alexei Dobrohotov 29ccb09da5 Introduce some extended NIF definitions 4 years ago
Petr Mikheev 2835ea1e21 Update logic of "NPCs avoid collisions" 4 years ago
Charles Calhoun 14aacb81c5 Fix follower aggression when traveling. Summoning still has problems but less intrusive than current implementation. 4 years ago
Mads Buvik Sandvei d5450a7d88 Correctly resetting line numbering during shader processing. 4 years ago
psi29a 3040b3b2b6 Merge branch 'issue-5588' into 'master'
Prevent empty right page of journal having invisible topics (Fixes #5588)

Closes #5588

See merge request OpenMW/openmw!310
4 years ago
Kyle Shrader 845049a166 Prevent empty right page of journal having invisible topics (Fixes #5588) 4 years ago
AnyOldName3 9e78f3d936 Skip raycasting for zero-length rays
Rays with no length can't intersect anything. This also prevents an
assertion triggering with Bullet built in Debug mode.
4 years ago
psi29a aa4e6c448b Merge branch 'spellabsorption' into 'master'
Support enchantment absorption

See merge request OpenMW/openmw!307
4 years ago
psi29a d9dafbe45b Merge branch 'master' into 'uses'
# Conflicts:
#   CHANGELOG.md
4 years ago
psi29a 0438d9d5bb Merge branch 'enchanting' into 'master'
Reset enchant effects displayed range when they are constant (bug #5603)

See merge request OpenMW/openmw!309
4 years ago
psi29a ad1021721f Merge branch 'master' into 'rotation'
# Conflicts:
#   CHANGELOG.md
4 years ago
Alexei Dobrohotov f2af957647 Reset enchant effects displayed range when they are constant (bug #5603) 4 years ago
Alexei Dobrohotov e0a5c24afe Handle 0-use items like vanilla (bug #5611) 4 years ago
AnyOldName3 73708a6f2a Install openmw-cs.cfg on single-config generators and from the right directory on multi-config 4 years ago
Petr Mikheev a17fb14b8a Add "smooth movement" and "NPCs avoid collisions" settings to openmw-launcher and to the docs; update CHANGELOG.md. 4 years ago
Petr Mikheev ad51a4be2e Changes in head tracking and greetings for "smooth movement". 4 years ago