elsid
01166b1f26
Split ESM headers
2024-05-03 01:55:20 +02:00
elsid
5abbc56bf2
Use proper cell size for ESM4 cells in CoordinateConverter
2023-08-13 02:24:22 +02:00
Petr Mikheev
5d54ca6fdb
Refactor components/esm4
2023-08-05 13:12:24 +02:00
Petr Mikheev
5cb4c66266
Avoid using ESM4::Cell with uninitialized fields
2023-05-29 22:37:25 +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
Petr Mikheev
be26fbdacb
Explicitly intialize the fields in ESM4::Cell
that don't have default constructors.
2023-05-18 20:21:47 +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
f09a689a4f
Merge ESM::RefNum and ESM4::FormId
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
6895a452ef
restores the concept of worldspace for MWWorld::Cell
2023-04-03 14:16:04 +02: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
psi29a
4032c447e9
Merge branch 'load-ESM4-Cell' into 'master'
...
Can load and coc into an interrior oblivion cell
See merge request OpenMW/openmw!2647
2023-02-06 08:56:23 +00:00
elsid
5bb088218e
Restore original formId
...
To make sure esmtool prints original value and not a result of conversion.
2023-01-29 02:35:06 +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
c896a2ca48
Crashfix on launch
2023-01-26 22:37:32 +01:00
florent.teppe
e81e278363
Implements some cell params + linux compile fix
2023-01-26 22:37:31 +01:00
florent.teppe
562e129bd0
encapsulations of esm3 cell and esm4 cells.
2023-01-26 22:37:31 +01:00
florent.teppe
077cf97bc4
The esm4 reader logic is mutualised
...
to avoid copy pasting code, readerutils gives functions that take visitors as params to decide how a record must be handled
Check encoder exists, and get value of stateless encoder.
fixes code formatting conventions
Fixed output of record with RefId
also fixed readTypedRecord and readRecord to have the proper return types
Check if the type has a sRecordId
2023-01-01 19:22:27 +01:00
florent.teppe
c721a6cafa
Initial commit to load ESM4
...
Some data is actually loaded and store in ESM Store
Any new ESM4 will go through the same code path and be automatically sent to the right store
2023-01-01 16:22:57 +01:00
clang-format-bot
ddb0522bbf
Apply clang-format to code base
2022-09-22 21:35:26 +03:00
elsid
4b28d51d5e
Remove virtual modifiers from ESM4 record functions
...
There is no need to have virtual functions.
2022-04-25 17:35:25 +02:00
elsid
2c9b6fffe5
Remove preloading logic from ESM4::Cell
...
This logic does not belong here. If client of ESM4::Cell needs to cache load
results it can be done separately.
2022-04-25 17:35:25 +02:00
elsid
f516e34688
Remove used-defined constructors from ESM4 types
...
To avoid explicit initialization. It should happen in the load functions anyway.
* Move all non-zero initializations to corresponding class definition.
* Replace std::vector by std::array when it has constant size.
2022-02-22 20:11:45 +01:00
cc9cii
ba3ae448d4
Initial import of esm4 by cc9cii
2022-01-31 08:58:45 +01:00