Jump to content

[1.12.x] ProbeControlRoom Recontrolled (adopted)


JonnyOThan

Recommended Posts

56 minutes ago, JonnyOThan said:

Im not sure but I think you might be misunderstanding how the patch ordering works. BEFORE[ProbeControlRoom] runs immediately before FOR[ProbeControlRoom].  It’s a bit of a code smell for a mod to be using BEFORE or AFTER for its own identifiers.  Those specifiers are most useful for *other* mods to insert patches immediately before or after some other mod that they interact with.

That last is exactly why I wanted to run it as BEFORE - so that other mods can simply copy the snippet. For PCR itself, it does not matter (and yes, it is a bit of a code smell).

On the other hand, if the actual patching runs in LAST, the setup stuff of other mods can run in the standard pass as well, since the only thing that matters is that setup is done before patching.

Link to comment
Share on other sites

49 minutes ago, RKunze said:

so that other mods can simply copy the snippet.

in which pass though?  They have no good way to control when they run compared to that patch.  Unless they just use AFTER[ProbeControlRoom] - but at that point you might as well have used FOR[ProbeControlRoom].

Link to comment
Share on other sites

5 minutes ago, JonnyOThan said:

in which pass though?  They have no good way to control when they run compared to that patch. 

Ah, I think I see what you mean now.

I want to set it up so that patching runs in three phases

Intitial setup: Just a blank insert of the default config node. "Runs" even before :FIRST

Tweak default: that is where every other mod - including the builtin mod support in PCR itself - can either change the default config or any parts it wants to handle itself (or both).

Patch: This is where the default config is inserted into every probe part that does not have an IVA yet. This currently runs as FINAL and will probably run as LAST in future (might run as FOR if that works out with existing IVA mods, but LAST is probably safer given that existing mods expect it in FINAL).

What we are discussing is the "Tweak" phase - and what's important here is just that everything in the Tweak phase runs before the Patch phase.

Actually, there is a "cleanup" phase as well, but that is just for removing the config node again and can run in the Patch phase, after the actual patching is done.

Link to comment
Share on other sites

24 minutes ago, RKunze said:

runs in three phases

This design sounds good. But there is a 4th phase, which is where PCR adds reviva support for all the mods that it knows about.  Ideally it does this in a way that makes it easy for other mods to remove it or customize it. FOR[ProbeControlRoom] seems like the right place.  Another way to do that would be to prevent adding the support subtype if it’s already been added, but that requires guessing what the other mod is going to add.  If we plant a stake in the ground and say “here’s the subtype we made for you, and it will never change” then the other mods have something fixed in place they can work with.

Link to comment
Share on other sites

7 minutes ago, JonnyOThan said:

This design sounds good. But there is a 4th phase, which is where PCR adds reviva support for all the mods that it knows about.  Ideally it does this in a way that makes it easy for other mods to remove it or customize it.

I plan to use the same setup phase for both (just different parts of the config node), and do two patches in the patch phase:

First patch adds standard PCR support to every probe that has no IVA yet (basically what the current FINAL patch does, only tweakable via the config node). Second patch adds Reviva support to everything that has a PCR IVA but no IVA switch.

That should give other mods every opportunity to tweak every aspect of PCR, handles all the tweaking in a consistent way, and should work out of the box with existing IVA mods.

Link to comment
Share on other sites

@JonnyOThan Just created a PR for RevIVA support. Works in my install with DE_IVAExtensions, KSA and PCRIVAPLUS installed, but adds empty kerbal portraits for the mission control crew - not sure if that is expected RevIVA behaviour or not (and what to do about if it is not). Will definitely need more testing.

Link to comment
Share on other sites

Of course I only see the notification after the ReIVA PR is submitted. 

Is there a way, or if not can one be added, to disable a specific probe core's room while in flight?
Occasionally I will have the rooms appear when IVA in other parts, causing the IVAs to clip together. This might have to do with FreeIVA and/or Transparent Pods, but it would be useful to be able to simply disable a specific probe's IVA on the fly.

Link to comment
Share on other sites

20 minutes ago, dancingferret said:

Of course I only see the notification after the ReIVA PR is submitted. 

Is there a way, or if not can one be added, to disable a specific probe core's room while in flight?
Occasionally I will have the rooms appear when IVA in other parts, causing the IVAs to clip together. This might have to do with FreeIVA and/or Transparent Pods, but it would be useful to be able to simply disable a specific probe's IVA on the fly.

There was a bug a while ago in FreeIVA that would cause that, but it absolutely should not be happening any longer.  Unless….freeIVA uses some heuristics to figure out which parts are probe cores (it’s harder than you’d think).  If it guesses wrong I could see that happening. In any case it’s likely a bug in FreeIVA and you should report it over there (ideally on github) and be sure to include your KSP.log file and the part names you’re having issues with.

Link to comment
Share on other sites

PCR 1.4.0 is now available!

Changes

  • Adds support for Reviva (requires Reviva 1.0.0 or later)
  • Respects input locks from KOS terminal
  • Fix a bug with crewed parts being incorrectly set up as probe cores
Link to comment
Share on other sites

After updating this mod from 1.3.3.0 to 1.4.0, I started getting a bunch of B9PartSwitch errors on the mass driver parts from the Netherdyne mass driver mod, and I don't understand why. This is the only thing I've updated since the last time I ran KSP, nothing else has changed.

I've zipped up my KSP.log, player.log, ModuleManager.log, MMPatch.log, and ModuleManager.ConfigCache into a .7z file with 7zip and uploaded it here: https://1drv.ms/u/s!AlnEemcsDL9Xlc1s6oqU77pOkbfMrg?e=h9WKvD

The first B9PS error in the KSP.log starts with this and is on line 91244:

[WRN 00:13:10.060] Warning on PartSubtype MissionControl_ASET on module ModuleB9PartSwitch (moduleID='IVASwitch') on part massdriver1: Cannot match a module node without a name!
[EXC 00:13:10.061] ArgumentException: Cannot match a module node without a name!
    B9PartSwitch.ModuleMatcher.NodeMatchesModule (PartModule module, ConfigNode node) (at <a3c2951fc74e4639820ef37d2d29f386>:0)
    B9PartSwitch.ModuleMatcher.FindPrefabNode (PartModule module) (at <a3c2951fc74e4639820ef37d2d29f386>:0)

(I've never figured out how to use these mass driver parts, so I might just remove the mod they're in, but there's no guarantee this is the only thing that's broken with the new version of PCR)

(Edit: I decided to roll back to PCR 1.3.3.0 instead.)

Edited by AmanitaVerna
Link to comment
Share on other sites

7 hours ago, AmanitaVerna said:

After updating this mod from 1.3.3.0 to 1.4.0, I started getting a bunch of B9PartSwitch errors on the mass driver parts from the Netherdyne mass driver mod, and I don't understand why. This is the only thing I've updated since the last time I ran KSP, nothing else has changed.

I've zipped up my KSP.log, player.log, ModuleManager.log, MMPatch.log, and ModuleManager.ConfigCache into a .7z file with 7zip and uploaded it here: https://1drv.ms/u/s!AlnEemcsDL9Xlc1s6oqU77pOkbfMrg?e=h9WKvD

The first B9PS error in the KSP.log starts with this and is on line 91244:

[WRN 00:13:10.060] Warning on PartSubtype MissionControl_ASET on module ModuleB9PartSwitch (moduleID='IVASwitch') on part massdriver1: Cannot match a module node without a name!
[EXC 00:13:10.061] ArgumentException: Cannot match a module node without a name!
    B9PartSwitch.ModuleMatcher.NodeMatchesModule (PartModule module, ConfigNode node) (at <a3c2951fc74e4639820ef37d2d29f386>:0)
    B9PartSwitch.ModuleMatcher.FindPrefabNode (PartModule module) (at <a3c2951fc74e4639820ef37d2d29f386>:0)

(I've never figured out how to use these mass driver parts, so I might just remove the mod they're in, but there's no guarantee this is the only thing that's broken with the new version of PCR)

(Edit: I decided to roll back to PCR 1.3.3.0 instead.)

Thanks for the report and logs.  This is caused by incorrectly configured parts in Netherdyne: https://github.com/linuxgurugamer/NeatherdyneMassDriver/issues/1

I believe you should be fine to just ignore that error.

Link to comment
Share on other sites

  • 3 weeks later...

Sorry for the Noob Question, I am very new to mods.

Started a new career and I am assuming you have to upgrade the tracking center and mission control to access the Probe Control room? I just reached level two of both mission control and tracking center and still cannot access Probe Control room. Am I missing something?

Thanks in advance. 

Link to comment
Share on other sites

On 3/9/2024 at 9:40 PM, CubertFarnsworth said:

Sorry for the Noob Question, I am very new to mods.

Started a new career and I am assuming you have to upgrade the tracking center and mission control to access the Probe Control room? I just reached level two of both mission control and tracking center and still cannot access Probe Control room. Am I missing something?

Thanks in advance. 

No, there is no such requirement. If you’re having trouble with the mod you need to post your logs.

Link to comment
Share on other sites

hi! I i love this mod, is awesome! Thanks a lot for supporting it.

My question: the light inside the PCR is a bit too strong and steady, kinda breaks the atmosphere. Is it possible to dim the light or ad add a light control to the panel?

It would be awesome to have a dark room with just controls and screen illuminating, like in the capsule :)

 

Edited by SmugglingParts
Link to comment
Share on other sites

4 hours ago, SmugglingParts said:

hi! I i love this mod, is awesome! Thanks a lot for supporting it.

My question: the light inside the PCR is a bit too strong and steady, kidna breaks the atmosphere. Is it possible to dim the light or ad add a light control to the panel?

It would be awesome to have a dark room with just controls and screen illuminating, like in the capsule :)

 

Great idea!  Hey @kurgut have you attempted anything like this in your variants?

Link to comment
Share on other sites

6 hours ago, JonnyOThan said:

Great idea!  Hey @kurgut have you attempted anything like this in your variants?

No I didn't but that's a good idea indeed ! will include in next PCR retro release.

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...