Petr Mikheev
801a5a3213
Fix #7385
2023-06-08 22:45:37 +02:00
Petr Mikheev
7cecf2844a
Fix #7411
2023-06-05 22:22:58 +02:00
elsid
457fa16e37
Load existing exterior CellStore when required
2023-06-04 22:33:27 +02:00
elsid
01775dd6f0
Try create CellStore for interior cell when not found
2023-06-04 22:33:22 +02:00
psi29a
1843345510
Merge branch 'world_model_absent_cell' into 'master'
...
Do not rely on exceptions to handle absent cell
See merge request OpenMW/openmw!3098
2023-06-04 11:28:54 +00:00
psi29a
2f5bfb4df2
Merge branch 'fix-#7410' into 'master'
...
fix #7410
Closes #7410
See merge request OpenMW/openmw!3104
2023-06-04 11:28:26 +00:00
psi29a
d8463a34d3
Merge branch 'quotes' into 'master'
...
Remove redundant quotes
See merge request OpenMW/openmw!3091
2023-06-04 11:28:14 +00:00
florent.teppe
04e026c53f
getRecNameString now constexpr
...
getTypeDescription uses a static constexpr variable so we don't return ref to temp memory.
2023-06-03 20:28:25 +02:00
elsid
a91f376892
Do not rely on exceptions to handle absent cell
2023-06-02 13:18:09 +02:00
psi29a
d41c7bcaf4
Merge branch 'fix_esmstore_double_initialization' into 'master'
...
Fix the bug "ESMStore::setUp() is called twice" that causes duplicated objects in ESM4 cells
See merge request OpenMW/openmw!3084
2023-06-02 07:31:02 +00:00
psi29a
0bb652d7ce
Merge branch 'clickbait' into 'master'
...
Resolve Attribute GMSTs
See merge request OpenMW/openmw!3090
2023-06-02 07:30:40 +00:00
elsid
b621bfcef0
Define SharedIterator as proper random access iterator
...
Drop Container template argument as it's always std::vector.
2023-06-01 23:48:49 +02:00
Petr Mikheev
420916327d
Fix the bug "ESMStore::setUp() is called twice" that causes duplicated objects in ESM4 cells
2023-06-01 11:58:03 +02:00
psi29a
8e3e351015
Merge branch 'hide_ptr_registry' into 'master'
...
Make WorldModel a front-end for PtrRegistry
See merge request OpenMW/openmw!3087
2023-06-01 09:32:57 +00:00
psi29a
27a879de9a
Merge branch 'tree_and_furniture' into 'master'
...
Load ESM4::Tree and ESM4::Furniture
See merge request OpenMW/openmw!3040
2023-06-01 09:15:46 +00:00
psi29a
83c8312060
Merge branch 'esm4_cell_fixes' into 'master'
...
A few fixes related to ESM4::Cell
See merge request OpenMW/openmw!3083
2023-06-01 07:51:34 +00:00
psi29a
9306cb2cfd
Merge branch 'rm_cell_store_equality' into 'master'
...
Replace operator== for CellStore with pointer equality
See merge request OpenMW/openmw!3081
2023-06-01 07:51:09 +00:00
Andrei Kortunov
9001dc8f88
Remove redundant single quotes
2023-06-01 09:38:08 +04:00
elsid
9012207e32
Make WorldModel a front-end for PtrRegistry
2023-05-31 21:44:27 +02:00
Evil Eye
08f35fe839
Add ESM::Skill::mWerewolfValue
2023-05-31 17:45:20 +02:00
Evil Eye
7b0680de5f
Resolve attribute GMST members
2023-05-31 17:02:18 +02:00
Evil Eye
eea730768b
Replace sIconNames with ESM::Skill::mIcon
2023-05-30 20:22:04 +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
Petr Mikheev
84d7da1f2c
Ignore per-cell water height in exterior ESM4::Cell
2023-05-29 22:39:26 +02:00
Petr Mikheev
5cb4c66266
Avoid using ESM4::Cell with uninitialized fields
2023-05-29 22:37:25 +02:00
Petr Mikheev
01c410d6b1
Remove mPersistentExteriors
index; fix incorrect Rec_Persistent flag check.
2023-05-29 22:16:56 +02:00
psi29a
8976a1594f
Merge branch 'clickbait' into 'master'
...
Replace sSkillNameIds with ESM::Skill::mName
See merge request OpenMW/openmw!3080
2023-05-29 18:13:20 +00:00
Petr Mikheev
1b669db017
Load ESM4::Tree and ESM4::Furniture
2023-05-29 18:47:27 +02:00
Evil Eye
9c60a6fa4d
Replace sSkillNameIds with ESM::Skill::mName
2023-05-29 17:56:14 +02:00
elsid
731ff90c37
Remove unused include
2023-05-29 15:53:19 +02:00
elsid
947e8f0e94
Use CellStore::mStore instead of MWBase::Environment::get()
2023-05-29 15:53:19 +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
2bb17279df
linux build
...
clang format 14.0
Arm64 build
2023-05-29 12:10:41 +02:00
florent.teppe
0e4d21a40c
takes the right terrain bounds.
2023-05-29 11:32:14 +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
c35c7b3640
ESM4::Land loaded, added to store and to land objects
...
it does not work yet. Some things are displayed, but it looks all wrong.
2023-05-29 11:31:37 +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
florent.teppe
93e7b0d946
Terrain has a mandatory worldspace in constructor
...
getTerrainHeightAt takes a worldspace.
Doesn't change anything for now => Therrain is created with the default ESM3 worldspace, and is never changed.
2023-05-29 11:31:36 +02:00
psi29a
4399748889
Merge branch 'clickbait' into 'master'
...
Move more arrays to the ESM::Attribute struct
See merge request OpenMW/openmw!3074
2023-05-29 09:00:22 +00:00
elsid
02adb91859
Simplify WorldModel::getAll
...
There is no need to have generic forEach template function.
2023-05-29 00:01:46 +02:00
Evil Eye
90a3a7b62f
Add mWerewolfGMST
2023-05-28 15:28:34 +02:00
Evil Eye
a5e1c87fb8
Remove sGmstAttributeIds, sGmstAttributeDescIds, sAttributeIcons
2023-05-28 15:10:53 +02:00
elsid
86db640c8b
Increment revision on clearing PtrRegistry
...
Setting it to 0 may not lead to the change detected by clients. Potentially
mRevision may already have value 0. For example on overflow.
2023-05-28 13:04:20 +02:00
elsid
a581e394b4
Check for revision inequality
...
It's not possible to have SafePtr with mLastUpdate from the future. But
theoretically it's possible to get PtrRegistry::mRevision overflow so operator
less would return false when there is a change.
2023-05-28 13:04:20 +02:00
elsid
ce91784085
Move Ptr registry into a separate type
...
There is no dependency on the rest of the WorldModel state.
2023-05-28 13:04:17 +02:00
unknown
14600de185
Remove sAttributeIds and sSkillIds
2023-05-27 21:54:13 +02:00