1
0
mirror of https://gitlab.com/OpenMW/openmw.git synced 2025-02-06 00:40:04 +00:00

371 Commits

Author SHA1 Message Date
Petr Mikheev
914e604e06 Interactions between LuaManager and other parts of OpenMW 2021-07-09 20:24:56 +02:00
Evil Eye
0a15d7740a Delay physics for objects created by scripts 2021-07-05 18:34:06 +02:00
fredzio
c795e0bce6 Some actors are supposed to spawn on an object that belongs to an adjacent cell.
Since actors can be active in 3x3 grid around the player, we need to
first load all objects in a 5x5 grid around the player.

Split load and unloading in 2 phases. Add an mInactiveCells set into the
scene, which contains all cells inside the aforementioned 5x5 grid.
These cells contains only heightfields and non-animated physics objects.

Animated objects are tied to the scene graph, which doesn't exists yet
in these cells, so we skip them.
2021-06-28 09:36:04 +02:00
psi29a
9dfba37ce9 Merge branch 'fix_big_object_navmesh_update' into 'master'
Fix overwhelming recast mesh and navmesh updates for big rotating objects (#6060)

Closes #6060

See merge request OpenMW/openmw!911
2021-05-27 21:08:33 +00:00
elsid
4a6961b365
Trigger navmesh update on moved player only when player tile has been changed 2021-05-27 16:52:42 +02:00
elsid
3915e5d2cc
Always center loading screen progress bar by height when there is active message box
To fix all possible situations when active message box overlaps with loading
screen progress.

The only used condition to center loading screen progress by height is
number of message boxes > 0. No need to pass it through interface.
LoadingScreen can check it inside setLabel function.
2021-05-26 23:29:37 +02:00
elsid
59f89d22f8
Apply min distance only for not present tiles
To avoid waiting when navmesh update is triggered by transformed object for
already present tiles.
2021-05-14 22:41:11 +02:00
psi29a
fd89582e0c Merge branch 'navmesh_wait' into 'master'
Wait until navmesh is generated within given distance around player (#5500)

Closes #5500

See merge request OpenMW/openmw!819
2021-05-13 16:56:39 +00:00
elsid
7a51d0db18
Wait until navmesh is generated within given distance around player
Add a setting to change this distance.

To prevent situations when there is not enough navmesh generated and actors
can't find path correctly.
2021-05-05 19:44:16 +02:00
elsid
f169f8e6f0
Wait until navmesh is generated for interior cells
Add special loading progress bar.

It should be fast enough to not keep loading screen for noticably long but
will provide better pathfinding for actors inside interior cells.
2021-05-05 19:27:49 +02:00
jvoisin
998cc97a4f And done! 2021-04-30 20:49:22 +02:00
Andrei Kortunov
9647b670e4 Do not declare unused variables 2021-04-19 15:43:00 +04:00
Bret Curtis
40c989d732 allman style 2021-03-14 22:11:18 +01:00
Bret Curtis
9fc0649fb6 a better check to avoid the mCell assertion, so compariing nullptr to current cell will refurn false anyway 2021-03-14 18:08:52 +01:00
Bret Curtis
49545e6d29 add comments as to why we need to check that the player is grounded or not; only run once during initial cell loading 2021-03-14 18:02:48 +01:00
Bret Curtis
c067782814 proper fix that traces down the player when a cell is loaded; we also only run once if the current cell being loaded is the one that the player is in. 2021-03-14 18:02:48 +01:00
Andrei Kortunov
7b727e4d70 Revert "Remove physics dependency on basenode"
This reverts commit 165c7314928dc281a364fa1a0143c45fd6d2adfd.
2021-01-29 16:51:13 +04:00
Andrei Kortunov
165af1c365 Revert "Some actors are supposed to spawn on a static object that belong to an adjacent cell."
This reverts commit f031a191b847443c848637b17d0936a43b5070b5.
2021-01-29 16:51:05 +04:00
Andrei Kortunov
f8e8496d36 Revert "Revert a wrong change introduced in MR 546"
This reverts commit 23137d0c54f555b30323359953e3db81ded3f361.
2021-01-29 16:50:39 +04:00
fredzio
23137d0c54 Revert a wrong change introduced in MR 546
A prerequisite to create physics objects for statics was to remove the
dependency on base node (since it doesn't yet exists) for object
position. It is still necessary for animation though.

Restore the basenode (and the associated FIXME) so that animated objects works properly.
2021-01-27 16:24:11 +01:00
fredzio
f031a191b8 Some actors are supposed to spawn on a static object that belong to an adjacent cell.
Since actors can be active in 3x3 grid around the player, we need to
first load all statics in a 5x5 grid around the player.

Split load and unloading in 2 phases. Add an mInactiveCells set into the
scene, which contains all cells inside the aforementioned 5x5 grid.
These cells contains only heightfields and physics objects of static
class.
2021-01-24 14:11:10 +01:00
fredzio
165c731492 Remove physics dependency on basenode
Necessary to be able to load physics objects from inactive cells.
2021-01-24 14:10:27 +01:00
Evil Eye
a401c517bf Always unload height fields
loadCell always adds a height field, but unloadCell only removed it for
cells with height data. Reloading a cell overwrote the height field
added earlier (leading to its destruction) while the navigator retained
a reference to the now deleted collision shape, leading to a crash.
2021-01-23 00:56:46 +01:00
fredzio
a314f196eb Unconditionally call actor->resetPosition in adjustPosition.
Revert broken change that would force adjust all actors in cell upon
loading. That break floating corpses (and probably others things).
2020-12-12 18:17:26 +01:00
Frederic Chardon
460e5abb55 Update physics object position after spawning. 2020-12-11 08:57:08 +01:00
Andrei Kortunov
8084a336b5 Replace zeroes and nulls by nullptrs 2020-11-29 11:14:07 +04: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
Andrei Kortunov
065ed5138e Use emplace_back instead of push_back 2020-10-18 10:27:35 +04:00
Andrei Kortunov
8ca3c3b123 Mark overrided methods by override keyword 2020-10-16 22:18:54 +04:00
fredzio
d76cc5d0a9 Make the Object class manage its collision object and position. 2020-10-15 06:41:16 +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
Andrei Kortunov
d1a3cc98ff Get rid of ECLD and dependencies 2020-06-17 13:09:16 +04: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
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
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
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
Capostrophic
d44dcc3242 Revert infinite fall failsafe addition 2020-02-25 16:46:53 +03: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
Andrei Kortunov
24ce242941 Implement TestCells (feature #5219) 2019-12-22 11:13:42 +04:00