Skip to content

Commit 5e572ed

Browse files
committed
Merge branch 'develop'
2 parents 131e46a + 76d76b3 commit 5e572ed

File tree

140 files changed

+8122
-1245
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

140 files changed

+8122
-1245
lines changed

CHANGELOG.md

Lines changed: 306 additions & 0 deletions
Large diffs are not rendered by default.

CONTRIBUTING.md

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
####INDEX
1+
#### INDEX
22
* [Pull Requests](#pull-requests)
33
* [Nobody merges their own PR](#nobody-merges-their-own-pr)
44
* [Setting Up Your Environment](#setting-up-your-environment)
@@ -78,6 +78,7 @@ Setting Up Your Environment
7878
===========================
7979

8080
## Assumptions
81+
8182
* `$KSP` is the full path to your Kerbal Space Program installation directory.
8283
(i.e. `"C:\Program Files (x86)\Steam\SteamApps\common\Kerbal Space Program"`)
8384
* `$KOS` is the full path to your KOS git repository.
@@ -88,6 +89,7 @@ Setting Up Your Environment
8889
.sln solution.
8990

9091
## Setting Up Your repository
92+
9193
1. Use the github web interface to create a fork of KSP-KOS/KOS
9294

9395
2. Your fork should have a web address like `https://github.com/[username]/KOS`
@@ -161,7 +163,7 @@ Setting Up Your Environment
161163

162164
2. Get the Unity assemblies into your project. There are two options:
163165

164-
1. Copy these DLLs from `$KSP/KSP_x64_Data/Managed `into `$KOS/Resources`:
166+
1. Copy these DLLs from `$KSP/KSP_x64_Data/Managed `into `$KOS/Resources` (NB: see note below about assemblies/DLLs):
165167

166168
* `Assembly-CSharp`
167169
* `Assembly-CSharp-firstpass`
@@ -230,3 +232,11 @@ place on the menus.)
230232
5. If you want building the solution to update the dlls in your KSP
231233
directory, create a symbolic link called `KSPdirlink` from the root
232234
of this repository to your KSP installation directory.
235+
236+
**Note**: the list of assemblies above is not necessarily exactly what you will need. The `UnityEngine.ImageConversionModule` assembly for example only exists on the macOS port of KSP.
237+
238+
You can build the list of assemblies yourself by building the kOS solution and looking for the "forwarded to assembly" errors. These errors should look something like this:
239+
240+
> …/KOS/src/kOS/Binding/FlightStats.cs(143,143): Error CS1069: The type name 'Rigidbody' could not be found in the namespace 'UnityEngine'. This type has been forwarded to assembly 'UnityEngine.PhysicsModule, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null' Consider adding a reference to that assembly. (CS1069) (kOS),
241+
242+
In this case the assembly you are looking for is `UnityEngine.PhysicsModule` which should be provided in the `UnityEngine.PhysicsModule.dll` DLL file.

Resources/GameData/kOS/Parts/KOSCherryLight/part.cfg

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ PART
2525
minimum_drag = .002
2626
angularDrag = 2
2727
crashTolerance = 9
28-
maxTemp = 2400
28+
maxTemp = 2000
2929
MODULE
3030
{
3131
name = ModuleLight

Resources/GameData/kOS/Parts/kOSMachine0m/part.cfg

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ maximum_drag = 0.2
3939
minimum_drag = 0.2
4040
angularDrag = 2
4141
crashTolerance = 9
42-
maxTemp = 3400
42+
maxTemp = 1500
4343

4444
MODULE
4545
{

Resources/GameData/kOS/Parts/kOSMachine0mLegacy/part.cfg

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ PART
4545
minimum_drag = 0.2
4646
angularDrag = 2
4747
crashTolerance = 9
48-
maxTemp = 3400
48+
maxTemp = 2000
4949

5050
MODULE
5151
{

Resources/GameData/kOS/Parts/kOSMachine1m/part.cfg

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ maximum_drag = 0.2
3939
minimum_drag = 0.2
4040
angularDrag = 2
4141
crashTolerance = 9
42-
maxTemp = 3400
42+
maxTemp = 2000
4343

4444
MODULE
4545
{

Resources/GameData/kOS/Parts/kOSMachineRad/part.cfg

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ maximum_drag = 0.0
3737
minimum_drag = 0.0
3838
angularDrag = 0
3939
crashTolerance = 6
40-
maxTemp = 3400
40+
maxTemp = 1500
4141

4242

4343
MODULE

Resources/GameData/kOS/Parts/kOSkal9000/part.cfg

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ maximum_drag = 0
3636
minimum_drag = 0
3737
angularDrag = 0
3838
crashTolerance = 9
39-
maxTemp = 3400
39+
maxTemp = 1500
4040
4141
MODULE
4242
{
Lines changed: 42 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,47 @@
1-
@PART[*]:FOR[kOS]
1+
//
2+
// ADD the KOSNameTag to all parts in the game.
3+
//
4+
// THE FOLLOWING EXPLANATION IS FOR ISSUE #2764
5+
//
6+
// The "[!KOSNameTag]" rule below attempted to prevent duplicates
7+
// in a part, but it doesn't entirely succeed at that in the
8+
// case of KerbalEVA parts if the installation has all the DLCs,
9+
// due to a wacky messy way SQUAD implemented the alternate
10+
// kerbal types (with or without vintage suits, with or without
11+
// the ability to plant ground science, etc). SQUAD implements
12+
// them as entirely different kerbal parts, then smashes their
13+
// definitions together later after Modulemanager is done.
14+
// ModuleManager is helpless to notice the duplication that will
15+
// cause because they were two *different* parts when it was looking
16+
// at them.
17+
//
18+
// Therefore there is extra code inside kOS's C# code to additionally
19+
// enforce the "no more than one KOSNameTag" rule, in its OnAwake().
20+
// You *cannot* force more than one KOSNameTag to exist in a part
21+
// no matter what you do in ModuleManager now, because KOSNameTag
22+
// itself refuses to allow it.
23+
//
24+
@PART[*]:FOR[kOS]:HAS[!KOSNameTag]
225
{
326
MODULE
427
{
528
name = KOSNameTag
629
}
7-
}
30+
}
31+
32+
//
33+
// The following is commented out because it was an alternate possible
34+
// fix to #2764 that @Poodmund worked on for me, and even though I'm not
35+
// going with it, it's saved here for reference to look at later should
36+
// we change our mind and want to go to this instead:
37+
//
38+
// (In a nutshell, this removes the extra KOSNameTag PartModules from
39+
// those specfic part definitions in the known specific DLC folders
40+
// that trigger this exact problem, rather than creating a generic
41+
// solution that says "there can be only one, ever"):
42+
//
43+
// @PART[kerbalEV*]:HAS[~name[*Future],@MODULE[ModuleScienceExperiment]:HAS[#experimentID[ROCScience]]]:AFTER[kOS]
44+
// {
45+
// !MODULE[KOSNameTag]{}
46+
// }
47+
//

Resources/GameData/kOS/kOS.version

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -10,23 +10,23 @@
1010
},
1111
"VERSION": {
1212
"MAJOR": 1,
13-
"MINOR": 2,
14-
"PATCH": 1,
13+
"MINOR": 3,
14+
"PATCH": 0,
1515
"BUILD": 0
1616
},
1717
"KSP_VERSION": {
1818
"MAJOR": 1,
19-
"MINOR": 8,
19+
"MINOR": 10,
2020
"PATCH": 1
2121
},
2222
"KSP_VERSION_MIN": {
2323
"MAJOR": 1,
24-
"MINOR": 8,
24+
"MINOR": 10,
2525
"PATCH": 0
2626
},
2727
"KSP_VERSION_MAX": {
2828
"MAJOR": 1,
29-
"MINOR": 9,
30-
"PATCH": 1
29+
"MINOR": 11,
30+
"PATCH": 99
3131
}
3232
}

0 commit comments

Comments
 (0)