Jump to content

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


Mihara

Recommended Posts

Mihara I don't see why the change in version number can impact RPM

It's called a dev version... Each time we change something a new version is automaticly released. If you don't want change use the stable one.

I wasn`t complaining, just being impressed with how active MJ development is and stating how impossible to keep up with dev versions it must be for a mod developer especially if you have to recompile for each version. I guess in the end it depends how RPM hooks into MJ.

Link to comment
Share on other sites

1. do I need to replace modulemanager 1.5.6 with the 1.5.7 in this release?

2. I tried to click mod -> mechjeb2 and it says "plugin not installed"? I am using mechjeb2 jenkins release 132 and there is a mechjeb2RPM folder in my gamedata root folder

3. what is the mod "vesselview" and how do I find that as it also says the plugin is not installed

Link to comment
Share on other sites

1. do I need to replace modulemanager 1.5.6 with the 1.5.7 in this release?

2. I tried to click mod -> mechjeb2 and it says "plugin not installed"? I am using mechjeb2 jenkins release 132 and there is a mechjeb2RPM folder in my gamedata root folder

3. what is the mod "vesselview" and how do I find that as it also says the plugin is not installed

1, No

2, You need MJ 2.2.1 (the one from Spaceport), not one of the later dev builds, for it to work.

3, This is Vessel View

Link to comment
Share on other sites

1, No

2, You need MJ 2.2.1 (the one from Spaceport), not one of the later dev builds, for it to work.

3, This is Vessel View

Why in the name of all that is Kerbal has someone not told me about vessel view before now!?

That. Is. AWESOME!

Javascript is disabled. View full album

Now I just need to find a way to overclock my cores to about 35Ghz and speed up my hard drive to a few Gb per second and it will run at full speed

Edited by John FX
Link to comment
Share on other sites

For reference, I described it in detail a few posts up the thread.

I will never claim to be a good programmer, and in fact haven't done any serious programming for years, but damn I just read that and wanted to cry, that's terrible, but at least now I know why toolbar is 000 toolbar.

Any chance squad might fix that?

Link to comment
Share on other sites

I will never claim to be a good programmer, and in fact haven't done any serious programming for years, but damn I just read that and wanted to cry, that's terrible, but at least now I know why toolbar is 000 toolbar.

I'm a sociologist and my field is studying virtual worlds. Which tends to get you to program in all kinds of bizarre environments in a take-it-or-leave-it fashion -- places where the whole server dies if you forget a ; and there's no for loop or a division operator, places where you get 16kb worth of memory per module for both your code and data and keeping numbers as string representations actually saves you memory, places where statements like [if(setr(4,match(%0,[setr(2,ucstr(%1))]:*)),replace(%0,%q4,%q2:%2),setunion(%0,%q2:%2))] (and yes, it's supposed to be written this way because spaces are significant) are considered elegant...

After all that, KSP looks positively sane, though this one limitation is proving particularly annoying. :)

Any chance squad might fix that?

There was talk of this getting fixed for 0.23. Nothing of the sort happened and in fact a new problem appeared -- the assembly that references missing objects does get loaded, but is rejected by the plugin loader. I.e. it's somehow both in the environment and not in the environment, it can be found using reflection (so plugins relying on reflection to hook other plugins in would find it if they search globally) but generates exceptions when you try to actually do something with it. This is what made RPM break Kethane 0.83 if MechJeb was not installed but MechJebRPM shim was -- Kethane would globally search for methods, try to poke into MechJebRPM, which was present but not actually accessible, and choke.

Edited by Mihara
Link to comment
Share on other sites

This discussion is really quite fascinating. I wonder (honest curiosity) if Harvester and the other KSP devs realize the issues this situation causes modders?

A second, more pragmatic question: can Navyfish's incredibly-elegant and useful Docking Port Alignment Indicator be integrated into RPM in a future version? It would be great to see that indicator display on one of the MFD's. And secondarily, is that something for Navyfish to add to his code or something you would have to add to RPM?

Link to comment
Share on other sites

A second, more pragmatic question: can Navyfish's incredibly-elegant and useful Docking Port Alignment Indicator be integrated into RPM in a future version? It would be great to see that indicator display on one of the MFD's. And secondarily, is that something for Navyfish to add to his code or something you would have to add to RPM?

It should be easy enough, since it already draws to a GUI texture. All that would be required is to create a method that would do the same, but for a RenderTexture pointer passed by RPM to a background handler, that would be essentially a cut-and-paste job. There is, unfortunately, no practical way to do it in a shim manner like with MechJebRPM, (and for reasons cited above I really would like to avoid introducing more shims) so you'll have to ask Navyfish to actually do it.

Navyfish's mod is "incredibly-elegant" however, http://forum.kerbalspaceprogram.com/threads/54303-0-22-Navball-docking-alignment-indicator already (and automatically?) works on the RPM navball.

Because, thanks to his GPLv3 icense, I shamelessly swiped the code snippet responsible and integrated it into the navball. :)

Link to comment
Share on other sites

This discussion is really quite fascinating. I wonder (honest curiosity) if Harvester and the other KSP devs realize the issues this situation causes modders?

I wonder, sometimes. Since the introduction of GameDatabase object tree in 0.20, there have been no improvements in KSP that actually made the programming side of modding easier, even though the new PartTools made assembling an IVA a lot easier than it was before. GameDatabase made it much easier to manipulate textures, and allowed me to bypass another problem -- which I think is a major bug somewhere deep in KSP. Since we started on technicalities, I'll try to give some more background on that...

RasterPropMonitor needs a complex configuration file, and it needs to be per-prop, rather than one-for-the-entire-KSP. There is a public hook for this sort of thing, called OnLoad, which is supposed to allow you to define how your data gets loaded from configuration files and saved, which supposedly allows you to write config files like


MODULE
{
variable=value
DATABLOCK
{
variable = value
...
}
DATABLOCK
{
....
}

Once you write the requisite OnLoad method, it should get called and allow you to read your variables in. Stock config files and stock modules use this mechanism. It is described in multiple dev posts and several tutorials. Well, it doesn't work for non-stock modules, and no manner of kicking made it work for me. (and tutorials don't work as written either.) In fact, the OnLoad method simply never gets called, ever. I have no clue why.

If a module could get a pointer for the entire ConfigNode object containing it's configuration and manually process it into components, I could get around that, but alas, PartModules and InternalModules get no access to that, it supposedly gets passed as an argument to the OnLoad method. Which never gets called.

RPM, nevertheless, has configs written in this manner. It goes directly for the GameDatabase object, which contains the entire configuration tree -- the same GameDatabase object that permits ModuleManager to work, as ModuleManager triggers after everything finished loading and directly rewrites that object -- and goes down from the top of the tree to identify the prop configuration that applies to it, and then manually recovers the configuration values.

There's a few more incidents of tonsillectomy-through-the-anus around there, which were mostly introduced to get around silly things like that, when they weren't introduced because I was too tired to actually think what I'm doing. :)

Link to comment
Share on other sites

I believe I've found a bug with the Sideslip Indicator on the airplane-style HUD. When I'm doing a typical spaceplane ascent (ascending at around 10-30 degrees with my heading as close to east (90 degrees) as I can manage), the prograde icon 'flickers'. When I am heading slightly less than 90 degrees, the sideslip indicator moves all the way to the left of the compass, as if I were moving around 270 degrees instead of around 90 degrees. It works properly when I am heading greater than 90 degrees, however.

I am using the latest stable release (though this problem predates this version; I only just identified the cause of the bug) with KSP .23.5 and FAR, MechJeb, Joint Stabilizer, and Chatterer installed, though I seriously doubt any of those mods will affect this.

EDIT: I'm actually unsure if the problem is triggered when the *Sideslip Indicator* moves left of 90 degrees, or when my *heading* moves left of the same. I'm having a hard time creating a vehicle that can succesfully be pointing at ~85 and moving at ~95 for more than a fraction of a second to test.

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

Is it possible to add several "JSIExternalCameraSelector"s to one part? Especially, make 4 inbuilt cameras (3 frontal and 1 backward) of SpaceTech "Eva" (nice probe core body) to actually work?

---

Update - 23.04.2014

Possible. Just got it to work. Frontal (90,0,0) and backward (270,0,180) cameras work perfectly. But I was unable to chose the right angle for frontal side cameras. It seems that "rotateCamera = 90,0,45" and "rotateCamera = 90,45,0" rotate the camera AROUND THE SAME AXIS (and that's not the axis needed). How can that be?

P.S. RPM Version 0.15 as I still play with KSP 0.23. Using Model{} tag in part config for model rotation, if that matters.

Edited by Dr. Jet
Link to comment
Share on other sites

Great mod! I'd like to try and tweak the 'info' screen so that it tells you which biome you are over when in low orbit. (Currently it only gives biome information if you are flying through the atmosphere.). Can anyone tell me if there's a config file or some such place where I might be able to tweak the data displayed. :)

Link to comment
Share on other sites

Great mod! I'd like to try and tweak the 'info' screen so that it tells you which biome you are over when in low orbit.

Yeah that would be amazing. There's nothing quite like collecting science from a low orbit EVA.

Link to comment
Share on other sites

Yeah that would be amazing. There's nothing quite like collecting science from a low orbit EVA.

Aha! I figured it out myself. There's a file at:

JSI/RastorPropMonitor/Example/ExampleMFD/P4_shipinfo40x20.txt

Change the word "BIOMENAME" to "BIOMEID"

It gives you the current biome no matter whether you are in orbit, atmosphere, etc. You lose the info about "flying", "orbiting" etc. But I'm fine with that because you still get that info at the top of the page.

Thanks me for answering the question. :D

Now I can do crew reports and biome-specific science from the IVA, without ever leaving the IVA screen. (I'm using BetterThanStartingManned, which makes the gravitron part collect biome-specific science from low orbit.)

Edited by Brucey
Link to comment
Share on other sites

Now with RPM, chatterer, atmospheric enhancement and Kerbquake my IVA-experience is nearly complete, now we just need a mod that adds alarms when things go wrong... :)

What's a better alarm than flying SRB's and screaming Jeb? :kiss::)

Link to comment
Share on other sites

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