File and Folder Structure Support

Harmony Mods ››
Parent Previous Next

Harmony support using DMT maintains the existing SDX / Modlet format, but adds an additional folder for Harmony Scripts.


Mods/

       MyMod/

               mod.xml            - Used by DMT to display information in the tool

               ModInfo.xml   - Used by the game to display information in the game's log file (Optional: This will be generated from mod.xml if it does not exist )

               PatchScripts/ - Backward compatibility to allow SDX-style Patch Scripts

               Scripts/          - New Classes and other scripts.

               Harmony/          - New Harmony-style Patch Scripts.

               ItemIcons/          - Location for Icons

               Config/          - Location for XML XPath files

               Resources/          - Location for unity3d assets

               Texture/          - Location for additional UI textures

               Textures/          - Location for additional UI Textures ( Same as above, but used in case someone has pluralized it)



mod.xml:


This file is read by DMT to register the mod to be displayed, and included in the build.


<mod>

 <info>

   <author>sphereii</author>

   <name>Bloom's Animal Husbandry</name>

   <description>Bloom's Animal Husbandry Kit (SDX Mod)</description>

   <mod_version>1.0.0.0</mod_version>

 </info>


 <dependencies>

   <dependency>Hal's DLL Fixes</dependency>

   <dependency>SDX_EAITasks</dependency>

   <dependency>SDX_Quests</dependency>

   <dependency>SDX_Buffs</dependency>

   <dependency>SDX_Dialog</dependency>

   <dependency>SDX_EntityAliveSDX</dependency>

   <dependency>SDX_SpawnFromEntityGroup</dependency>

 </dependencies>

</mod>


ModInfo.xml:


This file is read by the game to register itself with the game and allows it to be loaded. If this file does note exit, DMT will create it from the mod.xml.


<?xml version="1.0" encoding="utf-8"?>

<xml>

 <ModInfo>

   <Name value="Bloom's Animal Husbandry" />

   <Description value="Bloom's Animal Husbandry Kit (SDX Dependency)" />

   <Author value="sphereii" />

   <Version value="1.0.0.0" />

 </ModInfo>

</xml>


PatchScripts/:


This optional folder can contain C# Patch Scripts, which implements the IPatcherMod interface. These scripts are designed to directly edit the DLL at build time.


Scripts/:


This optional folder can contain C# Scripts which DMT will compile into the Mods.dll, and adds new classes to the game.


Harmony/:


This optional folder can contain C# Harmony Scripts, which implements the IHarmony interfaces. These scripts are designed to be compiled into their own standalone library, and stored in their Mods folder structure. These scripts are loaded when Harmony is initialized and allows interception of methods at run-time.


ItemIcons/:


This optional folder can contain icons used by the game using vanilla mod support.


Config/:


This optional folder can contain XML XPath files which will be loaded and merged into the game's main XML in memory, using vanilla mod support.


Resources/:


This optional folder can contain unity3d bundles, which are used to load custom assets into the game, using vanilla mod support.


Texture/ and Textures/:


These optional folders can contain textures and other PNGs used by the UI, using vanilla mod support in conjunction with the Config/ XPath vanilla mod support.


Created with the Personal Edition of HelpNDoc: Benefits of a Help Authoring Tool