Skip to content

v2.0.280

Compare
Choose a tag to compare
@alexrp alexrp released this 13 Dec 17:25
· 180 commits to master since this release
v2.0.280
f13cd07
  • Updated to .NET 8.0.0.
  • Updated library dependencies.
    • Updated protobuf-net to 3.2.26.
  • Applied [SkipLocalsInit] to all libraries.
  • Applied [DisableRuntimeMarshalling] to all libraries.
  • Vezel.Novadrop.Formats
    • Added a TrimExcess method to DataCenterNode.
    • Removed the SetAttribute method from DataCenterNode (it was never meant to be public).
    • Changed the Name property on DataCenterNode to be mutable (if the node is actually mutable).
    • Added a collection of navigation extension methods for DataCenterNode.
    • Rearranged fields on DataCenterValue to reduce memory usage.
    • Fixed some memory safety issues due to incorrect usage of Unsafe and MemoryMarshal classes.
  • Vezel.Novadrop.Client
    • Overhauled client and launcher interaction APIs.
      • The message server types now encapsulate just a window, rather than both a child process and a window. It is now the responsibility of callers to actually start the child process.
      • Renamed GameProcess to GameMessageServer, ClientProcess to ClientMessageServer, and LauncherProcess to LauncherMessageServer.
      • Renamed ClientProcessOptions to ClientMessageServerOptions and LauncherProcessOptions to LauncherMessageServerOptions.
      • Removed the FileName and Language properties from ClientMessageServerOptions.
      • Removed the FileName property from LauncherMessageServerOptions.
      • Removed the Id (process ID) property from GameMessageServer.
      • Replaced the RunAsync() method on GameMessageServer with Start factory methods on ClientMessageServer and LauncherMessageServer.
      • Implemented IDisposable on GameMessageServer.
      • Added OpenWebsiteRequested and OpenSupportWebsiteRequested events to ClientMessageServer.
    • Removed all Vezel.Novadrop.Memory and Vezel.Novadrop.Patches APIs.
  • Vezel.Novadrop.Interop
    • Introduced a low-level library for in-memory interoperation with the game client (e.g. after assembly injection with Ruptura).
    • The interop bindings target the unpacked r387486 client by default, but the API allows overriding address resolution if needed.
    • This library should be considered experimental; the API shape will evolve over time without the usual major version bumps required by Semantic Versioning.
  • novadrop-dc
    • Fixed validation errors during pack not having line and column information.
    • Changed validation diagnostics to be printed in a more machine-friendly way (<file>(<line>,<column>): <severity>: <message>).
  • novadrop-run
    • This tool has been removed as it did not appear to have any users; it mostly served as a tech demo for the Vezel.Novadrop.Client APIs.
  • novadrop-scan
    • This tool has been removed as it became obsolete when the game stopped being updated.