This is a plugin initially conceived to handle the internal monitor displays of the ALCOR capsule, with the intent of supplanting MechJeb/Engineer windows when flying from IVA. It evolved to the point when it's an entire kit of tools and widgets for creating advanced IVA props, capable of displaying information in many ways and dragging the kicking and screaming kerbals into the XXI century from the 1930s they seem to be stuck in.
While this mod is mostly intended as an IVA making toolkit for modders, this package shows off some (amusingly, not all) of it's capabilities by completely redoing the instrument placement in all stock capsule interiors, which I'm sure many people will find useful exactly as presented -- consider it an independently useful technology demo. (yes, it does include patches for B9 cockpits.) It's most important function is to be "that mod where RasterPropMonitor.dll comes from" just like the popular Firespitter package is also the source of the Firespitter.dll which is used in lots of other places. If you wish to have RasterPropMonitor in the capsule you made, poke me and I'll help -- though please don't be offended if I'll reply by copypasting from the extensive documentation I wrote specifically for this.
Please be sure to send me bug reports, because I'm pretty sure some of these things are not computed sensibly and I definitely missed something.
The core of the plugin is an IVA information display, capable of displaying lots of useful data, (Total number of individual data variables you can display or make props act on is over 150!) as well as a number of outer cameras. All the information pages are completely configurable, pretty much nothing is hardcoded, the plugin can be used to create a wide variety of shapes and sizes of IVA display prop, as well as buttons, switches, gauges, alarms, and there are probably potential uses which I'm simply not seeing. Everything is exhaustively documented, and the system is designed to be flexible and extensible. You can write plugins for it, and in fact, that's how much of it works internally.
Despite glowing comments, the IVAs this package provides are pretty basic compared to the gadgets in the ALCOR capsule which is where the bulk of this effort is ending up and where you can see the most elaborate use of this plugin's capabilities.
Notable projects using RasterPropMonitor that you can also play with:
What started as an attempt to help make a lander can that doesn't suck is turning into an industry.
- ALCOR capsule
- Kerbin Shuttle Orbiter System
- ANGARA Pack
- BobCat's historical craft packs.
- Falcon Command Cockpit
- Home Grown Rocket Parts
- Probe Control Room
- Download: (Written in a very big font because people who can't read were complaining they can't find the download link.) The canonical binary distribution, which replaces the IVA in all stock capsules and augments it with monitors in certain mod capsules by using ModuleManager. Prop models courtesy of alexustas and released under the terms of CC-BY-NC-SA 3.0. ModuleManager.dll from this thread.
Pods supported directly by this package: Every stock pod. Even those that have 'sealed box' internals have new instrument placement that makes them almost flyable. Every mod pod that uses any stock IVA. Every B9 pod that has an IVA. TMA-1 Orbital Orb.
- Frequently Asked Questions: Please read.
- What not to suggest: See PLANS.
- Installation: Unzip so that the package's GameData matches your GameData, simple. Despite how simple it is, people seem to be getting this wrong, so I'll use big bold letters: THIS MOD IS VERY PICKY ABOUT BEING INSTALLED EXACTLY WHERE IT EXPECTS, everything that is within the GameData directory in the package must end up directly within your GameData directory, and there is nothing I can do about that. WARNING: Installation by overwriting previous versions is NOT guaranteed to work and NOT recommended. If you do that, you're on your own.
- Developer documentation: PDF file that corresponds to the release version rather than in-progress version on the wiki.
- Source code: GitHub and released under GNU GPLv3. Pull requests welcome. No, seriously.
- Full documentation: On GitHub in the wiki. It's about as long as the sourcecode, because I like to write detailed manuals.
- For previous releases see GitHub releases page.
- Better, more advanced menus: Kerbal Space Industries MFD Package has an interface that is more in line with the way real multi-function displays work and is more optimized for actually using it day to day than my own feeble attempt at using my own code.
- Squad Texture Reduction Pack: You don't really want to use it, because Active Texture Reduction does the same in a non-invasive future proof manner, and the texture reduction pack is multiple versions out of date. If you still insist on using it, though, you also need this ModuleManager Patch.
- Kerbonov Kn-2 cockpit: There's a patch to support it.
- TouhouTorpedo's MK3 cockpit: This cockpit is not supported in the package itself because it does not have a well-established installation method for modern versions of KSP. There is, however, this ModuleManager patch if you did get it installed.
- FASA Gemini Pod: It is not directly supported because I don't feel it's appropriate to just go and override what is an extremely detailed replica of historical craft with modern instruments in a package meant for general use. But if you don't care about historical accuracy, MOARdV has made a package for you.
- Playing first person throughout: There are two plugins that do this sort of thing: FirstPersonEVA and Through the Eyes of a Kerbal
Known issues in this version
- There is still no way to arm and disarm the grappling claw from IVA, even though you can release it from the targeting menu just like a docking port. There will be in the future, but in the meantime you can use action group buttons.
- Variables that have been deprecated and undocumented since version 0.10 have been completely removed.
- TARGETDISTANCEZ would be negative if the target was in front of the ship and positive if it was behind. The sign on that was flipped to get it to make more sense.
- LONGITUDETGT actually returned latitude.
- Looping alarm sounds did not actually work.
- STAGEREADY accounts for manual stage locking/disabling.
- JSIActionGroupSwitch's "stage" feature likewise checks to see if staging is locked.
- Fixed a bug where showing JSIOrbitalDisplay and JSIHUD at the same time would show incorrect colors for the HUD textures.
- Fixed a bug where the prograde icon in the JSIHeadsUpDisplay pitch ladder was drawn upside down.
- Fixed a bug where the prograde icons in JSIHUD were invisible if drawn on a transparent prop (like a HUD).
- Time formatter now observes the KERBIN_TIME system settings. If the system says your day is 6 hours long and year is 426 days long, so will your monitors. For your convenience, a variable named ISONKERBINTIME will return 1 if the game is set to use Kerbin time.
- Courtesy of angavrilov, closest approach calculations now correctly work with landed vessels.
- Courtesy of angavrilov, SCANsatRPM now correctly plots post-node trajectory.
- The new grappling claws had cameras installed in them, available just as docking port cameras are, and are otherwise supported in the targeting menu. ISCLAWREFERENCE variable tells you if the current reference point is a claw, ISREMOTEREFERENCE tells you if the current reference port is not a pod.
- Claws can be disengaged from the targeting menu just like docking ports.
- The Target Menu can now select asteroids that are being tracked under the Space Objects menu item.
- The needsElectricCharge option in JSIActionGroupSwitch is now applicable to all actions.
- A new option in handler configuration now lets you write background and page handlers which are aware of each other.
- textOverlay option in page definition can now overlay a static text print over other sources of text, like a page handler, allowing you to make button hints on screen with text.
- By popular request, you can now disable taking the screenshots of individual monitors by setting doScreenshots option in their configuration to false.
- By popular request, most of the informational logging can be turned off.
- JSIVariableAnimator can now also scale props.
- JSIExternalCameraSelector has a configuration option that disables the light cone automatically turning on when it's picked up.
- JSIOrbitDisplay now makes better decisions on what to display, making it more useful.
- JSIOrbitDisplay will now draw the orbits and positions of all celestial bodies orbiting the body that the vessel is orbiting (for instance, the Mun and Minmus when the ship orbits Kerbin).
- JSISteerableCamera supports multiple cameras (selected with the new nextCamera and prevCamera config parameters). JSISteerableCamera now also has a seekHome config parameter. When the button associated with this parameter is pressed, the currently-displayed camera returns to its initial position (pitch and yaw are set to 0).
- MechJebRPM new buttons: Force Roll 0, Force Roll +90, Force Roll 180, and Force Roll -90. Landing Guidance (Land at Target / Land Somewhere) and Docking Autopilot are both in the MJRPM page handler. A Rendezvous Autopilot button exists, but it requires a MechJeb update to function.
- JSIHeadsUpDisplay now displays a prograde icon on the heading bar and the pitch ladder to represent slip and angle-of-attack.
- Stage locking can now be done using RPM with JSIInternalRPMButtons.ButtonStageLock().
- And the speed display mode (ORB / SRF / TGT) can be changed with JSIInternalRPMButtons.ButtonSpeedMode().
- The prograde icon in the JSIHeadsUpDisplay heading strip can be suppressed with showHeadingBarPrograde = false.
- Added NEXTAPSIS, TIMETONEXTAPSIS, and NEXTAPSISTYPE variables.
- Added JSIOdometer, which emulates a mechanical odometer to display numerical values in either raw numeric format (8 digits + sign), SI format (3.3 precision plus an SI prefix), or HHH:MM:SS time format.