Alexei Kotov
6b93479bd3
Get rid of ESM4::SubRecordTypes
...
All my homies hate ESM4::SubRecordTypes
2024-03-18 12:25:17 +03:00
Alexei Kotov
1a62b2e6b5
ESM4: use switch-cases when relevant
2023-08-17 22:14:40 +03:00
Alexei Kotov
07c85addb2
Cleanup
2023-08-17 02:14:22 +03:00
Alexei Kotov
3b3545fa58
Fix cell grid and owner subrecord loading for FO4
2023-08-17 02:14:22 +03:00
Alexei Kotov
5a73b351e2
Maybe load FO4 cell records
2023-08-17 02:14:22 +03:00
Petr Mikheev
5d54ca6fdb
Refactor components/esm4
2023-08-05 13:12:24 +02:00
elsid
fd01b4cad7
Avoid casts to read cell flags
2023-07-30 17:59:54 +02:00
jvoisin
3152078c7e
Restore missing std::endl removed by an overeager regex
2023-06-01 13:48:41 +02:00
jvoisin
0e33730f5d
Remove useless logging
...
As suggested in https://gitlab.com/OpenMW/openmw/-/merge_requests/3086#note_1413234840
2023-06-01 13:31:48 +02:00
jvoisin
a58dc6fd30
Use the logging system instead of std::cout in components/esm4
...
- Remove debug-related includes
- Add some trivial missing includes
- Remove useless {}
- Move the known-but-skipped-records are the end of the switch-cases
- Always throw on unknown records
2023-06-01 13:31:48 +02:00
jvoisin
44a65512e8
Replace another assert with a throw
2023-05-26 10:23:58 +00:00
florent.teppe
93b3d9238c
mWater level disabled for skyrim.
2023-05-12 22:05:54 +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
elsid
dbed00842e
Split components/esm4/common.hpp header
2023-04-04 10:12:20 +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
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
3b2d9161c4
Applied review advice
...
better deals with templated functions meant for esm3 used by esm4s.
simplified loading of esm4 and dealing with unhandled record types.
2023-01-02 19:20:03 +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
Evil Eye
a64979e25d
Replace empty std::string assignments
2022-05-04 22:33:39 +02: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