Skip to content

Releases: Mihara/RasterPropMonitor

RasterPropMonitor v0.25.0

19 Apr 23:41
Compare
Choose a tag to compare

For KSP 1.1

RasterPropMonitor integrates with the following mods, providing additional control and information options when these mods are available. None of these mods are required - they simply provide additional IVA control or information options. Versions indicate the version of the mod that RPM was tested against. Strikethrough indicates versions previously known to work which may not work now.

  • Chatterer v0.9.8
  • Docking Port Alignment Indicator v6.2.1 BETA
  • Ferram Aerospace Research v0.15.6
  • MechJeb v2.5.7
  • Pilot Assistant v1.12.3 (untested)
  • RealChute v1.4x4

Breaking Changes

  • RPM Assembly versioning now follows normal conventions, where the assembly version and assembly file version are linked. This only affects mods that hard-link to the RPM code without using KSPFileAssembly (which is fixed a 0, 17). If you're not a plugin writer, and you don't know what this means, you probably don't need to worry about it.
  • JSITransparentPod is now obsolete (sorry for the short notice). Support for it has been removed from RasterPropMonitor. To replace it, JSIAdvTransparentPod, in its own DLL, is now included in the RPM distribution. The new module takes advantage of the stock cutaway functionality. Courtesy JPLRepo. Issue #476.
  • Not really breaking, per se, but the way persistent variables are stored has changed. Craft that are in-flight will find some/many controls have been reset. I recommend recovering crewed vessels before installing if updating a save from KSP 1.0.5 or earlier. Issue #482.

Fixes

  • KSP 1.1 compatibility. Issue #474.
  • Atmospheric density computations used for EASPEED and IASPEED have been updated to match FAR computations. Issue #459.
  • Engine temperature variables (HOTTESTENGINE*) no longer ignore internal temperature (stupid copy-paste bug). Issue #460.
  • Fixes for empty vessel descriptions to prevent null derefs courtesy phroggster. Issue #466.
  • Fixed not-working "NO SIGNAL" bug in background camera pages, courtesy phroggster.

New Features

  • RPM can now interact with Chatterer. RPM knows when the pod is talking to Capcom (or sending an SSTV) and when Capcom is talking to the pod. Insta-chatter can be triggered by IVA button push. Issue #292.
  • JSICallbackAnimator provides most of the functionality of JSIVariableAnimator, but instead of polling its variable, the RasterPropMonitor vessel processor notifies JSICallbackAnimator that the variable has changed, reducing the processing workload. Issue #343.
  • SELECT variables can contain string literals, not just numbers and defined variables. Issue #422.
  • There is a new Mk1 Cockpit IVA courtesy DeputyLOL (note: the Mk1 inline cockpit has not been updated). Issue #428.
  • Many new variables related to MNODE (decomposition of the maneuver into the orbital basis components, post-maneuver orbital parameters, and post-maneuver target intercept parameters). Issue #451.
  • The transfer function in JSIActionGroupSwitch can transfer directly from arbitrary defined and custom variables. Issue #452.
  • MATH variables support POWER (x^y), ANGLEDELTA (difference between angles in degrees), and ATAN2 (arctan), courtesy DeputyLOL. Issue #465.
  • JSIVariableLabel text coloring from a variable can now be controlled automatically, instead of having to use hash colors [#RRGGBBAA] in the formatter string to change the text. This reduces the overhead on those labels when the only thing the formatting string is used for is to change the text color. Issue #486.
  • RasterPropMonitor now has a config file to control enabling extensive message logging. It also contains an option to track variable query frequency (profiling / workload data). Issue #488.
  • New TIMEWARP meta-variables tell you when the craft is warping, and what the current warp rate is. Issue #498.

Miscellany

  • ModuleManager updated to 2.6.22
  • Debug log spamming has been disabled by default. People requiring support will need to enable RPM logging before submitting logs. Issue #484.
  • Multiple changes to reduce the amount of string duplication per-update with monitors. Should help reduce garbage collection, maybe help with performance as well in glass cockpits. Issue #487.

RasterPropMonitor v0.24.2

25 Dec 00:28
Compare
Choose a tag to compare

For KSP 1.0.5

RasterPropMonitor integrates with the following mods, providing additional control and information options when these mods are available. None of these mods are required - they simply provide additional IVA control or information options. Versions indicate the version of the mod that RPM was tested against.

  • Docking Port Alignment Indicator v6.2
  • Ferram Aerospace Research v0.15.5.2
  • MechJeb v2.5.5
  • Pilot Assistant v1.12.3
  • RealChute v1.3.2.4

Fixes

  • Log spamming when using MATH_ subtraction variables has been eliminated. Issue #450.

New Features

  • Configurable horizontal bars in JSIHUD, allowing for scrollable displays other than the heading strip. Issue #329.
  • MAPPED variables may now use variables for the mapped range, not just numbers. Issue #456.

Known Issues

  • Mk1 cockpits no longer have RPM-enabled IVAs, since the stock IVAs have changed. The config files have been renamed to .noconfig so KSP doesn't try to load them.

RasterPropMonitor v0.24.1

01 Dec 01:39
Compare
Choose a tag to compare

For KSP 1.0.5

RasterPropMonitor integrates with the following mods, providing additional control and information options when these mods are available. None of these mods are required - they simply provide additional IVA control or information options. Versions indicate the version of the mod that RPM was tested against.

  • Docking Port Alignment Indicator v6.2
  • Ferram Aerospace Research v0.15.5.2
  • MechJeb v2.5.3 dev build 520
  • Pilot Assistant v1.12.1
  • RealChute v1.3.2.4

Fixes

  • HORZSPEED no longer generates a NaN sometimes (like when sitting on the runway). Issue #431.
  • RPM no longer generates exceptions during menu load. Issue #433.
  • Fixed some precision problems when looking at large numbers (such as UTSECS) as part of MATH_ custom variables. Issue #440.
  • Looping audio continues to play when exiting / re-entering IVA. Issue #446.
  • JSIRadar no longer tries to lock on to targets when it's not on the active vessel.

New Features

  • A JSIActionGroupSwitch can now be configured to function as a momentary switch by setting momentarySwitch = true in its config. A momentary switch is 'on' only which the switch is held. Issue #312.
  • JSIPilotAssistant allows RasterPropMonitor to interact with the Pilot Assistant mod. Issue #368.
  • TARGETPLANELAUNCHTIMESECS provides a countdown until a target's orbital plane crosses the craft's launch site. Issue #421.
  • JSIInternalRPMButtons methods TrimNeutralState, SetAllTrimNeutral, SetPitchTrimNeutral, SetPitchTrim (and their Roll and Yaw siblings) allow setting trim, as well as determining if the trim parameters are all near neutral. Issue #434.
  • TIMEOFDAYSECS returns the time of day (the hours, minutes, and seconds of UT), correctly calibrated to Kerbin time or Earth time, depending on the game's configuration. Issue #436.
  • HOTTESTPARTTEMP, HOTTESTPARTMAXTEMP, HOTTESTPARTTEMPRATIO and HOTTESTPARTNAME provide the hottest part's current temperature (in K), its maximum temperature, its temperature ratio (current / max), and the name of the part. "Hottest" is defined as the part whose temperature is closest to the max temp. It checks skin temperature as well as internal temperature. HOTTESTENGINETEMP, HOTTESTENGINEMAXTEMP, and HOTTESTENGINETEMPRATIO do the same thing, but only considering engines (parts with ModuleEngines or ModuleEnginesFX). Issue #438.
  • TIMETOATMOSPHERESECS returns the time until the next time the craft crosses the edge of the atmosphere, or 0 if the craft doesn't enter / exit the atmosphere. Issue #447.
  • JSIMechJeb:MatchVelocities allows MechJeb to generate a "match velocities at closest approach" maneuver. JSIMechJeb:MatchVelocitiesState returns true when MJ can generate such a maneuver.
  • Resource consumption (SYSR_*DELTA and SYSR_*DELTAINV) are updated every time other values are updated, so gauges tracking resource consumption are much more responsive.

Miscellany

  • Mk1 cockpits no longer have RPM-enabled IVAs, since the stock IVAs have changed. The config files have been renamed to .noconfig so KSP doesn't try to load them.
  • Tinkering to possibly improve behavior and performance.

Known Issue

  • Using a MATH_ subtraction variable will spam the log with debug messages. Issue #450.

RasterPropMonitor v0.24.0

10 Nov 22:00
Compare
Choose a tag to compare

For KSP 1.0.5

RasterPropMonitor integrates with the following mods, providing additional control and information options when these mods are available. None of these mods are required - they simply provide additional IVA control or information options. Versions indicate the version of the mod that RPM was tested against.

  • Docking Port Alignment Indicator v6.2
  • Ferram Aerospace Research v0.15.5.2
  • MechJeb v2.5.3 dev build 520
  • RealChute v1.3.2.4

Fixes

  • KSP 1.0.5 compatibility
  • Fix MechJeb SetSmartass method so it works again. Issue #417.

New Features

  • JSIMechJeb.SetLaunchInclination and .GetLaunchInclination can be used to control launch inclination.
  • JSIParachute.ParachutesSafeState now works with RealChute (requires RealChute 1.3.2.4). Issue #296.
  • JSIParachute.ParachuteSafetyValue returns 1 if all parachutes may be deployed safely, 0 is some of them may be, and -1 if none of them may safely deploy.

New Variables

  • The SYSR_ suffix DEPLETED returns 1 when a craft or stage has capacity for a resource, but the resource is effectively depleted (< 0.01 units).
  • IASPEED returns indicated air speed in m/s.

Miscellany

  • TIMETONEXTAPSIS returns 0 instead of NaN when the orbit is invalid.
  • ATMOSPHEREDEPTH uses the stock value (same as the atmosphere gauge) when it is available. Issue #426.
  • Updated to MM 2.6.13 (included).

Known Issues

  • The new Mk1 cockpit does not have an RPM IVA. I don't have time to work on one soon, so if someone wants to share their IVA, I'll be happy to incorporate it. Issue #428.

RasterPropMonitor v0.23.2

15 Oct 21:19
Compare
Choose a tag to compare

For KSP 1.0.4

Fixes

  • Text rendering colors in OpenGL matches (closely enough) colors in DirectX. Issue #318.
  • JSIHUD ladder depth has been nudged slightly so vertical / horizontal bars are above it, instead of coplanar with it. Issue #328.
  • JSIRadar's ability to automatically target a docking port is now functional. Issue #409.
  • The MechJeb RPM page works again. Issue #410.
  • MechJeb Ascent Autopilot works with MJ dev builds 514 and later. Issue #413.

RasterPropMonitor v0.23.1

08 Oct 22:09
Compare
Choose a tag to compare

For KSP 1.0.4.

Supported Mod Versions

RasterPropMonitor integrates with the following mods, providing additional control and information options when these mods are available. None of these mods are required - they simply provide additional IVA control or information options. Versions indicate the version of the mod that RPM was tested against.

Fixes

  • InvalidCastException in JSIInternalBackgroundNoise is fixed (and several other potential ICE errors were fixed as well). Issue #383
  • Wiki documentation for JSINumericInput's switchSound and switchSoundVolume were corrected. Issue #384.
  • JSIMechJeb SpaceplaneHoldHeading* and SpaceplaneAutoland* now work (an overlooked typo in the name caused them to fail). Issue #385.
  • Error in JSIHeadsUpDisplay where the horizon texture was not sized correctly in the window has been fixed. Issue #386.
  • JSIActionGroupSwitches using plugin state methods failed to respond correctly to forced shutdown events. Issue #392.
  • Plugin handlers were failing to initialize. Issue #393.
  • NULLREF errors in the VAB with transparent pods have been fixed, courtesy JPLRepo.
  • Problems with IVA portraits and transparent pods have been fixed, also courtesy JPLRepo.

New Variables

  • YAWRATE, PITCHRATE, and ROLLRATE report the rate of change (degrees per second) on each axis based on an inertial reference (vessel.angularVelocity). Issue #387.
  • SELECT_ variables (see [[Custom Variables]]) return different variables depending on the evaluation of control variables (similar to JSIVariablePageTextSwitcher). Issue #389.
  • THRUSTMAXRAW, EFFECTIVERAWTHROTTLE return THRUSTMAX and EFFECTIVETHROTTLE when ignoring the thrust limit tweakable on the engines.
  • THRUSTLIMIT returns the current setting of the thrust limit tweakable (as a weighted average if multiple engines have different settings).
  • JSIInternalRPMButtons now has GetSASMode and SetSASMode to allow directly setting SAS mode using JSINumericInput.

New Features

  • JSIActionGroupSwitch, JSIInternalBackgroundNoise, and RasterPropMonitor all now have a resourceName variable used to determine if there is sufficient power to run the prop (when the option needsElectricCharge is true). This resourceName uses a defined variable (by default, 'SYSR_ELECTRICCHARGE'). Issue #397.
  • Related, the JSIVariableAnimator now allows specifying a resourceName for the consumption of resources. In this case, it's the resource's internal name ('ElectricCharge' if none is specified). Issue #397.
  • JSIVariableAnimator VARIABLESET groups can use maxRateChange to control how quickly an animation can transition from off to on. This value indicates how many times per second the animation can switch from full on to full off (and vice versa), so a '2.0' means it takes 1/2 second for the animated object to go from off to on. This field can be used to supply effects like an incandescent bulb fade to a color animation, and to simulate mechanical limits on 'physical' props like gauge needles. Issue #402.
  • MATH_ variables now can return MAXINDEX and MININDEX, which return the index (starting at 0) of the maximum or minimum value, respectively. Issue #407.
  • JSIActionGroupSwitch now has optional parameters loopingSound and loopingSoundVolume that can play an audio loop while the switch is on. This sound can be used in addition to switchSound. Issue #408.

Miscellaneous

  • Internal redesign of variable fetching logic to (hopefully) reduce CPU demand during updates.

Known Issues

  • None

RasterPropMonitor v0.23.0

28 Sep 13:55
Compare
Choose a tag to compare

RasterPropMonitor v0.23.0

For KSP 1.0.4.

Supported Mod Versions

RasterPropMonitor integrates with the following mods, providing additional control and information options when these mods are available. None of these mods are required - they simply provide additional IVA control or information options. Versions indicate the version of the mod that RPM was tested against.

Fixes

  • The HUD ladder texture and navball texture have been resized to help with some video card / driver combinations that do not like their dimensions. Appears to resolve Issue #298 and Issue #355.
  • YAW* variables now report values in the range of [-180, 180], so you can tell when the direction you're interested in is behind you.

New Features

  • JSIKAC (see Action handlers) provides access to some Kerbal Alarm Clock information (specifically, information on the current vessel's alarm count and next alarm). Issue #144.
  • JSIRadar (see Part modules) is a new PartModule that will automatically target vessels. There are many options to tune the behavior (range, scan angle, and optional rules for maintaining target lock). Issue #336.
  • JSIInternalRPMButtons (see Action handlers) DockUndock and DockDetach allow a button / switch to undock or release something attached to a docking port. DockDocked, DockAttached, and DockReady provide status. RadarEnable and RadarEnableState provide RPM control over JSIRadar modules. Issue #336.
  • Triggered Events can be defined to cause RPM to trigger events automatically when proper conditions are met. Issue #321.
  • JSIVariablePageTextSwitcher (see Page handlers) now supports multiple pages with separate conditions on each. Issue #344.
  • Custom variables that can do math operations on multiple defined variables (add, subtract, multiply, divide, max, and min), as well as a couple of predefined constants to convert meters to feet and m/s to knots. Issue #353.
  • Waypoint navigation markers appear on the Primary Flight Display (MFD NavBall). Issue #152.
  • Transparent pods Part modules now have a button on the part menu (right-click menu) in the VAB and during flight to control whether the pod IVA is always drawn, never drawn, or drawn only when it is the active reference part or on mouseover. Transparent Pods also have a tuning option in the config to control the distance where they will stop rendering their IVA (no sense drawing IVA when the craft is too far away to see the IVA). Issue #361. Courtesy JPLRepo, who also made a few other performance tweaks in the transparent pod code as well.
  • TIMETOIMPACTSECS will use MechJeb's landing computer (when MechJeb is installed and the computer enabled) to predict the time to impact. This value can also be queried with JSIMechJeb:GetLandingTime.
  • The RPMVesselComputer can be told to update variables by external mods using reflection to call the public method RPMVesselComputer.UpdateVariables(). Courtesy ndevenish.
  • JSINumericInput (see Prop Modules) allows for persistent variables to be changed by button presses, which dovetails in with...
  • JSIActionGroupSwitch (see Prop Modules) now has a transfer actionName, which allows the value stored in a persistent variable to be read from a plugin method or written to a plugin method.
  • JSIMechJeb (see Action handlers) can now enable spaceplane guidance autoland and hold altitude/heading. It is also able to provide the current target altitude and heading, as well as glideslope, and it can provide a simple yes/no response to whether the aircraft is within 500 meters of the target altitude. In addition, the new transfer action in JSIActionGroupSwitch can be used to set ascent guidance target altitude, spaceplane hold heading, spaceplane hold altitude, and spaceplane landing glideslope.

New Variables

  • New variables LIFT, DRAG, LIFTACCEL, and DRAGACCEL report the lift and drag forces in kN and m/s^2. These values work with stock aerodynamics and FAR.
  • TARGETLAUNCHTIMESECS can be used to count down for a timed launch when a craft is targeted. It is roughly tuned for a low-to-mid altitude target over Kerbin.
  • YAWSURFPROGRADE, YAWSURFRETROGRADE and their PITCH companions join the other YAW* and PITCH* variables.
  • RADARALTVERTSPEED provides a smoothed measure of the vertical speed as measured by the radar altimeter. Be aware that radar altitude is very noisy, especially at higher speed over land.
  • MAXISP reports the weighted maximum ISP of enabled engines (it can be used with REALISP to determine when engines are below their maximum efficiency).

Miscellaneous

  • MFD button configs have been updated for new SCANsat v14.2 features, courtesy DMagic. These will not affect the stock MFDs, but it provides a reference if you're going to add SCANsat to a different MFD.
  • The JSIGimbal plugin has been removed. GimbalLock and GimbalLockState are part of JSIInternalRPMButtons. A backwards-compatibility map to support JSIGimbal will remain available for a couple of releases, so please update any props you have that currently use JSIGimbal.
  • Many, many internal changes. Of note for modders writing plugins that interface with RPM, you no longer need a PersistenceAccessor to call ProcessVariable().

Known Issues

  • None

RasterPropMonitor v0.22.2

25 Aug 22:06
Compare
Choose a tag to compare

For KSP 1.0.4.

Supported Mod Versions

RasterPropMonitor integrates with the following mods, providing additional control and information options when these mods are available. None of these mods are required - they simply provide additional IVA control or information options. Versions indicate the version of the mod that RPM was tested against.

Fixes

  • Initialization errors after undocking in certain circumstances have been fixed. Issue #345.

Known Issues

  • Some flavors of Linux 64-bit choke on a couple of the DDS images in this package. Issue #298.

RasterPropMonitor v0.22.1

21 Aug 02:10
Compare
Choose a tag to compare

For KSP 1.0.4.

Supported Mod Versions

RasterPropMonitor integrates with the following mods, providing additional control and information options when these mods are available. None of these mods are required - they simply provide additional IVA control or information options. Versions indicate the version of the mod that RPM was tested against.

New Variables

  • YAWNODE, PITCHNODE, YAWTARGET, PITCHTARGET now report the yaw and pitch angles between the front of the craft and the next maneuver node or the target. If a node doesn't exist or there is no target, the variables report 0.

Fixes

  • External plugins may successfully access RPM variables. Pull request #338 courtesy GitHub user ndevenish.
  • HEATSHIELDTEMPERATUREFLUX now works (it was named incorrectly in the code). Issue #337.
  • AoA and sideslip markers on the HUD now work correctly. Issue #335.

Known Issues

  • Some flavors of Linux 64-bit choke on a couple of the DDS images in this package. Issue #298.

RasterPropMonitor v0.22.0

15 Aug 22:07
Compare
Choose a tag to compare

For KSP 1.0.4.

Supported Mod Versions

RasterPropMonitor integrates with the following mods, providing additional control and information options when these mods are available. None of these mods are required - they simply provide additional IVA control or information options. Versions indicate the version of the mod that RPM was tested against.

Fixes

  • Switching from JSITransparentPod-enabled craft to JSINonTransparentPod craft no longer leaves IVA visible under some circumstances. Courtesy forum user JPLRepo.
  • The JSIHeadsUpDisplay optional camera has been restored. Issue #320.

New Features

  • JSIInternalRPMButtons now has ButtonPrecisionMode and ButtonPrecisionModeState to allow props to switch precision control mode on and off. Issue #306.
  • HUD vertical bars can now be configured with enablingVariable and enablingVariableRange to control when the vertical bar is visible. Issue #311.
  • TARGETALTITUDE now reports the altitude of celestial bodies when the active vessel is not orbiting the body. Issue #305.
  • JSIParachute now has ParachuteSafeState, which reports true if all parachutes may safely deploy (NOTE: this feature is limited to stock parachutes at this time; RealChute parachutes require changes to RealChute). Issue #296.
  • Computations and updates have been moved to a VesselModule. This may help performance on complex spacecraft where multiple RPM-enabled IVAs are present. Issue #282.
  • NAND and NOR operations now work for Custom Variables. Issue #327.
  • JSISASMenu now has a menuTitleFormatString for customizing the menu display. Issue #326.
  • The HUD ladder and heading bar may use custom textures for the prograde markers. Issue #322.
  • Generators and Resource Converters that generate electricity may be controlled via JSIInternalRPMButtons:ButtonEnableElectricGenerator (and queried with ButtonEnableElectricGeneratorState). Issue #332.

New Variables

  • PRECISIONCONTROL returns 1 when the inputs are configured for precision control (the KSP UI shows blue arrows), and 0 when precision control is off (default orange arrows). Issue #306.
  • PITCHPROGRADE, PITCHRETROGRADE, ..., YAWPROGRADE, YAWRETROGRADE, ... new variables provide the pitch and yaw angles for all six cardinal orbital directions relative to the craft's nose. Issue #269.

Miscellany

  • RasterPropMonitor now includes ModuleManager 2.6.7.
  • Other (major) internal tweaks / refactoring.

Known Issues

  • Some flavors of Linux 64-bit choke on a couple of the DDS images in this package. Issue #298.
  • AoA and sideslip markers on the HUD are inaccurate when banking. Issue #335.