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

533 Commits

Author SHA1 Message Date
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