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
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
Andrei Kortunov
27f1a3376c
Add a separate stats watcher for GUI
2020-07-01 15:55:44 +04:00
Petr Mikheev
d3bd67d747
Advanced third person camera.
2020-06-22 15:22:34 +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
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
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
Andrei Kortunov
d2a2c74e08
Trace down dead persistent actors underwater (regression #5317 )
2020-03-21 10:41:35 +04: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
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
Capostrophic
0b074f2211
Rewrite messed up playerlooking switch handling (bug #5078 )
2019-07-29 15:44:17 +03:00
Alexei Dobrohotov
19dc01232c
Fix CenterOnCell target rotation
2019-06-30 16:03:24 +03:00
Alexei Dobrohotov
1d12d778ea
Merge pull request #2370 from akortunov/herbalism
...
Container search tweaks
2019-05-06 22:34:12 +03:00
Andrei Kortunov
7214f24f5c
Ignore containers, when we search for owner
2019-05-06 23:06:13 +04:00
Capostrophic
458c0bba41
Avoid using null pointer for player's cell in moveObjectImp
2019-05-05 16:43:32 +03:00
Andrei Kortunov
c91d1e7394
Ignore containers without resolved content for Detect spells
2019-05-04 14:40:32 +04:00
Capostrophic
7814bd1b76
Support eight possible blood types (feature #4958 )
2019-04-14 18:48:31 +03:00
Andrei Kortunov
14b756a692
Use a generic logging system for RecastNavigation
2019-04-08 20:31:21 +04:00
Bret Curtis
7808cbbfe8
Merge pull request #2292 from akortunov/fallback
...
Make fallback map static to simplify constructors
2019-04-07 17:43:59 +02:00
Capostrophic
7202f45771
Only allow resting in air when a bed is used
2019-04-04 17:22:24 +03:00
Capostrophic
3a0e374dc6
Replicate vanilla Position/SetPos behavior more closely (bug #3109 )
2019-03-31 14:17:06 +03:00
Andrei Kortunov
a302ec9c65
Make fallback map static to simplify constructors
2019-03-29 15:30:49 +04:00
Bret Curtis
886c77bced
Merge pull request #2145 from akortunov/rest
...
Update jail state once instead of for every single hour
2019-03-27 13:14:22 +01:00
elsid
fa7b304e78
Use auto for map value_type in range-based for loops
...
To avoid implicit call of copy constructor for
pair<const K, V> to pair<K, V> conversion.
2019-03-21 23:09:42 +03:00
Bret Curtis
573e64e9c9
Merge pull request #2184 from elsid/fix_startup_script
...
[Testing needed] Always run startup script once at engine start (bug #4877 )
2019-03-09 14:04:06 +01:00
Andrei Kortunov
d23a0ce2ae
Use C++11-style loops in the game world instead of iterators
2019-03-07 12:39:57 +04:00
elsid
80051db8f8
Update rotated objects in navigator
2019-03-04 22:59:39 +03:00
elsid
8c08c3c7d6
Update moved objects in navigator
2019-03-04 22:59:39 +03:00
elsid
27d7452267
Update scaled objects in navigator
2019-03-04 22:59:39 +03:00
elsid
2e063d59ce
Update scaled agent half extents in navigator (bug #4763 )
2019-03-04 22:59:39 +03:00
elsid
43b39e8418
Use not scaled player half extents as default to find path
2019-03-04 22:59:38 +03:00
elsid
1218e4e15d
Use player half extents only to find path in exterior cells
2019-03-04 22:59:20 +03:00
Bret Curtis
14c93b3df0
Revert "Merge pull request #2204 from elsid/fix_navigator_update"
...
This reverts commit 26fb0e7a0f
, reversing
changes made to 42b2391303
.
2019-03-04 11:06:15 +01:00
elsid
b51a54e976
Update rotated objects in navigator
2019-03-03 16:46:41 +03:00
elsid
f394ace4d5
Update moved objects in navigator
2019-03-03 16:46:41 +03:00
elsid
133d7447f3
Update scaled objects in navigator
2019-03-03 16:46:41 +03:00
elsid
1f41d5721d
Update scaled agent half extents in navigator (bug #4763 )
2019-03-03 16:46:39 +03:00
elsid
c066ee9dc5
Use not scaled player half extents as default to find path
2019-03-03 16:21:12 +03:00
elsid
a4f300f810
Use player half extents only to find path in exterior cells
2019-03-03 16:21:09 +03:00