Jump to content

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


Mihara

Recommended Posts

Awww what a good developer. Have a treat!

There's making mods for yourself to play with, and then there's making mods for other people to make things for you to play with -- and this is the latter. :)

The main thing I'd like to see is [orbital period] - [time to AP], and ditto for PE.

Is there a specific term for this? I'm coming up blank on what to call these variables.

I'd really like to throw time to AP into your BAR function and get a nice indicator to balance around a zero point. That would look a lot nicer if you included a new BAR argument that allowed you to display it backwards.

Do you mean to string two bars together and have the one on the right fill forward and the one on the left fill backward? Well, that's easy enough.

I'll get to all that tomorrow when I finish settling into my new PC, hopefully. :)

Link to comment
Share on other sites

Is there a specific term for this? I'm coming up blank on what to call these variables.

Not that I know of. I'd call it time to nearest AP (if it returned positive and negative values) or time since last AP (if it only returned positive values)

Do you mean to string two bars together and have the one on the right fill forward and the one on the left fill backward? Well, that's easy enough

Yes, that's exactly what I mean. That way, you could have an indicator that stretched out from a zero point at the center, rather than stretching out from the lowest value on the left. Actually, it would be nice to just change the behavior so that the two extent arguments represent left and right, not max and min.

Link to comment
Share on other sites

For some reason, i cant only display image from my first camera on screen... others get no signal message.

Also mihara, will you also add more props to stock capsules, like action groups buttons , stage switch and fuel level indicator? I woudl love to one day be able to fly without GUI from IVA.

And do you have plans for some brand new props?

Link to comment
Share on other sites

Not that I know of. I'd call it time to nearest AP (if it returned positive and negative values) or time since last AP (if it only returned positive values)

Done, check the dev version to see if that's what you wanted. :)

Yes, that's exactly what I mean. That way, you could have an indicator that stretched out from a zero point at the center, rather than stretching out from the lowest value on the left. Actually, it would be nice to just change the behavior so that the two extent arguments represent left and right, not max and min.

Well, I just made it so that if you give a negative maximum string length, it fills right to left instead. :)

For some reason, i cant only display image from my first camera on screen... others get no signal message.

Did each of them get the same ID number somehow, maybe?

Also mihara, will you also add more props to stock capsules, like action groups buttons , stage switch and fuel level indicator? I woudl love to one day be able to fly without GUI from IVA.

And do you have plans for some brand new props?

Eventually. Mind you - I don't do models. I also wish to avoid using models from ALCOR, as the only thing worse than more textures in your memory is multiple copies of more textures. So I tend to only introduce new props if I can manipulate stock models and textures into them, which doesn't always work very well -- for example, I can't for the life of me produce satisfactory button labels without introducing new models. :)

If I could, you'd probably notice that 0.12 release does contain working buttons, just not the full array of them. :)

Link to comment
Share on other sites

Longtime lurker, first-time poster.

I just thought I'd say three things: first, this mod is AMAZING.

Second, here's a neat trick I discovered for it that some of you may find useful. When making display bars, you can double the resolution of your bars (that is, twice as many equal signs/whatever), thus increasing display accuracy, if you use the half width text command.

First, a request: if it's not too much trouble, could we get a variant of the BAR command that allows us to pick a special character to replace the last drawn command? ex.:

from ======

to =====|

Thanks!

EDIT: Also, a useful variable for calculating the hoverpoint of VTOLs would be the % thrust of all activated engines to perfectly counteract gravity. You could just call it HOVERPOINT.

Edited by S.O.P.H.I.A.
Link to comment
Share on other sites

First, a request: if it's not too much trouble, could we get a variant of the BAR command that allows us to pick a special character to replace the last drawn command? ex.:

from ======

to =====|

I.e. you want a different trailing character on the end of the filled portion of the bar? Sure, give me a moment.

EDIT: Done, dev version uploaded..

EDIT: Also, a useful variable for calculating the hoverpoint of VTOLs would be the % thrust of all activated engines to perfectly counteract gravity. You could just call it HOVERPOINT.

Well, that should be easy enough, but instead of localG, it will need the precise value of gravity at the moment for the result to consistently make sense... That'll take a bit longer than a moment, I'll need to find where that is. :)

EDIT: Done. HOVERPOINT = 0 to 1 throttle, HOVERPOINTEXISTS = 1 if you can hover and -1 if the full throttle is insufficient. Please test. :)

Edited by Mihara
Link to comment
Share on other sites

is there way to switch the camera backwards(e.g 3 to 2 then 1) so i don't have to cycle all over from (3 to 9, then 1 again)??

In a multiple-pages-on-single-button setup - no, not really. I wanted to make it a feature of JSISteerableCamera, though.

Link to comment
Share on other sites

I must be blind, where is the Dev version download located?

It's linked off the first page of the documentation wiki. The documentation wiki always describes the dev version as it is. (or at least, it's much closer to it than it is to the release, which is why release comes with a PDF snapshot of that same wiki)

The dev version is uploaded automatically every time I press the 'build' button, which is why it is NOT guaranteed to work at all, and why the link is not posted in the thread. Install at your own risk.

Link to comment
Share on other sites

This is a very good mod!

I'd want to control unmanned missions like this, in a navigation room of some kind.. or have a capsule at KSC with all those monitors and control an unmanned flight from the capsule that is sitting at KSC.. if you know what I mean, do you think this could somehow be possible?

Link to comment
Share on other sites

Done, check the dev version to see if that's what you wanted. :)

Awesome, thanks. I'm gonna go play with it. I love the new hoverpoint variable. I'm planning on using two BARs in my descent page so you can visually compare hoverpoint and throttle.

An additional request: I'd like to have customizable alarms. At the moment, I'm hoping for an altitude alarm with a range argument, i.e. a variable that returned different values depending on whether you were above, within or below the specified range. An AP/PE altitude alarm would be great as well.

And if you get a chance, can you elaborate on what semicolons mean? I gather that

{0:;"                                        ";""}

prints a blank line when the first variable is not 1, but I can't for the life of me understand why.

Oh, and you might want to mention in your documentation that while page files refresh every time a ship is loaded, MFD.config doesn't refresh until the plugin is reloaded with a game restart. That took way too long for me to realize.

Edited by hapaxLegomina
Link to comment
Share on other sites

This is a very good mod!

I'd want to control unmanned missions like this, in a navigation room of some kind.. or have a capsule at KSC with all those monitors and control an unmanned flight from the capsule that is sitting at KSC.. if you know what I mean, do you think this could somehow be possible?

That's a really tough thing to do. If you want to have monitors that are physically on Kerbin but are controlling a craft more than ~2km away, you're going to have to change the unload distance and that's never bug free.

You could alternatively add an interior to probe parts that just LOOKS like a control center. That's a reasonably simple thing to do, but it's an entire project by itself.

Link to comment
Share on other sites

This is awesome! I take it full Mech Jeb command would be possible given you've already done it with the Smart A.S.S. module? I like this much better than having a bunch of different GUI's cluttering the screen. With this, I can just press F2 and view all of my orbital info in a beautiful and immersive IVA and get a good view of the "Star Map" without all the clutter. Can't wait to see what else is done with this.

Link to comment
Share on other sites

I'd want to control unmanned missions like this, in a navigation room of some kind.. or have a capsule at KSC with all those monitors and control an unmanned flight from the capsule that is sitting at KSC.. if you know what I mean, do you think this could somehow be possible?

Only in the same sense the TARDIS is unmanned. I.e. you can have a small probe that is bigger-on-the-inside, but they're still actually inside and will die when you crash it. There is currently no way to have a remote IVA.

An additional request: I'd like to have customizable alarms. At the moment, I'm hoping for an altitude alarm with a range argument, i.e. a variable that returned different values depending on whether you were above, within or below the specified range. An AP/PE altitude alarm would be great as well.

Arguments are going to be difficult...

And if you get a chance, can you elaborate on what semicolons mean? I gather that
{0:;"                                        ";""}

prints a blank line when the first variable is not 1, but I can't for the life of me understand why.

Standard string.format feature for numeric values -- ifpositive;ifnegative and ifpositive;ifnegative;ifzero. Does not currently work with any of the custom formatters, though, they take precedence and do not yet handle the semicolon themselves.

Oh, and you might want to mention in your documentation that while page files refresh every time a ship is loaded, MFD.config doesn't refresh until the plugin is reloaded with a game restart. That took way too long for me to realize.

Well, it does say that, but probably not sufficiently clearly. :)

This is awesome! I take it full Mech Jeb command would be possible given you've already done it with the Smart A.S.S. module?

In theory yes, or at least most of it. In practice, I'm not really up for translating that many windows to menus, and the navigation would be horrible. :)

Link to comment
Share on other sites

You could alternatively add an interior to probe parts that just LOOKS like a control center. That's a reasonably simple thing to do, but it's an entire project by itself.

And i think its worth doing. Seariously, its a brilliant idea. IVA for probes, flying probe only using its external cameras. Probe controll room in space center.

PLEASE SOMEONE DO THIS

Link to comment
Share on other sites

Done. HOVERPOINT = 0 to 1 throttle, HOVERPOINTEXISTS = 1 if you can hover and -1 if the full throttle is insufficient. Please test. :)

Amazing! I'll get right on that.

On a similar note, another very useful variable would be THRUST%, which would equal THRUST/THRUSTMAX.

Just so you know, I'm trying to create a display screen with a series of bars to aid in hovering. One would show your throttle%, directly below that your thrust% (important because jet engines lag behind the throttle, so you need to know how much thrust you're going to produce, not just what you are producing, and below that, a bar showing your hoverpoint. When all of those line up, you should be hovering, or very near to it.

Link to comment
Share on other sites

Just so you know, I'm trying to create a display screen with a series of bars to aid in hovering. One would show your throttle%, directly below that your thrust% (important because jet engines lag behind the throttle, so you need to know how much thrust you're going to produce, not just what you are producing, and below that, a bar showing your hoverpoint. When all of those line up, you should be hovering, or very near to it.

Ah, so the THROTTLE wouldn't be the same as that. Ok, a moment...

EDIT: Done, EFFECTIVETHROTTLE.

Edited by Mihara
Link to comment
Share on other sites

I just tested the new HOVERPOINT variable, and it works very well, but I noticed one bug: it doesn't take into account KSP's new thrust limiter tweakables. And if it doesn't, it's possible that other variables don't as well.

So for example, if my engines are set to have 50.5% limited thrust (KSP doesn't seem to let me make it 50 exact, weirdly) then I actually need to set my throttle to be almost double the HOVERPOINT to hover.

Which actually leaves three possible options--either a variant of HOVERPOINT that takes into account thrust limiters, or changing the original to take into account thrust limiters, or leaving it as it is and taking that into account in vehicle design instead (ie, not limiting thrust). Thrust limiting is useful when making VTOLs because of the fine control needed.

That said, what you've already done here is amazingly useful! Finally, I can use my computer skills to make up for my horrendous lack of piloting skills! Thank you so much.

EDIT: I've made a pretty sick VTOL-assist screen. The three bars are drawn on top of each other with nudges. The Hoverpoint bar uses spaces for both full and empty bars, but a symbol for the last spot using the new feature. Check this out:

screenshot45_zps7d4d4361.png

EDIT 2: On further inspection, none of the variables I'm using (EFFECTIVETHROTTLE, THROTTLE, HOVERPOINT) take thrust limiting into account. I'm not actually sure if they should, though. It would be extremely convenient for me, and other VTOL designs, but I can think of some purposes where it wouldn't be. Basically, do we want to think of a limited-thrust engine as just a weaker engine, or a powerful engine that's arbitrarily not being used to its full extent? Whichever you decide to go with, I'll use it or work around it.

Edited by S.O.P.H.I.A.
Link to comment
Share on other sites

On further inspection, none of the variables I'm using (EFFECTIVETHROTTLE, THROTTLE, HOVERPOINT) take thrust limiting into account. I'm not actually sure if they should, though. It would be extremely convenient for me, and other VTOL designs, but I can think of some purposes where it wouldn't be. Basically, do we want to think of a limited-thrust engine as just a weaker engine, or a powerful engine that's arbitrarily not being used to its full extent? Whichever you decide to go with, I'll use it or work around it.

Nice display. :)

Actually, none of the code accounts for tweakable thrust limiting, because most of that was written well before that was available. It's not much of a problem to recover thrust limits ((thatModule as ModuleEngines).thrustPercentage is all it would take) but the problem is what to do with them later: This setting is separate for every engine, while there is only one throttle handle on the ship that goes from 0 to 1.

I haven't played with tweakable thrust myself, so I don't know -- does it hard limit the thrust (i.e. all thrust goes up simultaneously at the same rate but thrust limited engines stop at the limit point) or does it scale the thrust, i.e. the 0-1 range of the ship throttle is interpolated into the minimum/maximum thrust level? If it's the former, there's no way I can account for thrust limits because they're different on every engine. If it's the latter, it should be treated as a bug and fixed globally when computing available/current thrust.

EDIT: Well, it seems like it's scaled. Give me a few minutes.

EDIT EDIT: Well, if I didn't miss anything, tweakables should only affect the maximum thrust calculation but they should not affect the current actual thrust calculation, so it's a two-line fix that should fix all of the usages of thrust in RPM. Please test. :)

Edited by Mihara
Link to comment
Share on other sites

Mihara, is there anything you could explain the target symbology on the orbit screen? What do the omega and upside down omega symbols represent? What is the best way to perform a rendezvous from RPM? Is there a way to get relative target speed displayed?

Thanks

Link to comment
Share on other sites

Mihara, is there anything you could explain the target symbology on the orbit screen? What do the omega and upside down omega symbols represent? What is the best way to perform a rendezvous from RPM? Is there a way to get relative target speed displayed?

Thanks

The omega and upside-down omega are the ascending and descending nodes, respectively. I don't know how to perform a rendez-vous without MechJeb. You can get relative target speed by using the Target Menu (one of the buttons along the top, maybe C or D), selecting your target, and then cycling through velocity displays (press the green button next to the velocity readout) until it says Target, rather than Surface or Orbit.

Link to comment
Share on other sites

Well, if I didn't miss anything, tweakables should only affect the maximum thrust calculation but they should not affect the current actual thrust calculation, so it's a two-line fix that should fix all of the usages of thrust in RPM. Please test. :)

Testing suggests that the change works perfectly. It functions as expected for the following variables I tested: EFFECTIVETHROTTLE, THROTTLE, HOVERPOINT, TWR, and TWRMAX.

This makes it greatly easier to control hovering vehicles. Thank you!

Link to comment
Share on other sites

The omega and upside-down omega are the ascending and descending nodes, respectively.

Well, they aren't exactly omega and upside-down omega, they have their own names and own unicode symbols. See https://en.wikipedia.org/wiki/Orbital_node

You can get relative target speed by using the Target Menu (one of the buttons along the top, maybe C or D), selecting your target, and then cycling through velocity displays (press the green button next to the velocity readout) until it says Target, rather than Surface or Orbit.

The 'select' button on the navball page (the one with a circle on it) serves the same function by default, by the way.

P.S. Also, I don't remember if that was after 0.12 or before, but target camera page always shows speed relative to target. In 0.13 it shows approach speed, which is more or less the same, but negative if you're going away from the target.

Edited by Mihara
Link to comment
Share on other sites

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