Evil Eye
e9bcad4e05
Autocalculate enchantment costs and charges
2023-06-17 22:25:47 +02: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
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
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
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
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
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
elsid
a04eb9d26c
Move WorldModel::getPtr(const ESM::RefId&, CellStore&) to CellStore
...
The function does not depend on WorldModel.
2023-05-27 15:49:36 +02:00
Petr Mikheev
ac65246389
Speedup ESM4 cell loading; load objects from permanent cells (exterior doors in particular)
2023-05-18 00:38:41 +02:00
Petr Mikheev
63906059f1
Fix #7378 (dropped objects vanish when saving and reloading)
2023-05-14 14:53:01 +02:00
florent.teppe
3de08e654f
Better handling of water levels for exterior cells.
...
Especially for skyrim and it's weird water level values in exteriors.
If we don't have a valid exterior water level we use the world's water level
2023-05-12 22:05:54 +02:00
Petr Mikheev
f3adcab9c5
Update CellStore::mMergedRefs lazily.
2023-05-11 01:00:50 +02:00
Petr Mikheev
93342af1f9
Remove CellStore::searchViaRefNum (replaced with WorldModel::getPtr)
2023-05-11 00:17:22 +02:00
Petr Mikheev
270ead937b
Remove check in cellstore.cpp that causes Lua teleport command to fail.
2023-05-11 00:17:22 +02:00
Petr Mikheev
f1beaa7b8c
Put ESMStore to Environment
2023-04-20 21:45:49 +02:00
Petr Mikheev
ff774d6406
Load more ESM4 records
2023-04-09 18:52:11 +02:00
Petr Mikheev
f09a689a4f
Merge ESM::RefNum and ESM4::FormId
2023-04-09 00:23:32 +02:00
Petr Mikheev
2365ba2ce0
Disable lazy loading
2023-04-09 00:23:32 +02:00
florent.teppe
f99e65843a
Removes most cellId.hpp include, simplifies id generation for cells.
2023-04-03 14:16:32 +02:00
florent.teppe
c39dd576f8
Gets rid of most ESM::CellId
2023-04-03 14:16:05 +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
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
florent.teppe
96e42d1666
Cellstore uses RefId.
2023-04-03 14:16:03 +02:00
Andrei Kortunov
8c6616214b
Remove redundant quotes
2023-04-03 11:28:03 +04:00
florent.teppe
a3a7767093
applies review changes
...
filepos changed to an actual file pos
moved lambda declaration out of function call
2023-03-28 17:11:30 +02:00
florent.teppe
464092e323
fix oblivion and skyrim
2023-03-28 17:11:30 +02:00
florent.teppe
34dd24b261
Initial changes to detect when context isn't usable
2023-03-28 17:11:30 +02:00
elsid
069d4255b9
Make ESM::RefId to be fixed size cheap to copy
...
Use std::variant. Store refId strings in unordered_set and use pointer to an
item there. Inserts to unordered_set do not invalidate pointers to values so the
pointer is always valid. Elements are not removed. Assume there is finite number
of string refIds.
2023-03-19 17:20:43 +01:00
florent.teppe
170b732854
readers cache keep a stateless encoder
...
to keep access to the current encoding configuration
build linux
2023-03-10 12:39:47 +01:00
florent.teppe
214cb8d8fe
Only loads ESM4::reference when they are needed
...
and only those from the cell they are a part of.
The cell stores where it starts in the file for quick access later.
2023-03-04 23:40:41 +01:00
florent.teppe
dc961e3189
Adds the light into the scene.
...
Common struct for ESM3 and ESM4 light
2023-02-07 10:07:59 +01:00
florent.teppe
a71a86e64a
Load light models in the engine. Doesn't emit light
2023-02-06 20:22:17 +01:00
florent.teppe
084207af64
Avoids a lot a special cases for ESM3 vs ESM4 cells.
2023-02-04 23:25:06 +01:00
florent.teppe
1caed2de2a
Applies some review comments.
...
Proper visit for ESM::CellVariant
Fixed MWWorldCell constructor
2023-02-04 17:09:54 +01:00
florent.teppe
4e7cde5d72
applied some review changes.
...
crashfix tests
2023-01-30 20:49:34 +01:00
florent.teppe
ebfee18e35
implements std::visit for CellVariant, fixes struct vs class forward decl
2023-01-29 11:28:39 +01:00
fteppe
808c7367c9
Fix compile
2023-01-29 10:54:21 +01:00
florent.teppe
f9da66e9ee
Greatly improved how the variant on MWWorld::CellRef works
2023-01-28 18:57:55 +01:00
florent.teppe
5037dcf9bc
Fixes a crash on launch and some compile issue
...
also uses std::visit in cellstore comparison to avoid missing combinasion
split loadrefs in loadref of ESM4 and ESM3.
2023-01-27 16:41:00 +01:00
florent.teppe
531e55e04c
Better handling of the esm3 vs esm4 cell problem
...
Common attribute are in one structure that has two constructors, one for ESM3 vs ESM4 Cell
Mood part of MWWorld::Cell
2023-01-27 13:39:39 +01:00
florent.teppe
6d25d4bc13
It loads cells and palce sstatics in them
...
Many missing meshes, no lights etc... But can coc into interior cells and see them.
2023-01-26 22:37:32 +01:00
florent.teppe
3515c8e61a
Static references are created as refcells, nothing displayed yet.
2023-01-26 22:37:32 +01:00
florent.teppe
0018bcf7de
Should make cellvariant safer to use.
...
Hopefully clang tidy agrees.
2023-01-26 22:37:32 +01:00
florent.teppe
562e129bd0
encapsulations of esm3 cell and esm4 cells.
2023-01-26 22:37:31 +01:00
florent.teppe
08b68fcd48
Cannot load a cell yet, but getting more necessary parts in
2023-01-26 22:36:11 +01:00
Petr Mikheev
c294898246
Lua commands to create/move/remove objects; consistent handling of disabled objects ( #6726 , #6893 )
2023-01-22 00:08:21 +01:00
Petr Mikheev
5983f22290
Remember actor in the actor's InventoryStore instead passing the actor in every call
2023-01-21 23:43:00 +01:00
Petr Mikheev
e9420b2b68
Remove implicit conversion MWWorld::Ptr -> bool
2023-01-18 02:40:56 +01:00