Jump to content

[1.12.x] Reviva - the IVA revival and editor/flight switcher. Bug fixing release. (1.0.0 - 17th Feb 2024)


610yesnolovely

Recommended Posts

4 minutes ago, JeromeHeretic said:

Aha, i see! OK, now i understand what happens. I will write to Max-Ksp MAS IVA Pack  forum, so when will Max do some fixes, can fix it before next release.

Thank you very much for your time and patience with me.

Ah yes, I remember that one now. With Reviva installed there's an MM patch to fix it here:

https://github.com/harveyt/reviva/blob/main/GameData/Reviva/compat.cfg

You could in theory use MM to patch the names (it'd look a bit different than above), or just do it manually, though obviously I'd recommend using Reviva as it allows you to switch IVA :D

Link to comment
Share on other sites

  • 2 months later...

I'm having an issue where Action Group labels do not get retained after a game save and reload.

Further down in that chain, @JonnyOThan suggested the problem might be with the way Reviva recreates the rpm computer.  I removed the Reviva mod and retested, with good results - the Action Group labels are retained after a game save and reload.

Can this be fixed?

Link to comment
Share on other sites

20 hours ago, Poppa Wheelie said:

I'm having an issue where Action Group labels do not get retained after a game save and reload.

[... Reviva recreates RPM computer ... snip ...]

Can this be fixed?

That's a good bug find there and diagnosis. I'm surprised nobody has noticed this, including me.

From what I can see from RPM, the vessel description is parsed when the RPM computer is started, which should be the case when it's recreated. There must be something else magical to prod or do, so no promises on fixing it or how long.

I see @JonnyOThan already made an issue in GitHub https://github.com/harveyt/reviva/issues/21 - so I won't forget, I've been less into KSP modding/playing (full time day job is very time consuming).

I'd hope that saving and reloading would fix it, not great, but a possible work around?

Link to comment
Share on other sites

21 hours ago, 610yesnolovely said:

I'd hope that saving and reloading would fix it, not great, but a possible work around?

Saving and reloading is what breaks it.  The labels are good before a save, but after a save and reload the labels are gone.

Thanks for looking into this, and I completely understand that real life is the priority.  No emergency here.

Link to comment
Share on other sites

1 hour ago, Poppa Wheelie said:

Saving and reloading is what breaks it.  The labels are good before a save, but after a save and reload the labels are gone.

Thanks for looking into this, and I completely understand that real life is the priority.  No emergency here.

Oh, that's even more weird than I thought. Thanks for the clarification, I didn't even properly read the comment/issue (sigh) what hope do I have to fix it (lol). I'll get to it one day soonish.

Link to comment
Share on other sites

Fwiw, I’m pretty sure the vessel description is not available at all once the craft is launched.  RPM does some weird shenanigans to store it in the partmodule while in the editor.  I’m assuming reviva is recreating the RPM module from scratch and losing that info.

Edited by JonnyOThan
Link to comment
Share on other sites

6 hours ago, JonnyOThan said:

Fwiw, I’m pretty sure the vessel description is not available at all once the craft is launched.  RPM does some weird shenanigans to store it in the partmodule while in the editor.  I’m assuming reviva is recreating the RPM module from scratch and losing that info.

Yes, it recreates the RPMComputer module, so I'm gonna guess the Start() which seems to do that will find nothing and lose that info. So can I get it from comp.vesselDescription before I recreate, set it on new instance before Start() is called and it might work?

BaseComputer::RecreateComputer() should have a PreRemoveHook() added that saves it, and a PostAddHook() to set it to make it generic. I'm not sure if MAS would need something similar.

Actually that'd be too late, as I'm doing AddModule() to create the new RPM computer, which probably does Start() before I can set anything, I think I'd call the SetVesselDescription on the vessel computer... but ah, it's internal. Ah the vesselDescription is persistent, does that mean I can set it in the PartModule config node then?

Link to comment
Share on other sites

13 hours ago, 610yesnolovely said:

Yes, it recreates the RPMComputer module, so I'm gonna guess the Start() which seems to do that will find nothing and lose that info. So can I get it from comp.vesselDescription before I recreate, set it on new instance before Start() is called and it might work?

BaseComputer::RecreateComputer() should have a PreRemoveHook() added that saves it, and a PostAddHook() to set it to make it generic. I'm not sure if MAS would need something similar.

Actually that'd be too late, as I'm doing AddModule() to create the new RPM computer, which probably does Start() before I can set anything, I think I'd call the SetVesselDescription on the vessel computer... but ah, it's internal. Ah the vesselDescription is persistent, does that mean I can set it in the PartModule config node then?

Start() doesn't get called until just before the first Update, so you should be able to do stuff to set up the module just after creating it.

Link to comment
Share on other sites

  • 2 weeks later...

Hi !

I just found your very useful github page, where you list every IVAs, their support, quality, etc (thank you so much, it's so convenient having this in a single organized place, instead of my messy notepad^^).

Had a little question regarding Airplane plus : you mention "APF16" IVA, as well as "APIP", I googled it, but couldn't find anything... Do you know where I could find these IVAs ?

Thank you :) 

Link to comment
Share on other sites

On 7/2/2023 at 1:03 AM, kurgut said:

Hi !

I just found your very useful github page, where you list every IVAs, their support, quality, etc (thank you so much, it's so convenient having this in a single organized place, instead of my messy notepad^^).

Had a little question regarding Airplane plus : you mention "APF16" IVA, as well as "APIP", I googled it, but couldn't find anything... Do you know where I could find these IVAs ?

Thank you :) 

Ah, yes, they were hard to find, I think they're originally mentioned in the Airplane Plus KSP forum posts:

  • APF16 = acronym for "ASET/RPM for Falcon cockpit"
  • APIP = acronym for "Airplane Plus IVA Pack"

Both of these actually have hyperlinks in the https://github.com/harveyt/reviva#dependency-summary part of the README:

Optional Airplane Plus IVA Pack GitHub RPM AirplanePlus Done Various plane/chopper cockpits
Optional ASET/RPM for Falcon cockpit Dropbox RPM AirplanePlus Done F-16/mk2 non-commerical IVA

I have hyperlinks for other IVA mods, but I'm been only adding them in as I support them.

Glad you like Reviva and the README - I actually started out with a text file of URL links and hand edited each IVA in (and out) as I needed them and eventually went "well this sucks big time, I should make it easier"...

Link to comment
Share on other sites

  • 3 weeks later...

When I create a node in the DE+MAS IVA, and then execute that node using the “AUTO” execution function within the IVA, the execution behavior is significantly (detrimentally) different from the execution behavior when executing an identical node using MechJeb’s Rendezvous Planner, “Execute Next Node” function.

Is there a different way I should be using these tools to get identical results as MechJeb?  If not, can this be addressed and fixed?

I’m using the DE+MAS IVA.  Reviva is the only mod I’ve found so far which provides the MFD described below, and I’ve only been able to use this IVA, with this MFD, when I have Reviva loaded.  This is why I’m reporting it here.  When I load individual IVA mods, without Reviva, I never get this DE+MAS IVA.

Can you help me find the root cause of the problem, and if I need to report this to a different mod, I’ll do that.

All of the IVA functionality discussed here is found within this MFD:

  • MAS ALCOR MFD2
  • Powered by
  • MOARdV’s Avionics Systems
  • V1.3.7.30145

Here’s what I’m comparing, which you can see in the following video (4m19s):

  • Load a save made shortly after achieving LKO
  • Go to IVA
  • On the MFD, select a space station also in LKO as target
  • On the MFD, create a Hohmann Transfer maneuver node to the target space station
  • Time warp closer to burn time
  • On the MFD, select the “AUTO” function to automatically execute the node
  • Watch the node execution go crazy
    • It overshoots the dV, then chases the maneuver icon around the navball while in low thrust for awhile
  • Reload the same save
  • Within IVA select target, create Hohmann Transfer node, time warp closer to node
  • On the MFD, select the “AUTO” function to automatically execute the node
  • Exit IVA, time warp up a little closer
  • Watch the node execution from 3rd person (outside the IVA)
    • The crazy behavior is easier to see from this perspective
  • Reload the same save again
  • Staying in 3rd person (and Map View), select the target, create the node (MJ Rendezvous Planner, “Intercept with Hohmann transfer”), and time warp
  • Staying in 3rd person, select MJ Rendezvous Planner, “Execute next node”, then time warp up
  • Watch the node execution done perfectly

I “think” I’ve correctly calculated the real clock times at which some events in the video occur.  I’ve noted those times in the video, thinking the times may help finding the right spot in the log files.

Log files:

Video (4m19s):  https://youtu.be/g0I9u0wmzdE

 

Edited by Poppa Wheelie
Link to comment
Share on other sites

I've found that MAS controlled MechJeb does often result in different behavior, though usually not this extreme. Great video and descriptions on what's going on, though it's out of Reviva's realm of resolving - likely something involving MAS, and MOARdv the author is no longer working on it last I read.

From the video, I might have some thoughts - the particular craft seems to have a fairly high TWR (2.0 according to IVA view) for such a maneavuer, which only lasts about 1 second - so the impulse is quick and overshoots - then the craft turns to chase the correction which is in the opposite direction. Why MJ direct can handle this I'm not sure, but design wise there's probably only just enough reaction wheel power to stabilize it, and possibly MAS isn't setting up some control values (tolerances, pids).

To help:

  • Try limiting the thrusters to get a much longer burn, perhaps even as low as 10%. This so the reaction wheels can handle stabilizing, but also so the throttle down can hit the mark without overshoot.
  • Not sure, but I didn't see any RCS thrusters, and RCS wasn't enabled (there's 27 monoprop though so I might not have seen it).
    • Definitely add rotational for stability, but translation will also help for the fine control to finish off the maneavuer (I think?)
    •  I recommend using RCS Build Aid to ensure they're balanced. You could spam more RW, but I usually play with the equivalent of MandatoryRCS, and prefer the coolness factor of RCS.

Hope that helps! Cool SSTO! (One day I'll finish K-Planes which aims to have SSTO contracts for payload deliveries)

Link to comment
Share on other sites

@610yesnolovely, thanks for the quick response.

1 hour ago, 610yesnolovely said:

Why MJ direct can handle this I'm not sure

It seems to me that MJ and the IVA MFD don't run the same code to execute the burn.  If there was someone still maintaining this IVA, or this MFD prop, I could ask them to look into this.

1 hour ago, 610yesnolovely said:

Try limiting the thrusters to get a much longer burn, perhaps even as low as 10%

I would be willing to do this, if there was a way to do so from within the IVA.  This IVA does not have the prop I've seen in some other IVAs with a multi-switch for throttle thrust limits.  And I don't see a method in either of the 2 included MFDs.  So I would have to leave IVA to set an engine thrust limit, then return to IVA.  Any thoughts on how to do thrust limiting from within IVA without a dedicated thrust-limiting prop?

1 hour ago, 610yesnolovely said:

Not sure, but I didn't see any RCS thrusters

Yes, it has RCS.  I'll try with RCS on to see if that helps.  And I feel pretty good about their balance.  I've manually (not in IVA) done the intercept and rendezvous with this station, and done the docking using RCS.

1 hour ago, 610yesnolovely said:

Cool SSTO!

Thanks!  I wanted a small, single-engine single-seat SSTO that I could fly to and from an LKO station, while also providing excellent visibility, and with no need to exit IVA (for Map View, or to set thrust limits, or for any other reason).  If the functions in this MFD worked as expected, I would be set.

So I think these are some of my options:

  • Keep looking to see if I can find someone to "fix" the functions of this MFD (I've also found that it doesn't create the same "Match target velocity at closest approach" node as MechJeb).  I see that, as you suggested, MOARdV has stepped back from supporting MAS.  Any other thoughts?
  • If I'm confident in the node created within IVA, I can always execute that node manually. I can also do some things manually without a node, such as matching target velocity
  • I could stay in IVA, but F2 to bring up MechJeb functions and use them when needed (like to create better nodes, or to do an auto-execution)
  • I could drop out of IVA for things like thrust limiting or to use Map View, then return to IVA. 

Thanks again!

Link to comment
Share on other sites

19 hours ago, Poppa Wheelie said:

@610yesnolovely, thanks for the quick response.

Any thoughts on how to do thrust limiting from within IVA without a dedicated thrust-limiting prop?

I see that, as you suggested, MOARdV has stepped back from supporting MAS.  Any other thoughts?

Yup, trying to do everything from IVA. I'd try throttle limits on action groups using the following, I think I've used it for that:

I've not found a great way of controlling MechJeb from IVA other than via RPM or MAS IVA MFDs. I have not looked a kOS though, but last time I checked there's no kOS to MJ interface, but there are kOS scripts that can execute nodes and there's kOS PropMonitor which works on some MFDs (sometimes hidden), a bit tricky to set up, but once you do you can control tons of things (Atmosphere Autopilot, robotics, remote vehicles). Look into that, BakerOS perhaps, and also check out https://www.youtube.com/@Vulkans who does a lot of IVA flying, and even builds their own IVA mods (usually private, but the OPT-J one is now in a mod, I think MAS itself?!)

As for MAS, perhaps we can hope that IVA master @JonnyOThan will adopt it, but I think they're having too much fun with FreeIVA (and looking after RPM).

 

Link to comment
Share on other sites

KOSPropMonitor is a really great way to interact with stuff on the ship that doesn't have direct prop support.  However I don't think it has an integration with MJ.  But you can make or find programs to execute burns, launch the ship to orbit, plan maneuvers, etc.  In any case you can definitely adjust the engine thrust limits with it.

I'm not 100% sure but you should be able to get the same MAS MFD in other ASET-based cockpits if you enable the MOARdV/Patches/001_ASET-To-MAS patch (i.e. change the file extension to .cfg)

Link to comment
Share on other sites

In regards to KOSpropmonitor, I made a post on that thread a couple days ago, asking if it has become mostly unusable.  The terminal is still accessible, but the button/label/flag functionality isn't usable on MAS. And it seems that even the old RPM IVAs are now all "powered by" MAS. 

Please correct me if I'm wrong! I would surely like to see it work!

It works... see my post below...

Edited by orionguy
Error correction
Link to comment
Share on other sites

1 minute ago, orionguy said:

even the old RPM IVAs are now all "powered by" MAS

this shouldn't be true in general, only if you have certain things installed.  I don't use MAS, and KOSPropMonitor works fine for me, but I don't use the button stuff.

Link to comment
Share on other sites

 

On 7/21/2023 at 9:55 AM, JonnyOThan said:

this shouldn't be true in general, only if you have certain things installed.  I don't use MAS, and KOSPropMonitor works fine for me, but I don't use the button stuff.

Ah yes, I have figured it out now.  Sorry for my ignorance on the matter!  The OP for KOSPropMonitor configured the most recent version to only implement the terminal.  The button, label, and flag stuff is still there though and can be accessed as described in my post here...

 

Link to comment
Share on other sites

I'm getting INITIALIZATION ERROR when trying to switch to MAS IVAs using this mod. This is on 1.12.5 on a test installation of KSP that only has RPM, MAS, Reviva, DE_IVAExtension, the three ASET MAS IVAs for stock pods, and dependencies for those mods. MAS works correctly on its own, and RPM IVAs work correctly with Reviva.

Looking at the logs, there are a bunch of errors configuring various props, mostly related to not being able to find certain transforms.

Link to zipped log file.

Link to comment
Share on other sites

8 hours ago, Sovetskysoyuz said:

I'm getting INITIALIZATION ERROR when trying to switch to MAS IVAs using this mod. This is on 1.12.5 on a test installation of KSP that only has RPM, MAS, Reviva, DE_IVAExtension, the three ASET MAS IVAs for stock pods, and dependencies for those mods. MAS works correctly on its own, and RPM IVAs work correctly with Reviva.

Looking at the logs, there are a bunch of errors configuring various props, mostly related to not being able to find certain transforms.

Link to zipped log file.

MAS doesn’t like the prop batching system from RPM. You can remove JSI/RasterPropMonitor/propbatching.cfg (but the game will run slower)

Link to comment
Share on other sites

  • 3 months later...

Hello! So, I haven't booted up KSP in some time and wanted to hop back on and went through CKAN for a refresh on mods and saw this and popped it on, with these relevant IVA mods as well: 1db57150fed1786788bd1d2f43e4722f.png

But on going into both the VAB and in-flight, I just don't get an option for changing IVA's? And the default IVA look is the basic 3-RPM-monitors setup that I remember from a long time ago. Not sure if I'm doing it wrong but any ideas would be appreciated, or if anyone's had this issue previously. A cursory look at the KSP log didn't seem to have any errors related to Reviva but I may be wrong.

Link to comment
Share on other sites

Sorry, my fault :') https://www.dropbox.com/scl/fi/p2lk9sw60vp1j5j0kro50/KSP.log?rlkey=w3bcq9wrsub5jbtbj0v8fvqzc&dl=0

e: Specifically the Mk1 Command Pod has no alternate versions, I just tested out the 4 pods I have access to and the Mk1 Cockpit DOES have its alternate versions.

Edited by Jaxx
new info
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...