Jump to content

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


Mihara

Recommended Posts

Regarding my previous post. Confirmed OpenGL freaks out the ADI render. That's.....curious.

could just be OpenGL don't mix well with PNG w/ alpha. I don't see any thing about other texture formats. maybe give TGA a try.

Link to comment
Share on other sites

I have noticed that:

- Vessel View settings do not persist when switching ships. I don't even bother setting them anymore, resources is fine enough.

- Reference Part on the Target page also does not persist. In fact, if I leave one of the monitors in the Docking Cam, and switch vessels, when I come back there's an error: "Check your RasterPropMonitor settings".

- In the "Secondary Primary" Flight Display (the Enhanced Navball, clicking Flight - 1 - 1, not sure if it's default RPM or the KSI MFD patch, tho...), you can't change between Orbit/Surface/Target velocity display.

These known issues?

Edited by monstah
minor spelling
Link to comment
Share on other sites

@nli had that same thought after I gave it a few minutes. Trying now.

@monstah regarding your third point that's KSI's MFD; though it should have its own target mode (same with the stock RPM). The PFD is meant for space use so you won't find any surface velocity settings; that's what the ADI is for.

Link to comment
Share on other sites

@Entropius @nli2work I've had the exact same issue for the longest time. My bet is on one of A) active texture manager B) texture replacer or C) openGL rendering. I can't remember the last time I've had a usable (in this case readable) ADI. Black on black is difficult. Occurs on every cockpit with an ADI; be it an overlay or head's-up display (head's-up is easier due to green background and typical daytime skies; still everything actually rendered is black)

I'm on a Mac, so consequently my only rendering option is OpenGL. So this makes sense. I assume Linux also uses OpenGL. So effectively that HUD display would be a Windows-only feature (?)

Link to comment
Share on other sites

could just be OpenGL don't mix well with PNG w/ alpha. I don't see any thing about other texture formats. maybe give TGA a try.

Other mods seem to have png textures without any issue. Environmental visual enhancements for one. Besides, other RPM displays have PNGs with alpha (like the RPM navball). Frankly, if OpenGL couldn't handle PNG's with alpha, a whole lot more would appear to be broken. So I doubt this is the explanation.

Link to comment
Share on other sites

Re black PNG on HUD page, I don't know. :) There's alot more going on with the shaders than just basic PNGs. OpenGL might not like the way it's done somewhere along the line, but it's a looooong line of operations from a png in your Gamedata to something rendered on the RPM screen, and RPM is only one bit of it at the tail end. Other mods operate on much earlier levels, like EVE; Texture Replacer; ActiveTextureManagement. If something RPM depends on is broken, there's nothing RPM can do other than display what it gets through the pipeline. we'll just have to hope Mihara gets back to this eventually. In the mean time the only thing left to try is start with just RPM and add other mods one by one until you get the black HUD again. Assuming the HUD renders fine when RPM is the only mod you have installed.

- Vessel View settings do not persist when switching ships. I don't even bother setting them anymore, resources is fine enough.

- Reference Part on the Target page also does not persist. In fact, if I leave one of the monitors in the Docking Cam, and switch vessels, when I come back there's an error: "Check your RasterPropMonitor settings".

- In the "Secondary Primary" Flight Display (the Enhanced Navball, clicking Flight - 1 - 1, not sure if it's default RPM or the MSI MFD patch, tho...), you can't change between Orbit/Surface/Target velocity display.

Re Vessel View I have no idea. It being a separate plugin, there are things from Vessel View that RPM has no control over.

Re Reference Part resetting, that's KSP limitation. Whenever you leave/enter IVA reference point resets to the pod. Whatever reference point you set prior via target selection handler is reset when you return to IVA.

Re Velocity Display I don't think there's any function built into the default screens to change that. the Mode display change if you change the display mode with navball in eva view or map view. The Navball page has two display for velocity, Top Left is Orbital speed; Upper right is Surface Speed. Option to change display mode is up to the person that built the particular IVA and RPM prop.

Edited by nli2work
Link to comment
Share on other sites

after testing mod combinations for quite awhile i found out that the cause of all the NaN values came from some strange incompatibility with InfiniteDice's Skillful mod,

no idea why and how but after excluding it from my mods, no prob with the monitors

thanks for the help nli2 =)

and heads up to those who are planning to use InfiniteDice's Skillful mod along with RPM

Link to comment
Share on other sites

Other mods seem to have png textures without any issue. Environmental visual enhancements for one. Besides, other RPM displays have PNGs with alpha (like the RPM navball). Frankly, if OpenGL couldn't handle PNG's with alpha, a whole lot more would appear to be broken. So I doubt this is the explanation.

Just tested it OpenGL. it is RPM + OpenGL, and only in the HUD handler. Something that Mihara has to look at.

Link to comment
Share on other sites

Re Reference Part resetting, that's KSP limitation. Whenever you leave/enter IVA reference point resets to the pod. Whatever reference point you set prior via target selection handler is reset when you return to IVA.

Could RPM store it's own information on what part is referenced, and enforce it after IVA has been set?

Link to comment
Share on other sites

Oh and the documentation on how to render pages is... well... It needs examples, like this code renders this, and if you modify this and this this happens.

I can't figure out how to change:

yZXdJIb.png

LANDING ASSISTANT                       
{0,-30} {1:SIP_6.3}m $&$ ORBITBODY TERRAINHEIGHT
({0}) $&$ BIOMENAME

VERTICAL SURFACE HORIZONZAL
{0:SIP_5.3}m/s {1:SIP_5.3}m/s {2:SIP_5.3}m/s $&$ VERTSPEED SURFSPEED HORZVELOCITY

{1:"ASCENDING ";"[#ff9999ff]DESCENDING AT [#ffffffff] ";" "} {0:; }{0:SIP_6.3}m $&$RADARALT VERTSPEEDROUNDED

TEMP {1:"[#ff5050ff]";"[#ffffffff]";"[#fff700ff]"}{0,4:####}°C {1,11:"[#ff5050ff][POD TEMP]";"";""} {2,11:"[#ff5050ff][ENG OVRHT]";"";""}$&$ PODTEMPERATURE PODTEMPERATUREALARM ENGINEOVERHEATALARM





THRST{0:;;"[[#ff5050ff]CUTOFF[#ffffffff] ] "}[{0:BAR| ,10}] {0,3:0%}({1,3:0%}) $&$ THROTTLE EFFECTIVETHROTTLE
TWR {0,5:0.00}/{1,5:0.00} $&$ TWR TWRMAX
=[#ff5050ff]ALARMS[#ffffffff]=================================
{0:"[#ff5050ff]";0;"[#00ff00ff]"}[GEAR ] {1:"[#00ff00ff]";0;"[#ff5050ff]"}[FUEL ] {2:"[#ff5050ff]";0;"[#00ff00ff]"}[BRAKE] $&$ GEARALARM FUELSTAGEPERCENT BRAKES
{0:"[#ff5050ff]";0;"[#00ff00ff]"}[SLOPE] {1:"[#ff5050ff]";0;"[#00ff00ff]"}[SPEED] {2:"[#ff5050ff]";0;"[#00ff00ff]"}[TUMBL] $&$ SLOPEALARM GROUNDPROXIMITYALARM TUMBLEALARM

To have the biome name next to the body name on the same line, and have the 6 alarms at the bottom on a single line (I think they'll fit?)

Page originally had no background, I added the camera, so I'm trying to push the information to the top and bottom to give a more clear section in the middle so you can see the camera. (Going to try and add some HUD:ish elements showing vertical and horizontal direction).

Edited by K3|Chris
Link to comment
Share on other sites

try this.


LANDING ASSISTANT
{0,-9} ({1,-17}) {2:SIP_6.3}m $&$ ORBITBODY BIOMENAME TERRAINHEIGHT


VERTICAL SURFACE HORIZONZAL
{0:SIP_5.3}m/s {1:SIP_5.3}m/s {2:SIP_5.3}m/s $&$ VERTSPEED SURFSPEED HORZVELOCITY

{1:"ASCENDING ";"[#ff9999ff]DESCENDING AT [#ffffffff] ";" "} {0:; }{0:SIP_6.3}m $&$RADARALT VERTSPEEDROUNDED

TEMP {1:"[#ff5050ff]";"[#ffffffff]";"[#fff700ff]"}{0,4:####}°C {1,11:"[#ff5050ff][POD TEMP]";"";""} {2,11:"[#ff5050ff][ENG OVRHT]";"";""}$&$ PODTEMPERATURE PODTEMPERATUREALARM ENGINEOVERHEATALARM





THRST{0:;;"[[#ff5050ff]CUTOFF[#ffffffff] ] "}[{0:BAR| ,10}] {0,3:0%}({1,3:0%}) $&$ THROTTLE EFFECTIVETHROTTLE
TWR {0,5:0.00}/{1,5:0.00} $&$ TWR TWRMAX
=[#ff5050ff]ALARMS[#ffffffff]=================================
{0:"[#ff5050ff]";0;"[#00ff00ff]"}[GEAR ] {1:"[#00ff00ff]";0;"[#ff5050ff]"}[FUEL ] {2:"[#ff5050ff]";0;"[#00ff00ff]"}[BRAKE] $&$ GEARALARM FUELSTAGEPERCENT BRAKES
{0:"[#ff5050ff]";0;"[#00ff00ff]"}[SLOPE] {1:"[#ff5050ff]";0;"[#00ff00ff]"}[SPEED] {2:"[#ff5050ff]";0;"[#00ff00ff]"}[TUMBL] $&$ SLOPEALARM GROUNDPROXIMITYALARM TUMBLEALARM

and you can aways make use of the nudge Tags... "[@y-10]" this will move the following text 10 pixels up... to move sideways use 'x' instead of 'y' :P

each line on the text file is a line on the MFD. the {} chars have a variable index on it... {0} {1} {2}... {9} {1}. It uses the order of the variables that goes after the "$&$" tag... "$&$ VAR0 VAR1 VAR2..."

Edited by luizopiloto
Link to comment
Share on other sites

What are the {0,-9} tags and {2:SIP_6.3} vs {1:SIP_6.3} etc? I can't for the life of me find any mentions of that stuff in the documentation. Nudge tags I understand but the body's name will change and thus how wide it is, having some really wide gap in case the name is long isn't ideal.

That code looks like this:

JLAV2i6.png

What is the ) doing over there? I can't tell from the code why that happens.

Edited by K3|Chris
Link to comment
Share on other sites

we have this: {0,-9} ({1,-17}) {2:SIP_6.3}m $&$ ORBITBODY BIOMENAME TERRAINHEIGHT

I changed {1:SIP_6.3} to {2:SIP_6.3} because the TERRAINHEIGHT variable is now the third variable at the list after the $&$ tag... the parentesis ')' was there because the {1,-17} reserves 17 blank spaces for the variable... the minus signal tells it to align to the left... you can remove the '(' ')' chars if you preffer...

Edited by luizopiloto
Link to comment
Share on other sites

So I changed 17 to 0 and now it looks better, but the TERRAINHEIGHT has crept leftwards, how do I align text to the far right? Also the Orbitbody's -9 makes it always 9 characters wide right with padding spaces? What happens if it's longer? cut off?

Is it possible to have non-fixed widths? I want Orbitbody on the left, biome to the left of that (say 1-2 spaces between) and Terrainheight on the far right?

I've done LCD displays before and those were simpler than this, you just had to give it coordinates for the cursor in x and y and it printed the string you provide, to do that top line using an LCD on arduino you'd just set cursor to 0,0 write $ORBITBODY " (" $BIOMENAME ")" then set cursor to 0,15 (or was it 15,0?) if the display is 16 characters wide like mine was, and write $TERRAINHEIGHT right to left.

Edited by K3|Chris
Link to comment
Share on other sites

That actually makes sense to me, we're making progress, now how do you align to the right? on text that might change length on a line with other text that might change length? I know if they're all fixed I could space it out with spaces, but it's not.

Link to comment
Share on other sites

Doesn't that just make a 17 characters wide element with the text to the right inside it? I mean absolute right, ie far right side of the screen, if we don't know how far to the right it is already, lets say the orbit body and biome fields are 1 character each (they won't be but lets use it for argument) and the value is left of center, adding 17 characters isn't sure to end up on the far right, and if the 2 other fields are really long, adding 17 might spill past the side.

Link to comment
Share on other sites

Doesn't that just make a 17 characters wide element with the text to the right inside it? I mean absolute right, ie far right side of the screen, if we don't know how far to the right it is already, lets say the orbit body and biome fields are 1 character each (they won't be but lets use it for argument) and the value is left of center, adding 17 characters isn't sure to end up on the far right, and if the 2 other fields are really long, adding 17 might spill past the side.

you have to count the characters you set for the RPM screen width and height in characters and lines. default is 40 characters width; 20 lines height.

I don't know if you can get both HUD and Camera background on the same page as they are both background handlers and probably renders to the same layer.

did you get the Abort button working? if so, how did you do it?

Edited by nli2work
Link to comment
Share on other sites

You can have camera and hud on the same MFD...

Inside the HUD handler you add cameraTransform = "camera name"


...
BACKGROUNDHANDLER
{
name = JSIHeadsUpDisplay
method = RenderHUD
[B]cameraTransform = ExtCam1[/B]
...

Edited by luizopiloto
Link to comment
Share on other sites

you have to count the characters you set for the RPM screen width and height in characters and lines. default is 40 characters width; 20 lines height.?

Urgh, no way to right-align and left align on the same line then? Darn

You can have camera and hud on the same MFD... I remember Hyomoto's MFD having this...

PZ29W35.png

No, I hightly doubt you could combine cameras and the HUD, I can't see that happening.

Any ideas how I can add a marker for targets in that view btw? Can't see any mention about putting targets on the HUD.

Link to comment
Share on other sites

Urgh, no way to right-align and left align on the same line then? Darn

Should be able to... {0,10:0.0} right justifies within a 10 char block, but that 10chr block can be anywhere. You just place that block to start at 30th character on the screen. it shoudl right justify. The formatting will trim the variable to 10 characters no matter what. if you want label to be on the right side of variable it'd be something like {0,10:0.0}m :ASL $&$ RADARALTOCEAN

Inside the HUD handler you add cameraTransform = "camera name"

nice! good to know. :) I forgot about it from the Docs. that line allows camera background rendered in just about any page.

Edited by nli2work
Link to comment
Share on other sites

no... RPM don't have target mark on the HUD handler...

Obs: You can change that prograde indicators size and color... :P

showHeadingBarPrograde = ture/false - enable/disable the heading bar side slope indicator.

progradeColor = Red, Green, Blue, Alpha - changes the indicators color. Red, Gren, Blue, Alpha value range vary from 0 to 255

iconPixelSize = 64 - changes the icon size

Edited by luizopiloto
Link to comment
Share on other sites

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