David Cernat
676481d061
Add OpenMW commits up to 14 Nov 2020
...
# Conflicts:
# .travis.yml
# apps/openmw/mwmechanics/tickableeffects.cpp
2020-11-14 19:59:59 +02:00
fredzio
18e38d8810
Do not block a door when it turns away.
2020-11-01 23:01:18 +01:00
David Cernat
7f435ceeac
Add OpenMW commits up to 1 Nov 2020
...
# Conflicts:
# CMakeLists.txt
# apps/openmw/main.cpp
# apps/openmw/mwclass/container.hpp
# apps/openmw/mwclass/creature.hpp
# apps/openmw/mwclass/npc.hpp
# apps/openmw/mwdialogue/dialoguemanagerimp.hpp
# apps/openmw/mwdialogue/journalimp.hpp
# apps/openmw/mwgui/container.cpp
# apps/openmw/mwgui/dialogue.hpp
# apps/openmw/mwgui/mainmenu.cpp
# apps/openmw/mwgui/windowmanagerimp.hpp
# apps/openmw/mwmechanics/aiactivate.hpp
# apps/openmw/mwmechanics/mechanicsmanagerimp.hpp
# apps/openmw/mwscript/containerextensions.cpp
# apps/openmw/mwscript/interpretercontext.hpp
# components/CMakeLists.txt
2020-11-01 23:17:59 +02:00
psi29a
ba3aad31c1
Merge branch 'hitdebug' into 'master'
...
Visualize hits in the debug overlay
See merge request OpenMW/openmw!379
2020-11-01 10:20:14 +00:00
Andrei Kortunov
64ba81ecf2
Fix some issues, found by CoverityScan
2020-10-28 18:02:31 +04:00
Frederic Chardon
574ccbf7bd
Visualize hand to hand hits
2020-10-26 13:48:15 +01:00
fredzio
435b2e37f8
Allow to display collision points in the debug viewer
2020-10-26 13:42:46 +01:00
Bret Curtis
5a824d0333
components/compiler cleanup; also cleaned up related cascading warnings; fixed up final/override issues
2020-10-22 23:57:53 +02:00
fredzio
a19db73eca
Fix bad rebase
2020-10-22 09:24:56 +02:00
fredzio
1357bba0a0
Use some C++17 where it makes the code more readable
...
Also replace boost::optional
2020-10-22 07:15:16 +02:00
fredzio
4fc5b6f6f4
Sort headers
2020-10-22 07:15:16 +02:00
fredzio
212b293803
Use same parameter name in definition and declaration
2020-10-22 07:15:16 +02:00
fredzio
2916a9462e
Fix standing actors logic:
...
it is updated in the solver only if the actor is standing on
"something". The ground is not "something", so in case the actor goes
from standing on an object to the standing on the ground, this change was not taken
into account.
Clear the value before the simulation to solve this problem.
2020-10-21 21:32:06 +02:00
fredzio
a036183248
Use a much simpler and assert-free check for Bullet multithreading support
2020-10-19 21:31:52 +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
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
David Cernat
68837aaf4a
Add OpenMW commits up to 15 Oct 2020
...
# Conflicts:
# .travis.yml
# CI/before_script.linux.sh
# CMakeLists.txt
# apps/openmw/mwgui/containeritemmodel.cpp
# apps/openmw/mwgui/tradewindow.cpp
# apps/openmw/mwphysics/actor.cpp
# apps/openmw/mwworld/actionteleport.cpp
# apps/openmw/mwworld/containerstore.cpp
2020-10-15 19:51:39 +02: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
Alexei Dobrohotov
ec825b2510
Fix RayCastingResult warning
2020-10-08 22:44:46 +03: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
David Cernat
80af0ce6a7
Add OpenMW commits up to 29 Aug 2020
...
# Conflicts:
# CMakeLists.txt
# apps/openmw/mwmechanics/character.cpp
2020-08-29 16:15:22 +02:00
Andrei Kortunov
f9e667dd8c
Fix MSVC warnings
2020-08-26 12:34:27 +04:00
Petr Mikheev
0de6650add
Add RayCastingInterface
2020-08-06 22:03:33 +02:00
Petr Mikheev
ed3426cf2f
Move third person camera collision check from World::updatePlayer() to Camera::updatePosition()
2020-08-06 00:43:33 +02:00
David Cernat
5eb7eb8d88
Add OpenMW commits up to 4 Jul 2020
...
# Conflicts:
# .travis.yml
# CI/before_script.linux.sh
# apps/openmw/engine.cpp
# apps/openmw/mwbase/windowmanager.hpp
# apps/openmw/mwgui/charactercreation.cpp
# apps/openmw/mwgui/windowmanagerimp.hpp
# apps/openmw/mwmechanics/character.cpp
2020-07-04 16:50:54 +03:00
Andrei Kortunov
4a5fce8ca5
Use more C++11 in the physics code
2020-06-26 14:22:00 +04:00
David Cernat
3b2eb6f62c
Add OpenMW commits up to 22 Jun 2020
...
# Conflicts:
# .travis.yml
# CMakeLists.txt
2020-06-22 20:50:55 +03:00
bzzt lost a hitlab login
89ec6cfea2
tooltips labels
...
Signed-off-by: Bret Curtis <psi29a@gmail.com>
2020-06-13 00:22:28 +02:00
David Cernat
36a2308acd
Add OpenMW commits up to 30 May 2020
...
# Conflicts:
# CMakeLists.txt
# apps/openmw/mwbase/windowmanager.hpp
# apps/openmw/mwgui/windowmanagerimp.hpp
# apps/openmw/mwmechanics/actors.cpp
# apps/openmw/mwmechanics/actors.hpp
# apps/openmw/mwscript/interpretercontext.cpp
2020-06-09 17:50:26 +03:00
David Cernat
62df188fd4
Add OpenMW commits up to 16 May 2020
...
# Conflicts:
# CI/before_script.linux.sh
# apps/openmw/mwbase/world.hpp
# apps/openmw/mwinput/inputmanagerimp.cpp
# apps/openmw/mwscript/globalscripts.cpp
# apps/openmw/mwscript/interpretercontext.cpp
# apps/openmw/mwworld/cellstore.cpp
# apps/openmw/mwworld/cellstore.hpp
# apps/openmw/mwworld/worldimp.cpp
# apps/openmw/mwworld/worldimp.hpp
# components/interpreter/context.hpp
2020-06-06 22:38:28 +03:00
Capostrophic
577786f110
Don't disable player's collision shape in TCL ( #5435 )
2020-05-30 00:55:17 +03:00
elsid
69df6098e5
Report frame number, number of actors and objects to stats
2020-05-22 17:39:18 +02:00
elsid
2d7c3bae61
Support bullet with double precision
2020-05-13 19:24:28 +02:00
David Cernat
7bc3298ed4
Add OpenMW commits up to 1 Apr 2020
...
# Conflicts:
# .travis.yml
# CI/before_install.linux.sh
# apps/openmw/mwphysics/physicssystem.cpp
2020-04-01 19:24:11 +03:00
Capostrophic
5e2e5b7aa9
Fix btCollisionObjectWrapper forward declaration
2020-03-31 18:31:46 +03:00
Capostrophic
4f08f6e09b
Separate ClosestNotMeConvexResultCallback
2020-03-31 00:38:34 +03:00
Capostrophic
19010ec045
Separate MovementSolver
2020-03-31 00:38:34 +03:00
Capostrophic
ca6cce0c7e
Separate Stepper
2020-03-31 00:38:34 +03:00
Capostrophic
5d625c12dc
Separate ContactTestResultCallback
2020-03-31 00:38:34 +03:00
Capostrophic
c94cd775bf
Separate ClosestNotMeRayResultCallback
2020-03-31 00:38:34 +03:00
Capostrophic
ce588fb39c
Separate DeepestNotMeContactTestResultCallback
2020-03-31 00:38:34 +03:00
Capostrophic
1629791885
Port wareya's actor tracer consistency fixes
2020-03-30 21:23:41 +03:00
David Cernat
43e7df6df8
Add OpenMW commits up to 11 Mar 2020
2020-03-11 22:17:17 +02:00
elsid
4a0c056489
Do not wander to occupied area by other actor
2020-02-10 22:29:54 +01:00
David Cernat
353e7d530a
Add OpenMW commits up to 18 Aug 2019
...
# Conflicts:
# CMakeLists.txt
# apps/openmw/mwmechanics/character.cpp
# apps/openmw/mwmechanics/spellcasting.cpp
# apps/openmw/mwworld/worldimp.hpp
2019-08-22 22:44:00 +03:00