[eUTIL] Mod manager 1.0.4

By on November 19, 2012 4:56:26 AM from Elemental Forums Elemental Forums

ev4debug

Join Date 12/2007
+9

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!


Pinned, Locked Post 232 Replies +3
Search this post
Subscription Options


Reason for Karma (Optional)
Successfully updated karma reason!
November 19, 2012 5:34:26 AM from Elemental Forums Elemental Forums

If you are going to wipe the mod directory, please put a warning popup for that. I'm sure a lot of people would hate to accidentally delete their mod directories. The same goes for the potential to "restore" the installation directory as well, since there are a lot of people tweaking things in the installation folder.

If this is something you plan on continuing to develop, I will change the next SW release to use your program after you release it (if the player wants to, obviously won't be forced). This is really great and I think would help people install and see incompatibilities and so on.

Ten thumbs up from me.

 

Reason for Karma (Optional)
Successfully updated karma reason!
November 19, 2012 5:45:29 AM from Elemental Forums Elemental Forums

Also a feature I would like to request. In addition to /INSTALL/ and /MODS/ we could use /MAPS/.

For whatever idiotic reason, the game only reads in maps and tactical maps from Documents\My Games\FallenEnchantress\Maps\ and tactical maps from Documents\My Games\FallenEnchantress\Maps\TacticalMaps\. You'll notice these are outside the /mods/ folder. I haven't added any maps myself because it would mean another folder the user would have to worry about, but if your Mod Manager could handle it seamlessly... I'd do it.

Reason for Karma (Optional)
Successfully updated karma reason!
November 19, 2012 5:49:50 AM from Elemental Forums Elemental Forums

Another small request, how the mod manager will handle incompatibilities. Right now it looks like I have to add each version of the other mods that my own mod is not compatible with? That's a hassle. For example, ALL Master's Affliction mods are incompatible with ALL Stormworld mods, so I don't want to have to update that bit every time they or I release a new one.

Reason for Karma (Optional)
Successfully updated karma reason!
November 19, 2012 5:57:45 AM from Elemental Forums Elemental Forums

Very excited for this to get to 1.0. This will hugely increase ease of use and probably incentive to use mods. Thanks for all your hard work!

Reason for Karma (Optional)
Successfully updated karma reason!
November 19, 2012 6:03:04 AM from Elemental Forums Elemental Forums

Quoting Heavenfall,
Another small request, how the mod manager will handle incompatibilities. Right now it looks like I have to add each version of the other mods that my own mod is not compatible with? That's a hassle. For example, ALL Master's Affliction mods are incompatible with ALL Stormworld mods, so I don't want to have to update that bit every time they or I release a new one.

I'm on my way to think about a good method to handle incompatibilities.

At the moment the section    

<ModCompatibility>

contain the tag

<NoCompatibility>1</NoCompatibility>

to tell the program that this MOD is NOT compatible at all (Master's Affliction).

the <item> section is not used at the moment, is a work in progress on how handle mod interaction (if mod X is compatible with mod Y but nod mod Z....)

 

Reason for Karma (Optional)
Successfully updated karma reason!
November 19, 2012 6:05:30 AM from Elemental Forums Elemental Forums

Quoting Heavenfall,
Also a feature I would like to request. In addition to /INSTALL/ and /MODS/ we could use /MAPS/.

.....

Ops, forgotten this detail, noted...

Reason for Karma (Optional)
Successfully updated karma reason!
November 19, 2012 6:43:59 AM from Elemental Forums Elemental Forums

Really nice work

I have something for the"what is dreamed" list, interface mods basically even if two mods are incompatible there might one day be a mod that creates an interface between the two so they can work together, changing a few files here and there etc.

Its just that while you are thinking on how compatibility is defined between mods that might be something to keep in mind

Reason for Karma (Optional)
Successfully updated karma reason!
November 19, 2012 7:41:25 AM from Elemental Forums Elemental Forums

I wonder if it would be smarter not to have the setup file as .xml. It may confuse people. Maybe it would be smarter to have it as .txt or even your own file ending. I'm thinking that it would be easier for me, as a modder, if there was only one file that the players downloaded. Ie, it should be the same .zip for those who download and use the manager, and those who don't. A .xml file might confuse people that don't use the manager.

Reason for Karma (Optional)
Successfully updated karma reason!
November 19, 2012 8:58:32 AM from Elemental Forums Elemental Forums

Quoting Heavenfall,
I wonder if it would be smarter not to have the setup file as .xml. It may confuse people. Maybe it would be smarter to have it as .txt or even your own file ending. I'm thinking that it would be easier for me, as a modder, if there was only one file that the players downloaded. Ie, it should be the same .zip for those who download and use the manager, and those who don't. A .xml file might confuse people that don't use the manager.

 

Uhm...

well, file exension is not a problem as long as the content is valid xml.

I'm thinking about removing the format specification for the zip file..with some minor change on my logic i can use the archive as they are now (adding only the configuration file).

rumble rumble klang klang...gears turning 

Reason for Karma (Optional)
Successfully updated karma reason!
November 19, 2012 9:00:16 AM from Elemental Forums Elemental Forums

Yeah, I meant the file extension. The content I don't care about.

Reason for Karma (Optional)
Successfully updated karma reason!
November 19, 2012 9:02:55 AM from Elemental Forums Elemental Forums

 I thought another thing. Dependencies. I use those a lot in my mod. For example Stormworld_Quests requires Stormworld_ExpandedFactions_Champions. Something to support that would be great.

Edit: Looks like you already have it in the xml. Never mind!

Reason for Karma (Optional)
Successfully updated karma reason!
November 19, 2012 9:16:01 AM from Elemental Forums Elemental Forums

Good!

with a few modifications to the logic of the xml file and to the source code, I can use the zip as they are distributed now ...

Why I made things so complicated before? Shame on me

So the only limit now is zip format  

Reason for Karma (Optional)
Successfully updated karma reason!
November 21, 2012 5:06:09 PM from Elemental Forums Elemental Forums

Development Update

What is done (with some bug here and there):

  • dependecies management (like, in Stormworld, selecting Quest also select Expandend Faction and Reliquary, deselecting Expanding Faction also deselect Quest)
  • backup management (for file modified in the FE installation direcotry); backup file are stored in zip archive
  • before mod installation the program delete all MOD directory contents (after user warning and approval)
  • before mod installation the program delete all MAPS directory contents (after user warning and approval)
  • basic mod conflict management  (only total incompatibility is managed like Master's Affliction)
  • minimun impact on modder for mod distribution ("configuration.femm" is the only file needed, no change to actual archive structure)

What is under bug hunting (is done, but with major bug that do not allow a correct execution)

  • mod installation

what is under reengineering (some code written...was garbage...starting again from scratch)

  • before mod installation the program restore backup in FE install directory (restore only file modified by the mod after user warning and approval)
  • complex mod conflict management

what is dreamed:

  • do not wipe MOD direcotry (delete only mod related file)
  • wizard to create configuration file
  • bug free program
  • idea are welcome!

if all goes well (bug on mod installation solved) I will release an alpha version tomorrow

Ciao

 

 

Reason for Karma (Optional)
Successfully updated karma reason!
November 21, 2012 5:17:15 PM from Elemental Forums Elemental Forums

A minor thing, but something for the modders. I don't know if this is how you do it already. When you wipe the mod or installation folder, the "user approval" should be a yes/no but there may also be a third option, ignore.

Basically, for the common user, it makes sense to be "strict". But wiping a modder's mod or installation directory could get you some very angry letters. It's where we keep our mods before release after all. So the mod manager should ask for user approval to wipe installation/mod folder, but if the player selects "ignore" it proceeds with the installation anyway, it just doesn't do the wipe first.

Hm... I'm having trouble explaining myself properly.

User decides to install a mod.

Program asks: Warning: You must wipe the /mods/ directory in order to proceed! Do you want to do this?

Yes - program wipes and proceeds

No - installation is cancelled

Ignore Warning - Program does not wipe, installation proceeds

 

 

Another suggestion, in the mod "description" window you could also have text that describes dependencies and incompatibilities. So the user isn't surprised when some of those boxes suddenly get ticked in. Although I guess technically there's nothing stopping us from putting that in ourselves.

Reason for Karma (Optional)
Successfully updated karma reason!
November 21, 2012 5:33:52 PM from Elemental Forums Elemental Forums

At the moment is:

Program asks: "Do you want to delete all the content in  <MODS or MAPS> directory?"

Yes - program wipes and proceeds

No - program proceeds (no wipe)

As i'm well known to make bad user interaction option i definitively switch to the Yes\No\Ignore option

(i think this last sentence is written in a bad english...sorry for that)

For the description, you mean some automatic runtime mechanism? Obviously is possible to insert all the information needed in the xml description tag

     
Reason for Karma (Optional)
Successfully updated karma reason!
November 21, 2012 5:54:20 PM from Elemental Forums Elemental Forums

Yeah, that's probably easier.

Just nitpicking, but it may be even better to have

"Warning! You must delete all content in folders X before proceeding or there may be issues. Do you want to delete all the content in the /mods/ directory?"

Proceed

Cancel

Ignore Warning

Reason for Karma (Optional)
Successfully updated karma reason!
November 21, 2012 6:00:27 PM from Elemental Forums Elemental Forums

Excellent idea.  When do you expect to have something you want to share with others?

Reason for Karma (Optional)
Successfully updated karma reason!
November 21, 2012 6:05:12 PM from Elemental Forums Elemental Forums

Thanks for the tips!

new message box style inserted in the TODO list

 

Reason for Karma (Optional)
Successfully updated karma reason!
November 21, 2012 6:08:15 PM from Elemental Forums Elemental Forums

Quoting Glazunov1,
Excellent idea.  When do you expect to have something you want to share with others?

If I can solve a few very annoying bugs, tomorrow is the day (is 22/11 00:06 in Italy, so at least 24 hour from now)


Reason for Karma (Optional)
Successfully updated karma reason!
November 21, 2012 6:16:23 PM from Elemental Forums Elemental Forums

this looks quite cool indeed which language are you using, is it C# by any chance? I'm working on an item editor at the moment and maybe we can merge it into one in a not to distant future

Reason for Karma (Optional)
Successfully updated karma reason!
November 21, 2012 6:45:08 PM from Elemental Forums Elemental Forums

yes, c#, .NET framework 4

Reason for Karma (Optional)
Successfully updated karma reason!
November 21, 2012 7:10:29 PM from Elemental Forums Elemental Forums

Very nice! I'll make sure to send you a PM when it's done ( should be before the end of the week);

Reason for Karma (Optional)
Successfully updated karma reason!
November 22, 2012 9:31:00 AM from Elemental Forums Elemental Forums

FIRST: this is an alpha version, with bugs. At this point, i suggest you to use temporary folder for installing core file and mods files (i.e.: create and empty "C:\tmp\FallenEnchantress" where install core file, "C:\tmp\MODS" for mods file and "C:\tmp\MAPS" for maps file) and do some installation test. After that, backup all your FE data (core and mods file), and use real path for your installation.

Alpha release is ready, install from here

At the moment I've prepared configuration file for this mod:

download the file, rename in "configuration.femm" and insert into zip archive

For Master's affliction you need to recreate the archive in zip format (do not rename in .zip!)

For Stormworld, you need to extract the archive "Stormworld_Rivermod\TerrainTypes.rar" in the folder "Stormworld_Rivermod_TerrainTypes" (in the root of the zip archive)

 

Known bug:

  1. no user manual
  2. no check box on root node on start up (they magically appear after checking a child node)
  3. sometimes tree expand/collapse wrongly
  4. backup of MODS file create the file in a directory with the same name
  5. zip backup have problem and restore backup of core file does not work
  6. Progress bar 'tilt'
Reason for Karma (Optional)
Successfully updated karma reason!
November 22, 2012 9:37:56 AM from Elemental Forums Elemental Forums

Reason for Karma (Optional)
Successfully updated karma reason!
November 22, 2012 11:03:40 AM from Elemental Forums Elemental Forums

I'll put up a full Stormworld release with a config file in a bit. That configuration doesn't look right for the rivermod.

Reason for Karma (Optional)
Successfully updated karma reason!
Stardock Forums v1.0.0.0    #108432  walnut2   Server Load Time: 00:00:00.0000547   Page Render Time: