psi29a
96e22bd44e
Merge branch 'fastforwardpos' into 'master'
...
Discard physics simulation results after fast forward
See merge request OpenMW/openmw!423
(cherry picked from commit ff2d7695698341ef059c75707aa092cef48deea4)
03a37433 In case of time fast forward (resting, jail), force reset of positions
2020-11-23 20:15:44 +00:00
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
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
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
Alexei Dobrohotov
53f91a3aa5
Merge pull request #3018 from akortunov/emplace
...
Use emplace_back instead of push_back
2020-11-01 01:58:56 +03:00
Evil Eye
7065282127
Save and load container records; fixes #5668
2020-10-29 13:55:24 +01:00
psi29a
8f68f08aee
Merge branch 'moonmoon' into 'master'
...
Change moon phase to an enum class
See merge request OpenMW/openmw!381
2020-10-27 19:44:30 +00:00
Evil Eye
3bf5247c0b
remove forward declaration
2020-10-27 19:23:07 +01:00
Evil Eye
2c4cafa41a
Change moon phase to an enum class
2020-10-26 22:16:31 +01:00
Evil Eye
0512a574e8
Fix remove item regression
2020-10-26 20:13:24 +01:00
fredzio
e8c0a7bec0
Visualie projectile hits
2020-10-26 13:53:36 +01:00
Evil Eye
f62905eb0a
remove redundant argument
2020-10-20 21:04:35 +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
065ed5138e
Use emplace_back instead of push_back
2020-10-18 10:27:35 +04: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
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
Alexei Dobrohotov
39678c74bf
Add many more godmode checks to harmful magic (bug #5633 )
2020-10-09 20:36:51 +03: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
Evil Eye
fe82cd9f92
Don't search containers
2020-09-15 21:13:18 +02:00
Andrei Kortunov
924f634bda
Support for multiple summons with same ID in the single spell
2020-08-28 21:14:54 +04:00
psi29a
f90a049702
Merge branch 'movement_refactoring' into 'master'
...
Refactoring related to "smooth movement"
See merge request OpenMW/openmw!285
(cherry picked from commit 6eaf0a389d5aed3b74ab1a7cf89574612f964bdf)
e847b4c8 Split getSpeed() to getMaxSpeed() and getCurrentSpeed()
a96c46bc Refactor calculation of movement.mSpeedFactor
03ee9090 Use getMaxSpeed instead of getCurrentSpeed where it makes sense.
a178af5c Create helper functions `normalizeAngle` and `rotateVec2f`
2020-08-27 11:54:30 +00: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
Alexei Dobrohotov
eed8902380
Merge pull request #2982 from Assumeru/explain
...
Comments to explain the arcane workings of Morrowind
2020-08-05 18:05:55 +03:00
Perry Hugh
4bf24a955e
Restore Gamepad Zooming
2020-08-04 06:04:59 +00:00
unknown
073a7f2b2d
Comments to explain the arcane workings of Morrowind
2020-07-30 21:39:04 +02:00
Evil Eye
6ad20ec9c7
Mutate base records when adding/removing spells
2020-07-28 08:33:28 +02:00
Evil Eye
040a92c373
implement additem/removeitem for non-unique actors
2020-07-26 11:07:18 +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
Bret Curtis
0c2fea8254
Merge pull request #2932 from elsid/replace_open_threads
...
Replace OpenThreads by std types
2020-07-04 13:11:23 +02:00
Andrei Kortunov
27f1a3376c
Add a separate stats watcher for GUI
2020-07-01 15:55:44 +04:00
elsid
40ad87bc4d
Replace OpenThreads by std types
2020-06-25 22:16:09 +02:00
Petr Mikheev
d3bd67d747
Advanced third person camera.
2020-06-22 15:22:34 +02:00
Bret Curtis
c944acf26b
Merge pull request #2913 from akortunov/warnfix
...
Get rid of ECLD and dependencies
2020-06-17 15:00:57 +02:00
Andrei Kortunov
d1a3cc98ff
Get rid of ECLD and dependencies
2020-06-17 13:09:16 +04:00
Alexei Dobrohotov
2d23dad2bc
Merge branch 'master' into ai_package_type
2020-06-17 01:47:23 +03:00
psi29a
0dc7715c35
Merge branch 'object_paging_retry' into 'master'
...
Object Paging
See merge request OpenMW/openmw!209
2020-06-16 08:21:54 +00:00
elsid
374b85a00d
Add Class methods to get walk, run, swim speed
2020-06-13 02:24:51 +02:00
bzzt lost a hitlab login
26ab176389
profiling
...
Signed-off-by: Bret Curtis <psi29a@gmail.com>
2020-06-13 00:22:28 +02:00
bzzt lost a hitlab login
4238fbccdf
view fix
...
Signed-off-by: Bret Curtis <psi29a@gmail.com>
2020-06-13 00:22:28 +02:00
bzzt lost a hitlab login
b27b76e325
avoid pagerebuild when reloading a same save
...
Signed-off-by: Bret Curtis <psi29a@gmail.com>
2020-06-13 00:22:28 +02:00
bzzt lost a hitlab login
6fa12a6eb8
preload tweak
...
Signed-off-by: Bret Curtis <psi29a@gmail.com>
2020-06-13 00:22:28 +02: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
c7fda6d280
activegrid paging = 2xfps
...
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 lost a hitlab login
ce505a9bb3
crashfix + optimiziation
...
Signed-off-by: Bret Curtis <psi29a@gmail.com>
2020-06-13 00:22:27 +02:00
bzzt
c0f128bcb3
disablesupprort
...
Signed-off-by: Bret Curtis <psi29a@gmail.com>
2020-06-13 00:22:27 +02:00
bzzt
d684f1a78f
terrainbased objectpaging
...
Signed-off-by: Bret Curtis <psi29a@gmail.com>
2020-06-13 00:22:27 +02:00
elsid
c4cd3b2c4f
Add pathgrid to navmesh as off mesh connection
2020-06-12 21:04:02 +02:00
elsid
82893c30f4
Store package type id as enum except ESM
2020-06-11 21:02:27 +02:00
Bret Curtis
cd97d0c61c
Merge branch 'master' into automove
2020-06-08 11:42:05 +02:00
Capostrophic
456f0f9f44
Clean up magic bolts of actors that are gone ( #5451 )
2020-06-06 19:11:22 +03:00
Capostrophic
1873da4c91
Don't save to or read automove state from saved games ( #5452 )
2020-06-06 15:58:21 +03:00
Bret Curtis
204d2acf25
Merge pull request #2092 from akortunov/float_stats
...
Store attributes and skills values as floats
2020-06-05 22:38:12 +02:00
Andrei Kortunov
81805b7263
Introduce a separate class to control world date and time
2020-06-05 12:07:32 +04:00
Andrei Kortunov
5468fcb29f
Store attributes and skills values as floats (bug #4021 )
2020-06-03 17:34:15 +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
Bret Curtis
dd7f5fcde7
Merge pull request #2884 from Capostrophic/deathmagic
...
Update spell effects during death animation (#5403 )
2020-06-03 15:07:08 +02:00
Bret Curtis
109057e53f
Merge pull request #2544 from akortunov/corprus
...
Rework corprus implementation
2020-06-03 13:41:57 +02:00
Andrei Kortunov
3dce225f28
Implement vanilla-style corprus handling (bug #3714 , bug #4623 )
2020-06-03 12:58:17 +04: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
Capostrophic
d72152183f
Update spell effects during death animation ( #5403 )
2020-05-30 23:24:06 +03: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
db13984db0
Separate spell resistance
2020-04-26 21:13:59 +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
Bret Curtis
8c2f3ff007
clean up code; purge const_cast
2020-04-19 16:31:54 +02:00
Andrei Kortunov
7545256d1f
Do not try to launch magic bolt when direction to target is empty (bug #5350 )
2020-04-04 22:39:13 +04:00
Roman Siromakha
3bd2c114a7
Merge pull request #2741 from akortunov/warnfix
...
Fix C5204 warnings by adding default virtual destructors
2020-04-04 00:12:07 +02:00
Capostrophic
ca6cce0c7e
Separate Stepper
2020-03-31 00:38:34 +03:00
Andrei Kortunov
2e7712a390
Fix C5204 warnings by adding default virtual destructors
2020-03-26 14:49:12 +04:00
Andrei Kortunov
d2a2c74e08
Trace down dead persistent actors underwater (regression #5317 )
2020-03-21 10:41:35 +04:00
Andrei Kortunov
ea30e27370
Cleanup ownership for items in containers
2020-03-17 17:22:39 +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
Capostrophic
d44dcc3242
Revert infinite fall failsafe addition
2020-02-25 16:46:53 +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
Capostrophic
9db0bbf255
Make infinite failsafe logic more forgiving
2020-02-14 15:32:50 +03:00
Bret Curtis
3bbd32fe98
Merge pull request #2667 from Capostrophic/infinitefall
...
Add an infinite fall failsafe (feature 1415)
2020-02-13 09:23:05 +01:00
elsid
1e4565a15c
Avoid using temporary vector to get items owned by
2020-02-11 22:24:18 +01:00
Capostrophic
61b60c8a94
Add an infinite fall failsafe (feature 1415)
2020-02-11 18:26:58 +03: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
capostrophic
1251b32f0f
Slightly reduce code duplication
2020-01-09 22:17:01 +03:00
capostrophic
9b28420875
[Regression] Make creatures autoequip shields properly again
2020-01-05 23:49:19 +03:00
Andrei Kortunov
71e1d576cd
Allow to enchant multiple projectiles at once (feature #3517 )
2019-12-31 21:31:49 +04:00
Andrei Kortunov
24ce242941
Implement TestCells (feature #5219 )
2019-12-22 11:13:42 +04:00
Assumeru
dfbe0021a5
Change rescaling to be more inline with vanilla ( fixes #5214 ) ( #2635 )
...
* move rescaling to loadData
* clamp on save
2019-12-18 19:37:45 +03:00
Andrei Kortunov
97ee4bc349
Improve equipment logic (bug #5223 )
2019-12-14 22:30:27 +04:00
Capostrophic
483b37bb3f
Disallow resting if the fall height hasn't been reset (bug #4802 )
2019-12-12 15:26:02 +03:00
Andrei Kortunov
058bbf4b0f
Merge pull request #2620 from elsid/fix_cage_door_rotation
...
Rotate door object using direct rotation order once
2019-12-01 09:54:38 +04: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
1b98fe4395
Fix GCC9 warnings about implicit declarations
2019-11-29 12:41:23 +04:00
Andrei Kortunov
73f43ba750
Do not use screen fading during game loading if there is no current cell (bug #5211 )
2019-11-18 22:24:19 +04:00
Andrei Kortunov
4118b20608
Allow ActionOpen and ActionTalk only for player (bug #5210
2019-11-18 12:41:11 +04:00
Alexei Dobrohotov
4208f10e81
Merge pull request #2600 from akortunov/master
...
Take in account caster's race height when launch magic bolt
2019-11-17 21:04:55 +03: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
d1e0fa575e
Take in account caster's race height when launch magic bolt (bug #5209 )
2019-11-17 16:37:38 +04:00
Andrei Kortunov
3970baeb84
Fix possible usage of destroyed variable
2019-11-13 15:46:49 +04:00
Capostrophic
c6e431d862
Avoid copying strings in SearchVisitor and readReferenceCollection
2019-10-28 19:28:14 +03:00
Capostrophic
ee4fa93bd4
Rework prevent merchant equipping setting again
2019-10-28 01:58:23 +03:00
Bret Curtis
2040ca5637
Merge pull request #2555 from akortunov/encoding
...
Encode ID's in all places to UTF-8
2019-10-24 00:48:12 +02:00
Capostrophic
43b1b9dfa2
Weather-related fixes (incl. bug #4783 )
...
Simplify some calculations
Fix Blizzard weather direction
Fix sky direction during storm
2019-10-19 22:47:21 +03:00
Alexei Dobrohotov
dec64a7fba
Fix typos in invalid spell effect warnings, clarify them
2019-10-17 23:45:27 +03:00
Andrei Kortunov
606b73ee96
Use rain settings from openmw.cfg (bug #4262 )
2019-10-13 22:32:23 +04:00
Andrei Kortunov
31e78ed41f
Rework 'prevent merchant equipping' feature
2019-10-12 14:17:03 +04:00
Alexei Dobrohotov
cdbe58c33a
Merge branch 'master' into windspeed
2019-10-11 02:04:30 +03:00
Andrei Kortunov
2fc819cdae
Encode ID's in all places to UTF-8 (bug #3977 )
2019-10-10 20:52:32 +04:00
Alexei Dobrohotov
b7a1e6561b
Merge pull request #2080 from akortunov/recharge
...
Recharge items outside of player inventory
2019-10-09 23:37:10 +03:00
Andrei Kortunov
c51aba0b13
Recharge items outside of player's inventory (bug #4077 )
2019-10-07 22:59:43 +04:00
Andrei Kortunov
f0b73e0a27
Do not store owners for items in container stores (bug #1933 )
2019-10-05 17:29:00 +04:00
Alexei Dobrohotov
6f99747fff
Merge pull request #2507 from elsid/door_stuck
...
Fix actors stuck in closing door (bug #5138 )
2019-10-01 22:39:58 +03:00
elsid
6253d2a7ac
Undo door rotation once
2019-09-29 13:42:51 +02:00
Andrei Kortunov
ca46da8b04
Do not stack initially added scripted items (bug #5136 )
2019-09-29 13:08:52 +04:00
Andrei Kortunov
e5564df8cb
Implement vanilla-style wind speed calculations (bug #4449 )
2019-09-24 10:59:58 +04:00
Andrei Kortunov
0ff8e83a39
Merge pull request #2532 from Assumeru/undefined
...
Fix undefined behaviour
2019-09-21 18:35:08 +04:00
Evil Eye
3d3ffdfcd8
override eraseStatic for dialogue
2019-09-21 16:24:05 +02:00
Andrei Kortunov
a4d196f33f
Force view change when using Force1stPerson and Force3rdPerson commands (bug #5168 )
2019-09-19 21:48:43 +04:00
Evil Eye
32de86d114
merge master
2019-09-17 20:31:53 +02:00
Evil Eye
7c8b82f45c
move locking behaviour to cellref
2019-09-17 20:30:37 +02:00