Releases: zencq/libNOM.io
0.14.2
0.14.1
Some remaining changes for Worlds Part II and support for Relics as well as some improvements for the CLI.
Added
- Proper support for Worlds Part II patch 5.53 with new meta size
- Tests for Worlds Part I and II on all platforms
- Support for game version Relics 5.60
- Detection for new packaged technology
- Relics Expedition
Changed
- CLI
- Renaming
Json*arguments to make their purpose easier understandable
- Renaming
- Bump libNOM.map from 0.13.5 to 0.13.6
Fixed
- CLI
- Force stdout encoding for the read action to be UTF-8 as the default one may not support all characters and can break the resulting JSON
- Exception when having a really high play time (
IContainer.TotalPlayTimeis nowulong)
0.14.0
It started with an stdin/stdout option for the CLI which caused some API changes, followed by a refactoring, and ended with updates for Worlds Part II 5.50 including fixes and changes missed from previous game updates.
Added
- CLI
- Read action to read a (save) file and write the plaintext JSON to stdout
- Write action to take plaintext JSON from stdin and write it to a (save) file
- Parameter for
Transferto ignore incomplete user identification - Support for game version Worlds Part II 5.50
- Detection for new packaged technology
- Difficulty setting for NPC population is taken into account
- Titan Expedition
Changed
- Files in backups are now only prefixed with
data/metaand no longer completely renamed to make manual backups a little easier - The static class
libNOM.io.Global.Commonis no longer public accessible libNOM.io.Global.ConvertToJson()now returns the plaintext JSON if no output is specified instead of writing to a default file(name)ToJson()andToSaveContainer()now accepts string or FileInfo for the input fileToSaveFile()methods now only accepts a FileInfo if you want use a file as input and string is now used to convert plaintext JSON
- Bump CommunityToolkit from 8.3.2 to 8.4.0
- Bump SharpCompress from 0.38.0 to 0.39.0
- Bump libNOM.map from 0.13.4 to 0.13.5
Removed
JObject.GetString(this JToken self, bool indent, bool obfuscate)extension
Fixed
- CLI
- An exception when using
Convertwithout specifying an output
- An exception when using
- Missing
IsVersion525TheCursedWithCrossSaveinIContainer - Use
IContainerinstead ofContainerto implementIComparableandIEquatableofIContainer - Packaged technology disappears due to the hashes no being UTF-8 conform (#122 in the NomNom repository)
- Crash caused by changes in the Microsoft platform (#232 in the NomNom repository)
- Difficulty setting for fishing added in Aquarius 5.10 was not taken into account
0.13.0
Updated target frameworks according to the .NET release lifecycle, a critical fix for technology packages, and some other changes here and there.
Added
- Beachhead Expedition Redux (2024)
- Holiday 2024 Expeditions
Changed
- Now also targeting .NET 9 according to supported versions in the .NET release lifecycle
- No longer targeting .NET 6 and .NET 7 (can be still used thanks to .NET Standard)
PlatformCollection.AnalyzePathnow also checks direct subfolders if path itself has no valid platform data- Similar to how default locations for PC platforms are added
- Now returns
IEnumerable<IPlatform>instead ofIPlatform?
PATHof PC platforms is not publicly accessible- Bump libNOM.map from 0.13.3 to 0.13.4
Fixed
- Technology packages gone after saving due to the hashes no being UTF-8 conform (#210 in the NomNom repository)
0.12.2
Update for The Cursed, and some chores.
Added
- Support for game version The Cursed 5.20
- The Cursed Expedition
Changed
- Bump CommunityToolkit from 8.3.0 to 8.3.2
- Bump libNOM.map from 0.13.2 to 0.13.3
Removed
- Explicit type (uint) from custom Enums
0.12.1
Just some bug fixes.
Changed
- Bump libNOM.map from 0.13.1 to 0.13.2
Fixed
- Creating a backup when the meta file does not exist
- Rebuild sets SaveVersion in JSON when resetting and therefore preventing other properties from being calculated correctly
0.12.0
Refactoring incl. some bigger changes and updating to latest version of the game.
Added
- Extension to get actual expedition number from
SeasonEnum(e.g. Cartographers is always 3rd, Liquidators 14th) - Another callback
IContainer.JsonChangedCallbackthat gets invoked whenever the JSON inside changed (via the available API) - New overload for
IPlatform.RestoreBackupto enable writing directly to disk - Support for game version Aquarius 5.10
- Aquarius Expedition
Changed
- Renamed
IContainer.WriteCallbacktoPropertiesChangedCallbackto be more precise when it gets invoked - Renamed
IPlatform.BackuptoCreateBackupandIPlatform.RestoretoRestoreBackup - Bump CommunityToolkit from 8.2.2 to 8.3.0
- Bump libNOM.map from 0.13.0 to 0.13.1
Removed
- Removed
IContainer.SetJsonObjectfrom the public API, useIPlatform.Rebuildinstead which will update and invoke everything properly - Removed
IContainer.BackupRestoredCallbackin favor of new callback combination
Fixed
- Always invoked
IContainer.WriteCallbackeven ifOnWatcherDecisionwas not executed - Importing plaintext JSON files
0.11.0
Adjustments to metadata size and Worlds Part I integration in general.
Added
- Proper support for Worlds 5.00 on Nintendo Switch
Changed
- Bump libNOM.map from 0.12.1 to 0.13.0
- Renamed
GameVersionEnum.WorldstoWorldsPartIto better match to official naming
Fixed
- Wrong metadata size in some case
0.10.1
Some critical improvements for the Microsoft platform.
Added
- Support for changed save format on Microsoft platform in Worlds 5.01.1
Changed
- Make
Common.DeepCopy()public
Fixed
- Wrong metadata size when transferring save to container with other size
0.10.0
Update for Worlds Part I, including support for the new save format on Steam/GOG.
Added
GetStringextension forJTokenthat is now used by the one forJObject- Support for game version Worlds 5.00
- Liquidators Expedition
Changed
- Renamed
IsVersion452OmegaWithV2inIContainertoIsVersion452OmegaWithMicrosoftV2 - Renamed
COUNT_SAVE*constants toMAX_SAVE*and made them publicly available - Bump libNOM.map from 0.12.0 to 0.12.1
Fixed
- Crash if
Platform.GetHashCode()is used