Alexei Kotov
6b93479bd3
Get rid of ESM4::SubRecordTypes
...
All my homies hate ESM4::SubRecordTypes
2024-03-18 12:25:17 +03:00
elsid
199d97d32a
Use forward declaration for VFS::Manager
2024-01-24 21:52:48 +01:00
Alexei Kotov
8d655054f1
esmtool: Print human-readable ESM4 file format version
2023-09-25 21:40:14 +03:00
Alexei Kotov
8c27dca1df
ESM4: add a way to get the current form version
...
Differentiate between Fallout 4 and TES4 version 1.0 plugins
2023-09-25 21:26:51 +03:00
Petr Mikheev
5d54ca6fdb
Refactor components/esm4
2023-08-05 13:12:24 +02:00
elsid
2f18da08d7
Add missing include
2023-05-23 12:26:16 +02:00
elsid
e537d1d0d4
Ignore missing localization string files by esmtool
...
Dawnguard.esm from Skyrim depends on files stored in Dawnguard.bsa which is not
processed by esmtool.
2023-05-22 22:09:08 +02:00
elsid
358b7ad3ec
Keep ESM4 localized strings in memory
...
Size of the files is in order of megabytes at max. Storing offset lookup table
to read from file on demand is less efficient than reading from memory for such
size.
Read and store offsets first. Sort them to read values sequentially. Memoize
last offset and value to avoid reading the same value twice. Use seek only when
current possition does not match offset. Optimize seek for short distance by
calling read instead.
2023-05-22 22:09:06 +02:00
elsid
010db45a10
Read ESM::FormId using ESM4::Reader::getFormId
2023-05-17 22:59:29 +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
elsid
dbed00842e
Split components/esm4/common.hpp header
2023-04-04 10:12:20 +02: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
Cédric Mocquillon
6e23ad82d5
Load esm files from vfs
2023-02-19 21:58:19 +01:00
elsid
063fff7fa4
Fix and prevent -Wextra-semi warning
2022-10-06 00:26:43 +02:00
clang-format-bot
ddb0522bbf
Apply clang-format to code base
2022-09-22 21:35:26 +03:00
elsid
6f00641c8a
Fix reading array of zero terminated strings
...
NIFZ and KFFZ subrecords store multiple strings separated by \0 character.
2022-09-15 00:01:19 +02:00
Project579
886b8c7af2
Fix build error with stdlibc++ due to includes shuffling.
2022-09-11 14:41:21 +02:00
Project579
e5c417c968
Make sure all paths are passed as std::filesystem::path instead of std::string where possible.
2022-09-11 14:41:15 +02:00
elsid
ac1688f9c1
Remove ESM::Reader base class
...
This class does not serve any useful purpose now. It was added as a first step
in attempt to define common interface for ESM3 and ESM4 readers. But this is not
going to happen.
2022-09-10 15:17:49 +02:00
elsid
6c8ed4d19c
Move Files::IStreamPtr alias to a separate header
...
To avoid transitive include of Windows.h all over the engine.
2022-07-17 11:35:39 +02:00
elsid
13c970b37a
Add const modifier to encoder type
2022-04-25 17:35:25 +02:00
psi29a
f99f818c0c
Merge branch 'esm4_cleanup' into 'master'
...
ESM4 cleanup
See merge request OpenMW/openmw!1792
2022-04-23 15:27:28 +00:00
elsid
3abcf3dd0d
Fix style guide
2022-04-23 00:32:52 +02:00
elsid
94c1d0cced
Use unique_ptr to store istream
2022-04-22 18:27:17 +02:00
elsid
5eb8c4aebe
Avoid redundant conversion to const char* and use make_shared
2022-04-10 22:33:08 +02:00
elsid
139ae9325a
Fix compile errors by using StatelessUtf8Encoder
2022-02-16 16:41:23 +01:00
cc9cii
ba3ae448d4
Initial import of esm4 by cc9cii
2022-01-31 08:58:45 +01:00