KSPModdingLibs / KSPCommunityFixes

Community patches for bugs in the KSP codebase.
https://github.com/KSPModdingLibs/KSPCommunityFixes/releases/latest
59 stars 20 forks source link

KSP Community Fixes

This plugin is a collection of code patches for fixing bugs and performance issues in the KSP codebase, and adding small QoL improvements. Entirely new features (especially those already covered by other mods) are out of scope, as well as patches that might alter the stock behaviors to minimize potential mod compatibility issues.

This mod is meant as community project, so feel free to propose additional patch ideas by opening an issue, or to contribute with a pull request.

Download and installation

Compatible with KSP 1.8.0 to 1.12.5 - Available on CKAN

Required and must be downloaded separately :

Installation

Installation with CKAN is recommended. Otherwise:

Features

Individual patches can be enabled or disabled by editing the Settings.cfg file. To make sure your changes persist when the mod is updated, it is recommended to make them in a ModuleManager patch. Open the Extras\KSPCF_UserSettings.cfg.extra file in a text editor for further instructions.

While all KSP versions from 1.8.0 to 1.12.5 are supported, using the latest one (1.12.5) is highly recommended, as many patches only apply to the most recent KSP versions. When a bug fix patch doesn't apply to an older KSP version, this doesn't mean those bugs don't exist there.

User options are available from the "ESC" in-game settings menu :

Major bugfixes

Minor bugfixes

Quality of Life tweaks

Performance tweaks

API and modding tools

Stock configs tweaks

License

MIT

Localization

This mod supports localization. If you wish to contribute a localization file, you can have the mod generate or update a language template by editing the Settings.cfg (see instructions near the end of the file).

Building

After loading the solution in your IDE, add a ReferencePath pointing to the root of your KSP install :

For Visual Studio, right-click on the KSPCommunityFixes project > Properties > Reference Paths, add the path to your KSP install and save the changes. Closing and re-opening the solution might be needed for the changes to propagate.

Alternatively, you can do that manually by creating a KSPCommunityFixes.csproj.user file next to the KSPCommunityFixes.csproj file, with the following content :

<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="Current" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <PropertyGroup>
    <ReferencePath>Absolute\Path\To\Your\KSP\Install\Folder</ReferencePath>
  </PropertyGroup>
</Project>

Then close / re-open the solution.

Building in the Debug configuration will update the GameData folder in your KSP install, building in the Release configuration will additionally create a zipped release in the Releases repository root folder.

For incrementing the version, edit the KSPCommunityFixes.version KSP-AVC file, changes will be propagated to AssemblyInfo.cs when building in the Release configuration.

The Start action of the IDE will trigger a build, update the GameData files in the KSP install and launch KSP. If doing so in the Debug configuration and if your KSP install is modified to be debuggable, you will be able to debug the code from within your IDE (if your IDE provides Unity debugging support).

Changelog

1.36.1

Hotfix release for issue #273 : ForceSyncSceneSwitch patch incompatibility with Universal Storage 2. The patch will now be disabled when US2 is installed.

Note that this patch might be causing other issues, but so far we haven't been able to confirm them.

1.36.0

User facing changes

Internal changes

1.35.2
1.35.1
1.35.0
1.34.1
1.34.0
1.33.0
1.32.1
1.32.0
1.31.1
1.31.0
1.30.0
1.29.2
1.29.1
1.29.0
1.28.1
1.28.0
1.27.0
1.26.0
1.25.5
1.25.4
1.25.3
1.25.2
1.25.1
1.25.0
1.24.6
1.24.5
1.24.4
1.24.3
1.24.2
1.24.1
1.24.0
1.23.0
1.22.2
1.22.1
1.22.0
1.21.0
1.20.4
1.20.3
1.20.2
1.20.1
1.20.0
1.19.1
1.19.0
1.18.3
1.18.2
1.18.1
1.18.0
1.17.0
1.16.1
1.16.0
1.15.0
1.14.1
1.14.0
1.13.2
1.13.1
1.13.0
1.12.2
1.12.1
1.12.0
1.11.2
1.11.1
1.11.0
1.10.1

DockingPortRotationDriftAndFixes refinements :

1.10.0
1.9.1
1.9.0
1.8.0
1.7.0
1.6.1
1.6.0
1.5.0
1.4.2
1.4.1
1.4.0
1.3.0
1.2.0
1.1.0
1.0.4
1.0.3
1.0.2
1.0.1
1.0.0