Alexei Dobrohotov
7da8479d25
Fix lower body blocking animation priority (bug #5656 )
2020-10-21 19:35:01 +03:00
Bret Curtis
7d16b6f26c
Merge pull request #2992 from akortunov/service_refusal
...
Add support for service-specific refusals
2020-10-21 00:29:19 +02:00
Bret Curtis
82431b752d
removed unnessary bits that cmake should be doing for us; replace Misc::gcd with std::gcd
2020-10-20 23:38:05 +02:00
psi29a
09373a757d
Merge branch 'radioactive' into 'master'
...
Container base record mutations
See merge request OpenMW/openmw!353
(cherry picked from commit 8b33765dd414680f0074b3e115b52b291b4cb7cb)
275908a0 mutate container base records
16fca11d add changelog entry
2020-10-20 16:56:22 +00:00
Andrei Kortunov
6c591c190b
Add support for service-specific refusals (feature #5580 )
2020-10-20 18:58:26 +04:00
fredzio
a036183248
Use a much simpler and assert-free check for Bullet multithreading support
2020-10-19 21:31:52 +02:00
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
2020-10-18 00:35:35 +00:00
Alexei Dobrohotov
f90e403bc1
Avoid summon spawn if actor isn't in a cell (bug #5644 )
2020-10-18 01:42:32 +03:00
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
2020-10-17 20:21:02 +00:00
psi29a
9d350ec824
Merge branch 'head_bobbing' into 'master'
...
Add head bobbing in first person mode
Closes #5043
See merge request OpenMW/openmw!320
2020-10-17 19:54:34 +00:00
Petr Mikheev
9ec6fce446
Makes the delay of turning while run configurable (part of "smooth movement").
2020-10-17 16:11:22 +02:00
Petr Mikheev
c72199155c
Use full speed in the "NPCs give way" maneuver.
2020-10-17 15:33:23 +02:00
Bret Curtis
8050882baf
Merge pull request #3015 from akortunov/overrides
...
Mark overrided methods as overrides
2020-10-17 13:32:08 +02:00
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
2020-10-16 22:55:10 +00:00
Andrei Kortunov
8ca3c3b123
Mark overrided methods by override keyword
2020-10-16 22:18:54 +04:00
fredzio
978af12c2d
Restore fall damage
2020-10-16 19:30:03 +02:00
psi29a
c16fa27407
Merge branch 'async-physics' into 'master'
...
Async physics
See merge request OpenMW/openmw!248
2020-10-15 08:34:26 +00:00
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.
2020-10-15 06:41:35 +02:00
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
2020-10-15 06:41:22 +02:00
fredzio
d76cc5d0a9
Make the Object class manage its collision object and position.
2020-10-15 06:41:16 +02:00
fredzio
4ef36973fb
Make the Actor class manage its collision object and position.
2020-10-15 06:41:08 +02:00
fredzio
82da2045a9
Non functionnal changes in preparation for async physics feature
2020-10-15 06:41:03 +02:00
Bret Curtis
425fa837d1
Merge pull request #3012 from akortunov/container_crash
...
Fix crash on saving
2020-10-14 12:43:31 +02:00
Andrei Kortunov
c3d84b2c7c
Ability to attach arrows to shooter's hands (feature #5642 )
2020-10-14 10:07:42 +04:00
Andrei Kortunov
8e647aa72a
Fix crash on saving
2020-10-14 09:16:01 +04:00
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
2020-10-13 17:46:32 +02:00
Petr Mikheev
15078f5b3c
Fix #5630 "NPCs momentarily turn when the player character is moving backwards during combat"
2020-10-10 23:06:43 +02:00
Alexei Dobrohotov
1842f546c3
Restore empty target check in spell absorption
2020-10-10 14:27:52 +03:00
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
2020-10-09 22:09:46 +00:00
Alexei Dobrohotov
0e8c5c5034
Merge branch 'avoid_collision_update' into 'master'
...
Update logic of "NPCs avoid collisions"
See merge request OpenMW/openmw!318
2020-10-09 18:43:43 +00:00
Alexei Dobrohotov
b85875a354
Ignore Burden effect in god mode
2020-10-09 21:34:39 +03:00
Alexei Dobrohotov
39678c74bf
Add many more godmode checks to harmful magic (bug #5633 )
2020-10-09 20:36:51 +03:00
Alexei Dobrohotov
0dcb8c6b69
Fix pick/probe uses decrement
2020-10-09 19:20:50 +03:00
Alexei Dobrohotov
ec825b2510
Fix RayCastingResult warning
2020-10-08 22:44:46 +03:00
Petr Mikheev
be27b51279
Add head bobbing in first person mode
2020-10-08 00:22:01 +02:00
Petr Mikheev
2835ea1e21
Update logic of "NPCs avoid collisions"
2020-10-03 22:58:00 +02:00
Charles Calhoun
14aacb81c5
Fix follower aggression when traveling. Summoning still has problems but less intrusive than current implementation.
2020-10-03 20:05:17 +00:00
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
2020-10-03 10:55:44 +00:00
Kyle Shrader
845049a166
Prevent empty right page of journal having invisible topics ( Fixes #5588 )
2020-10-03 10:55:44 +00:00
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.
2020-10-03 02:19:38 +01:00
psi29a
aa4e6c448b
Merge branch 'spellabsorption' into 'master'
...
Support enchantment absorption
See merge request OpenMW/openmw!307
2020-09-29 15:27:52 +00:00
psi29a
d9dafbe45b
Merge branch 'master' into 'uses'
...
# Conflicts:
# CHANGELOG.md
2020-09-29 08:20:50 +00:00
psi29a
0438d9d5bb
Merge branch 'enchanting' into 'master'
...
Reset enchant effects displayed range when they are constant (bug #5603 )
See merge request OpenMW/openmw!309
2020-09-28 17:18:29 +00:00
psi29a
ad1021721f
Merge branch 'master' into 'rotation'
...
# Conflicts:
# CHANGELOG.md
2020-09-28 17:09:50 +00:00
Alexei Dobrohotov
f2af957647
Reset enchant effects displayed range when they are constant (bug #5603 )
2020-09-25 02:13:57 +03:00
Alexei Dobrohotov
e0a5c24afe
Handle 0-use items like vanilla (bug #5611 )
2020-09-25 00:20:25 +03:00
Petr Mikheev
ad51a4be2e
Changes in head tracking and greetings for "smooth movement".
2020-09-22 22:50:44 +02:00
Petr Mikheev
b838782557
Avoid collisions between actors.
2020-09-22 22:50:44 +02:00
Petr Mikheev
79a72e4b44
Slightly modify aicombat to make it more difficult to get around an enemy. The difference is visible only if turning is slow (i.e. if smooth movement enabled).
2020-09-22 22:50:44 +02:00
Petr Mikheev
6a75942907
Fix CharacterController::setAttackTypeBasedOnMovement
2020-09-22 22:50:44 +02:00