[A17] Mod List Backup (v1.5.1) (Search/Install/Colors)

Started by scuba156, January 11, 2017, 11:06:12 AM

Previous topic - Next topic

Der Failer

#105
I'm back and i managed to break a mod (read: your mod) in less then 5 min ingame... That's a new personal record!

Anyway just pressed the unsubscribe button on a mod and confirm the action:
Exception filling window for RimWorld.Page_ModsConfig: System.NullReferenceException: Object reference not set to an instance of an object
at ModListBackup.UI.Page_ModsConfig_Controller.DoModRow (Verse.Listing_Standard,ModListBackup.Mods.ModMetaDataEnhanced,int,int) <0x00266>
at ModListBackup.UI.Page_ModsConfig_Controller.DoWindowContents (RimWorld.Page_ModsConfig,UnityEngine.Rect) <0x00a3e>
at ModListBackup.Patches.Page_ModsConfig_Patches.DoWindowContents_Patch.Prefix (RimWorld.Page_ModsConfig,UnityEngine.Rect&) <0x00048>
at (wrapper dynamic-method) RimWorld.Page_ModsConfig.DoWindowContents_Patch1 (object,UnityEngine.Rect) <0x002bc>
at Verse.Window/<WindowOnGUI>c__AnonStorey2C4.<>m__1B1 (int) <0x00735>

Full log attached.

E: I know how to English, i swear!

[attachment deleted by admin due to age]

Wonker

how do you even install this mod? it doesnt look to work then i put it in the rimworld mod folder??!?!?!

Wonker


Sixdd

You put it in the mods folder and enable it like any other mod, no special instructions needed.

faltonico

Feature request:
Can you please add an "x" to the end of the search bar to clear out the text?
Thank you in advance!

scuba156

Quote from: Der Failer on July 02, 2017, 09:24:33 AM
I'm back and i managed to break a mod (read: your mod) in less then 5 min ingame... That's a new personal record!
Thanks! I've fixed it but am holding back releasing until I finish my mod Dependency Checker.
Quote from: faltonico on July 10, 2017, 06:37:32 AM
Feature request:
Can you please add an "x" to the end of the search bar to clear out the text?
Thank you in advance!
This has also already been added but am holding releasing until I finish my mod 'Dependency Checker'. The search box depends on another mod 'Extra Widgets' which I packaged with Mod List Backup to avoid errors when people don't have it, but it really should be separate. 'Dependency Checker' will ensure all dependencies are loaded and allow me have Extra Widgets as an external package that can be updated freely.

The same goes for the colour picker too. I have a dialog that allows you to pick any custom colours from a colour wheel or RGB values, but it is a part of 'Extra Widgets'.

AngleWyrm

#111
Ever download the latest version from github, with a folder name that includes "*-master"?

For your dependency checker, a good predicate would be to inspect Mods/*/About/About.xml for the ModMetaData/name.

The config data that uses folder names has renaming issues; In my current mod set are folder names that contain author name, game version, mod version, game fiction flavor text, and various forms of acronyms that carry meaning for only the smallest possible audience. Since folder names are generated by a population, which includes modders, players and even automated tools, there's no consistency and the names are subject to change without notice.

The mod name stored in the about.xml is far more stable.
My 5-point rating system: Yay, Kay, Meh, Erm, Bleh

scuba156

Quote from: AngleWyrm on July 11, 2017, 03:22:13 AM
Ever download the latest version from github, with a folder name that includes "*-master"?

For your dependency checker, a good predicate would be to inspect Mods/*/About/About.xml for the ModMetaData/name.

The config data that uses folder names has renaming issues; In my current mod set are folder names that contain author name, game version, mod version, game fiction flavor text, and various forms of acronyms that carry meaning for only the smallest possible audience. Since folder names are generated by a population, which includes modders, players and even automated tools, there's no consistency and the names are subject to change without notice.

The mod name stored in the about.xml is far more stable.
Yes, this is a pain. I'm not using the about.xml file directly but I am using 'ModMetaData.Name' for the required mod which resolves to the name within the about.xml file.

It shouldn't matter so much on the mod names anyway as the dependency checker will be a dll included with each mod that has a dependency. On RimWorld startup, the first Dependency Checker (that's the official name so far unless I hear something better) instance to execute will store all Dependency Checker enabled mods rootDirs and find the latest version of Dependency Checker installed. The latest version will then check for missing/uninstalled/outdated mods by name and show a dialog if there are issues.

I'm mainly struggling with the UI design so if anyone has any layout ideas, let me know. I've attached a screenshot of what I have so far. The text in the upper right shows a tooltip that lists all required mods and is clickable to toggle disabling those mods. The close button will be replaced with 3 buttons ignore, restart and mod menu.

[attachment deleted by admin due to age]

System.Linq

Getting an NRE with this mod:


Unhandled Exception: System.NullReferenceException: Object reference not set to an instance of an object
  at RimWorld.Page_ModsConfig.PreOpen () [0x00000] in <filename unknown>:0


Unhandled Exception: System.NullReferenceException: Object reference not set to an instance of an object
  at HugsLib.ModBase.set_ModContentPack (Verse.ModContentPack value) [0x00000] in <filename unknown>:0


Only happens on Mac. Confirmed works fine without this mod. Can't get much helpful out of the crash logs, though.

AngleWyrm

#114
Quote from: scuba156 on July 11, 2017, 05:27:55 AM
The latest version will then check for missing/uninstalled/outdated mods by name and show a dialog if there are issues.

I'm mainly struggling with the UI design so if anyone has any layout ideas, let me know.

What if I (the user) can't or won't change the status of a given issue? Will this become an extra pop-up box that I'll have to close every time I start the game?
My 5-point rating system: Yay, Kay, Meh, Erm, Bleh

scuba156

Quote from: Linq on July 13, 2017, 01:41:44 PM
Only happens on Mac. Confirmed works fine without this mod. Can't get much helpful out of the crash logs, though.
Thanks. It's a unix issue, I was working on it until my hard drive died. I will get back to finding the issue when I can.

Quote from: AngleWyrm on July 15, 2017, 03:22:58 AM
What if I (the user) can't or won't change the status of a given issue? Will this become an extra pop-up box that I'll have to close every time I start the game?
Yes, but the only issues it detects are missing or incorrect dependencies. If the issue isn't fixed then the mod in question won't work correctly, or most likely won't work at all.

For example, if you have Mod List Backup enabled but don't have HugsLib enabled, then this UI will show on startup allowing you to install it if it's not already installed, or enable it and restart if it is. If the issue is ignored, then Mod List Backup will not work and show an error in the log that isn't useful to the user.

Thorbane

I get this and a CTD during initialization using this mod on my Linux mint install:

ExecutionEngineException: SIGILL
at Verse.Window.ExtraOnGUI () <0x00002>
at (wrapper dynamic-method) Verse.Window.ExtraOnGUI_Patch1 (object) <0x00014>
at Verse.WindowStack.WindowStackOnGUI () <0x00090>
at Verse.UIRoot_Entry.UIRootOnGUI () <0x000aa>
at Verse.Root.OnGUI () <0x000ed>

SpaceDorf

@scuba156

A feature - feature request.

I would very much prefer if I had the option to not restart Rimworld when I leave a changed modlist.
May it be because I left by accident, I wanted to change something else before the restart ( language comes to mind which requires also a restart )
Or when I started with console properties, which get ignored by an automatic restart ..

Pretty Please.
Maxim 1   : Pillage, then burn
Maxim 37 : There is no overkill. There is only open fire and reload.
Rule 34 of Rimworld :There is a mod for that.
Avatar Made by Chickenplucker

AngleWyrm

#118
I've resorted to using notepad++ to edit the config file before firing up the game :/
My mod load-out takes several minutes to get to the main screen, and I just can't put up with the restarts.
My 5-point rating system: Yay, Kay, Meh, Erm, Bleh

SpaceDorf

Quote from: AngleWyrm on July 18, 2017, 05:59:51 PM
I've resorted to using notepad++ to edit the config file before firing up the game :/
My mod load-out takes several minutes to get to the main screen, and I just can't put up with the restarts.

I am not quite there yet .. I mean the motivation to do everything by hand .. but my loadout takes several minutes as well ..
What I do on the other hand is renaming the mod folders of important mods so they appear on top of the list when opening the mod settings.
Maxim 1   : Pillage, then burn
Maxim 37 : There is no overkill. There is only open fire and reload.
Rule 34 of Rimworld :There is a mod for that.
Avatar Made by Chickenplucker