Skip to content

Commit a4b54b5

Browse files
committed
Updating MMWD to 1.1.2.0 (again)
1 parent abb9630 commit a4b54b5

9 files changed

Lines changed: 34 additions & 20 deletions
6 KB
Binary file not shown.

GameData/ModuleManagerWatchDog/CHANGE_LOG.md

Lines changed: 14 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,16 @@
11
# Module Manager Watch Dog :: Change Log
22

3+
* 2024-0423: 1.1.2.0 (LisiasT) for KSP >= 1.2.2
4+
+ Adds an Option Box asking the user what would be their preferred MM Fork when a conflict is detected.
5+
+ We had moved!
6+
- The Official Repository is now on https://github.com/KSP-ModularManagement/ModuleManagerWatchDog
7+
+ Closes issue:
8+
- [#11](https://github.com/KSP-ModularManagement/ModuleManagerWatchDog/issues/11) Implement a more friendly way to allow the user to select which MM fork it wants.
9+
* 2024-0330: 1.1.1.2 (LisiasT) for KSP >= 1.2.2
10+
+ Implements a "self-cleaning" mechanism intended to prevent the user being forced to manually delete artefacts on `GameData` once they decide to deinstall `Module Manager /L` and/or `Module Manager Watch Dog`.
11+
- Specially necessary for CurseForge users.
12+
+ Closes issue:
13+
- [#10](https://github.com/KSP-ModularManagement/ModuleManagerWatchDog/issues/10) Detects when the host directory (`GameData\ModuleManager`) was removed, and kill `ModuleManager.dll` in response.
314
* 2023-0703: 1.1.1.1 (LisiasT) for KSP >= 1.2.2
415
+ More sensible updating mechanism, coping with how Windows handles DLL files once they are loaded.
516
+ Fixes a bug on the KSPe's Install Checker/Update Tool
@@ -9,11 +20,11 @@
920
- Safer handling 1.12.x without screwing older KSPs.
1021
+ Implements an "AutoFix", automatically fixing the user's rig when possible (respecting user's preferences).
1122
+ Closes issue:
12-
- [#8](https://github.com/net-lisias-ksp/ModuleManagerWatchDog/issues/8) Automatically fix the Module Manager installation borks when possible.
23+
- [#8](https://github.com/KSP-ModularManagement/ModuleManagerWatchDog/issues/8) Automatically fix the Module Manager installation borks when possible.
1324
* 2023-0313: 1.1.0.4 (LisiasT) for KSP >= 1.2.2
1425
+ Makes the thing survivable if KSP starts with the `pwd` set to anywhere but the `KSPUtil.ApplicationRootPath`.
1526
+ Closes issue:
16-
- [#6](https://github.com/net-lisias-ksp/ModuleManagerWatchDog/issues/6) Resurrect the multiple ModuleManager DLLs check for KSP 1.12.x
27+
- [#6](https://github.com/KSP-ModularManagement/ModuleManagerWatchDog/issues/6) Resurrect the multiple ModuleManager DLLs check for KSP 1.12.x
1728
* 2022-1112: 1.1.0.3 (LisiasT) for KSP >= 1.2.2
1829
+ ***DITCHED***
1930
* 2022-0719: 1.1.0.2 (LisiasT) for KSP >= 1.2.2
@@ -24,7 +35,7 @@
2435
- ModuleManager /L
2536
- TweakScale
2637
+ Closes issue:
27-
- [#5](https://github.com/net-lisias-ksp/ModuleManagerWatchDog/issues/5) Cook a `GameData/*.dll` update tool
38+
- [#5](https://github.com/KSP-ModularManagement/ModuleManagerWatchDog/issues/5) Cook a `GameData/*.dll` update tool
2839
* 2022-0621: 1.1.0.0 (LisiasT) for KSP >= 1.2.2
2940
+ ***DTICHED*** due a stupid mistake on handling pathnames... #facePalm
3041
* 2021-0907: 1.0.1.1 (LisiasT) for KSP >= 1.2.2

GameData/ModuleManagerWatchDog/ModuleManagerWatchDog.version

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,15 @@
11
{
22
"NAME" : "Module Manager Watch Dog",
3-
"URL" : "https://raw.githubusercontent.com/net-lisias-ksp/ModuleManagerWatchDog/master/ModuleManagerWatchDog.version",
4-
"DOWNLOAD" : "https://github.com/net-lisias-ksp/ModuleManagerWatchDog/releases",
5-
"CHANGE_LOG_URL": "https://raw.githubusercontent.com/net-lisias-ksp/ModuleManagerWatchDog/master/CHANGES.md",
3+
"URL" : "https://raw.githubusercontent.com/KSP-ModularManagement/ModuleManagerWatchDog/master/ModuleManagerWatchDog.version",
4+
"DOWNLOAD" : "https://github.com/KSP-ModularManagement/ModuleManagerWatchDog/releases",
5+
"CHANGE_LOG" : "https://raw.githubusercontent.com/KSP-ModularManagement/ModuleManagerWatchDog/master/CHANGE_LOG.md",
6+
"CHANGE_LOG_URL": "https://raw.githubusercontent.com/KSP-ModularManagement/ModuleManagerWatchDog/master/CHANGES.md",
67

78
"VERSION":{
89
"MAJOR":1,
910
"MINOR":1,
10-
"PATCH":1,
11-
"BUILD":1
11+
"PATCH":2,
12+
"BUILD":0
1213
},
1314
"KSP_VERSION_MIN":{
1415
"MAJOR":1,

GameData/ModuleManagerWatchDog/NOTICE

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,4 +2,4 @@
22
"ModuleManagerWatchDog", "Module Manager Watch Dog" and "MMWD" are trademarmarks of LisiasT
33

44
Other trademarks and registered trademarks are the property of the respective trademark holders.
5-
© 2020-22 LisiasT
5+
© 2020-24 LisiasT
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.

GameData/ModuleManagerWatchDog/README.md

Lines changed: 13 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# Module Manager Watch Dog
22

3-
A Watch Dog for Module Manager.
3+
A Watch Dog for Module Manager - with benefits.
44

55

66
## In a Hurry
@@ -34,7 +34,7 @@ A Watch Dog for Module Manager.
3434

3535
`MMWD` is a Watch Dog to monitor Module Manager, preventing known (and unsolved) bugs on KSP 1.8 and newer that affects it.
3636

37-
Additional services for updating specific DLLs on `GameData.` are now part of the solution, making it useful even for KSP <= 1.7.3 .
37+
Additional services for updating specific DLLs on `GameData` are now part of the solution, and it is's now effective for KSP <= 1.7.3 .
3838

3939
The following services are provided:
4040

@@ -44,11 +44,11 @@ Some 3rd party Add'Ons and this tool itself need critical DLLs to be present dir
4444

4545
Additionally, CurseForge - at least at the moment of this release - doesn't have a mechanism to allow updating files on it, triggering bug reports that will be easily avoided by deploying this tool.
4646

47-
This tool checks for need for installing (or updating) such critical DLLs automatically for selected Add'Ons.
47+
This tool checks for the need of installing (or updating) such critical DLLs automatically for selected Add'Ons.
4848

4949
The feature is implemented on a discrete DLL, `WatchDogInstallChecker.dll`, and can be easily removed from the distribution without colateral effects (other than losing the functionality).
5050

51-
**It's not advisable to use it on installments managed by CKAN**, as it manages itself these DLLs.
51+
**It's _not_ advisable to use it on installments managed by CKAN**, as it manages itself these DLLs.
5252

5353
The following Add'Ons are currently managed:
5454

@@ -64,35 +64,37 @@ Historically, managing multiple Module Manager versions was problematic on KSP -
6464

6565
Before KSP 1.8, duplicated Assemblies were being loaded on dedicated App Domains, and so calling them would incur in marshalling (essentially, RPC but on the same process...) with significantly performance issues.
6666

67-
But on KSP 1.8 (and until 1.12.0), while trying to tackle down the performance problem by short circuiting all the duplicated Assemblies to the first one loaded, Squad inadvertently caused the oldest MM being elected to be used (as DLLs are loaded in alphabetical order), with pretty serious consequences.
67+
But on KSP 1.8 (and until 1.12.0), while trying to tackle down the performance problem by short circuiting all the duplicated Assemblies to the first loaded one, Squad inadvertently caused the oldest MM being elected to be used (as DLLs are loaded in alphabetical order), with pretty serious consequences.
6868

69-
On KSP 1.12.0 things changed again. Now the DLL version is used as criteria, and the highest version found is the one elected to be used. **However**, a new bug was introduced, playing havoc on the system if more than one DLL **has the same filename**.
69+
On KSP 1.12.0 things changed again. Now the DLL version is used as election criteria, and the highest version found is the one elected to be used. **However**, a new bug was introduced, playing havoc on the system if more than one DLL **has the same filename**.
70+
71+
Finally, on KSP 1.12.5 the problem of selecting the first DLL was resurrected, and now that old problem that started to happen on KSP 1.8 is in effect again.
7072

7173
So, different KSP releases will need different MM handling:
7274

7375
* On KSP \< 1.8, the tool complains if MM is not installed.
74-
* On KSP \>= 1.8 and \< 1.12, the tool will yell on any duplicated Module Manager on the rig - *There can be only one!*
76+
* On KSP \>= 1.8 and \< 1.12, as well KSP 1.12.5, the tool will yell on any duplicated Module Manager on the rig - *There can be only one!*
7577
* On KSP \>= 1.12, the tool prevents installing MM/L together Forum's one as an extra safety measure.
76-
+ MM/L behaves and it's 100% compatible, being a drop in replacement - it's safe to switch MM at any time.
78+
+ MM/L behaves and it's 100% compatible, being a drop in replacement - it's absolutely safe to switch MM at any time (even the functional bugs are the same)
7779
+ But yet is advisable to avoid having both installed at the same time.
7880

7981
The Author strongly advises to edit the `WatchDog.cfg` file and select enforcing the "1.8 rules". It's far the safest option - besides risking being a bit annoying sometimes.
8082

8183
### Checking TweakScale
8284

83-
Due the general mess that handling duplicated DLLs are on KSP, it was choose to install the formerly named `Scale_Redist.dll` file into `GameData` as `999_Scale_Redist.dll` . This aims to ensure the canon Redist is the first one to be loaded, as well to avoid eventual naming collisions with the few Add'Ons that used to have it embedded.
85+
Due the general mess that handling duplicated DLLs is on KSP, it was chosen to install the formerly named `Scale_Redist.dll` file into `GameData` as `999_Scale_Redist.dll` . This aims to ensure the canon Redist is the first one to be loaded, as well to avoid eventual naming collisions with the few Add'Ons that used to have it embedded.
8486

8587
This way, we can be ensure the best performance on older KSPs as well a safest environment on newer ones.
8688

87-
The tool checks for known `Scale_Redist` clients and yells if they are present but not the Redist. It also yells if there're more than one copy of `Scale_Redist` are installed, and also enforce that the only one installed are the `GameData/999_Scale_Redist.dll` .
89+
The tool checks for known `Scale_Redist` clients and yells if they are present but not the Redist. It also yells if there're more than one copy of `Scale_Redist` installed, and also enforces that the only one installed are the `GameData/999_Scale_Redist.dll` .
8890

8991
### Checking KSP Interstellar Extended
9092

9193
Similar handling are applied to `Interstellar_Redist.dll` from KSPIE.
9294

9395
### Final Considerations
9496

95-
This tool was originally aimed to be redistributed embedded on Add'Ons that used to redistribute Module Manager themselves in the past, unintentionally triggering the problems this tool aims to detect, but evolved to an Add'On de jure and de facto.
97+
This tool was originally aimed to be redistributed embedded on Add'Ons that used to redistribute Module Manager themselves in the past, unintentionally triggering the problems this tool aims to detect - but evolved to an Add'On *de jure and de facto*.
9698

9799

98100
## Installation

0 commit comments

Comments
 (0)