Evil Eye
aa2fab8db5
Enable collision for postponed objects when any object is disabled
2022-06-19 20:16:31 +02:00
elsid
b32a787cd8
Add explicit dependency to World from Scene
...
To avoid redundant MWBase::Environment::get().getWorld() calls and virtual
calls.
2022-05-08 15:41:53 +02:00
elsid
f03360b666
Move RenderingManager::update call to World::update
...
There is no need to do that in Scene::update and pass paused argument there.
2022-05-08 15:41:52 +02:00
elsid
3878a12ed3
Delay cell grid change until scene update
...
This allows proper profiling. Changing cell grid is not a part of physics
system, it's a part of world system.
2022-04-01 21:46:20 +02:00
elsid
783411fa1f
Use new player position when updating navigator on cell loading
2022-02-03 02:44:04 +01:00
psi29a
2c8c36fe5d
Merge branch 'master' into 'effective_magic'
...
# Conflicts:
# CHANGELOG.md
2021-10-01 21:20:08 +00:00
Bret Curtis
8309910d9d
Restore the cell grid to its former non-exorbitant size, reducing stutter and also threw in a simple alternative fix for the actor position adjustment issue.
2021-09-30 22:58:40 +02:00
Evil Eye
b8e4f18751
Clear temporary effects before unloading actors to prevent absorb effects becoming permanent
2021-09-29 19:25:11 +02:00
elsid
5878b1fce6
Use same logic for testing cell as for loading cell
...
Having different branches makes testing less useful. If something fails in
regular executing it should fail in testing. To make it possible there should
be none differences in the execution paths.
2021-09-24 22:24:07 +02:00
elsid
b8fcd6d3ba
Manage work item lifetime on the client side
...
Instead of explicit work queue stop before any possibly used engine manager
is destructed. Based on an assumption that any engine manager can be destructed
independently from the work queue destruction. This model is already used in
CellPreloader that conflicts with explicit work queue stop.
After the work queue is requested to be stopped, any client waiting for a not
started work item to be done will wait forever because the work item is dropped
from the queue. Therefore either clients should not wait for own work items to
be completed in destructor or the work queue should not drop items before
clients are destructed. Other approaches are possible but are not considered
due to increasing complexity.
CellPreloader already tries to wait for all created work items to be done so
keep it that way and extend the model to AsyncScreenCaptureOperation and Scene.
Additionally abort all scheduled work items when owner is destructed. This
prevents a long exit when multiple screenshots are scheduled right before
exiting the game.
2021-07-12 11:41:14 +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
fredzio
fda639eb57
Remove unused forward declarations
2021-04-11 14:46:51 +02: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
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
Andrei Kortunov
d1a3cc98ff
Get rid of ECLD and dependencies
2020-06-17 13:09:16 +04: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
d684f1a78f
terrainbased objectpaging
...
Signed-off-by: Bret Curtis <psi29a@gmail.com>
2020-06-13 00:22:27 +02:00
Capostrophic
d44dcc3242
Revert infinite fall failsafe addition
2020-02-25 16:46:53 +03: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
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
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
elsid
1d3668cd22
Add Navigator interface
2019-02-16 15:37:06 +03:00
elsid
346e9e3141
Add off mesh connections for doors without teleport
2018-10-13 22:16:33 +03:00
elsid
c95cea414c
Support water for NavMesh
2018-10-13 22:16:32 +03:00
elsid
0c8db84962
Load cells in order from nearest to player to furthest
2018-10-13 22:16:26 +03:00
scrawl
20606a2aff
Add 'prediction time' setting for cell/terrain pre-loading
2017-07-19 16:44:37 +02:00
Ewan Higgs
38a2de3c51
convert std::autor_ptr to std::unique_ptr, originally by Ewan Higgs and updated by Bret Curtis
2017-06-09 16:49:25 +02:00
scrawl
c22fde2bcd
Preload terrain while reading savegame
2017-03-14 19:27:56 +01:00
scrawl
59bf100907
Fill exteriorPositions in preloadFastTravel
2017-03-14 19:27:56 +01:00
scrawl
4549196b31
Use the new way of terrain preloading in CellPreloader/Scene
2017-03-14 19:27:56 +01:00
scrawl
7e02bb7348
Preload summoned creature models before the spell is cast
2017-02-20 19:58:00 +01:00
scrawl
57b585570a
Preload magic effect visuals of the player's selected weapon/spell
2017-02-15 21:01:25 +01:00
scrawl
3f3d00ffc9
Add CellPreloader::clear to avoid potential dangling CellStore pointer and to more aggressively clear preload state from a previous game
2017-02-09 04:03:38 +01:00
scrawl
1d8a9ff622
Preload player cell as soon as the player is read from the savegame
...
Giving the worker thread something to do while the rest of the savegame is parsed.
2017-02-09 03:47:36 +01:00
scrawl
c68f662c9a
Predict player movement when preloading cells to better handle moving at high speed
2017-02-09 01:34:42 +01:00
scrawl
5bd8ef247d
Do not adjust the player position when loading a savegame ( Fixes #2089 )
2016-03-24 17:18:08 +01:00
scrawl
c3ef387208
Vanilla-compatible creature/NPC respawning ( Fixes #2369 , Fixes #2467 )
2016-02-27 12:53:07 +01:00
scrawl
6806741d9b
Add settings for disabling the individual preloading types
2016-02-09 01:58:33 +01:00
scrawl
10a3e270a3
Preload fast travel destinations
2016-02-09 01:52:02 +01:00
scrawl
5efaa9817c
Add preloading settings
2016-02-07 18:01:14 +01:00
scrawl
610257cd3a
Preload the exterior cell grid
2016-02-07 07:37:56 -08:00
scrawl
8592166eeb
Preload surrounding cells when preloading an exterior cell destination
2016-02-07 05:27:19 -08:00
scrawl
023c87b215
Preload cell when the player goes near a teleport door. It works!
2016-02-07 05:13:46 -08:00
scrawl
d855a13b44
Clear the resource cache from the worker thread
2016-02-07 00:36:31 +01:00