Skip to content

Commit

Permalink
Merge branch 'develop'
Browse files Browse the repository at this point in the history
  • Loading branch information
Dunbaratu committed Jan 17, 2021
2 parents 131e46a + 76d76b3 commit 5e572ed
Show file tree
Hide file tree
Showing 140 changed files with 8,122 additions and 1,245 deletions.
306 changes: 306 additions & 0 deletions CHANGELOG.md

Large diffs are not rendered by default.

14 changes: 12 additions & 2 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
####INDEX
#### INDEX
* [Pull Requests](#pull-requests)
* [Nobody merges their own PR](#nobody-merges-their-own-pr)
* [Setting Up Your Environment](#setting-up-your-environment)
Expand Down Expand Up @@ -78,6 +78,7 @@ Setting Up Your Environment
===========================

## Assumptions

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

## Setting Up Your repository

1. Use the github web interface to create a fork of KSP-KOS/KOS

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

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

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

* `Assembly-CSharp`
* `Assembly-CSharp-firstpass`
Expand Down Expand Up @@ -230,3 +232,11 @@ place on the menus.)
5. If you want building the solution to update the dlls in your KSP
directory, create a symbolic link called `KSPdirlink` from the root
of this repository to your KSP installation directory.

**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.

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:

> …/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),
In this case the assembly you are looking for is `UnityEngine.PhysicsModule` which should be provided in the `UnityEngine.PhysicsModule.dll` DLL file.
2 changes: 1 addition & 1 deletion Resources/GameData/kOS/Parts/KOSCherryLight/part.cfg
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ PART
minimum_drag = .002
angularDrag = 2
crashTolerance = 9
maxTemp = 2400
maxTemp = 2000
MODULE
{
name = ModuleLight
Expand Down
2 changes: 1 addition & 1 deletion Resources/GameData/kOS/Parts/kOSMachine0m/part.cfg
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ maximum_drag = 0.2
minimum_drag = 0.2
angularDrag = 2
crashTolerance = 9
maxTemp = 3400
maxTemp = 1500

MODULE
{
Expand Down
2 changes: 1 addition & 1 deletion Resources/GameData/kOS/Parts/kOSMachine0mLegacy/part.cfg
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@ PART
minimum_drag = 0.2
angularDrag = 2
crashTolerance = 9
maxTemp = 3400
maxTemp = 2000

MODULE
{
Expand Down
2 changes: 1 addition & 1 deletion Resources/GameData/kOS/Parts/kOSMachine1m/part.cfg
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ maximum_drag = 0.2
minimum_drag = 0.2
angularDrag = 2
crashTolerance = 9
maxTemp = 3400
maxTemp = 2000

MODULE
{
Expand Down
2 changes: 1 addition & 1 deletion Resources/GameData/kOS/Parts/kOSMachineRad/part.cfg
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ maximum_drag = 0.0
minimum_drag = 0.0
angularDrag = 0
crashTolerance = 6
maxTemp = 3400
maxTemp = 1500


MODULE
Expand Down
2 changes: 1 addition & 1 deletion Resources/GameData/kOS/Parts/kOSkal9000/part.cfg
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ maximum_drag = 0
minimum_drag = 0
angularDrag = 0
crashTolerance = 9
maxTemp = 3400
maxTemp = 1500
MODULE
{
Expand Down
44 changes: 42 additions & 2 deletions Resources/GameData/kOS/kOS-module-manager.cfg
Original file line number Diff line number Diff line change
@@ -1,7 +1,47 @@
@PART[*]:FOR[kOS]
//
// ADD the KOSNameTag to all parts in the game.
//
// THE FOLLOWING EXPLANATION IS FOR ISSUE #2764
//
// The "[!KOSNameTag]" rule below attempted to prevent duplicates
// in a part, but it doesn't entirely succeed at that in the
// case of KerbalEVA parts if the installation has all the DLCs,
// due to a wacky messy way SQUAD implemented the alternate
// kerbal types (with or without vintage suits, with or without
// the ability to plant ground science, etc). SQUAD implements
// them as entirely different kerbal parts, then smashes their
// definitions together later after Modulemanager is done.
// ModuleManager is helpless to notice the duplication that will
// cause because they were two *different* parts when it was looking
// at them.
//
// Therefore there is extra code inside kOS's C# code to additionally
// enforce the "no more than one KOSNameTag" rule, in its OnAwake().
// You *cannot* force more than one KOSNameTag to exist in a part
// no matter what you do in ModuleManager now, because KOSNameTag
// itself refuses to allow it.
//
@PART[*]:FOR[kOS]:HAS[!KOSNameTag]
{
MODULE
{
name = KOSNameTag
}
}
}

//
// The following is commented out because it was an alternate possible
// fix to #2764 that @Poodmund worked on for me, and even though I'm not
// going with it, it's saved here for reference to look at later should
// we change our mind and want to go to this instead:
//
// (In a nutshell, this removes the extra KOSNameTag PartModules from
// those specfic part definitions in the known specific DLC folders
// that trigger this exact problem, rather than creating a generic
// solution that says "there can be only one, ever"):
//
// @PART[kerbalEV*]:HAS[~name[*Future],@MODULE[ModuleScienceExperiment]:HAS[#experimentID[ROCScience]]]:AFTER[kOS]
// {
// !MODULE[KOSNameTag]{}
// }
//
12 changes: 6 additions & 6 deletions Resources/GameData/kOS/kOS.version
Original file line number Diff line number Diff line change
Expand Up @@ -10,23 +10,23 @@
},
"VERSION": {
"MAJOR": 1,
"MINOR": 2,
"PATCH": 1,
"MINOR": 3,
"PATCH": 0,
"BUILD": 0
},
"KSP_VERSION": {
"MAJOR": 1,
"MINOR": 8,
"MINOR": 10,
"PATCH": 1
},
"KSP_VERSION_MIN": {
"MAJOR": 1,
"MINOR": 8,
"MINOR": 10,
"PATCH": 0
},
"KSP_VERSION_MAX": {
"MAJOR": 1,
"MINOR": 9,
"PATCH": 1
"MINOR": 11,
"PATCH": 99
}
}
Binary file added doc/source/_images/general/bootVAB.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
6 changes: 6 additions & 0 deletions doc/source/addons/KAC.rst
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,12 @@ You can find out if Kerbal Alarm Clock addon is available in the
current game installation by usng the boolean expression
``addons:available("KAC")``.

Note that due to changes in Kerbal Alarm Clock, kOS can no longer support
versions of KAC that are older than 3.0.0.2. The API that Kerbal
Alarm Clock publishes for other mods to use changed such that
kOS can ether support newer Kerbal Alarm Clock, or older Kerbal Alarm
Clock, but not both.

The Kerbal Alarm Clock is a plugin that allows you to create reminder alarms at future periods to help you manage your flights and not warp past important times.

.. figure:: http://triggerau.github.io/KerbalAlarmClock/images/KACForumPic.png
Expand Down
32 changes: 30 additions & 2 deletions doc/source/addons/RemoteTech.rst
Original file line number Diff line number Diff line change
Expand Up @@ -10,8 +10,33 @@ RemoteTech is a modification for Squad's "Kerbal Space Program" (KSP) which over
- Documentation: http://remotetechnologiesgroup.github.io/RemoteTech/

You can find out if the RemoteTech addon is available in the
current game installation by usng the boolean expression
``addons:available("RT")``.
current game installation by usng the boolean expression::

addons:available("RT")

Then you can access the Remote Tech addon with::

set myRemoteTech to addons:RT.

Quick example
-------------

A quick example of usage::

if addons:available("RT") {
local myRT is addons:RT.
print "The delay from KSC to Myself is:".
print myRT:KSCDELAY(ship) + " seconds.".
}

Connectivity Manager
--------------------

Note, that some of the methods in here can be handled more generically
regardless of whether RT is installed or not, by using the methods
:ref:`in the Connectivity Manager <connectivityManagers>`. The
ConnectivityManager can abstract away the differences between
communication mods.

Interaction with kOS
--------------------
Expand Down Expand Up @@ -75,6 +100,9 @@ of some of its suffixes.
RTAddon
~~~~~~~

This is obtained with ``Addons:RT``.


.. structure:: RTAddon

===================================== ===================================== =============
Expand Down
Loading

0 comments on commit 5e572ed

Please sign in to comment.