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
florent.teppe
393357abc0
ESM::Cell::positionToCellIndex returns a ESM::ExteriorCellIndex
...
and takes a worldspace id as input
ESM::getCellSize takes a wordspace as input.
removed useless static in static inline funcs
2023-05-12 22:05:55 +02:00
florent.teppe
559830f59a
applies review comments
...
Removes ToLowercase after .serializeText
removed unused variable
!ptr => ptr == nullptr
better indentation + error message on throw
friend struct std::hash<...> useless on struct with all public fields.
2023-05-12 22:05:55 +02:00
florent.teppe
39cfe9c2fb
Removed unused variable, factorised code.
2023-05-12 22:05:55 +02:00
florent.teppe
3d06cabf6a
indexToPosition moved from world -> esm/util.hpp
2023-05-12 22:05:55 +02:00
florent.teppe
1cf0cd5628
moved mwworld/cellutils.hpp -> esm/util.hpp
2023-05-12 22:05:54 +02:00
florent.teppe
f261f59809
World::indexToPosition is modified to be less error prone.
2023-05-12 22:05:54 +02:00
florent.teppe
f731c5eadb
preloader compatible with esm4 exteriors.
2023-05-12 22:05:54 +02:00
florent.teppe
75561abfca
Factorises code and fixes preload bug.
2023-05-12 22:05:54 +02:00
florent.teppe
5648e03e9e
function to get cellsize depending on the context.
2023-05-12 22:05:54 +02:00
florent.teppe
141878f30d
int x, int y , ESM::RefId worldspace => ESM::ExteriorCellIndex
...
also removed the changeToExteriorCell that only took a position as input, didn't work with esm4.
2023-05-12 22:05:53 +02:00
florent.teppe
d8a782425b
can actually load and teleport to esm4 exterior spaces
2023-05-12 22:05:53 +02:00
florent.teppe
eb48f8724f
change grid and preload takes the right exterior
...
also fixes some crashes
2023-05-12 22:05:53 +02:00
florent.teppe
a62e75fd19
Initial attempt at loading esm4 exteriors
2023-05-12 22:05:52 +02:00
jvoisin
5299065cad
Simplify a funny-written function
2023-05-01 21:13:15 +02:00
elsid
7a7c20d49e
Define single UpdateGuard type in a separate file
2023-04-22 13:22:07 +02:00
Andrei Kortunov
6ce0d9e9b9
Localize testcells/testinteriorcells progress text
2023-04-21 09:46:02 +04:00
florent.teppe
5bb9bfd224
CellPreloader::preload(CellStore&
2023-04-20 16:58:19 +02:00
florent.teppe
a3a2685b9a
More MWWorld::CellStore* -> MWWorld::CellStore&
2023-04-20 16:16:17 +02:00
florent.teppe
53cc9f3614
functions return reference instead of ptr
...
because the function can never return an nullptr, we return a reference.
2023-04-20 15:55:40 +02:00
florent.teppe
3258fa4f98
setworldspace uses serializeText
2023-04-03 14:17:35 +02:00
florent.teppe
21bd28542a
Applies review advice
...
2d coord hash moved to hash.hpp file
format version adds suffix to be more coherent
don't use ESM::RefId::sEmpty
RefId equality with string_view, conversion to refId unecessary
action teleport remove test that mCellId is empty
removes some const references, when copy is enough
invalid refid => empty refid
removes useless change
2023-04-03 14:17:35 +02:00
florent.teppe
4c15064a83
Create new Vec2i RefId for ESM3 exterior cells.
...
Applies the necessary changes to use !2708 for the new Id type
2023-04-03 14:17:16 +02:00
florent.teppe
6895a452ef
restores the concept of worldspace for MWWorld::Cell
2023-04-03 14:16:04 +02:00
florent.teppe
9f597ecfea
No more Cellid used by ESM4 cells
...
and that also means it is no longer used by MWWorld::Cell
fixes tests
2023-04-03 14:16:04 +02:00
florent.teppe
1bbf4a3acf
fixes teleport to exterior cells.
...
fixes linux compile
fix compile bis
2023-04-03 14:16:04 +02:00
florent.teppe
3f678c3b0a
Dest Door and teleport use ESM::RefId
...
This changes a lot of files as a consequence.
Still buggy, moving to exterior doesn't bring to the right place yet
coc "seyda neen" doesn't work. SO I broke somehting when fetching a cell from a name
2023-04-03 14:16:03 +02:00
Petr Mikheev
618b912a20
Dehardcode non-game-specific localization GMSTs; Update l10n files.
2023-03-26 13:43:44 +02:00
florent.teppe
084207af64
Avoids a lot a special cases for ESM3 vs ESM4 cells.
2023-02-04 23:25:06 +01:00