1
0
Fork 1
mirror of https://github.com/TES3MP/openmw-tes3mp.git synced 2025-02-02 05:45:32 +00:00
Commit graph

1227 commits

Author SHA1 Message Date
Frederic Chardon
9aba55a21a Add the async physics worker to the profiler overlay. 2020-11-20 21:17:47 +01:00
fredzio
e5fa457fe7 Properly account for interleaved move of actors.
Before this change, if an actor position was changed while the physics
simulation was running, the simulation result would be discarded. It is
fine in case of one off event such as teleport, but in the case of
scripts making use of this functionality to make lifts or conveyor (such
as Sotha Sil Expanded mod) it broke actor movement.

To alleviate this issue, at the end of the simulation, the position of the Actor
in the world is compared to the position it had at the beginning of the
simulation. A difference indicate a force move occured. In this case,
the Actor mPosition and mPreviousPosition are translated by the difference of position.

Since the Actor position will be really set while the next simulation runs, we
save it in the mNextPosition field.
2020-11-14 20:39:16 +01:00
Mads Buvik Sandvei
3e581571f4 QWERTY implementation of a virtual keyboard. 2020-11-14 19:20:36 +01:00
Frederic Chardon
ecd10a731e Compute the rotation normal relative to the door axe, not the world. 2020-11-02 14:12:42 +01:00
fredzio
18e38d8810 Do not block a door when it turns away. 2020-11-01 23:01:18 +01:00
Mads Buvik Sandvei
4f8f0cc8ac Merge branch 'master' of https://gitlab.com/madsbuvi/openmw into openxr_vr 2020-10-22 20:39:53 +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
Alexei Dobrohotov
f90e403bc1 Avoid summon spawn if actor isn't in a cell (bug #5644) 2020-10-18 01:42:32 +03:00
Andrei Kortunov
8ca3c3b123 Mark overrided methods by override keyword 2020-10-16 22:18:54 +04: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
d76cc5d0a9 Make the Object class manage its collision object and position. 2020-10-15 06:41:16 +02:00
fredzio
82da2045a9 Non functionnal changes in preparation for async physics feature 2020-10-15 06:41:03 +02:00
Alexei Dobrohotov
39678c74bf Add many more godmode checks to harmful magic (bug #5633) 2020-10-09 20:36:51 +03:00
Andrei Kortunov
924f634bda Support for multiple summons with same ID in the single spell 2020-08-28 21:14:54 +04:00
elsid
80e23536cb Merge branch 'camera_refactoring' into 'master'
Camera refactoring

See merge request OpenMW/openmw!271
2020-08-22 22:15:18 +00:00
Andrei Kortunov
7f342374fc Fix crash when using 'showscenegraph 1' console command 2020-08-12 11:16:10 +04:00
Petr Mikheev
0de6650add Add RayCastingInterface 2020-08-06 22:03:33 +02:00
Petr Mikheev
e9b2e9b474 Remove camera stuff from RenderingManager 2020-08-06 00:43:33 +02:00
Petr Mikheev
694e0b5906 Refactoring. Simplification of camera interface. 2020-08-06 00:43: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
Perry Hugh
4bf24a955e Restore Gamepad Zooming 2020-08-04 06:04:59 +00:00
Mads Buvik Sandvei
1023ef6e49 Merge remote-tracking branch 'remotes/origin/master' into openxr_vr 2020-07-22 18:56:25 +02:00
Mads Buvik Sandvei
c9e761eb88 Merge remote-tracking branch 'remotes/origin/master' into openxr_vr 2020-07-21 13:58:52 +02:00
Petr Mikheev
2e6aa155a3 New settings 'preview if stand still' and 'deferred preview rotation'. 2020-07-19 18:21:40 +02:00
Petr Mikheev
9f850b6ffc Move deferred rotation logic from renderingmanager.cpp to camera.cpp 2020-07-19 18:21:40 +02:00
Petr Mikheev
4d206d2c67 Improved preview mode 2020-07-17 20:35:52 +02:00
Petr Mikheev
68148f5ec7 1. Skip smooth camera transition after changing cell; 2. Fix 'zoom out when move' for extremely high speed; 2020-07-16 22:21:50 +02:00
Evil Eye
271f7040a6 Fix a regression caused by #2648 (fixes #5513) 2020-07-12 13:25:40 +02:00
Andrei Kortunov
7f936e4cde
Merge pull request #2961 from akortunov/move
Do not use outdated references when moving objects to new cells
2020-07-12 12:11:22 +04:00
Andrei Kortunov
58e3900ea0 Avoid redundant call 2020-07-11 20:11:49 +04:00
Andrei Kortunov
db8f0ad6fd Do not use outdated references when moving objects to new cells (bug #5387) 2020-07-11 17:24:20 +04:00
Bret Curtis
bbba524a6c Resolves #5517 by removing the object being rotated from the paging system. 2020-07-09 22:36:57 +02:00
Mads Buvik Sandvei
69b4a4741f Formatting errors 2020-07-05 12:18:54 +02:00
Andrei Kortunov
27f1a3376c Add a separate stats watcher for GUI 2020-07-01 15:55:44 +04:00
Mads Buvik Sandvei
b6e6be51aa Merge errors 2020-06-28 12:12:24 +02:00
Mads Buvik Sandvei
58d73e14e6 Merge branch 'master' of https://gitlab.com/madsbuvi/openmw.git into openxr_vr
# Conflicts:
#	apps/openmw/mwbase/environment.cpp
#	apps/openmw/mwbase/environment.hpp
#	apps/openmw/mwbase/world.hpp
#	apps/openmw/mwgui/windowmanagerimp.cpp
#	apps/openmw/mwinput/inputmanagerimp.hpp
#	apps/openmw/mwrender/animation.cpp
#	apps/openmw/mwrender/camera.cpp
#	apps/openmw/mwrender/camera.hpp
#	apps/openmw/mwrender/renderingmanager.cpp
#	apps/openmw/mwrender/renderingmanager.hpp
2020-06-28 11:59:07 +02:00
Mads Buvik Sandvei
60ffaea195 Pointer mode verbiage.
protected member variables for vranimation
2020-06-25 23:20:38 +02:00
Petr Mikheev
d3bd67d747 Advanced third person camera. 2020-06-22 15:22:34 +02:00
Mads Buvik Sandvei
1cf97fd7ad lots of refactoring and some commenting 2020-06-21 23:40:07 +02:00
Alexei Dobrohotov
2d23dad2bc
Merge branch 'master' into ai_package_type 2020-06-17 01:47:23 +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
bzzt lost a hitlab login
9f0398c021 intersection by refnum tag + enable paging for acti,door,cont
Signed-off-by: Bret Curtis <psi29a@gmail.com>
2020-06-13 00:22:28 +02:00
bzzt lost a hitlab login
340d626589 static moving support
Signed-off-by: Bret Curtis <psi29a@gmail.com>
2020-06-13 00:22:28 +02:00
bzzt lost a hitlab login
b4af2ac672 avoid blocking on pagerebuild
Signed-off-by: Bret Curtis <psi29a@gmail.com>
2020-06-13 00:22:28 +02:00
bzzt lost a hitlab login
17637c6575 pagerebuild on disable
Signed-off-by: Bret Curtis <psi29a@gmail.com>
2020-06-13 00:22:28 +02:00
bzzt lost a hitlab login
ffbed7ee38 loadingscreen
Signed-off-by: Bret Curtis <psi29a@gmail.com>
2020-06-13 00:22:28 +02:00
bzzt
c0f128bcb3 disablesupprort
Signed-off-by: Bret Curtis <psi29a@gmail.com>
2020-06-13 00:22:27 +02:00
elsid
82893c30f4
Store package type id as enum except ESM 2020-06-11 21:02:27 +02:00
Mads Buvik Sandvei
8ba341172d Recenter view upon cell change. 2020-06-09 18:16:46 +02:00
Mads Buvik Sandvei
9bd676f5be Some bugfixes, more experimenting with timing of frame sync calls. 2020-06-07 20:02:03 +02:00
Andrei Kortunov
81805b7263 Introduce a separate class to control world date and time 2020-06-05 12:07:32 +04:00
Bret Curtis
2eb9d4ad4e
Merge pull request #2878 from Assumeru/mutate-ai
Mutate base records when editing AI settings (#2798)
2020-06-03 15:09:40 +02:00
Andrei Kortunov
c0e62e9529 Refactor list of variables in the WorldManager 2020-06-03 11:21:34 +04:00
Evil Eye
4d7947d27c Mutate base records when editing AI settings (#2798) 2020-06-02 21:59:37 +02:00
elsid
b67e18329e
Store AI packages as unique_ptr 2020-06-01 17:07:08 +02:00
Bret Curtis
9d0855baa5
Merge pull request #2866 from elsid/extend_osg_stats
Extend OSG stats
2020-05-29 23:23:38 +02:00
elsid
69df6098e5
Report frame number, number of actors and objects to stats 2020-05-22 17:39:18 +02:00
Capostrophic
c9c9599ec5 Improve GetDistance and object search warnings (bug #5427)
Allow GetDistance to work with a non-existent object argument or with inventory items that belong to a container store that doesn't exist
2020-05-22 15:50:04 +03:00
Mads Buvik Sandvei
288530510d Some cleanup. Fixed problems arising from latest merge (refactoring). 2020-05-21 01:01:15 +02:00
Mads Buvik Sandvei
cbbc82f053 Merge branch 'master' of https://gitlab.com/madsbuvi/openmw.git into openxr_vr
# Conflicts:
#	CMakeLists.txt
#	apps/openmw/engine.cpp
#	apps/openmw/mwgui/windowmanagerimp.cpp
#	apps/openmw/mwinput/inputmanagerimp.cpp
#	apps/openmw/mwinput/inputmanagerimp.hpp
#	apps/openmw/mwphysics/physicssystem.cpp
#	apps/openmw/mwrender/water.cpp
#	apps/openmw/mwrender/water.hpp
#	apps/openmw/mwworld/worldimp.cpp
2020-05-17 23:47:28 +02:00
Mads Buvik Sandvei
6474d703ae GUI fixes. Animation fixes, i now understand movement accumulation better and was able to clean up some of the hacks with a better result. Lockpicks and probes now work. Haptics. Ready to be playtested. 2020-05-17 16:25:51 +02:00
Mads Buvik Sandvei
6f9c405afd Tentatively completed VR GUI 2020-05-12 22:13:01 +02:00
unknown
3b4782959e Allow targeting non-unique actors with StartScript (bug #2311) 2020-05-10 14:57:06 +02:00
Capostrophic
8d22e075e6 Separate functions that don't belong to CastSpell class 2020-04-26 22:17:38 +03:00
Capostrophic
5535a7fb44 Move getSummonedCreature() to summoning 2020-04-26 18:58:33 +03:00
Bret Curtis
c359406473 taking anyoldname3 review comments to heart; typo fixes plus rebase 2020-04-22 20:29:50 +02:00
bzzt
1cd4b9ee68 fixes shadows on savegame screenshot 2020-04-22 20:18:29 +02:00
Bret Curtis
8a8107e837 as it says; revert vismask and uncomplicate openmw 2020-04-20 20:57:38 +02:00
Capostrophic
ca6cce0c7e Separate Stepper 2020-03-31 00:38:34 +03:00
Mads Buvik Sandvei
14bb0f0208 Merge branch 'master' of https://gitlab.com/madsbuvi/openmw.git into openxr_vr
# Conflicts:
#	apps/openmw/mwbase/world.hpp
#	apps/openmw/mwworld/worldimp.cpp
#	apps/openmw/mwworld/worldimp.hpp
2020-03-30 01:37:29 +02:00
Mads Buvik Sandvei
68c75f66eb Improvements on combat 2020-03-23 23:32:47 +01:00
Andrei Kortunov
d2a2c74e08 Trace down dead persistent actors underwater (regression #5317) 2020-03-21 10:41:35 +04:00
Mads Buvik Sandvei
893b75d767 Realistic combat, first draft 2020-03-15 15:31:38 +01:00
Alexei Dobrohotov
7e6a533a29
Merge pull request #2695 from elsid/aiwander_check_destination
Add more destination checks for AiWander without pathgrid
2020-03-11 20:48:22 +03:00
Mads Buvik Sandvei
31f5b76394 Drop items at location 2020-03-10 22:39:11 +01:00
Mads Buvik Sandvei
e573a260cb Rudimentary menu interactions 2020-03-08 14:14:24 +01:00
Mads Buvik Sandvei
2ae7255fac Pointing beam to visualize what the player is pointing at 2020-03-08 00:44:39 +01:00
Mads Buvik Sandvei
f5e01417ba Fixed jitter bugs with the new player tracking. 2020-02-29 14:13:56 +01:00
Bret Curtis
a0902bb98e
Merge pull request #2700 from akortunov/masks
Move VisMask to components
2020-02-17 11:58:53 +01:00
Andrei Kortunov
84979fa8b7 Move VisMask to components 2020-02-16 16:03:35 +04:00
elsid
1e4565a15c
Avoid using temporary vector to get items owned by 2020-02-11 22:24:18 +01:00
elsid
4a0c056489
Do not wander to occupied area by other actor 2020-02-10 22:29:54 +01:00
elsid
85414e2353
Check for line of sight for wander destination 2020-02-10 22:29:54 +01:00
Andrei Kortunov
24ce242941 Implement TestCells (feature #5219) 2019-12-22 11:13:42 +04:00
Capostrophic
483b37bb3f Disallow resting if the fall height hasn't been reset (bug #4802) 2019-12-12 15:26:02 +03:00
elsid
3cfd5fca4e
Rotate door object using direct rotation order once
Instead of rotating using inverse and then applying the direct rotation.
To properly update object in navigator.
2019-11-30 14:09:00 +01:00
Andrei Kortunov
6861d9d5e5
Merge pull request #2510 from elsid/ai_open_door
Open door when it is on the way to a next path point (bug #5073)
2019-11-17 21:21:22 +04:00
Andrei Kortunov
c51aba0b13 Recharge items outside of player's inventory (bug #4077) 2019-10-07 22:59:43 +04:00
elsid
6253d2a7ac
Undo door rotation once 2019-09-29 13:42:51 +02:00
Andrei Kortunov
a4d196f33f Force view change when using Force1stPerson and Force3rdPerson commands (bug #5168) 2019-09-19 21:48:43 +04:00
elsid
209e33f5ce
Open door when it is on the way to a next path point 2019-09-15 21:16:00 +02:00
Capostrophic
6b74630f6e Preparation work
Phase out canBeActivated() to unify activation checks
Use getName() for the name caption in tooltips
Always use tooltips for non-activator objects
Invert hasTooltip default value
2019-09-10 23:38:16 +03:00
James Stephens
bafbc0a055 Cancel door sound if collision is detected and the sound is playing 2019-09-05 07:49:53 +00:00
Roman Siromakha
41ad23ebdc
Revert "[WIP] Open door when it is on the way to a next path point (bug #5073)" 2019-08-27 20:55:03 +02:00
elsid
b4ec444057
Open door when it is on the way to a next path point 2019-08-27 20:49:35 +02:00
elsid
16170131b7
Add enum type for door state 2019-08-25 15:21:00 +02:00
Andrei Kortunov
d0bc06b849
Merge pull request #2438 from Capostrophic/camera
Rewrite messed up playerlooking switch handling (bug #5078)
2019-08-17 23:15:21 +04:00
Andrei Kortunov
786a6c6d42 Use a common doors rotation code in the "lock" command handler 2019-08-16 21:30:24 +04:00
elsid
4d86bf3bf2
Update rotated world objects in navigator 2019-08-15 18:19:19 +02:00
capostrophic
6fe429c4e8 Don't force-trace down swimming actors (bug #5089) 2019-07-31 00:45:54 +03:00