#1  
Old 01-01-2017, 08:08 PM
Ceno's Avatar
Ceno Ceno is offline
Praetorian
 
Join Date: Jul 2014
Location: Mars
Posts: 8,837
Default [Tool] [Modding] Mod Integrity Checker

DISCONTINUED

Grim Dawn Mod Integrity Checker
Download (click here)

Designed to verify database-record and resource references in mods. If an invalid reference is used, this tool will report it.


Version Number: 1.2.1

System Requirements:
  • Latest version of the Java Runtime Environment installed.
  • 42KB disk space (+more for exporting results of integrity checks)
  • Windows...probably? Due to the nature in which filesystems change between Windows and Linux, the generation of config files and the exportation of results may make the program crash on -nux systems. Not tested.
  • Steam installation of Grim Dawn. I'm unsure of the file hierarchy of the GoG installation and how it relates to mods, and so it is not presently supported.

How to use:
You MUST have the game files of vanilla and of your mod extracted! The tool requires /database/records and /resources to be present in the directory of both vanilla and the mod (as applicable; if your mod uses no resources, you of course don't need the folder).
  • In the 'Config' tab, select 'Set Install Directy' and navigate to Grim Dawn's steam installation directory.
  • In the textbox at the bottom of the 'Config' tab, enter the name of the mod you intend to verify. This will be its folder name; for instance, grimarilliony or Cornucopia003.
  • Both of these fields will persist between sessions, using configuration files the tool makes in a folder in your default directory (C:\, for most users).
  • Then move to the 'Execution' tab, and select 'Verify Integrity'. When the process finishes, you may export the results with the 'Export' button, creating a .txt file in the aforementioned folder.

Source:
Github coming soon!

To-do List:
  • Clean up the UI, particularly that of the Config tab.
  • Enable functionality to search for missing/invalid tags.
  • Attempt to approximate error reporting. That is to say, if an error would result in a Tag Not Found in-game, or an Invalid Skill Profile, say so, rather than a generic 'Error'.
  • Change up the order of the tabs depending on whether a user has previously read the 'About' page or not, and whether configuration files presently exist (first-time use: About, Config, Execution; 'About' page read: Config, Execution, About; all config files present: Execution, Config, About). Will require another configuration file...given that that'll bring the total config files to three, I'll probably want to move the configuration path into some subdirectory as well.
  • ...open to suggestions about where to take this further.
  • ................................if Crate wants a version of this that checks the base game for errors, I could do that. I had that occurring as a bug but removed that functionality for this release (seeing as how it reported trucktons of errors). >.>

Last edited by Ceno; 02-18-2017 at 07:55 PM.
  #2  
Old 01-02-2017, 01:58 AM
Kathanious's Avatar
Kathanious Kathanious is offline
Herald
 
Join Date: Mar 2016
Location: Evansville, IN, USA
Posts: 1,220
Default

Wow this is amazeballs! This will save me a lot of heart ache and pain when merging mods.
__________________
DAIL Curator - Self-proclaimed a$$, sloppy modder, village idiot.
  #3  
Old 01-02-2017, 02:03 AM
powbam's Avatar
powbam powbam is online now
Praetorian
 
Join Date: Nov 2013
Location: Wisconsin
Posts: 5,569
Default

Hrrrm... So..

Is this potentially a front runner toward implementing an Elder Scrolls style mod loader perhaps? I'm guessing a loader like that would need something like this integrated into it.

Sent from my SCH-I605 using Tapatalk
__________________
powbam is like a forum vulture, when he shows up, the thread is close to death. ~jiaco
  #4  
Old 01-02-2017, 03:42 AM
Ceno's Avatar
Ceno Ceno is offline
Praetorian
 
Join Date: Jul 2014
Location: Mars
Posts: 8,837
Default

Quote:
Originally Posted by powbam View Post
Hrrrm... So..

Is this potentially a front runner toward implementing an Elder Scrolls style mod loader perhaps? I'm guessing a loader like that would need something like this integrated into it.
While making what you're thinking of is on my long-term to-do list for making my own modding tools, I'm not entirely sold on whether the program here is relevant to that. This is primarily for finding bugs to make it easier to release a fully-functional mod.

For instance, thanks to this, I was able to find and fix seven errors in Cornucopia in about two minutes that days of testing wouldn't have found.
  #5  
Old 01-02-2017, 03:49 AM
powbam's Avatar
powbam powbam is online now
Praetorian
 
Join Date: Nov 2013
Location: Wisconsin
Posts: 5,569
Default

Quote:
Originally Posted by Ceno View Post
I'm not entirely sold on whether the program here is relevant to that.
Quote:
Originally Posted by Ceno View Post
Designed to verify database-record and resource references in mods. If an invalid reference is used, this tool will report it.
Well, I was thinking at least partially since it sounds kinda like it involves scanning the mods and checking "things". I know I'm no expert but it seems logical to me that mod loaders like that would be doing something very similar in an attempt to find conflicts in mods in relation to each other.

Actually, I'm certain that's one of their primary functions, to ensure everything plays nice. So it sounds to me that what you have could be at least partially applicable? Or even repurposed when you get to that future long-term goal.

That's what your description made me think anyway =p

Sent from my SCH-I605 using Tapatalk
__________________
powbam is like a forum vulture, when he shows up, the thread is close to death. ~jiaco

Last edited by powbam; 01-02-2017 at 03:54 AM.
  #6  
Old 01-02-2017, 08:05 AM
Ceno's Avatar
Ceno Ceno is offline
Praetorian
 
Join Date: Jul 2014
Location: Mars
Posts: 8,837
Default

Updated to Version 1.1:

Highlights:

Tool now searches for and reports on Missing tags.
On first-time use, an 'OK' button is present on the 'About' tab. The tabs rearrange between sessions depending on your previous usage.


Configuration data is now in a separate directory from that of the exported information. As such, your old config files are obsolete and will not be recognized by the tools.
  #7  
Old 01-22-2017, 08:11 AM
Ceno's Avatar
Ceno Ceno is offline
Praetorian
 
Join Date: Jul 2014
Location: Mars
Posts: 8,837
Default

Updated to Version 1.2:

Highlights:

Tool now includes an option to 'Prune Vanilla Errors'. Earlier versions of the tool would report an error in a file in a mod when that error was in fact originating from Crate's vanilla game content. Selecting this checkbox (selected by default) will prune occurrences of these sorts of errors from the final report. As to be expected, this pruning process requires more time to generate results. Smaller mods probably want to turn this off.


Exporting results no longer exports with a dinky little header copy/pasted from the output screen, and contains only the errors themselves. Much better for further automated parsing.

General cleanup of the tool, improving performance and memory usage in a few areas.

***

Edit: FYI I'll be going open-source with this on github pretty soon, if anyone's interested.

Last edited by Ceno; 01-22-2017 at 08:21 AM.
  #8  
Old 01-22-2017, 08:35 AM
Ceno's Avatar
Ceno Ceno is offline
Praetorian
 
Join Date: Jul 2014
Location: Mars
Posts: 8,837
Default

Err um minor but significant bugfix released:

Fixed error reports being off by one line. The physical errors were always correct, the line number (if opened in, say, Notepad++) was just one too low.
Closed Thread

Tags
integrity, mod, modding, tool

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


Grim Dawn ©2017 Crate Entertainment, LLC.
vBulletin® 3.8.4 ©2000-2014, Jelsoft Enterprises Ltd.