1
0
Fork 0
mirror of https://github.com/OpenMW/openmw.git synced 2025-01-16 19:59:55 +00:00
Commit graph

23 commits

Author SHA1 Message Date
Alexei Kotov
8d655054f1 esmtool: Print human-readable ESM4 file format version 2023-09-25 21:40:14 +03:00
psi29a
16628a766f Merge branch 'fallout4' into 'master'
ESM4 Loader: initial Fallout 4 support

See merge request OpenMW/openmw!3347
2023-08-18 16:22:40 +00:00
elsid
0d4833febb
Fix esmtool dump format 2023-08-17 11:22:05 +02:00
Alexei Kotov
9ec68e864c Load ESM4 idle animations correctly for every game 2023-08-17 04:33:01 +03:00
Petr Mikheev
5d54ca6fdb Refactor components/esm4 2023-08-05 13:12:24 +02:00
elsid
798f3cc385
Support ESM4 record FullName, CellFlags, X, Y fields by esmtool 2023-07-30 18:20:10 +02:00
Alexei Kotov
7e1e43f9c6 Allow GMSTs with empty EDID 2023-07-17 22:51:25 +03: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
ee3956e4f2
Print FormId as hex by esmtool dump 2023-05-17 22:59:34 +02:00
elsid
87ac85223a
Support loading ESM4 GMST records 2023-04-04 09:59:35 +02:00
elsid
90ed24f4c9
Split type traits for ESM4, ESM3 and unite common 2023-03-26 19:07:23 +02:00
elsid
d541436b15
Support parent, type and value fields in esmtool for ESM4 2023-01-29 03:02:00 +01:00
elsid
e7acced5e9
Move metafunctions to check ESM4 field existence to a separate header 2023-01-29 03:00:48 +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
631fa26872 Applies review advice. 2023-01-04 12:22:16 +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
clang-format-bot
ddb0522bbf
Apply clang-format to code base 2022-09-22 21:35:26 +03:00
elsid
9c291535bb
Dump NIFZ and KFFZ sub records by esmtool 2022-09-15 00:01:40 +02:00
elsid
a9826342b2
Print ESM4 EditorId and Model by esmtool dump 2022-09-12 01:42:08 +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
d2510284ec
Support TES4 in esmtool dump 2022-04-25 17:35:26 +02:00