elsid
afa769408a
Use normalized path for correctActorModelPath
2024-11-03 13:50:17 +01:00
Evil Eye
772a0b3711
Merge branch 'vfs_normalized_path_14' into 'master'
...
Use normalized path in multiple places (#8138 )
See merge request OpenMW/openmw!4383
2024-09-22 16:38:55 +00:00
elsid
cd6e49796e
Properly initialize local static pointers and collections
...
Static variables should be initalized once instead of initializing them with
nullptr and then doing actual initialization behind if condition. Otherwise a
race condition may happen leading to undefined behaviour.
2024-09-21 13:52:43 +02:00
elsid
5f2582fe68
Use normalized path in SceneManager::checkLoaded
2024-09-19 00:51:17 +02:00
elsid
d8189a5aa1
Use normalized path in SceneManager
2024-09-13 14:21:49 +02:00
elsid
71369be796
Log caught exceptions
2024-05-26 02:52:11 +02:00
psi29a
2be6116ef6
Merge branch 'fix_recastmesh' into 'master'
...
Limit number of cached tiles with recast meshes
See merge request OpenMW/openmw!4112
2024-05-22 20:38:42 +00:00
Alexei Kotov
a3bfd3a337
Merge branch 'fix-infinite-fall-into-void' into 'master'
...
Fix infinite fall into void (#1415 )
Closes #1415
See merge request OpenMW/openmw!4100
2024-05-19 20:47:13 +00:00
elsid
45d62ee59f
Limit RecastMeshManager range by active cell grid
2024-05-19 20:07:47 +02:00
elsid
49db37ee29
Merge setWorldspace and updateBounds
2024-05-19 20:07:47 +02:00
elsid
9854d42d56
Use ESM::RefId for worldspace type
2024-05-19 20:07:47 +02:00
Sam Hellawell
c1cd8bd900
Check collision before findInteriorPositionfindInteriorPos
2024-05-18 06:33:06 +01:00
elsid
6f70350f2f
Remove unused arguments from preload functions
2024-05-17 19:42:44 +02:00
elsid
7290ce81c0
Avoid allocating std::vector for a single element
2024-05-17 19:42:44 +02:00
Sam Hellawell
72dbad6fb4
Satisfy king clang
2024-05-16 20:10:32 +01:00
Sam Hellawell
6f7fff409c
Empty refid check
2024-05-16 19:38:29 +01:00
Sam Hellawell
e98c4f86d6
Remove period
2024-05-16 00:14:09 +01:00
elsid
d71b422615
Convert PositionCellGrid into a struct
2024-05-15 22:33:12 +02:00
Sam Hellawell
e1cfd46f87
Do not teleport if dest < lowest point or collision disabled, add debug log
2024-05-15 20:41:48 +01:00
Sam Hellawell
b43c7238e9
Fix infinite fall into void ( #1415 )
2024-05-15 05:01:58 +01:00
elsid
01166b1f26
Split ESM headers
2024-05-03 01:55:20 +02:00
elsid
404940b6e0
Make sure proper number of cells is preloaded
...
Limit the number of exterior cells around a cell to be preloded based on current
and max cache size not just max cache size. Avoid doing break from inner loop
only.
Log when truncation happens but only once during process lifetime to warn a user.
2024-04-29 02:03:32 +02:00
elsid
2220868fa9
Preload surrounding exterior cells for the teleport door destination
...
When player teleports to the exterior cell, multiple cells are loaded not only
the target so better to have them preloaded too.
2024-04-29 01:02:49 +02:00
elsid
5b0eb0b5b0
Log ptr for which agent bounds are not supported
...
To make it easier to find what NPC or mod makes this happen.
2024-04-20 14:15:26 +02:00
elsid
ae41ebfc83
Report CellPreloader stats
2024-03-29 14:05:26 +01:00
Cody Glassman
56b31ceaf5
add ignore list to raycasts
2024-02-12 07:52:47 -08:00
Evil Eye
4ef68a8938
Split Class::getModel into Class::getCorrectedModel and Class::getModel so preloading can use string_view
2024-01-27 16:26:31 +01:00
Alexei Kotov
9e3b427a98
Unbreak un-paging ( #7768 )
2024-01-08 23:41:51 +03:00
Alexei Kotov
2fbdde34c6
Set paged refs' base node to null ( #6335 )
2024-01-02 02:31:47 +03:00
Evil Eye
e63933efa6
Use NAM9 for stack count
2023-12-31 17:12:46 +00:00
Andrei Kortunov
6f68df9ac2
Avoid redundant copies
2023-12-06 23:45:25 +04:00
Petr Mikheev
c67b866a11
Replace const ESM::RefNum&
-> ESM::RefNum
2023-09-15 19:38:09 +02:00
elsid
52ab47771c
Initialize expiry delay for all GenericResourceManager instances
2023-08-29 20:25:21 +02:00
elsid
eb77fd1813
Add height field to navigator in ESM4 cells
2023-08-13 02:26:45 +02:00
florent.teppe
950cc7be83
gets the right worldspace when calculating exterior positions.
2023-06-29 11:09:06 +02:00
elsid
cfab425fb2
Replace operator== for CellStore with pointer quality
...
Equality operator is confusing and redundant in this case.
It should not be possible to have 2 CellStores for the same cell. There is no
copy constructor defined so it's not possible to get a copy. It's possible to
independently create second store when another one already exist but it would
mean a bug.
Explicitly delete CellStore copy and move constructors and assignment operators
to enforce this.
2023-05-30 08:46:44 +02:00
florent.teppe
ad8cfde4e0
ESM::LandData no longer a virtual interface
...
instead it is constructed from ESM::Land or ESM4::Land
2023-05-29 12:10:42 +02:00
fteppe
22dc383f63
fixes errors and warnings
...
Applies review comments
getWorldspaceTerrain => returns a reference because never null
crashfix in navigator
updateLandPositions fixes naming of it
const ESM4::Land* MWWorld::Store<ESM4::Land>::search(ESM::ExteriorCellLocation cellLocation) const removes useless else
ExteriorCellLocation uses default initializers
get terrain height returns -MAX_FLOAT when there is no esm4 terrain.
applied review comments
use default initlializer when possible
factorise code
uses pattern matching in for loop.
2023-05-29 12:10:42 +02:00
florent.teppe
7d88a240d3
no default terrain for esm4 exterior.
2023-05-29 12:10:41 +02:00
florent.teppe
7bc4fc6bf9
Fix issues on terrain change
...
terrain Preloader now preloads the right terrain
2023-05-29 11:32:14 +02:00
florent.teppe
d0211acf9e
Fixes bug in terrain loading + collision heightmap works
...
although terrain rendering is 100% broken right now
2023-05-29 11:32:13 +02:00
florent.teppe
e0fa15b727
Abstracted Land data that can be used by esm3 and esm4.
2023-05-29 11:31:37 +02:00
florent.teppe
e09cf6ac61
enable terrain takes a worldspace as input
...
enable terrain anslo switches the worldspace.
2023-05-29 11:31:37 +02:00
elsid
235eb65c97
Rename positionToCellIndex to match return type
2023-05-27 15:49:36 +02:00
elsid
bb1d040ac8
Use settings values for Cells settings
2023-05-22 17:36:23 +02:00
Petr Mikheev
1d55844f26
Update mHalfGridSize in Scene::changeCellGrid before using it.
2023-05-19 17:58:59 +02:00
Petr Mikheev
690c752984
Unload active cells when teleporting to another exterior worldspace
2023-05-19 14:33:16 +02:00
Petr Mikheev
29031d0586
Increase ESM4 active grid
2023-05-18 00:38:41 +02:00
florent.teppe
7c6471b0dc
getExteriorCellLocation() added to MWWorld::Cell
2023-05-12 23:24:36 +02:00
florent.teppe
a3bd6e7e47
ESM::ExteriorCellIndex => ESM::ExteriorCellLocation
2023-05-12 22:05:55 +02:00