Jump to content

[0.25] RasterPropMonitor - putting the A in your IVA (v0.18.3) [8 Oct]


Mihara

Recommended Posts

Another suggestion I gave is to combine map sat maps into a "gps" like display like this in FSX:

The idea of a background handler was precisely to make this sort of thing relatively easy -- if you can get at the map, you can make a plugin for RPM that will display it.

I'm planning to do that for SCANsat, but not until I'm done with the PFD. :)

Link to comment
Share on other sites

YRQ4D40.png

Well, it turns out that the stock navball has it's texture mirrored because it's rotation is also mirrored, which is honestly bizarre and took far more time to figure out than it should have.

Link to comment
Share on other sites

-quick snip-

Well, it turns out that the stock navball has it's texture mirrored because it's rotation is also mirrored, which is honestly bizarre and took far more time to figure out than it should have.

So if the display going to have an aircraft style PFD of the round navball display? Or selectable between the two?

Link to comment
Share on other sites

Flattened navball like this one, I'm afraid, if only for the reason that most space cockpits spend most of their time facing straight up, where an aircraft style PFD with a flattened scale is problematic.

That's not to say that an aircraft style one can't be made, but a navball is the one I am going to finish and then we'll see. There's still a lot of other problems to deal with, namely all the markers...

Link to comment
Share on other sites

Flattened navball like this one, I'm afraid, if only for the reason that most space cockpits spend most of their time facing straight up, where an aircraft style PFD with a flattened scale is problematic.

That's not to say that an aircraft style one can't be made, but a navball is the one I am going to finish and then we'll see. There's still a lot of other problems to deal with, namely all the markers...

If you can contact the person behind the enhanced navball plugin, they may be able to help but i'm not 100% sure. Looking forward to any of the features your going to add to this!

Link to comment
Share on other sites

If you can contact the person behind the enhanced navball plugin, they may be able to help but i'm not 100% sure. Looking forward to any of the features your going to add to this!

Well, I'm looking through his code already and fishing pieces out, thank the GPL. :)

On another note, I had an idea. I know you mentioned something about reaching into ScanSAT, so my idea was to project the map into an MFD style, showing orbital inclination and were you are on kerbin or another celestial body, kinda like the map view.

It's certainly possible, but not a project for anytime soon. :)

Link to comment
Share on other sites

Well thats good, for the final navball project are you going to do a compass/ASL/airspeed tape?

Did a compass tape. :) I'm not sure if a speed tape is appropriate and which one, that will depend on what alexustas makes regarding textures and readouts overlaid over the ball.

Link to comment
Share on other sites

The only thing I'm worried is memory use.. This display will be quite heavy for fps, no?

And speaking of FPS, now that I've got a break I could answer that in more detail...

I was actually surprised, but the CPU load and resulting FPS loss of the entire ALCOR pod (which is getting more and more monitors as we speak) is not that high, even though I have continuously been worried about it. Rendering to texture is performed almost completely by the GPU, and GPU is kind of underutilized by KSP. Watching multiple cameras showing an ocean does slow you down, but I think this is more about KSP procedural terrain generation system than anything else.

To underline that, due to a pre-0.6 bug, cameras actually rendered every frame even though the text was only printed once every few frames. Apparently, nobody noticed. In 0.6 there is now a clear distinction between how often the screen is redrawn, how often text is processed (which is actually kind of slow) and how often the calculator runs across the ship asking parts how much resources do they have and other stuff like that (which is faster than I expected it would be).

Memory use is also not that high, seeing as how the major memory consumer in KSP is part textures loaded from disk and kept up in there in perpetuity. While every screen does add a new unique one, I don't think it actually consumes any system memory, it lives entirely within the GPU. (And if you let the screensaver turn on while playing it might even get lost.) Memory costs of keeping and shuffling around UTF-8 text are negligible.

I'd love if someone could devise a sensible means of profiling just what a display costs you, though.

Link to comment
Share on other sites

I want to see a dome cockpit with a dome that uses this, that seems like it would be cool. I mean kind of like those dome screens that some planetariums have.

The challenge with that one would be finding such an UV mapping for a dome that would keep the letters consistently readable. :) There should be no other problems with it.

Link to comment
Share on other sites

Bump for new release. :)

RasterPropMonitor 0.7 released.

Bug fixes:

  1. Bug introduced in 0.6 which caused RPM to be unable to use page text defined in prop.cfg fixed. Who'd have thought that the exception KSP throws when a file isn't found is not FileNotFound, but something else entirely!
  2. More issues with SI prefix formatter caught. If anyone's up to getting this right, I'd love patches, because right now it's a fairly crude hack of a function originally taken from MechJeb and not actually meant to fit specific numbers of characters. I can't get it to mess up display alignment anymore, but it doesn't behave completely true to spec either.
  3. Stage switch in JSIActionGroupSwitch now actually activates the next stage as it was meant to.
  4. Parts with no physical significance still had their mass computed, which is kinda wrong.
  5. Package of the monitors fitted into the stock pods now uses JSIExternalCameraSelector to let you select which of the available docking ports is going to be your camera -- so you can switch between cameras inside ports as desired, though not from the inside. Duh, I've been using the wrong transform for it. :)
  6. InternalCameraTargetHelper did not account for the fact that when you switch back from a window view by doubleclicking, your target also gets lost.

New features:

  1. The biggest addition to the package is the JSIPrimaryFlightDisplay background handler module, which is exactly what it sounds like -- an overcomplicated building block for a page that can replace the stock navball with something flatter, because a 3D navball in a 3D world is obviously not high tech enough looking. So we render a 3D navball to a 2D plane to display on a 2D screen in a 3D world to heighten your immersion. Like the Enhanced Navball (where many of the ideas and a little code comes from) it displays more directional markers than the stock ball. This example package does not enable it on it's screens, as all of them remain side by side with the stock navball. But you can uncomment the lines in the prop.cfg to take a look at it with my really rough placeholder textures... For a properly polished example, you will want to see ALCOR.
  2. There are now variables for time to ascending and descending node with target. Also equivalent airspeed. And an altitude measurement that takes your landing legs into account. There's probably a few more miscellaneous variables I forget.
  3. There's a considerable block of new variables to support addressing all the ModularFuels resources by name. And Kethane. And life support resources.
  4. Another block of new variables pertaining to input state lets you create a moving joystick using JSIVariableAnimator, or at least should.
  5. Monitor can now beep or make other sounds when buttons are pressed. So do switches and buttons made using JSIActionGroupSwitch. Sounds come from the prop itself.
  6. JSIVariableAnimator now includes options specifically meant for alarm lights which sound an alarm. (Which you can turn off, of course.)
  7. Speaking of sounds, there is now a JSIInternalBackgroundNoise module which can play a background hum for your IVA.
  8. Lots of API improvements. Page and background handlers can now subscribe to notifications of when their page becomes active or inactive. They can also subscribe to button clicks from non-page buttons, so making a menu becomes considerably easier. You can also make one instance of a module handle multiple pages, or serve as both a background and a page handler, so it's easier to make a complex system of pages act in concert.
  9. The example prop is updated to make use of some of the new features. :)

Download link in the OP as usual. Whew. :)

Link to comment
Share on other sites

how hard would it be to take one of StarVision's Enterprises and turn the viewscreen into one of these with buttons on the Helm Console?

Mmm...

I don't know exactly how their IVAs work, but from the videos I remember seeing, the viewscreen on the Enterprises is technically a window. I.e. you can't directly convert the viewscreen into a monitor, but you can plaster the monitor over it and embed the edges into the walls so the effect is the same.

The challenge would be getting the buttons onto the console, because currently there is no provision to have the buttons separate from the display prop itself, and due to how the inner structure is designed right now (pages are separate objects unto themselves and listen to buttons activating them by themselves) it would be somewhat difficult to code around.

I'll see what I can do though. :)

Link to comment
Share on other sites

Bump for new release. :)

RasterPropMonitor 0.7 released.

Bug fixes:

  1. Bug introduced in 0.6 which caused RPM to be unable to use page text defined in prop.cfg fixed. Who'd have thought that the exception KSP throws when a file isn't found is not FileNotFound, but something else entirely!
  2. More issues with SI prefix formatter caught. If anyone's up to getting this right, I'd love patches, because right now it's a fairly crude hack of a function originally taken from MechJeb and not actually meant to fit specific numbers of characters. I can't get it to mess up display alignment anymore, but it doesn't behave completely true to spec either.
  3. Stage switch in JSIActionGroupSwitch now actually activates the next stage as it was meant to.
  4. Parts with no physical significance still had their mass computed, which is kinda wrong.
  5. Package of the monitors fitted into the stock pods now uses JSIExternalCameraSelector to let you select which of the available docking ports is going to be your camera -- so you can switch between cameras inside ports as desired, though not from the inside. Duh, I've been using the wrong transform for it. :)
  6. InternalCameraTargetHelper did not account for the fact that when you switch back from a window view by doubleclicking, your target also gets lost.

New features:

  1. The biggest addition to the package is the JSIPrimaryFlightDisplay background handler module, which is exactly what it sounds like -- an overcomplicated building block for a page that can replace the stock navball with something flatter, because a 3D navball in a 3D world is obviously not high tech enough looking. So we render a 3D navball to a 2D plane to display on a 2D screen in a 3D world to heighten your immersion. Like the Enhanced Navball (where many of the ideas and a little code comes from) it displays more directional markers than the stock ball. This example package does not enable it on it's screens, as all of them remain side by side with the stock navball. But you can uncomment the lines in the prop.cfg to take a look at it with my really rough placeholder textures... For a properly polished example, you will want to see ALCOR.
  2. There are now variables for time to ascending and descending node with target. Also equivalent airspeed. And an altitude measurement that takes your landing legs into account. There's probably a few more miscellaneous variables I forget.
  3. There's a considerable block of new variables to support addressing all the ModularFuels resources by name. And Kethane. And life support resources.
  4. Another block of new variables pertaining to input state lets you create a moving joystick using JSIVariableAnimator, or at least should.
  5. Monitor can now beep or make other sounds when buttons are pressed. So do switches and buttons made using JSIActionGroupSwitch. Sounds come from the prop itself.
  6. JSIVariableAnimator now includes options specifically meant for alarm lights which sound an alarm. (Which you can turn off, of course.)
  7. Speaking of sounds, there is now a JSIInternalBackgroundNoise module which can play a background hum for your IVA.
  8. Lots of API improvements. Page and background handlers can now subscribe to notifications of when their page becomes active or inactive. They can also subscribe to button clicks from non-page buttons, so making a menu becomes considerably easier. You can also make one instance of a module handle multiple pages, or serve as both a background and a page handler, so it's easier to make a complex system of pages act in concert.
  9. The example prop is updated to make use of some of the new features. :)

Download link in the OP as usual. Whew. :)

Do I have to config the .cfg for compatibality with ALCOR?

Link to comment
Share on other sites

Great updates and mod , i love it . Im having just a little bit of trouble on the ALCOR pod , i changed the config files as stated , and it works fine in the pod but i cant seem to get the new screens with the buttons or the NavBall to appear in the ACLOR. thanks!

Link to comment
Share on other sites

Great updates and mod , i love it . Im having just a little bit of trouble on the ALCOR pod , i changed the config files as stated , and it works fine in the pod but i cant seem to get the new screens with the buttons or the NavBall to appear in the ACLOR. thanks!

The currently released version of ALCOR simply does not include them yet, I'm afraid. Give it a few days. :)

Link to comment
Share on other sites

The currently released version of ALCOR simply does not include them yet, I'm afraid. Give it a few days. :)

:D Well , thanks for the info cant wait , been playing around with the monitors in my pods all day.

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
×
×
  • Create New...