ev4debug ev4debug

[eUTIL] Mod manager 1.0.4

[eUTIL] Mod manager 1.0.4

Hi All!

Since i like playing both Stormworld and Master's Affliction and I'm tired to do all the copy & paste needed to switch the mod, I'm writing a little mod manager to do the stuff.

Started as hard coded file copy & paste, now is a little more complex and can manage more mod with easy (more o less...).

FE ModManager

 

FE Mod Manager 1.0.4 is out!  Now with mod update check!

Online setup will autoupdate

here you can download online setup

here you can download standalone setup (uninstall online version prior to install this)

FE Mod Library page

FE Nexus page


Development status (info about implemented functions e currents TODO)

FE Mod Manager Guide

 

Mods supporting the Mod Manager

Stormworld

LargeUI

Snaking

Henchwomen

Summonunits (both versions)

Amarain Sacrificial Elementals

River City Bridge

Tent Building Style

Heroes

 

 

For the  mod developers:

Manual for configuration.femm and version.femm

xsd schema used for configuration.femm, FEMM.xsd, can be downloaded here

xml sample can be downloaded here

you can check xml with the xsd file here

when v1.0 is ready i'll try to create a configuration for all the mod released but i need your help for inserting the file in your release (and keep it updated when new mod version are released). THANKS!


638,879 views 232 replies | Pinned
Reply #51 Top

Is there a schema for the nocompatibility tags?

Reply #53 Top

Update!

Added "Install and play" button

Added some more option :grin:

Reply #54 Top

So this

    <ModCompatibility>
        <NoCompatibility>MastersAffliction</NoCompatibility> 
    </ModCompatibility>

would mark them as incompatible?

 

Reply #56 Top

Quoting Heavenfall, reply 55
So this

    <ModCompatibility>
        <NoCompatibility>MastersAffliction</NoCompatibility> 
    </ModCompatibility>

would mark them as incompatible?

 

No, <NoCompatibility> is a byte, inserting this:

    <ModCompatibility>
        <NoCompatibility>1</NoCompatibility> 
    </ModCompatibility>

on configuration file of Master's Affliction mod mark it as incompatible.

At the moment is the only type of compatibility management inserted

I had a moment of laziness and I've created automatically the xsd from xml, need some work on it :blush:

Reply #57 Top

Incompatible with what? Sorry, I don't understand how to set up our mods as incompatible.

Reply #58 Top

 incompatible with all other mod. 

management of single mod incompatibility is on development 

Reply #59 Top

Are you kidding me?  THIS IS AWESOME!111

I love mods, I've spent 10's of hours just figuring out how to get the mods I want all working together with the fallouts and skyrims.

Mod management is wonderful!! 

 

With that said, I'm still relatively new to the file structures so I'll probably wait till a beta or real release, but I'll be following the thread.

Reply #60 Top

nice to see it evolving a little suggestion on the comp ability issue

i suggest creating a compaility node which looks like this

<ModCompabilities>

Code: xml
  1.  
  2. &lt;Compatibility&gt;
  3.     &lt;CompatibilityMode&gt;X&lt;/CompatibilityMode&gt;
  4.     &lt;Mod&gt;mod1&lt;/Mod&gt;
  5.     &lt;Mod&gt;mod2&lt;/Mod&gt;
  6.     &lt;Mod&gt;mod3&lt;/Mod&gt;
  7.     ....
  8.   &lt;/Compatibility&gt;

 

X would be an int

0 = generally compatible

1 = generally incompatible

2 = stand alone

 

you can chose multiple 0value mods to go with a 1value mod but no two 1value will go together and unless they are each listed in each others mod list, and a 2 value mod will only allow the mods from its mod list,

this should give enough flexibility for determining mod compatibility.

a nice 4value would be that it merges mods thus allowing all mods from the mod list to be chosen disregarding their individual compatibilities.

( someone on the forum is already working on that for master affliction and stormworld as far as i have seen)

 

Reply #61 Top

Quoting sargittar, reply 61
X would be an int

0 = generally compatible

1 = generally incompatible

2 = stand alone

 

scratch that just make it a string easier to read in the xml :D

Reply #62 Top

When the mod manager starts the game for me it starts it running in the wrong directory. You should use Install directory assigned in the mod manager instead of fetching it from the registry.

+1 Loading…
Reply #63 Top

Code: c#
  1.     public List&lt;Mod&gt; chosenMods = new  List&lt;Mod&gt;();
  2.     private bool standalone = false;
  3.     private bool incompatible = false;
  4.     private List&lt;Mod&gt; availableMods = new  List&lt;Mod&gt;();
  5.     public bool available ( Mod newMod, List&lt;Mod&gt; availableMods){
  6.         
  7.         switch(newMod.compatibility){
  8.         case "generallyCompatible":
  9.             if(!standalone)return true;
  10.             break;
  11.         case "generallyIncompatible":
  12.             if(incompatible){
  13.                 if(availableMods.Contains(newMod))
  14.                     {foreach(Mod M in availableMods){
  15.                         if(!newMod.compatibileList.Contains(M)){availableMods.Remove(M);}
  16.                     }                            
  17.                 return true;
  18.                 }
  19.                 else
  20.                     {return false;}
  21.             }else
  22.                 {incompatible = true; return true;
  23.             }
  24.             break;
  25.         case "standalone"
  26.             if(incompatible){
  27.                 if(availableMods.Contains(newMod))
  28.                     {foreach(Mod M in availableMods){
  29.                         if(!newMod.compatibileList.Contains(M)){availableMods.Remove(M);}
  30.                     }     
  31.                     return true;
  32.                 }
  33.                 else
  34.                     {return false;}
  35.             }else{
  36.                 incompatible = true; standalone = true; return true;
  37.             }
  38.             break;
  39.             
  40.             
  41.         }    

 

that should do it assuming you use classes for the mods and add in the relevant properties. on a side not typing too much unexpected code breaks intellisense :(

+1 Loading…
Reply #64 Top

This looks great! Following.

Reply #65 Top

Looks like a wonderfull Idea, following as well!

Great Job!!!

Reply #66 Top

Thanks sargittar, i've not yet decided how to manage compatibility, your suggestion is very much appreciated!

Reply #67 Top

1.5k Stormworld now uses the mod manager. Thanks a lot for making this installation stuff easier for the less technically inclined.

 

Reply #68 Top

I will see if Werewindle can suss some of this out. I do not have the inclination to learn how to make ours compatible. But he is much more versed in teh codes.

Reply #69 Top

Used it to install Stormworld, pretty slick. Nice job!

Reply #70 Top

:thumbsup:

Reply #72 Top

Update, version 0.3:

  • [0.3] “INSTALL & LAUNCH GAME” button to install mods and launch the game
  • [0.3] before mod installation the program restore backup in FE install directory (restore only file modified by the mod after user warning and approval)
  • [0.3] “RESTORE INSTALL DATA” button to restore backup of core xml fil

 

 

Reply #73 Top

Help request: I need some help for the program interface...someone want to design a nice interface for the Mod Manager? If deployed as a c# form class will be perfect.

I must admit that I stink at drawing decent interfaces...and I'm jealous of Quest Wizard interface :-"

 

Edit: also a nice icon for the program.... :inlove:

Reply #74 Top

About restoring FE core files

At the moment, everytime a mod overwrites a core file, this file is inserted in a backup zip (one backup zip for each mod).

Restoring data simple unzip this files on the FE install directory.

The restoring process work fine only if installed mod modify different core file; if the same file is modified by two or more mods, probably the restore function fail, restoring the wrong file.

I think this problem is connected with compatiblity issue (i think to open a thread about compatibility issue,to make a more focused discussion)

 

Reply #75 Top

Not sure how I missed this but this is a step in the right direction. Combined with having a Nexus (which is more likely to pick up traffic than the other mod site) the game hopefully will spread along nicely. Seeing a Mod Manager is very appealing as it means the game can be adapted to your personal tastes. I really enjoy them for managing smaller mods, like the City Snaking mod, great for knowing what modifications you have installed when the directory starts getting a bit hectic.

Expectations surpassed k1 .

This appeared quite quickly, or maybe my knowledge of software development is really that bad :( I was supposed to do a unit on it but I got fairly sick. Also having the mod version easily viewable is nice too, since mods seem to progress pretty quickly currently and helps for easy reference when updating. A little disappointed I can't contribute really.