HoN Modification Manager 1.3.6
Table Of Contents:
3. Installation & Usage
5. The .honmod File Format
6. Mod Manager Source
8. Special Thanks
What is this?
This is a program designed to remove mod incompatibilities and the need to update mods every new patch. It is also capable of maintaining a list of installed mods which can be enabled/disabled individually and offers an automatic update feature for mods.
What is the downside?
Compatible mods need to come in a format different from the simple resources*.s2z scheme, which is usually a little more work for modders to create. (There are however facilities implemented allowing simple conversion from .honmod to .s2z)
Incompatibilities with ".s2z mods" will persist as well (unless they are converted to the new format).
What does it look like?
Like this: (shown are three example mods)
(click to view full size)
How does it work?
When choosing "Apply Mods" from the program menu the enabled mods are applied to the original files from resources0.s2z and compiled into a single s2z mod named "resources999.s2z".
Back To Top
Click Me! - [Mediafire mirror]
Linux users may be interested in this modman build using GTK# by theli.
3. Installation & Usage
To install the program download the zip file linked above containing the program. You can place it anywhere you wish. Linux and MacOS users need Mono to run it.
The program will try to detect the location of your Heroes of Newerth install automatically; if it can't it'll ask you for the folder (usually something like "C:\Program Files\Heroes of Newerth").
To install mods (*.honmod files) put them into the mods directory (see below for locations) or drag them onto the program window (Windows only). Any mod files in that directory that are compatible will automatically show up in the program.
To use installed mods you need to enable them first (e.g. by double-clicking on them), then select "Apply Mods" from the "File" menu. You'll need "Apply Mods" each and every time the game was patched or you have installed/uninstalled/updated any mods. The program will remind you of this.
The default locations for the mods directory are:
Windows: C:\Program Files\Heroes of Newerth\game\mods
Linux: /home/<username>/.Heroes of Newerth/game/mods
MacOS: /Users/<username>/Library/Application Support/Heroes of Newerth/game/mods
This directory will be automatically created when you launch the mod manager the first time and can be easily be accessed from the "Open Mod Folder" option in the "File" menu.
Where do I get mods in the correct format?
In the HoNMod Repository you will find a pretty complete list of all mods that are currently available in the mod manager's format.
Notes regarding running it under Linux
Hints for Mac OS users
Back To Top
Back To Top
5. The .honmod File Format
Back To Top
6. Mod Manager Source
Mod Manager was written in Visual Basic .NET for the .NET framework 2.0 (2005). The code only uses OOP features where it's of immediate use and generally does not provide a good interface to build on as UI code is intertwined with functional code.
Nevertheless, below a download of all source files and a Visual Studio 2005 solution & project is provided.
Download, read and use at your own risk.
Do whatever you want with it; it would however be nice if you gave credit when you reuse parts of the code. I was too lazy to include a proper license, but I'm not gonna sue anyone anyway. We're all doing modding just for fun, right?
Back To Top
Back To TopCode:v1.3.6 [31.03.10]: Fixed detection of MacOS, Mono was lying and telling modman it was Unix / Linux. This should also fix the default HoN installation directory under MacOS not being auto-detected. v1.3.5 [31.03.10]: Fixed version 1.3.4 which wouldn't work at all for Linux / Mac users because the ~ shortcut for the user directory could not be used. v1.3.4 [30.03.10]: Adapted mod directories for Linux and Mac in accordance to patch 0.3.1. For Linux and Mac users .honmods now go into a different directory, see section 3. v1.3.3 [25.03.10]: Fixed a cosmetic bug. v1.3.2 [25.03.10]: Fixed a bug where version requirement strings were found not to be matching when they really were. v1.3.1 [22.03.10]: Fixes ===== - Fixed a crash when a honmod file could not be copied into the mods folder, and replaced it with an error message. - Fixed a minor internal bug. v1.3.0 [21.03.10]: File Format =========== <no changes> User Interface ============== - Added an option to display version numbers behind the mod names (as was default pre-1.1). - Displayed mod names can now be edited, and mods are now always sorted by name. - Fixed "missing required mod" error messages to properly display the mod name and suggest to visit the mod's website for a link to the required mod. - Multiple mod selection is now possible. - Cleaner, less cluttered update reports. Features ======== - .honmod files can now be "opened with" the mod manager, installing them. Added a prompt on first run to register the file type and options to un/register the file type. [file type association is Windows only] - Added a feature to export selected enabled mods as s2z file. This can be accessed from the context menu ("right-click menu"). - Hopefully added support for the upcoming FE2 user interface overhaul. This only concerns the automatic reminder to re-apply mods after patching. v1.2.2 [08.02.10]: Fixes ===== - Fixed a bug with dependency cycle detection causing it to be over-cautious. v1.2.1 [26.01.10]: Fixes ===== - Fixes two bugs and a spelling mistake introduced in 1.2. The bugs were concerning ignoring of modification compatibility/ordering instructions if they were placed after a non-empty editfile tag and skipping ahead too far when skipping editfile blocks with unfulfilled conditions. v1.2.0 [18.01.10]: File Format =========== - Added <findup/> operation (synonyms seekup and searchup) which searches backwards. - Added <applyafter name="modasdf" version="3.0"/> directive setting mod application order in case that other mod is enabled as well (and "applybefore", similary). - Added an optional "condition" attribute to editfile and copyfile which allows the tags to only have effect if a given condition is true. A condition can consist of another mod being enabled or disabled or a boolean expression combining multiple such conditions. See documentation for examples. - When the source for an operation is given in place (not via the source attribute) and all the content is in a CDATA node, then surrounding whitespace-only text nodes are ignored; this should allow for nicer mod formatting. User Interface ============== - When being automatically prompted to apply mods after a patch successful patching will prompt to start HoN. - Pressing the Return key will toggle the selected mod's enabledness. - When choosing "Update Mods" without any updatable mods present it'll say so and not just open a blank window; renamed "Update Mods" to "Download Mod Updates". - All the letters of "Visit Website" should now be part of the link under Linux/MacOS - Removed "Large Icons" view, renamed "List" to "Vertical List" and "Small Icons" to "Horizontal List"; added a checkmark next to the active view. Features ======== - Added option to set command line arguments to use when launching HoN. - When displaying the "String not found" error the first non-empty line of the string is now displayed in the message. - Any error during mod application now comes with the number of the guilty line in mod.xml. Fixes ===== - Fixed a bug with the mod updater where the downloaded new version would become corrupted if its file was smaller than the original version's. - Fixed several cases of hardcoded backslashes to use normal slashes on unix-based systems which should fix a lot of problems on Linux and Mac OS. - If a mod's icon cannot be rendered due to missing implementation of that specific format in Mono, it'll no longer crash, but instead ignore the icon. - "Unapply all mods" now also disables all mods. - Improved path guessing a bit more. - Other small fixes and changes. v1.1.0 [27.11.09]: File Format =========== - Added the <findall/> operation tag: applies the following insert, add, replace or delete to all occurrences of the sought string in the file. - Added attributes updatecheckurl and updatedownloadurl to the modification tag, which specify URLs returning the current mod version in plain text and the current mod file itself, respectively. (only supports HTTP and HTTPS) - Note that it is strongly recommended to set the mmversion attribute to "1.1" when using either of the format additions above. User Interface ============== - Fell back to the default visual style for menus. - Added the refresh (F5) option as menu entry. - Added menu entries to change the view mode of the mod list (some may look the same or similar; possibly a few of the options will be removed later). - Added menu option to open mods folder (also releases all file handles on the mod files). - Added a context menu to the list view, containing "Enable/Disable", "Check for Updates" and "Delete" (all of which have keyboard shortcuts) - Added a a command to delete mods directly from the mod manager window (shortcut key: Del) - Added "unapply all mods" option for people trying to remove their only mod while considering "applying mods" an illogical option. - Mod versions are no longer cluttering the main list view but are now displayed in the status bar when selecting a mod - Made some error messages more explanatory; troubleshooting section will be shortened soon! - Can no longer open multiple instances of the mod manager under Windows. Features ======== - The long anticipated mod updating features are here! See file format changelog for specifics. - When a new patch is released users will be reminded to re-apply their mods in HoN's main menu until they do so. - When launching the mod manager after a new patch has been applied it will suggest to apply mods right away (in case you only started it to do this mandatory reapplying after patches). - Mod enabled-ness is no longer independent from mod applied-ness! When you open the mod manager only applied mods will be enabled (this information is read from resources999.s2z) and if you don't apply mods after enabling/disabling mods it will prompt you to do so when closing the application. - Now guesses most common HoN paths on Windows, Linux and Mac; also uses simple heuristics to strip "\game" and "\game\mods" from wrong user-specified paths. - Now supports retrieving the game version and launching the game on Mac. - Will now automatically request admin privileges when run on an UAC enabled system! Fixes ===== - Incorrect HoN paths are now always properly detected and will cause most functions to disable and the path prompt to appear every time you start the mod manager. - If multiple mod files with the same mod name are found it will now load the one with the highest version number (previously it loaded the one with the lexicographically smaller file name). - Incompatibilities are now properly enforced no matter in what order you enabled two incompatible mods when only one of them specifies the incompatibility (only affects visuals, processing was correct before as well). - Other miscellaneous fixes I forgot about. - Started commenting the code. v1.0.3 [30.09.09]: Fixed "Visit Website" linking to wrong websites Fixed some mods not working on Linux due to line break business "game" folder is not created anymore, if it doesn't exist; "mods" folder creation still as before v1.0.2 [28.09.09]: Fixed ampersands not showing up in the description. Fixed "11/11 mods enabled" field width Added possibility of dropping mod files onto the window to install them (copying them to the game/mods dir) Added option to enter HoN path manually for hidden folder fans. v1.0.1 [27.09.09]: Features under linux should now match those under Windows. (finding the game path automatically, the "apply mods & run hon" option) Fixed "requirement" and "incompatibility" tags preventing compiling. Window position is now remembered. v1.0.0 [27.09.09]: Initial release.
8. Special Thanks
To theli for miscellaneous .net and vital linux advice.
To MaxGhost for offering a lot of support to people and especially for having converted many many mods to the new format in the big rush in the first hours and days after initial release.
To ss4_link for taking the time to get it working under Mac OS and providing a simple first tutorial for mac users.
To metjm who helped a lot in testing the Mac version, thanks to whom it should not stand back from the Windows and Linux versions.
To Cbrad24 for cleaning up this post.
And to everyone else helping me making this a viable alternative to the s2z mod jungle!
Back To Top
Any feedback is welcome!
Last edited by Notausgang; 11-28-2010 at 11:33 AM.
Awesome! Really excited about this!!
Last edited by Avi1231; 09-27-2009 at 04:48 AM.
I always keep HoN running and I assume I need to close it while "Applying Mods". The one thing I'm noticing is when I run it and I have HoN running it gives me an alert message: "Could not detect Heroes of Newerth version. Version checks have been disabled."
My question is do you think this is based on me having HoN running or something else?
I think I got it; you can't set your HoN directory whilst HoN is running or it will give you the above mentioned "version" error. All I had to do was shut down HoN, close the error out when it showed up on running the mod manager and then go to Options-> Change HoN Path and set it to the same one I already had.
Also, I'm gonna try and start converting the mods I use to work in this format if I can, but I'm somewhat of an amateur coder so I'll have to check how difficult it will be first.
Something I just found is that when hitting "Visit Website" for a mod it opens only in IE instead of my OS's default which is Chrome. Don't suppose you can get that to work at some point?
Last edited by Avi1231; 09-27-2009 at 04:58 AM.
I'm sorry I haven't got the time to write up full-blown guides for this at the moment :-/
+1 for awesome.
S2 Games: Dedicated employees serving dedicated gamers. Continuous development. Never-ending improvement.
Ben Pettit | Lead UIX Developer
[QUOTE=Notausgang;349501]It should correctly start the browser you set in Control Panel -> Software -> program access standards thingy; you possibly need to re-log your user for it to take effect.
I've had my default browser set to Chrome for quite a while. Not sure what I can do, but I've gone through the settings and everything's properly set.