GithubHelp home page GithubHelp logo

modmanager's Introduction

Juggle your mods like a pro!

Features

A cleaner, better Mod management screen.

  • separate lists for available and active mods
  • create and delete local copies of steam mods
  • create and load mod list backups
  • load mod list from save games
  • (mass) subscribe to steam mods
  • proper search filtering
  • drag and drop activation and reordering
  • keyboard navigation
  • mod and mod list colouring
  • discover other mods by your favourite author(s)

And, if supported by the mod author;

  • version checking
  • dependency checks
  • incompatibility checks
  • load order hints

For Modders

Allows modders to create a Manifest.xml file, enabling a bunch of features that should have been in vanilla;

  • version checking
  • dependency checking
  • incompatibility checking
  • load order hints

See the documentation for details on how to implement this. It's easy!

Details

local mod copies
You can make a local copy of any steam mods (or all active steam mods at once) by clicking the corresponding button underneath the mod details (or active mods list). Doing this will make sure any updates to the steam version will not break your game in progress. Local mods are created in the RimWorld/Mods folder, and can be manually deleted, or deleted by clicking the corresponding button underneath the mod details.

Note: You may want to occasionally delete obsolete local copies, as having many mods in the mod folder will make RimWorld take longer to start, and the Mod Manager window take longer to open.

mod list backups
You can create mod lists by clicking the mod list button underneath your active mods, and selecting 'save current list'. You will have to choose a unique name, and the mod list will be stored in a folder next to your save games. To load a modlist, click the mod list button, then select the save game or mod list you want to load mods from. Any mods that couldn't be matched to your current list of mods will be greyed out. To delete a mod list (only the list, not the actual mods), click the mod list button, select the list to be deleted, and then choose the delete option.

steam subscribing If a loaded modlist contains mods you do not have installed, but are available on the workshop, you can quickly install the mod by clicking the button in the mod details. You can also click the 'subscribe to all' button underneath the active mods list to subscribe to all missing mods.

mod and mod list colours You can set colours for individual mods by clicking the palette icon underneath the mod details. To change the colour for all mods in a mod list, click the mod list icon underneat the active mod list, select the list, then 'change colour'.

keyboard navigation
Sometimes, it's easier to navigate large lists with the keyboard.

  • Tab: cycles focus between search inputs and lists of mods.
  • Up/Down: selects the previous/next mod in the list.
  • Page Up/Down: selects the top/bottom mod in the list.
  • Left/Right: switch focus between active and available lists.

You can also manipulate the lists;

  • Enter: activates/deactivates a mod, and selects the next mod in the list.
  • Shift+left: deactivates a mod, keeping it selected, and switching focus to the available list.
  • Shift+right: activates a mod, keeping it selected, and switching focus to the active list.
  • Shift+up/Shift+down: move an active mod up/down in the load order.
  • Shift+Page Up/Down: move an active mod to the top/bottom of the load order.

mod promotions When a Steam Workshop mod is selected (or a local copy of a steam workshop mod), Mod Manager will automatically look for other mods by the same author, and show you a promotion for any mods you don't already have. These promotions let you easily discover other (new) mods by your favourite author(s), and even quickly subscribe to them!

This function can be turned off in Mod Managers' settings

Think you found a bug?

Please read this guide before creating a bug report, and then create a bug report here

Older versions

All current and past versions of this mod can be downloaded from GitHub.

License

All original code in this mod is licensed under the MIT license. Do what you want, but give me credit. All original content (e.g. text, imagery, sounds) in this mod is licensed under the CC-BY-SA 4.0 license.

Parts of the code in this mod, and some of the content may be licensed by their original authors. If this is the case, the original author & license will either be given in the source code, or be in a LICENSE file next to the content. Please do not decompile my mods, but use the original source code available on GitHub, so license information in the source code is preserved.

Parts of this mod were created by, or derived from works created by;

  • Freepik: heart, lightbulb, fire, sword and top hat preview icon (BY-NC)
  • Pixel perfect: bug preview icon (NC-BY)

Are you enjoying my mods?

Normally, this is where I ask you to show you appreciation by buying me a coffee.

These are not normal times. Ukraine is being invaded by Russia, at the whim of a ruthless dictator. Innocent people are loosing their lives, and fighting for their continued freedom.

This is not a matter of politics. This is not a debate. Putins' bloody campaign in Ukraine is illegal, and he will stop at nothing to get what he wants, when he wants it, no matter the cost. The Russian army is invading a country without provocation, bombing civilians and murdering innocents.

The prospect of waking up to see my country at war is alien to me, as it must have seemed to most Ukrainians. I can do little to influence the outcome of current affairs, but I will do whatever I can.

I ask you to join me in supporting the people of Ukraine

Humanitarian Aid

If you can, donate to the various charities providing humanitarian aid. If you don't know where to donate, Global Citizen maintains a list of charitable organizations active in the region.

https://www.globalcitizen.org/en/content/ways-to-help-ukraine-conflict/

Speak up

Leaders around the world are deciding on how to respond to Putins' aggression. They are balancing their conscience, and their desire to be re-elected. Many are afraid to impose heavy sanctions because the economic repercussions might loose them votes. The Dutch government, my government, has hinted that they are unwilling to accept Ukranian refugees, and has played a part in allowing Russia to have continued access to international finance. I am ashamed of these actions, taken in my name.

Whereever your live, please let your government know you care more about supporting the people of Ukraine than you do about the price of gas. Join a protest, write letters, call your representatives, and show them that you care about justice!

modmanager's People

Contributors

asenar avatar at404bot avatar b606 avatar benjaminiserman avatar candyfiend avatar fluffierthanthou avatar hanyaodong avatar karel-kroeze avatar lucas559-noob avatar mohas avatar pardeike avatar proxyer avatar zetrith avatar zuplyx avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

modmanager's Issues

Vanilla 'mod mismatch' dialog 'load mod list from save' should use Mod Manager's implementation.

Describe the bug

When I tried to play my save (synced by Steam) on another machine, all of the mods were unloaded when I clicked on the "load modlist from save" button. When I tried to click the button again after restart, I get a "Some mods are unavailable and need to be installed:" followed by a list of all of the mods in the save file.

Expected behavior

Modlist to load normally from the save
Steps to reproduce

  1. From one machine, install a mod, and use the "create local copy" feature to create a local copy.
  2. Start a save with that modlist.
  3. Wait a day (ModList adds the date to the local copy, this affects how RimWorld identifies the mod)
  4. Try to load the save in another machine logged into the same steam account

Other mods

N/A

Output log

output_log.txt
Save game

faulty-save.zip
Screenshots

Environment

  • OS: Windows 10
  • 32/64 bits 64

Game

  • 64 bits
  • Steam
  • Version - 1.0.2282

I suspect, looking at the save file, that it looks for the specific name of the directory ModManager assigned to the mod when it first copied it (or last updated, I'm not sure). Since I'm trying to use the mods from Steam, or even copying them now (at a different date), that it won't recognize them as the same mods.

eg.

		<modIds>
			<li>Core</li>
			<li>__LocalCopy_HugsLib_(27-6)</li>
			<li>__LocalCopy_JecsTools_(27-6)</li>
			<li>__LocalCopy_Miscellaneous 'CORE'_(27-6)</li>
			<li>__LocalCopy_Giddy-up! Core_(27-6)</li>
			<li>__LocalCopy_RunAndGun_(27-6)</li>
			<li>__LocalCopy_Alpha Animals_(27-6)</li>

I'm not next to my primary machine at the moment, but there it works fine as far as I can tell, when I booted the game two days ago.

If any more details are needed from me, do let me know :)

1.1 prerelease fails to render mod list, mostly nonresponsive

Mod manager screen loads as blank box with a single scroll bar. If you scroll dow and back up, one (and only one) unsubscribed mod is shown at upper left. Double clicking on this mod will cause it to be replaced by the next one. These are the only available actions. Recovery from this circumstance requires killing the game and manually removing Mod Manager from ModsConfig.xml.

Error log has following error repeated:

Exception filling window for ModManager.Page_BetterModConfig: System.MissingMethodException: System.Collections.Generic.List`1<System.Version> Verse.ModMetaData.get_SupportedGameVersionsReadOnly()
  at ModManager.Extensions.GetVersionStatus (Verse.ModMetaData mod) [0x00011] in <4aed3342c21f4e408945ac2851be000f>:0 
  at ModManager.ModButton_Installed.DoSourceButtons (UnityEngine.Rect canvas) [0x0005e] in <4aed3342c21f4e408945ac2851be000f>:0 
  at ModManager.ModButton_Installed.DoModButton (UnityEngine.Rect canvas, System.Boolean alternate, System.Action clickAction, System.Action doubleClickAction, System.Boolean deemphasizeFiltered, System.String filter) [0x001e1] in <4aed3342c21f4e408945ac2851be000f>:0 
  at ModManager.Page_BetterModConfig.DoAvailableMods (UnityEngine.Rect canvas) [0x0014f] in <4aed3342c21f4e408945ac2851be000f>:0 
  at ModManager.Page_BetterModConfig.DoWindowContents (UnityEngine.Rect canvas) [0x00111] in <4aed3342c21f4e408945ac2851be000f>:0 
  at Verse.Window.InnerWindowOnGUI (System.Int32 x) [0x00165] in <e6bf656ce37a4c49b7f292f3b130812e>:0 
 
(Filename: C:\buildslave\unity\build\Runtime/Export/Debug/Debug.bindings.h Line: 35)

GUI Error: You are pushing more GUIClips than you are popping. Make sure they are balanced.

This is with Mod Manager v1.37.878 (1.1.2547) on RimWorld 1.1.2560 (64-bit). Only other mods loaded are Harmony 2.0.0.8 and HugsLib. No other local mods present, but my (rather large) list of Steam subscriptions is obviously still there.

Increasing UI lag as mods are made active

Describe the bug
As mods are set to active within the Mod Manager interface, the 'lag' increases gradually. Even at 10 mods loaded to active, it was extremely slow.

Expected behavior
Reasonable speed when selecting and managing mods

Steps to reproduce

  1. Load Mod Manager version 2.0.880.
  2. Set mods to active one by one (loading a list works but results in horrendous lag).
  3. Watch UI lag increase dramatically.

Other mods
No other mods are involved at the moment, aside from Harmony; tried both with and without Harmony as well.

Output log
https://gist.github.com/5ed67b3afe62184eec9789fab7a81ca2
This is the log from after loading 11 mods to active. No restarts or other actions.

Save game
Not applicable

Screenshots
Not applicable, UI lag increases slowly as mods are added

Environment

  • OS: Windows 10
  • 64 bits

Game

  • 64 bits
  • Steam
  • Version: 1.1.2562

Log spam when used with steam version if game is started outside of steam

Hi @FluffierThanThou !

First of all, thanks a lot for your mod!

This is similar to #20 but a bit different. I stumbled upon the bug while testing Manifest.XML for my mod. Also, I think this is probably a low-priority bug as I guess not a lot of people will start the steam version outside of steam.

  • Mod version: 1.12.741.0
  • RimWorld: 1.0.2059 (lastest stable)

Basically I have the steam version of the game, but I start it outside of steam (running it by clicking the executable rather than though the steam app).

Root level exception in Update(): System.TypeInitializationException: An exception was thrown by the type initializer for ModManager.CrossPromotionManager ---> System.InvalidOperationException: Steamworks is not initialized.
  at Steamworks.InteropHelp.TestIfAvailableClient () [0x00000] in <filename unknown>:0 
  at Steamworks.SteamUtils.GetAppID () [0x00000] in <filename unknown>:0 
  at ModManager.CrossPromotionManager..cctor () [0x00000] in <filename unknown>:0 
  --- End of inner exception stack trace ---
at ModManager.Page_BetterModConfig.WindowUpdate () <0x00047>
at Verse.WindowStack.WindowsUpdate () <0x0005c>
at Verse.UIRoot.UIRootUpdate () <0x00054>
at Verse.UIRoot_Entry.UIRootUpdate () <0x0001c>
at (wrapper dynamic-method) Verse.Root.Update_Patch1 (object) <0x0015b>

 
(Filename: C:/buildslave/unity/build/artifacts/generated/common/runtime/DebugBindings.gen.cpp Line: 51)

Exception filling window for ModManager.Page_BetterModConfig: System.TypeInitializationException: An exception was thrown by the type initializer for ModManager.CrossPromotionManager ---> System.InvalidOperationException: Steamworks is not initialized.
  at Steamworks.InteropHelp.TestIfAvailableClient () [0x00000] in <filename unknown>:0 
  at Steamworks.SteamUtils.GetAppID () [0x00000] in <filename unknown>:0 
  at ModManager.CrossPromotionManager..cctor () [0x00000] in <filename unknown>:0 
  --- End of inner exception stack trace ---
  at ModManager.Page_BetterModConfig.WindowUpdate () [0x00000] in <filename unknown>:0 
  at Verse.WindowStack.WindowsUpdate () [0x00000] in <filename unknown>:0 
  at Verse.UIRoot.UIRootUpdate () [0x00000] in <filename unknown>:0 
  at Verse.UIRoot_Entry.UIRootUpdate () [0x00000] in <filename unknown>:0 
  at (wrapper dynamic-method) Verse.Root:Update_Patch1 (object)

Complete output log: output_log.txt

Note: you can reach me on the RimWorld modder discord if you wish.

Mod Manager Only Shows Avaliable

20181209014739_1
*If image above is unavaliable, here is a direct link to the source:
https://steamcommunity.com/sharedfiles/filedetails/?id=1585450775

Problem:
I recently subscribed to your mod and everything was working. Randomly one day the mod completely stopped functioning properly while I was trying to arrange my mod list. Now every time I enable Mod Manager (with and without additional mods) I don't get anything but a blank window with the 'Available' section, which is also just a blank box (as seen in picture)

What I've Tried
Changed Load Order
Restarted Steam
Restarted Computer
Fresh Install of Mod
Fresh Install of Rimworld

Occurance date: 9th DEC 2018 (Time (approx): 01:00AM )

Settings reverting when updating local copies

I ran into a bug where a bunch of my mod settings were reverting to older settings when updating mods set as local copies.
The only abnormality that I can think of is that I accidentally ran a few workshop mods as non-local copies when I first downloaded them, and configured them. But I can't remember if the particular mod i'm observing was one of them, so it could be unrelated.
In my config folder, I have two sets of config xml files, one prepended with Mod___LocalCopy, the other with Mod_ followed by what I assume is the workshop ID. They have roughly the same number of files, so I assume its unrelated to the fact that I ran some as non-local copies, But it seems the local copy version is being reverted to the workshop version when I update mods.

mod menu not loading

i have a ton of other mods loaded up and it might be a pain to find im not really sure but all the mod does for me is i load it up it restarts the game i go to the mod menu again and it has the overlay for your mod but nothing at all loads and i cant exit out of the menu i have to exit the game from out of the game
output_log.txt

Delete dependency section if a mod doesn't rely on dependencies.

Problem description

It gives more room (although small) to more useful information for the other sections (Other mods from X and description)

Describe the solution

By deleting the empty dependency section you can dynamically the other sections.

Alternatives

Additional materials

(You would pull down the description text box to fill the empty space)
Capture1

mods disappear

Describe the bug
look the pics, even i cannot close the game or cameback.

Expected behavior

Steps to reproduce
updated huglibs to last version (7.0)
1.Mod Manager v1.37.878 (1.1.2547)
2.[HugsLib] version 7.0.0

Other mods
0multi
AlphaAnimals
Colonymanager
dubs bad hygiene
edbpreparecarefulluy
FluffyBreakdowns
GeneticRim-5.02
rimHud
rimsenal
rimsenal-federation
rimsenal-security
worktab

Output log
player_mod is with your mod, the other is without.
Player.log

Player_mod.log

Save game
not needed

Screenshots

1
2

Environment

  • OS: Windows 10
  • 64 bits

Game

  • 64 bits
  • DRM free
  • RimWorld 1.1.2552 rev545

loadAfter element in Manifest.xml doesn't seem to work

image

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>

<Manifest>
  <identifier>FastRegen_NanoTechRepair</identifier>
  <version>1.0.0</version>
  <dependencies>
    <li>NanoRepairTech</li>
    <li>Fastregen1.0</li>
  </dependencies>
  <loadAfter>
    <li>NanoRepairTech</li>
    <li>Fastregen1.0</li>
    <li>VanillaFurnitureExpanded-MedicalModule</li>
    <li>[sd]medicaddons</li>
    <li>MoreLinkables</li>
    <li>WallVitalsMonitor</li>
  </loadAfter>
</Manifest>

I should get a warning when I load my mod before the dependencies and those specified in loadAfter. Is it not working or am I missing something?

Log spam when used with a non steam version of the game

  at Steamworks.InteropHelp.TestIfAvailableClient () [0x00000] in <filename unknown>:0 
  at Steamworks.SteamUtils.GetAppID () [0x00000] in <filename unknown>:0 
  at ModManager.CrossPromotionManager..cctor () [0x00000] in <filename unknown>:0 
  --- End of inner exception stack trace ---
  at ModManager.Page_BetterModConfig.WindowUpdate () [0x00000] in <filename unknown>:0 
  at Verse.WindowStack.WindowsUpdate () [0x00000] in <filename unknown>:0 
  at Verse.UIRoot.UIRootUpdate () [0x00000] in <filename unknown>:0 
  at Verse.UIRoot_Entry.UIRootUpdate () [0x00000] in <filename unknown>:0 
  at (wrapper dynamic-method) Verse.Root:Update_Patch1 (object)

Exception filling window for ModManager.Page_BetterModConfig: System.TypeInitializationException: An exception was thrown by the type initializer for ModManager.CrossPromotionManager ---> System.InvalidOperationException: Steamworks is not initialized.
  at Steamworks.InteropHelp.TestIfAvailableClient () [0x00000] in <filename unknown>:0 
  at Steamworks.SteamUtils.GetAppID () [0x00000] in <filename unknown>:0 
  at ModManager.CrossPromotionManager..cctor () [0x00000] in <filename unknown>:0 
  --- End of inner exception stack trace ---
  at ModManager.Page_BetterModConfig.WindowUpdate () [0x00000] in <filename unknown>:0 
  at Verse.WindowStack.WindowsUpdate () [0x00000] in <filename unknown>:0 
  at Verse.UIRoot.UIRootUpdate () [0x00000] in <filename unknown>:0 
  at Verse.UIRoot_Entry.UIRootUpdate () [0x00000] in <filename unknown>:0 
  at (wrapper dynamic-method) Verse.Root:Update_Patch1 (object)```

Mods loaded above core aren't loaded correctly

When saving a mod list which has mods that need to be loaded above Core to work properly (e.g Mod-E), saving is done correctly (as shown in the saved config XML file). However, when loading that mod list, mods that were saved above Core will instead be loaded just below core.

This is with the latest Steam version of Mod Manager as of the time of posting (v1.15.748, 2018-11-20).

Mod lists appear broken in latest build(new issue)?

this whole thing was originally meant to be a steam comment on the mod itself, until I realized they had length restrictions(which I was exceeding at least 3 times over), and also that you wanted bug reports posted to your git... so I hope you'll excuse the format and language/writing style. ...and general wall of text, sorry, this is my first time on git.

Hey there Fluffy, I love your mod(and frankly, I wouldn't be able to play the game without it, not with ~300 mods). But as of your last update, the mod list functionality is more or less completely broken for me. I even tried deleting(well, moving out of the rimworld directory :p ) the mod manager config file along with the mod lists folder. Up until now, I've been getting by with a locally saved copy of the previous version of mod manager(ironically, made by mod manager, talk about convenience), but that version as you know has the broken preview images...

So, clean slate, testing. I load the bare minimum mods I need to be able to prove my point/see if it was something in my old config just breaking things during the version upgrade. I've only got Core, HugsLib, and Mod Manager active(and what do you know, the game no longer takes 5 minutes to launch :p ). If I make a mod list using the "Save current list" command(normally I would manually create empty, correctly formatted list files, so that I could add my mods into them one at a time, then colorize them as a group, but that's a bit beyond the scope of this test here... though it does do a good job of outlining my personal use case for mod lists, beyond backing up entire load orders), and open it up in notepad++ just to double check, it has in fact added everything in my active mods list like it should have. However nothing except for Core actually reflects that fact. They all still offer the "Add mod to a mod list" context menu option, which should be absent given that there's only a single mod list, and they're all members of it. If I hit that, it does indeed "add" the mod to the mod list... again, in the config file, as many times as you hit the button, but those changes are never reflected in the GUI. As I mentioned earlier, Core seems to be the only mod that is functional in regards to mod lists at the moment, as it does correctly recognize its membership in the mod list I created, and respects any changes in color I make at the list level as well, along with offering me the context menu option to remove it from the list. As an addendum here, the individual mod coloring system does appear to still be functional.

I also tried unsubscribing from all inactive mods, so that I only had the test mods present in my mods folder(as I know inactive mods can still throw errors), in case that was causing some oddball issue to occur. Either way, in both situations, there was NOTHING in the log; they're identical in both cases. This log was taken on the latest version of Mod manager, with only the above mentioned mods active, however I did re-subscribed to my full mod list before doing this: output_log.txt

I'm just wondering if this is an issue you are aware of and are working on, or if I'm some strange edge case and this is some new thing. Either way, any input on this would be greatly appreciated, as for now I'm trapped on the previous version with no thumbnails like I mentioned earlier.

Sorry about the wall of text, thanks for (hopefully) reading it. :p
-craze

PS: Your UI control element for the window resize grab handle in the corner on the mod manager window doesn't seem to capture the "mouse button up" event if your cursor leaves the bounding rect for the grab handle element, which its possible to accomplish if you drag the cursor all the way to the bottom of the screen, as it appears to be 1 pixel too short on that side(with the amount of mods I have, the first thing I do every time I open the mod manager is make the window as big as it can go, and getting it stuck in drag mode until I re-click the handle element is a minor annoyance). Hopefully you can take a look at that if you have the time, I'm running rimworld at 2560x1440, in case it matters.

PPS: Hopes and dreams here, but if you could add the ability to drag the entire window around(by, say, clicking and dragging the very top portion of it, even though there is no distinct 'title bar' to hint at 'grabability'), it would help dramatically with window real estate potential(even at 2k res, 300 mods still take up a LOT of room when you lay them all out).

PPPS: This one is just a personal complaint mostly, but there seems to be some kind of issue with the local copy generation feature, where it will randomly decide that the steam version has updated, even though it hasn't(in extreme examples, some of these haven't updated in the past 8 months). Having an option in the mod options menu to disable the 'local copy out of date' warning dialogs for power users would certainly be handy(even as a general feature, if/after this bug gets fixed). On a side note, under certain circumstances that I cant seem to nail down(and of course, don't throw any warnings or errors), the warning dialog you get upon closing the mod manager window sometimes pops up a second time after you hit confirm. No info on that other than the fact that it happens rarely when you have outdated mods, legitimate or not.

overriding modlist throws error?

Sir Rolin 11 Aug @ 1:00am

fluffy, I think I found a bug, if you override a modlist that you have saved prior before closing the game, it throws a error, tough it still works.

Trying to support mod manager, get error when checking for version on my mod

I know you're probably very busy, sorry to bother you with this issue, but I'd love to learn how to support your mod manager. It seems to just not work for me :(

Screenshot of the error: https://i.imgur.com/D9KXN0d.png

Here's my Manifest.xml file:

1.0.2 https://github.com/Amnesiac9/JEM-Animals/blob/master/JEM-Animals/About/Manifest.xml https://github.com/Amnesiac9/JEM-Animals/releases/tag/1.0.2

And my github repository: https://github.com/Amnesiac9/JEM-Animals

What am I doing wrong? :(

Feature Request: Multi select & Mod list ordering

First off, love your work - this mod makes the entire game experience that much better, so thank you for your time and effort!
Would it be possible to add two features?

There have been many times I've wished I could shift+ click or ctl + click to select a group or multiple mods to add to the active list. Would it be possible to add this functionality? In lieu of that, or in addition to that, do you think there'd be value in adding a plus "+" button to the right side of a mod that allows users to click to add a mod to the active list (or a minus to remove it from the active list)? I think this would also help with the experience of adding/removing mods.

Secondly, the warning about mod order dependency is excellent. However, you only see if after adding a mod to the active list. Is it at all possible to do some sort of auto-ordering in the inactive mod list if a mod needs to be before another? Kind of a pre-emptive optimization that would drastically improve the user experience.

Thanks!

test

Describe the bug

Expected behavior

Steps to reproduce

Other mods

Output log

Save game

Screenshots

Environment

  • OS:
  • 32/64 bits

Game

  • 32/64 bits
  • Steam/DRM free
  • Version

Texture2D error on mod load

After loading the game with this mod enabled (latest version), the error below triggers in the debug log. I suspect it was caused by a change to this file in a recent commit:
https://github.com/FluffierThanThou/ModManager/blob/c962a9bafbf1e5f1f4a3dac8ed0075cee488ac00/Source/ModManager/Utilities/Resources.cs

RimWorld 1.0.2231 rev1144
Verse.Log:Message(String, Boolean)
RimWorld.VersionControl:LogVersionNumber()
Verse.Root:CheckGlobalInit()
Verse.Root:Start()
Verse.Root_Entry:Start()

Could not load UnityEngine.Texture2D at UI/Icons/palette in any active mod or in base resources.
Verse.Log:Error(String, Boolean)
Verse.ContentFinder`1:Get(String, Boolean)
ModManager.Resources:.cctor()
System.Runtime.CompilerServices.RuntimeHelpers:RunClassConstructor(IntPtr)
System.Runtime.CompilerServices.RuntimeHelpers:RunClassConstructor(RuntimeTypeHandle)
Verse.StaticConstructorOnStartupUtility:CallAll()
Verse.PlayDataLoader:<DoPlayLoad>m__2()
Verse.LongEventHandler:ExecuteToExecuteWhenFinished()
Verse.LongEventHandler:UpdateCurrentAsynchronousEvent()
Verse.LongEventHandler:LongEventsUpdate(Boolean&)
Verse.Root:Update()
Verse.Root_Entry:Update()

System.NullReferenceException Logspam (Massive lag on 'Mods' screen)

Hello, I'm, all of sudden, having issues with ModManager, dev logspam and immense lag.

Exception filling window for ModManager.Page_BetterModConfig: System.NullReferenceException: Object reference not set to an instance of an object
at ModManager.Extensions.StripSpaces (System.String str) [0x00000] in :0
at ModManager.Extensions.MatchesIdentifier (Verse.ModMetaData mod, System.String identifier) [0x00000] in :0
at ModManager.ModButton_Installed.MatchesIdentifier (System.String identifier) [0x00000] in :0
at ModManager.Dependency.<get_Met>b__31_0 (ModManager.ModButton_Installed b) [0x00000] in :0
at System.Linq.Enumerable.First[ModButton_Installed] (IEnumerable1 source, System.Func2 predicate, Fallback fallback) [0x00000] in :0
at System.Linq.Enumerable.FirstOrDefault[ModButton_Installed] (IEnumerable1 source, System.Func2 predicate) [0x00000] in :0
at ModManager.Dependency.get_Met () [0x00000] in :0
at ModManager.Manifest.get_DependencyIsues () [0x00000] in :0
at ModManager.Manifest.get_Issues () [0x00000] in :0
at ModManager.ModButton_Installed.get_Issues () [0x00000] in :0
at ModManager.ModButtonManager+<>c.<Notify_RecacheIssues>b__27_0 (ModManager.ModButton b) [0x00000] in :0
at System.Linq.Enumerable+c__Iterator122[ModManager.ModButton,ModManager.ModIssue].MoveNext () [0x00000] in <filename unknown>:0 at System.Collections.Generic.List1[ModManager.ModIssue].AddEnumerable (IEnumerable1 enumerable) [0x00000] in <filename unknown>:0 at System.Collections.Generic.List1[ModManager.ModIssue]..ctor (IEnumerable1 collection) [0x00000] in <filename unknown>:0 at System.Linq.Enumerable.ToList[ModIssue] (IEnumerable1 source) [0x00000] in :0
at ModManager.ModButtonManager.Notify_RecacheIssues () [0x00000] in :0
at ModManager.ModButtonManager.get_Issues () [0x00000] in :0
at ModManager.ModButtonManager.get_AnyIssue () [0x00000] in :0
at ModManager.Page_BetterModConfig.DoModSetButtons (Rect canvas) [0x00000] in :0
at ModManager.Page_BetterModConfig.DoWindowContents (Rect canvas) [0x00000] in :0
at Verse.Window+c__AnonStorey0.<>m__0 (Int32 x) [0x00000] in :0

I haven't had any issues in the mod screen and have been playing stable for a long time now. I am not using Steam version of RimWorld and am attaching my modlist if necessary as well
ModsConfig.txt

Miscellaneous 'CORE' Conficts

I have been getting an error when trying to add mods to the active mods list every time, and I have just now tested the cause and it appears to be the mod Miscellaneous 'CORE'
Here are my logs which has the errors occur after I add the conflicting mod and reload.
https://git.io/fxhj7

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.