Skip to content

Modot 2.0.0

Compare
Choose a tag to compare
@Carnagion Carnagion released this 12 Aug 08:06
· 16 commits to stable since this release
bcd6493

Multiple new features, tweaks, and bugfixes.

Additions

  • Extension methods for Godot.Error
  • Mod XML patches
    • IPatch interface
    • NodeAddPatch to add or insert a new XML node
    • NodeRemovePatch to remove an XML node
    • NodeReplacePatch to replace an XML node
    • AttributeSetPatch to add or set the value of an attribute
    • AttributeRemovePatch to remove an attribute
    • TargetedPatch for targeting specific XML nodes using XPath strings
    • MultiPatch for executing multiple patches in order
    • ConditionalPatch to execute patches based on a condition
      • ICondition interface
      • ModLoadedCondition to check if a mod is loaded
      • NodeExistsCondition to check if an XPath query has any matches
      • OrCondition to execute patch if one of many conditions are satisfied
      • AndCondition to execute patch if all of many conditions are satisfied
      • NotCondition to invert condition
    • LogPatch to log XML data before and after applying another patch

Tweaks

  • Namespaces and folders have been refactored
  • Mod data is no longer exposed as an XML node
    • Exposed as an XML document instead
  • XML node types are compared using is rather than NodeType
  • Mod assemblies are now invoked only after all mods are loaded and all patches are applied
  • DirectoryExtensions.CopyContents() now returns copied file paths in an array

Bugfixes

  • Mod XML data is now properly loaded and stored with a consistently named root element
  • (De)serialization works properly due to updated dependencies, including GDSerializer