Commit Graph

23 Commits (7cea0344b28125c5afbff74c234d4c942597f552)

Author SHA1 Message Date
Alexei Kotov 8d655054f1 esmtool: Print human-readable ESM4 file format version 1 year ago
psi29a 16628a766f Merge branch 'fallout4' into 'master'
ESM4 Loader: initial Fallout 4 support

See merge request OpenMW/openmw!3347
1 year ago
elsid 0d4833febb
Fix esmtool dump format 1 year ago
Alexei Kotov 9ec68e864c Load ESM4 idle animations correctly for every game 1 year ago
Petr Mikheev 5d54ca6fdb Refactor components/esm4 1 year ago
elsid 798f3cc385
Support ESM4 record FullName, CellFlags, X, Y fields by esmtool 1 year ago
Alexei Kotov 7e1e43f9c6 Allow GMSTs with empty EDID 1 year ago
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.
2 years ago
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.
2 years ago
elsid ee3956e4f2
Print FormId as hex by esmtool dump 2 years ago
elsid 87ac85223a
Support loading ESM4 GMST records 2 years ago
elsid 90ed24f4c9
Split type traits for ESM4, ESM3 and unite common 2 years ago
elsid d541436b15
Support parent, type and value fields in esmtool for ESM4 2 years ago
elsid e7acced5e9
Move metafunctions to check ESM4 field existence to a separate header 2 years ago
elsid 5bb088218e
Restore original formId
To make sure esmtool prints original value and not a result of conversion.
2 years ago
florent.teppe 631fa26872 Applies review advice. 2 years ago
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.
2 years ago
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
2 years ago
clang-format-bot ddb0522bbf
Apply clang-format to code base 2 years ago
elsid 9c291535bb
Dump NIFZ and KFFZ sub records by esmtool 2 years ago
elsid a9826342b2
Print ESM4 EditorId and Model by esmtool dump 2 years ago
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.
2 years ago
elsid d2510284ec
Support TES4 in esmtool dump 3 years ago