Releases: KSP-RO/TestFlight
TestFlight 1.5.5.0 Beta 2
1.5.5.0
KSP Version
KSP 1.0.5
Changes
- FIX: Fix possible issue with adding burn times to RealFuels info if an existing description didn't already exist
- CHANGE: Use KSPs own formatting for the timestamp in flight log
TestFlight v1.5.5.0 Beta 1
1.5.5.0 Beta 1
KSP Version
KSP 1.0.5
Highlights
This is a beta release
- New optional module for working with RealFuels. This module will only load if RealFuels is present, and if found will allow TestFlight to inject burn times into the RF EngineConfig GUI in the editor. This means you will be able to mouse over engine configs, even unlocked ones, and see the rated burn time for that config.
- Multiple failures! TestFlight now allows multiple failures to stack up on a single part. No more hoping for a "safe" failure that will block more dangerous ones. The only limitation is a part can't have the same failure happen more than once.
- Multiple core. Configs can now place multiple
TestFlightCore
modules on a single part. Additional TestFlight modules can also be added that work with particular cores. Each will bind to the core with the same alias. In short this allows for essentially virtual sub-parts on a given part. So that if you have composite parts, like say a probe core that has modules for the probe, a built in antenna, and a science experiment, you can now have those show up as actual distinct parts in TestFlight. - TestFlight no longer handles repair functionality. Parts can fail, and the TestFlight API has a call to instantly repair them, but does not itself provide any interface to the player for doing so. The repair functionality in TestFlight was always rather bare bones, and did not really do the topic service. Repair functionality is really a whole mode in itself and now it can be! I may write a bare bones repair system to work with TestFlight in the future but it is my hope that someone will jump on this to make a really nice in depth repair system.
Changes
- NEW: For parts with stack icons, TestFlight will now change the background of those icons when failures occur. Orange = Minor failure, Red = Major failure. More options for failure identification will be coming in the future
- CHANGE-API:
TestFlightUtil.GetFullPartName
has been removed and is no longer available. Every module should know its part name anyway - NEW: Tweakable menu will now display a R&D button for each activecore, distinguished by the Alias, and allow opening the R&D menu forthat sub part directly.Updated all modules to use new method for getting the core that usesthe Alias.Fixed calls to GetFullPartName() to simply use the Alias instead.Updated method of modules determining enabled status by simplyretrieving their bound core and return that status.Removed old method of determining part for editor windowUpdated R&D Scenario to work with new multi cores
- NEW: Major refactor to allow for multiples cores on a single part, creating essentially virtual sub parts within one part. This involves major API changes which need to be documented.
- NEW-API: ITestFlightCore.Alias property returns the alias of the core configuration
- NEW-API: Added overloaded TestFlightUtil.GetCost() method toretrieve an active core based on alias.
- CHANGE: Engines now properly start their cycle at ignition rather than after clearing the tower. NOTE: You will still not start accumulating data until the craft actually launches.
- FIX: Don't allow multiple instances of the same failure.
- NEW: Parts can now have multiple failures. This means that after the initial failure on a part, the part can continue to receive other failures. There is no hard limit on the number of failures that can accumulate on a part.
- CHANGE: TestFlight no longer handles repairs, and all repairfunctionality has been removed.Major rework/refactor to handle multiple part failures and removerepair system
project updates, build test - NEW: Report rated burn time in pretty format, not just seconds.
- NEW: For EngineCycle modules, add rated burn time to the RealFuels config descriptions, if RealFuels is installed
- NEW-CONFIG: Added new property
engineConfig
to theITestFlightReliability_EngineCycle
module for use in RealFuels injection - NEW-API: TestFlight main assembly now identifies as KSPAssembly
TestFlight
- FIX: Fixed bug causing Editor Info window to display wrong amount of flight data units.
TestFlight v1.5.4.4
1.5.4.4
KSP Version
KSP 1.0.5
Changes
- FIX: Fix R&D teams eating up insane amount of funds due to no research having been active for very long times
TestFlight 1.5.4.3
1.5.4.3
KSP Version
KSP v1.0.5
Changes
- FIX: Fixed PluginDir not being created on fresh installs which would prevent any settings from being saved
TestFlight v1.6.0.0 Pre-Release Beta 1
1.6.0.0 Beta 1
KSP Version
KSP 1.1 Pre-Release
Important Notes
This is an early beta release of TestFlight for KSP 1.1 Pre-Release. It will not work with KSP 1.0.5 and very likely still has some minor bugs on KSP 1.1, but everything should run for the most part.
Release Notes
- NEW: Updated for KSP 1.1 Pre-Release
- FIX: Settings were not being created if they didn't already exist
TestFlight v1.5.4.2
Hotfix
KSP Version: 1.0.5
- FIX: Fix major bug in FloatCurve handling that was causing TestFlightFailure_IgnitionFail and TestFlightReliability_EngineCycle to both not apply proper failure chances
TestFlight v1.5.4.1 Beta 2
- FIX: Fix major bug in FloatCurve handling that was causing TestFlightFailure_IgnitionFail and TestFlightReliability_EngineCycle to both not apply proper failure chances
TestFlight v1.5.4.1 Beta 1
1.5.4.1.beta-1 Added some new debug to EngineCycle
TestFlight 1.5.4.0
1.5.4.0
Highlights
The TestFlight R&D System is finally here! It has been teased forever by the nonfunctional R&D tab seen in the TestFlight window in the KSC screen, but now it is finally implemented.
The R&D system is an optional feature that allows you to spend funds and time to increase part reliability without actually flying them and risking bad things happening. Gaining data through flight will still often be quicker, but not as safe. R&D will be safer but slower and cost funds. The choice is yours. Parts do have maximum R&D limits however, so while engineers can get you to a better reliability before flight testing, they won't get you all the way.
R&D can be assigned to any supported part while in the editor constructing your vessel. Simply right click on the part and click the R&D Window
button to toggle the R&D window. Here you can assign one of several teams to begin researching that part. Choose the one that works for you, balancing time and cost.
Every research cycle, which defaults to one day but may be changed by other mods, your part will receive flight data assigned to it by the research team, and funds will be subtracted.
You can stop/pause/resume research at any time either in the editor or as a shortcut by using the R&D tab in the main KSC screen. Research will also auto stop if the part reaches its maximum R&D level.
In addition to the R&D system, I also took this time to redo how TestFlight information is displayed in the editor. The old TF window in the editor is now gone, and is replaced by the new R&D window for assigning research and a new "Info Overlay" window which can give you detailed TestFlight information on any placed part with a simple Middle Click.
Upgrade Notes
Upgrading from 1.5.3.0 release to 1.5.4.0 release should not cause any issues. If you are upgrading from a dev or beta version of 1.5.4.0, it is suggested that you first stop all R&D teams before upgrading.
Changes
- FIX: Fix editor info window not hiding properly
- FIX: Fix editor info window not shrinking in size when changing parts or hiding the window
- NEW: EngineCycle module now displays information on idle decayand thrust modifiers if applicable in the info window
- FIX: Fixed a possible NRE in TestFlightRNDScenario load, as wellas making that code a bit more robust in the case of unexpected data.
- FIX: Apply
rndRate
andrndCost
to display in R&D window. Fixes #136 - FIX: Fixed internal burn time handling on TestFlightReliability_EngineCycle
- FIX: Fixed major bug that was causing time handling to be truncated, causing part updates to happen less and less frequently the longer your save went on
- FIX: Moved TestFlight settings file to PluginData so that it doesn't cause ModuleManager recaching when settings change. Important Note: TestFlight will automatically migrate the settings file for you the first time, but it won't be able to clean up the old file. Once migration happens you can freely delete the old file if desired.
- FIX: Fixed to RND Teams getting reset due to a race condition during RND scenario load.
- FIX: Fixed Editor R&D Window position not being properly read from settings on initial load.
- NEW: Parts no longer can gain data while in the PRELAUNCH situation. This means no more static test firing. The new R&D system should be used instead if you don't want to risk parts on an actual flight.
- NEW: Expanded Info window data for Core and Reliability modules
- FIX: Major bug fix that was preventing pretty much all modules from properly attaching!
- NEW: Placed parts in Editor now have a quick info overlay window that can be accessed by right clicking on the place part. This info window will display TestFlight information on the part.
- NEW-API: TestFlight modules now all have an interface method for
GetTestFlightInfo
which is used to return data the module desires to be displayed in the Editor Info window - NEW-API: Interop changes now fire an event on the active Core module allowing for reactions to the change.
- FIX: Fix duplicate R&D Window buttons showing up in editor tweakables.
- NEW: R&D Window in Editor now displays information on how the system works, how much teams cost and how many points they contribute
- NEW: R&D settings can no be configured by other mods using Confignodes. Place all settings in a node named “TFRNDSETTINGS”.
updateFrequency
is a double indicating how often the R&D teams tick. Value is in seconds and the default is 86400 or 1 day. - NEW: R&D Teams can be configured by mods using a Config node. For each desired team add a node named “TEAM” under the main “TFRNDSETTINGS” node with the following properties:
points
indicates the amount of research points (directly mapped to data units) generated by the team per update. Default is 100.costFactor
indicates the cost per point of the research team. Defaults to 1. Added ConfigNodeExtensions from @stupid_chris with license information. - NEW: TestFlight supported parts in the Editor now have a right click menu button R&D Window which allows you to quickly open up a window to control research team allocation for the part.
- NEW: TestFlight now has a new Research and Development feature. This R&D System is optional, but allows you to trade off time and funds for increased part reliability. Rather than risking failures during a mission with low reliability parts, you can instead assign engineering teams to work on the parts over time, slowly increasing the part reliability without risk.
- NEW-CONFIG: New property added to
ITestFlightCore
to support R&D:rndMaxData
defines the maximum amount of flight data that can be obtain by using engineering teams. This is defined in absolute units and if not present, R&D ill cap out at 75% of the part's maximum data - NEW-CONFIG: New property added to
ITestFlightCore
to support R&D:rndRate
defines the speed at which the part is research by engineering teams. This is a multiplier against the number of points generated by a team each cycle and defaults to 1, IE no modification. - NEW-CONFIG: New property added to
ITestFlightCore
to support R&D:rndCost
defines the cost at which the part is research by engineering teams. This is a multiplier against the cost of the team each cycle and defaults to 1, IE no modification. - FIX: The following failures will re-apply themselves on loading a game: EnginePerformanceLoss, LockGimbal, ReducedMaxThrust, ResourceLeak
- NEW:
TestFlightReliability_EngineCycle
can now optionally modify accumulated burn time based on the actual thrust output of the engine. This is defined as a modifier curve using the FloatCurvethrustModifier
- NEW:
TestFlightReliability_EngineCycle
can now optionally decaythe used burn time on an engine when the engine is turned off. Can bedefined by using the propertyidleDecayRate
. This value is directlysubtracted from the engine's current burn time each second, so a valueof 1 would be an approximate 1:1 time decay. This can optionally allowengines to have extended usage when shut off during coast periods.Note that this only kicks in if the engine is shut off (not ignited). - NEW:
TestFlightFailure_IgnitionFail
can now apply an additional modifier to the chance of ignition based on the number of previous ignitions used. Use the FloatCurveingitionUseMultiplier
. This is a straight multiplier and thus values below 1 will lower the chance of the engine igniting and values above 1 will increase the chances. - NEW:
TestFlightFailure_IgnitionFail
can now cause an additionalfailure to occur if the ignition fails. The chance of this occurringcan be set in the propertyadditionalFailChance
and is a value 0-1f,with default of 0. If this additional failure triggers then theengine will receive one of the existing random failures assigned to thepart. - NEW-API: Add new property
Failed
toITestFlightFailure
interface. - FIX: Persist the failed state on a part
- NEW: Add EngineModuleWrapper method to set the number of ignitions directly.
- NEW:
ShutdownEngine
failure now also removes all ignitions from the engine. They are restored is the failure is repaired. - NEW-API: Add method to EngineModuleWrapper to return the current number of ignitions on an engine.
int GetIgnitionCount()
- NEW-API: Added new functions to EngineModuleWrapper to Add and Remove ignitions from compatible engines.
void AddIgnitions(int numIgnitions)
andvoid RemoveIgnitions(int numIgnitions)
Passing < 0 toRemoveIgnitions
will remove all ignitions on the engine.
TestFlight v1.5.4.0 Release Candidate 1
1.5.4.0 Release Candidate 1
- FIX: Fix editor info window not hiding properly
- FIX: Fix editor info window not shrinking in size when changing parts or hiding the window
- NEW: EngineCycle module now displays information on idle decayand thrust modifiers if applicable in the info window
- FIX: Fixed a possible NRE in TestFlightRNDScenario load, as wellas making that code a bit more robust in the case of unexpected data.
- FIX: Apply
rndRate
andrndCost
to display in R&D window. Fixes #136