-
-
Notifications
You must be signed in to change notification settings - Fork 17
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Added AssemblyFileVersion, needed for new KSP 1.12 dll verification
Added InstallChecker to ensure installation into correct directory
- Loading branch information
1 parent
8333fed
commit d685f02
Showing
9 changed files
with
136 additions
and
9 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -10,7 +10,7 @@ | |
"MAJOR": 0, | ||
"MINOR": 1, | ||
"PATCH": 10, | ||
"BUILD": 16 | ||
"BUILD": 17 | ||
}, | ||
"KSP_VERSION_MIN": { | ||
"MAJOR": 1, | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -6,3 +6,4 @@ | |
using System.Reflection; | ||
|
||
[assembly: AssemblyVersion("0.1.10.16")] | ||
[assembly: AssemblyFileVersion("0.1.10.16")] |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,99 @@ | ||
/** | ||
* Based on the InstallChecker from the Kethane mod for Kerbal Space Program. | ||
* https://github.com/Majiir/Kethane/blob/b93b1171ec42b4be6c44b257ad31c7efd7ea1702/Plugin/InstallChecker.cs | ||
* | ||
* Original is (C) Copyright Majiir. | ||
* CC0 Public Domain (http://creativecommons.org/publicdomain/zero/1.0/) | ||
* http://forum.kerbalspaceprogram.com/threads/65395-CompatibilityChecker-Discussion-Thread?p=899895&viewfull=1#post899895 | ||
* | ||
* This file has been modified extensively and is released under the same license. | ||
*/ | ||
using System; | ||
using System.IO; | ||
using System.Linq; | ||
using System.Reflection; | ||
using UnityEngine; | ||
|
||
namespace ClickThroughFix | ||
{ | ||
[KSPAddon(KSPAddon.Startup.Instantly, true)] | ||
internal class Startup : MonoBehaviour | ||
{ | ||
private void Start() | ||
{ | ||
string v = "n/a"; | ||
AssemblyTitleAttribute attributes = (AssemblyTitleAttribute)Attribute.GetCustomAttribute(Assembly.GetExecutingAssembly(), typeof(AssemblyTitleAttribute), false); | ||
string title = attributes?.Title; | ||
if (title == null) | ||
{ | ||
title = "TitleNotAvailable"; | ||
} | ||
v = Assembly.GetExecutingAssembly().FullName; | ||
if (v == null) | ||
{ | ||
v = "VersionNotAvailable"; | ||
} | ||
Debug.Log("[" + title + "] Version " + v); | ||
} | ||
} | ||
|
||
[KSPAddon(KSPAddon.Startup.MainMenu, true)] | ||
internal class InstallChecker : MonoBehaviour | ||
{ | ||
internal const string MODNAME = "ClickThroughBlocker"; | ||
internal const string FOLDERNAME = "000_ClickThroughBlocker"; | ||
internal const string EXPECTEDPATH = FOLDERNAME + "/Plugins"; | ||
|
||
protected void Start() | ||
{ | ||
// Search for this mod's DLL existing in the wrong location. This will also detect duplicate copies because only one can be in the right place. | ||
var assemblies = AssemblyLoader.loadedAssemblies.Where(a => a.assembly.GetName().Name == Assembly.GetExecutingAssembly().GetName().Name).Where(a => a.url != EXPECTEDPATH); | ||
if (assemblies.Any()) | ||
{ | ||
var badPaths = assemblies.Select(a => a.path).Select(p => Uri.UnescapeDataString(new Uri(Path.GetFullPath(KSPUtil.ApplicationRootPath)).MakeRelativeUri(new Uri(p)).ToString().Replace('/', Path.DirectorySeparatorChar))); | ||
PopupDialog.SpawnPopupDialog | ||
( | ||
new Vector2(0.5f, 0.5f), | ||
new Vector2(0.5f, 0.5f), | ||
"test", | ||
"Incorrect " + MODNAME + " Installation", | ||
MODNAME + " has been installed incorrectly and will not function properly. All files should be located in KSP/GameData/" + FOLDERNAME + ". Do not move any files from inside that folder.\n\nIncorrect path(s):\n" + String.Join("\n", badPaths.ToArray()), | ||
"OK", | ||
false, | ||
HighLogic.UISkin | ||
); | ||
Debug.Log("Incorrect " + MODNAME + " Installation: " + MODNAME + " has been installed incorrectly and will not function properly. All files should be located in KSP/GameData/" + EXPECTEDPATH + ". Do not move any files from inside that folder.\n\nIncorrect path(s):\n" + String.Join("\n", badPaths.ToArray()) | ||
|
||
); | ||
|
||
} | ||
|
||
//// Check for Module Manager | ||
//if (!AssemblyLoader.loadedAssemblies.Any(a => a.assembly.GetName().Name.StartsWith("ModuleManager") && a.url == "")) | ||
//{ | ||
// PopupDialog.SpawnPopupDialog("Missing Module Manager", | ||
// modName + " requires the Module Manager mod in order to function properly.\n\nPlease download from http://forum.kerbalspaceprogram.com/threads/55219 and copy to the KSP/GameData/ directory.", | ||
// "OK", false, HighLogic.Skin); | ||
//} | ||
|
||
CleanupOldVersions(); | ||
} | ||
|
||
/* | ||
* Tries to fix the install if it was installed over the top of a previous version | ||
*/ | ||
void CleanupOldVersions() | ||
{ | ||
try | ||
{ | ||
} | ||
catch (Exception ex) | ||
{ | ||
Debug.LogError("-ERROR- " + this.GetType().FullName + "[" + this.GetInstanceID().ToString("X") + "][" + Time.time.ToString("0.00") + "]: " + | ||
"Exception caught while cleaning up old files.\n" + ex.Message + "\n" + ex.StackTrace); | ||
|
||
} | ||
} | ||
} | ||
} | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters