Jump to content

Compatibility Popup Blocker


Khatharr

Recommended Posts

4e6fe50d5a.gif

DOWNLOAD HERE - Version 1.0.2

"Some installed mods may be incompatible with this version of Kerbal Space Program. Features may be broken or disabled. Please check for updates to the listed mods."

Are you tired of seeing this message?

You've checked for updates, but none are available?

The mods listed are working just fine anyway?

You don't want to bother downloading the source, rebuilding the project and recompiling the mod just to get rid of an annoying popup?

Compatibility Popup Blocker is for YOU!

All you have to do is install the mod as instructed in the included txt. The popup will be disabled and you can get on with your life and take responsibility for your own actions like a grown-up.

If you want to re-enable the compatibility check, just remove the dll and restart KSP.

No muss, no fuss, no recompiling mods.

If any mod you have rejects this popup blocker or exhibits bad behavior in response to its presence, just post in this thread which mod has the problem and I'll mutate the popup blocker and upload the revision.

It should only take a few minutes at most.

328e8a3c67.jpg

Source code included in download. WTFPL license.

Use this mod at your own discretion.

"But Khatharr! How does it work?"

I'm glad you asked. That annoying popup is a source code section that mod authors can include in their mod if they want to "lock it to a specific version". Since several installed mods may have that source segment, and they may have different versions of it, they all load, and then they compare version numbers with one another to find the highest version. Only the one that has the highest number shows the dialog. This plugin works by telling KSP that it's a part of that collection and then setting its version number to the highest possible value. Before anyone comes along to tell you differently, this does not actually prevent the internal behavior of the other mods. They may still internally disable some of their features if they think that they are incompatible. All this does is block the popup window.

Edited by Khatharr
FREEDOM!
Link to comment
Share on other sites

While I don't object to this mod on some levels, be aware it has a very long list of potential problems, primarily the problem that people will not know to update their mods and won't be told they're running old incompatible mods, this can cause a nightmares for support of mods, people will think a mod should be working fine when in fact it's broken and has since been fixed.

As a modder that has to handle support fairly frequently this mod terrifies me.

Link to comment
Share on other sites

The big thing is, when Squad says "OK, the game is finished", should we expect mods to work on all versions after that? Seeing that this game has no DRM, I fully expect this to never happen. For as long as this game is making money, there will always be new versions and broken mods that require updating. This is the DRM.

As far as the "I'm tired of supporting noobs that run old versions" argument is concerned, it's really, really simple. Post bug reporting guidelines in your forum thread. If the guidelines are not followed, them IGNORE THE DAMN POST. It's quite obvious to me that if a poster cannot follow guidelines set forth by the mod author in a particular thread, then there will most likely be nothing to gain from said bug report in the first place. If you wish to continue beating you're head on the wall with bug reports that don't even start by posting a log, the who's the real idiot? When people see pop ups in game. it tends to .... them off. As a result, we see the mod posted here.

Link to comment
Share on other sites

As far as the "I'm tired of supporting noobs that run old versions" argument is concerned, it's really, really simple. Post bug reporting guidelines in your forum thread. If the guidelines are not followed, them IGNORE THE DAMN POST.

You say that, but if you got 20+ a day that followed the same pattern and is about 90% of the posts in your thread I'm not sure you'd be as resolute on that.

Link to comment
Share on other sites

You say that, but if you got 20+ a day that followed the same pattern and is about 90% of the posts in your thread I'm not sure you'd be as resolute on that.

And you're right about that, I admit it. I can see where it would get frustrating if I had to scroll through pages of junk. Come to think of it, that's pretty much what the entire internet is all about. Scrolling through pages of junk to find the answer to some of the simplest questions. Can I please have a compatibility checker for google?

Link to comment
Share on other sites

When people see pop ups in game. it tends to .... them off. As a result, we see the mod posted here.

It's not the popup that bothers me so much as the fact that there's no convenient method to say "Okay. Please don't show me this again unless there's a change in the report." I talked about adding such a check-box to the popup in the Compat Check thread, but was told 'no' by the OP and then told to drop the matter by a moderator. If the CC implementer(s) decide to add such a feature, I'll gladly remove this mod, because warnings are good, but continual harassment is not.

Link to comment
Share on other sites

CompatibilityChecker is licensed BSD-2. You could have just created a CC version 5 that did what you wanted instead of doing this. Then that would have overridden all the older versions of CC, just like this does, and you would have gotten exactly what you wanted. Why didn't you do that instead?

Link to comment
Share on other sites

TBH, my answer to this mod would be to completely disable my mod if this mod were found, whether it works or no. It's a deliberate attempt at making life harder for modders, and honestly, a pretty douchey move. Too bad we don't have a down-vote system for reputation.

Link to comment
Share on other sites

TBH, my answer to this mod would be to completely disable my mod if this mod were found, whether it works or no. It's a deliberate attempt at making life harder for modders, and honestly, a pretty douchey move. Too bad we don't have a down-vote system for reputation.

It's easier for me to mutate this than it is for modders to try and work around it. The path of least resistance at this point is to implement the feature.

Meanwhile, since you're visiting my intentions, I made this mod in order to solve a problem for users. If that creates a problem for modders then frankly I'm not obligated to care about that, especially taking into account the attitude toward inconveniencing users that was demonstrated last night. I was being told by everyone involved that the feature in question was unacceptable, essentially because it robbed them of their power to coerce users into specific behaviors - with the justification provided more or less being that users are stupid.

This is called irony. Now CC is inconvenienced (though by phantoms, to be frank) and the users have the power. When you play dirty you get dirty.

There's a significant difference in magnitude, though. Firstly, the revision to CC is a once-and-done affair, whereas the work they were demanding from users was on a per-mod, per-user basis, and god help any user that doesn't have an IDE installed to make the necessary changes, or if the mod doesn't include full source code.

Since the tune has changed a bit and the feature is suddenly no longer anathema, I'm prepared to work it out and send it to the CC team to do with as they please, which I shall begin presently.

Link to comment
Share on other sites

All you have to do is drop the included dll in your GameData folder. The popup will be disabled and you can get on with your life and take responsibility for your own actions like a grown-up.

I'd like it if the OP would include some statement that some (or all) plugin authors might deny providing support for installs that also have your plugin installed. Just a friendly advice to players before installing your plugin.

Link to comment
Share on other sites

And the feature will be overridden by the KSP version incrementing, correct? For major, minor, patch, and build versions? Because otherwise, your feature will have the same problems that you have created with this particular mod.

I'll admit I'm not happy about even this suggestion. The number of times I've gotten reports from people that consider ignoring the Compatibility Checker to be okay is still very high, and every update it becomes worse because of people that claim that the mods are working perfectly fine, even when they aren't. This is not a good feature. It's just better than breaking the whole damn system. Good job. Even better, you broke everything by exploiting the system that was purposefully intended to not .... off users with a ton of popups each time they opened the game. Shows what we get for trying to warn you without it being a popup parade.

I'm not sure who you're going to send it to though. There is no "CC team." You'll be releasing it as a new version of CC and hoping that it is taken up by the modding community, just as was intended by the license.

Link to comment
Share on other sites

Gotta say, I personally don't use CC, but the toxicity of this mod is most certainly enough to make me aggressively not support anyone who installs this if not outright disable plug-ins with a giant box telling them why and pointing them at this thread.

As noted earlier, a better course of action would be to enhance the existing CC code (KSP AVC has examples of how to thus kind of warning unobtrusively past the first warning) vs the barrel of toxicity this current implementation is.

Link to comment
Share on other sites

Gotta say, I personally don't use CC, but the toxicity of this mod is most certainly enough to make me aggressively not support anyone who installs this if not outright disable plug-ins with a giant box telling them why and pointing them at this thread.

Gues what mod put a part module on *every* part in the game, and is considering making them explode if this plugin is found.

Link to comment
Share on other sites

Gues what mod put a part module on *every* part in the game, and is considering making them explode if this plugin is found.

While I certainly share the opinion that this mod is pure toxic, that move would be on the same level. I've seen the outcome of that in another community already (Minecraft, the "war" between GregTech and Tinker's Construct). Don't be that guy :)

Link to comment
Share on other sites

While I certainly share the opinion that this mod is pure toxic, that move would be on the same level. I've seen the outcome of that in another community already (Minecraft, the "war" between GregTech and Tinker's Construct). Don't be that guy :)

This isn't a mod, it's a sabotage attempt.

Link to comment
Share on other sites

LOL

As soon as I even begin to be nice we're back to "the users are stupid" and "we won't allow it!".

Fine, then. As I mentioned, it's effortless for me to mutate the popup blocker.

I'll give you what I have so far for the feature change. This was a snippet to be spliced into the existing code. In its current state it shows a warning once and then suppresses it until there's a change, which is close to the target behavior except that it always assumes that the user wants to suppress the warning. I was going to change the dialog out to one with a check-box that defaults to 'off' and then set the bool according to the state of the check-box when 'OK' is pressed. It doesn't matter at this point.

Since you can't grasp the concept of respecting the user, the popup blocker mod stays and will be mutated as often as necessary any time a user reports a mod that is bypassing it.

As long as people feel inconvenienced by CC they can come use this mod to circumnavigate it.

POPUP BLOCKED

Here's your code. The only way to get away from the popup blocker at this point is to make the end users stop resenting your intentionally annoying behavior. Good luck.



if ((incompatible.Length > 0) || (incompatibleUnity.Length > 0))
{
///////////////////////////////////
//LICENSE - Khatharr (the author) hereby relinquishes all rights to this code to the extent permitted by law. Good grief.

const String suppressionFileName = "GameData/CompatCheckSuppress";
bool warningSuppressed = false;
String silencedMessage;

try
{
silencedMessage = System.IO.File.ReadAllText(suppressionFileName);
warningSuppressed = Equals(message, silencedMessage);
if (!warningSuppressed)
{ //messages didn't match, so there's been a change - remove the suppression
System.IO.File.Delete(suppressionFileName);
}
}
catch (Exception)
{
Debug.Log("Compatibility Checker suppression file not found. (This is not an error.)");
}

if (!warningSuppressed)
{
bool suppressionRequested = true;

//~~_ need to replace this with a different dialog that allows the bool to be set
PopupDialog.SpawnPopupDialog("Incompatible Mods Detected", message, "OK", true, HighLogic.Skin);

if (suppressionRequested)
{
System.IO.File.WriteAllText(suppressionFileName, message);
}
}


///////////////////////////////////////////
}

Edited by Khatharr
Link to comment
Share on other sites

Since you can't grasp the concept of respecting the user, the popup blocker mod stays and will be mutated as often as necessary any time a user reports a mod that is bypassing it.

Well, to be fair, it seems you can't grasp the concept of respecting the modder's choices.

Link to comment
Share on other sites

You are right. I don't get to choose what happens on your machine: you do... by choosing to install my mod, and I get to choose what my mod does. If my work doesn't suit your tastes, uninstall it.

But yes, I'll adapt very soon. I won't be using Compatibility Checker anymore: I will implement the same exact thing inside the mod, instead of using CC. I'm sure many other will want to do the same.

Link to comment
Share on other sites

I won't be using Compatibility Checker anymore: I will implement the same exact thing inside the mod, instead of using CC. I'm sure many other will want to do the same.

I won't, because I don't believe in mod wars, which I find stupid, to be really blunt.

Link to comment
Share on other sites

Sadly saying, as a user i would not appreciate your mod much..... though there might be users who will like this idea but it definitely not me.

All i seeing is somehow you are annoying modders, as i believe.

Like in KSP, if i wants to make mods useful i will maintain a copy of correct version of KSP, instead of getting an idea of blocking the popup, since blocking the popup can solve none of the issue. I do not want a malfunctioning mod exist in my library since I had enough crash already.

for whatever the reason is, i am glad to wait until the modder run through a check even it could take weeks. Its ok.

Well, basically for me if i sees the compatibility popup i will delete the corresponding mod instead of doing something to the popup - its somehow something like when you flying a plane you see a warning sign and you just trying to shut down the warning sign instead of trying to solve the problem.

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
×
×
  • Create New...