Releases: Mutagen-Modding/Mutagen
Releases · Mutagen-Modding/Mutagen
v0.13.4.0
- ModListing now has enabled field to support load orders with a mix
- More MaskItem usages removed from Translation Masks
- Condition functions implemented. More FormKey functions write appropriately.
- Some filestream closing improvements
- Export master sorting against load order throws MissingModException if unexpected form is encountered
- More debug info embedded in DLLs
v0.13.3.0
v0.13.2.0
- Threading fix for parallel writes
- Copy fix for FormKey being copied undesirably
- Translation mask simplifications. Lots of MaskItem usages removed
- Fix for LinkCaches accessing more records than they needed
- SSE now adds base mods to load orders if they dont exist on the actual plugins file
v0.3.1.0
v0.13.0.0
- Initial ESL support
- LinkCache/LoadOrders now expose ListedOrder vs PriorityOrder for extra clarification
- Override iteration systems. Can now retrieve/iterate the record versions that have most priority in the load order.
- Group API improved
- Strings lookup optimized
- LinkCache now has Immutable and Mutable versions. Mutable versions are less optimized, but allow for some mods to change without corrupting the cache.
- Lots of mod export functionality added:
- Ensure masters list contains all entries referenced in records
- Ensure masters list is ordered to match a reference load order
- FormID uniqueness safety check
- ESL overflow safety check
- Sync master flag mod header field to match ModKey
- Sync next FormID mod header field
- Sync record count mod header field
- Ensure modkey used matches path being exported to
- ModInstantiator systems that can create new mods just from generic types.
- ModPath struct added that pairs a path to a mod + a ModKey. Simplifies API parameters
- Added a new Mutagen.Kernel library, with just the very basics needed to communicate about umbrella concepts. Used as a lightweight import for Synthesis systems that are as Mutagen naive as possible.
- ModPath/ModKey
- ModType enum (ESP/ESM/ESL)
- GameCategory/Release
- LoadOrder system refactoring. Now a more generic class that can contain any type
- More Major Record iteration fixes
v0.12.0.0
- Skyrim LE and SE, and all DLC parsed and pass passthroughs.
- Large header struct usability pass. Extra added API will be outlined in more detail on the wiki. More to come
- TranslatedString correctness testing to confirm all fields that use string files should be marked and integrated.
- MajorRecord versioning systems better integrated into code generation.
- Simple testing GUI for modifying setups to be run, as well as digesting output.
- Added some testing suite multithreading and upgraded to latest API standards.
- GameMode enum split into two. GameRelease is specific to a game release (SkyrimSE, LE, VR), whereas GameCategory is an umbrella enum for Skyrim as a whole.
- Removed XML translation systems. Will likely be readded as an addon library for JSON later on.
v0.11.0.0
- Added Wabbajack.Compression.BSA as a dependency to handle BSA parsing for strings files.
- TranslatedString systems now support BSA strings files as sources. Current pattern is to prefer a loose file, and then a BSA file. There is no mixing in situations that both exist, currently. Need to research if that's desirable or not.
- TranslatedString now is more lazy in its alternate string query logic. No alternate strings will be queried by default.
- Added some missing comment xml output to the DLL
v0.10.0.0
- Added the concept and generation for LinkInterfaces, which are the marker interfaces that a FormLink can use to allow multiple Major Record types. These before were ad-hoc interfaces. New generation systems streamlines adding new ones, as well as created a registry system to help with correctness elsewhere.
- Major Record enumeration features heavily refactored, bugfixed, and tested. LinkInterfaces weren't being bubbled up, nor were deep records like PlacedNpc, etc.
- Warmup systems bugfixed, and now autogenerated. WarmupAll.Init() to warm up all games. WarmupSkyrim.Init() for just Skyrim, etc. Saves a small bit of time by not using assembly reflection on some tasks.
- Fixed Skyrim's default starting FormID on new mods to be 0x800.
- Fix for binary overlays not disposing properly, leaving files in use.
- Bugfix for equality/hash mismatch between ModKey.Null vs default(ModKey).
- LinkCache fixes for both deep records, and LinkInterfaces.
- SkyrimLE parsed through the Relationship record.
v0.9.0.0
- SkyrimLE parsed through MusicType
- Adjusted FormLinks to be readonly structs. Allows FormLink to be easily set in property setters when constructing new objects.
- Adjusted some lists that were nullable unnecessarily
- Standardized type/flag enum naming a bit.
- Lots of internal optimizations and adjustments
v0.8.0.0
- LoadOrder implements IDisposable, which can be used to dispose all contained mods
- LoadIndex deleted, LoadOrder[int] is now the API
- LoadOrder now implements IReadOnlyList
- FormKey.LoadOrderComparer now more easily takes a LoadOrder object
- LoadOrder.ImportFactory to create/fill a load order more easily