Jump to content

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


Mihara

Recommended Posts

All those .mbm, .stk, and .mu that Mk3 cockpit mod has in the squad folder, are they necessary or can I just use what stock game has?

i'm trying to eliminate as much as I can and just use a cfg.

All of them are just backups of the original Squad content (stk is the backup of stock cfg).

Link to comment
Share on other sites

I'm finding it hard to make a MM to delete the middle Internal Camera in MK3 mod cockpit, thats the one I have MFD on. All three Internal Camera have the same name.

Edit:

Never mind got luck with this the code I did worked.

Edited by therealcrow999
Link to comment
Share on other sites

I decided that I'd rather release it as is than wait for anyone to find any bugs in it. If there are any, I'll just post a new release early, I probably will have to when 0.23 is out anyway, which is also likely to be soon. :)

RasterPropMonitor v0.10

Special thanks to MOARdV who is responsible for numerous bug fixes and improvements in this release.

Bugs fixed

  • The SI prefix formatter is now very definitely behaving to spec.
  • Targeting variables now correctly handle special targetable types introduced by MechJeb, i.e. a point on the ground, as well as their names.
  • Targeting variables applicable to celestial bodies will now return correct information about those.
  • Cameras will now try to show the effects produced by the Visual Enhancements mod, inadequately. Proper support will be available when an upcoming release of Visual Enhancements gives unique names to the special camera objects it creates.
  • Color tags were handled incorrectly in cases of two consecutive color tags or a color tag ending the line with no subsequent spaces, which is now fixed.
  • JSISCANsatRPM now correctly draws lines that cross the map around the back, which it previously had to avoid drawing at all.
  • InternalCameraTargetHelper will now prevent all doubleclicking from clearing your target while you're in IVA, not just doubleclicking that results in looking through windows. If you dislike that behaviour, you just need to remove MODULE {name=InternalCameraTargetHelper} from configuration.
  • Time to impact calculations should handle descent in atmosphere and under acceleration better.
  • Some inconsistencies in monitors handling the absence of electric charge in the ship were fixed.

New features

  • One more small breaking API change before I catch anyone else using it, hopefully the last one of those: Background handlers now receive the cameraAspect as a parameter beyond the actual RenderTexture. Which means that JSIPrimaryFlightDisplay no longer needs the screenAspect parameter and will ignore it.
  • There are now custom string formatters for degrees-minute-second coordinates and time. Variables that previously returned either of that as pre-made strings still work, but are deprecated and no longer documented, to be removed no later than in v1.0. Yes, you need to go through your page definition files again, but on the up side, you can customise the way these values are displayed to a much higher degree now.
  • The newly introduced JSITargetMenu page handler does exactly what it says on the tin -- gives you an on-monitor-screen menu to select a target. Yes, it can select a docking port.
  • JSISCANsatRPM can now draw arbitrary lines on the map, which permits you to draw airstrip approach "funnels" and other useful information. There are no such markings bundled with the package yet, because nothke, who originally requested this feature, has not yet sent any in, and I have no clue where they should be. :)
  • JSIExternalCameraSelector now has an option to apply extra rotation to the camera transform, which is handy if you're using it with a model you cannot edit. That involves a minor change for the requirements to create a part for it deliberately -- please check the manual.
  • JSIPrimaryFlightDisplay now also displays a docking orientation marker the same way the Navball docking alignment mod does it.
  • Resources from Extraplanetary Launchpads, KSP Interstellar and Near Future are now available by name.
  • All named resources and alphabetically listed resources now also have variables that return percent of total capacity as a number from 0 to 1.
  • Reference information about planetary bodies is now available as variables, for body currently being orbited and for a target celestial body.
  • New ATMOSPHEREDEPTH variable lets you replace the stock atmosphere depth gauge.
  • Multiple pages within the same monitor can now coexist on the same button. They will be cycled between when this button is pressed. This ensures the example prop will remain in service for quite a while. :)
  • Multiple handler blocks (both page and background) are now allowed per page. The first one that successfully loads will be used -- which will be important when there are more alien plugin integration handlers.
  • Cameras can now optionally have their zoom levels (i.e. FOV) controllable by globalButtons.
  • Cameras can now optionally display a "no signal" texture if the camera was not found.
  • Supplied patch for docking ports now also adds cameras to all IACBM and SDHI docking ports. (Except the developer preview version. Because sumghai mentioned native RPM use in Karmony IVAs.)
  • Numerous patches for stock and mod capsules by Nazari and therealcrow are included.

Please pay special attention to documentation on new formatters. See the full list of deprecated variables and their suggested replacements.

I think I'll finalise version 1.0 once KSP 0.23 is well tested. At that time, deprecated variables will be gone.

Link to comment
Share on other sites

So much new stuff and I am not at home tomorrow

I just noticed that as I'm waiting for people to report finding at least one bug in the complicated parts (the formatters and the targeting menu) I keep sneaking more last-minute features in elsewhere. This had to stop. :)

Link to comment
Share on other sites

Awesome thanks for new release. I figure you were going to release today. I will try to finish up those generics, probably be in your next release. Hopefully when 0.23 is out.

I got a surprise for DasBananenbrot:

screenshot36_zps2bf07992.png

screenshot37_zpsd89ffd33.png

Here is link to Mk3 cockpit mod:

http://kerbalspaceprogram.com/mk3-cockpit-internals/


@PART[mark3Cockpit]
{
MODULE
{
name = JSIInternalPersistence
}
}

@INTERNAL[GenericSpace3TTUPGRADE]
{
!MODULE[InternalCameraSwitch]{}
}

@INTERNAL[GenericSpace3TTUPGRADE]
{
MODULE
{
name = InternalCameraTargetHelper
}

PROP
{
name = RasterPropMonitorExampleMFD
position = 0.0002519488,0.0005407333,0.03081857
rotation = 0,0,0,1
scale = 0.7437763,0.6114284,0.6571459
}

PROP
{
name = RasterPropMonitorExampleMFD
position = 0.4909058,0.6724746,0.07866514
rotation = -0.08715574,0,0,0.9961947
scale = 0.657146,0.657146,0.6571457
}

PROP
{
name = RasterPropMonitorExampleMFD
position = -0.4982093,0.6724746,0.07866514
rotation = -0.08715574,0,0,0.9961947
scale = 0.657146,0.657146,0.6571459
}
}

Link to cfg, use Module Manager 1.5:

http://www./view/1pwd76yhnh2s717/TTMK3%20-%20Mod%20Cockpit.cfg

Edited by therealcrow999
Link to comment
Share on other sites

Mihara here is generic1 spaces for the Mk2 stock cockpit:

screenshot40_zps1a0d6f10.png

screenshot39_zpscb863903.png


@PART[Mark2Cockpit]
{
MODULE
{
name = JSIInternalPersistence
}
}

@INTERNAL[GenericSpace1]
{

MODULE
{
name = InternalCameraTargetHelper
}

PROP
{
name = AltimeterThreeHands
position = -0.1487534,0.517368,-1.704758
rotation = 0.7069991,0.01234072,-0.01234072,0.7069991
scale = 1.250947,1.250947,1.250947
}
PROP
{
name = ButtonSquare
position = 0.2047202,0.04424143,-1.740092
rotation = 0.7069991,0.01234072,-0.01234072,0.7069991
scale = 1.449638,1.449641,1.44964
}
PROP
{
name = ButtonSquare
position = 0.2047244,0.1013413,-1.739969
rotation = 0.7069991,0.01234072,-0.01234072,0.7069991
scale = 1.449638,1.449642,1.44964
}
PROP
{
name = ButtonSquare
position = 0.2046547,-0.01848376,-1.741968
rotation = 0.7069991,0.01234072,-0.01234072,0.7069991
scale = 1.449638,1.449642,1.44964
}
PROP
{
name = ButtonSquare
position = 0.2046266,-0.07816543,-1.742771
rotation = 0.7069991,0.01234072,-0.01234072,0.7069991
scale = 1.449638,1.449642,1.44964
}
PROP
{
name = ButtonSquare
position = 0.2045826,-0.1407029,-1.744032
rotation = 0.7069991,0.01234072,-0.01234072,0.7069991
scale = 1.449638,1.449642,1.44964
}
PROP
{
name = ButtonSquare
position = -0.2843371,0.01056785,-0.9412664
rotation = 0,0,-0.6087615,0.7933534
scale = 1.000001,0.9999992,1
}
PROP
{
name = ButtonSquare
position = -0.2959755,0.05001553,-0.9412664
rotation = 0,0,-0.6087615,0.7933534
scale = 1.000001,0.9999992,1
}
PROP
{
name = ButtonSquare
position = -0.3069341,0.08862419,-0.9412664
rotation = 0,0,-0.6087615,0.7933534
scale = 1.000001,0.9999992,1
}
PROP
{
name = circularButton
position = 0.3416895,0.1290617,-1.061146
rotation = -0.3747095,0.5996606,0.4156269,0.5720614
scale = 1,1,0.9999993
}
PROP
{
name = circularButton
position = 0.3462897,0.1278309,-0.9935569
rotation = -0.3747095,0.5996606,0.4156269,0.5720614
scale = 1,1,0.9999993
}
PROP
{
name = circularButton
position = 0.3372684,0.1301364,-1.125524
rotation = -0.3747095,0.5996606,0.4156269,0.5720614
scale = 1,1,0.9999993
}
PROP
{
name = circularButton
position = -0.2415211,0.5040551,-1.708401
rotation = 0.7066761,0.02467767,-0.02467767,0.7066761
scale = 1.933379,1.933379,1.933379
}
PROP
{
name = circularButton
position = 0.1875009,0.5040551,-1.732701
rotation = 0.7066761,0.02467767,-0.02467767,0.7066761
scale = 1.933379,1.933379,1.933379
}
PROP
{
name = circularButton
position = 0.1875009,0.5689899,-1.732701
rotation = 0.7066761,0.02467767,-0.02467767,0.7066761
scale = 1.933379,1.933379,1.933379
}
PROP
{
name = circularButton
position = -0.2415211,0.5659577,-1.708401
rotation = 0.7066761,0.02467767,-0.02467767,0.7066761
scale = 1.933379,1.933379,1.933379
}
PROP
{
name = Compass
position = 0.3073983,0.01831737,-1.065201
rotation = -0.5591929,0.8290376,2.44431E-08,-3.623838E-08
scale = 1,0.9999996,1
}
PROP
{
name = directionalKnob
position = -0.3151501,0.1259471,-1.016501
rotation = 0,0,-0.6087615,0.7933534
scale = 1.785444,1.785442,1.785442
}
PROP
{
name = directionalKnob
position = -0.3060226,0.1288218,-1.102108
rotation = 0.410619,0.5756666,0.410619,-0.5756666
scale = 1.785442,1.785443,1.785443
}
PROP
{
name = directionalKnob2
position = -0.03451819,-0.1384321,-1.734209
rotation = 0.7069991,0.01234072,-0.01234072,0.7069991
scale = 1.681973,1.681974,1.681974
}
PROP
{
name = directionalKnob2
position = -0.09858026,-0.1384321,-1.732935
rotation = 0.7069991,0.01234072,-0.01234072,0.7069991
scale = 1.681973,1.681975,1.681974
}
PROP
{
name = directionalKnob2
position = 0.03067196,-0.1384321,-1.737448
rotation = 0.7069991,0.01234072,-0.01234072,0.7069991
scale = 1.681973,1.681975,1.681974
}
PROP
{
name = IndicatorPanel
position = -0.2337482,0.01632769,-1.707005
rotation = 0.7069991,0.01234072,-0.01234072,0.7069991
scale = 1.735686,1.735686,1.735686
}
PROP
{
name = ledPanelSpeed
position = -0.03675787,0.1274141,-1.73168
rotation = 0.7069991,0.01234072,-0.01234072,0.7069991
scale = 2.120915,2.120915,2.120915
}
PROP
{
name = NavBall
position = -0.02667921,0.5234222,-1.714932
rotation = 0.7069991,0.01234072,-0.01234072,0.7069991
scale = 1.906151,1.906151,1.906151
}
PROP
{
name = RadarAltimeter
position = -0.03380745,0.04920059,-1.71909
rotation = 0.7069991,0.01234072,-0.01234072,0.7069991
scale = 1.398241,1.398241,1.398241
}
PROP
{
name = RasterPropMonitorExampleMFD
position = -0.3215128,0.3083318,-1.628649
rotation = 0,0.258819,0,0.9659259
scale = 1,1,1
}
PROP
{
name = RasterPropMonitorExampleMFD
position = 0.2633125,0.3060272,-1.640545
rotation = 0,-0.258819,0,0.9659259
scale = 1,1,1
}
PROP
{
name = RasterPropMonitorExampleMFD
position = -0.02968832,0.3095434,-1.704741
rotation = 0,0.01745241,0,0.9998477
scale = 1,1,1
}
PROP
{
name = standingSwitch
position = 0.1394199,0.04349738,-1.738369
rotation = 0.4996954,-0.4825503,-0.5174497,0.4996954
scale = 2.227304,2.227304,2.227308
}
PROP
{
name = standingSwitch
position = 0.1394904,0.1016566,-1.736339
rotation = 0.4996952,-0.4825502,-0.5174502,0.4996952
scale = 2.227308,2.227312,2.227305
}
PROP
{
name = standingSwitch
position = 0.1393448,-0.01768829,-1.740504
rotation = 0.4996952,-0.4825502,-0.5174502,0.4996952
scale = 2.227308,2.227312,2.227305
}
PROP
{
name = standingSwitch
position = 0.1392728,-0.07700289,-1.742574
rotation = 0.4996952,-0.4825502,-0.5174502,0.4996952
scale = 2.227308,2.227313,2.227305
}
PROP
{
name = standingSwitch
position = 0.1391967,-0.1396173,-1.744759
rotation = 0.4996952,-0.4825502,-0.5174502,0.4996952
scale = 2.227308,2.227313,2.227305
}
PROP
{
name = switch
position = -0.009810748,-0.04846708,-1.7206
rotation = 0.7069991,0.01234072,-0.01234072,0.7069991
scale = 2.032426,2.032426,2.032426
}
PROP
{
name = switch
position = -0.05482708,-0.04846708,-1.719028
rotation = 0.7069991,0.01234072,-0.01234072,0.7069991
scale = 2.032426,2.032426,2.032426
}
PROP
{
name = switchGuard
position = 0.1126571,0.1011671,-1.736683
rotation = 0.7069991,0.01234072,-0.01234072,0.7069991
scale = 1.606191,1.606194,1.606194
}
PROP
{
name = switchGuard
position = 0.1130248,-0.1395047,-1.74047
rotation = 0.7069991,0.01234072,-0.01234072,0.7069991
scale = 1.606191,1.606194,1.606194
}
PROP
{
name = switchGuard
position = 0.1131227,-0.07769729,-1.739607
rotation = 0.7069991,0.01234071,-0.01234073,0.7069991
scale = 1.606191,1.606194,1.606194
}
PROP
{
name = switchGuard
position = 0.1132525,-0.01760065,-1.737953
rotation = 0.7069991,0.01234072,-0.01234072,0.7069991
scale = 1.606191,1.606194,1.606194
}
PROP
{
name = switchGuard
position = 0.1137812,0.04287977,-1.73637
rotation = 0.7069991,0.01234072,-0.01234072,0.7069991
scale = 1.606192,1.606194,1.606194
}
PROP
{
name = switchGuard
position = 0.1654927,-0.139505,-1.744107
rotation = 0.7069991,0.012341,-0.012341,0.7069991
scale = 1.606195,1.606194,1.606194
}
PROP
{
name = switchGuard
position = 0.1655941,-0.07769205,-1.741751
rotation = 0.7069991,0.012341,-0.012341,0.7069991
scale = 1.606195,1.606194,1.606194
}
PROP
{
name = switchGuard
position = 0.1648663,-0.017601,-1.73883
rotation = 0.7069991,0.012341,-0.012341,0.7069991
scale = 1.606195,1.606194,1.606194
}
PROP
{
name = switchGuard
position = 0.1682052,0.04411341,-1.737875
rotation = 0.7069991,0.012341,-0.012341,0.7069991
scale = 1.606196,1.606194,1.606194
}
PROP
{
name = switchGuard
position = 0.1679014,0.102336,-1.738797
rotation = 0.7069991,0.012341,-0.012341,0.7069991
scale = 1.606195,1.606194,1.606194
}
PROP
{
name = switchWithGuards
position = 0.05682908,-0.04911338,-1.73396
rotation = 0.7069991,0.01234072,-0.01234072,0.7069991
scale = 1.500501,1.500504,1.500504
}
PROP
{
name = switchWithGuards
position = -0.1173824,-0.05167602,-1.727877
rotation = 0.7069991,0.01234072,-0.01234072,0.7069991
scale = 1.500502,1.500504,1.500504
}
PROP
{
name = switchWithGuards
position = -0.1173824,0.008301697,-1.727877
rotation = 0.7069991,0.01234072,-0.01234072,0.7069991
scale = 1.500502,1.500504,1.500504
}
PROP
{
name = switchWithGuards
position = 0.05682908,0.01229408,-1.73396
rotation = 0.7069991,0.01234072,-0.01234072,0.7069991
scale = 1.500502,1.500504,1.500504
}
PROP
{
name = switchWithGuards
position = 0.05682908,0.06977203,-1.73396
rotation = 0.7069991,0.01234072,-0.01234072,0.7069991
scale = 1.500502,1.500504,1.500504
}
PROP
{
name = switchWithGuards
position = -0.1173824,0.06556156,-1.727877
rotation = 0.7069991,0.01234072,-0.01234072,0.7069991
scale = 1.500502,1.500504,1.500504
}
PROP
{
name = switchWithGuards
position = 0.3244005,0.09439115,-1.127809
rotation = -0.3747095,0.5996606,0.4156269,0.5720614
scale = 1,1,0.9999992
}
PROP
{
name = switchWithGuards
position = 0.3246299,0.09433041,-1.061354
rotation = -0.3747095,0.5996606,0.4156269,0.5720614
scale = 1,1,0.9999992
}
PROP
{
name = switchWithGuards
position = 0.3296967,0.09112281,-0.9953527
rotation = -0.3747095,0.5996606,0.4156269,0.5720614
scale = 1,1,0.9999992
}
PROP
{
name = throttle
position = -0.3030965,0.04850772,-1.066463
rotation = 0,0,-0.6087615,0.7933534
scale = 1.000001,0.9999991,1
}
PROP
{
name = VSI
position = 0.09371524,0.5147336,-1.720686
rotation = 0.7069991,0.01234072,-0.01234072,0.7069991
scale = 1.428282,1.428284,1.428284
}
}

She looks flyable now. Ready to venture out into the sky and cosmos.

Link to comment
Share on other sites

I just noticed that as I'm waiting for people to report finding at least one bug in the complicated parts (the formatters and the targeting menu) I keep sneaking more last-minute features in elsewhere. This had to stop. :)

I found a bug in the lat/lon formatter string this afternoon. Guess it's too late to fix for the 0.10 release :)

(using dddd+ for the degree formatting string results in the degrees listing twice, eg. 9090)

Link to comment
Share on other sites

I found a bug in the lat/lon formatter string this afternoon. Guess it's too late to fix for the 0.10 release :)

(using dddd+ for the degree formatting string results in the degrees listing twice, eg. 9090)

That's not a bug, that's exactly what the spec says will happen, because unlike the time formatter, it lists 'dd' and 'd', but not 'as many d as you like'. I wanted to change it when KDT formatter was ready, but alexustas has already started updating the screens for the dev version, so I thought it was too late and I should let that be. :)

Link to comment
Share on other sites

Mihara here is generic1 spaces for the Mk2 stock cockpit:

She looks flyable now. Ready to venture out into the sky and cosmos.

Ooh, thanks!

I think Squad should be ashamed of not making proper cockpits for these. :)

Link to comment
Share on other sites

Mihara, unless I have installed wrong, I think you might be missing some code in the example MFD folder. I converted button 7 to use the alcor external cams as per your instructions. I can only get it to work by adding

background = camera

I can't get scansat working on it either, but I have not looked at that yet.

Link to comment
Share on other sites

Mihara, unless I have installed wrong, I think you might be missing some code in the example MFD folder. I converted button 7 to use the alcor external cams as per your instructions. I can only get it to work by adding

background = camera

I can't get scansat working on it either, but I have not looked at that yet.

...Huh?....

There's no option called 'background' and haven't been for quite a while - since at least v0.6, I removed it even before the handler blocks were working. I.e. adding it can do nothing whatsoever.

Please describe exactly what you are doing and make sure you don't have any stray components floating around either.

Link to comment
Share on other sites

Mihara does it once again. I swear man, if I had half of your coding wizardry I'd be awesome. Kudos on the hard work! Once I finish the Dynasoar this will be an awesome addition. I'm really excited that people are putting them in the stock pods. As great as they are I couldn't stand using them for any IVA work but this changes everything.

Link to comment
Share on other sites

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