Jump to content

[1.12.x] Ship Manifest (Crew, Science, & Resources) - v 6.0.8.0 - 28 Apr 23


Papa_Joe

Recommended Posts

-1 for the dependency. Integration with related systems is good, but requiring your users to install something else that they may not want is bad. When I use Ship Manifest to move crew around I assume that either the vessel was constructed with a way for crew to move between the crew spaces (crawl tube, etc.) or that Ship Manifest handled the crew's EVA between spaces so that I didn't have to.

Thanks for the clarification.

As you see in the thread, we are all in agreement on that point, so I think it is safe to say it will be addressed. I considered the desire not to use it with a config File switch, but it is true that it should not require you to install yet another plugin.

I do appreciate you using Ship Manifest.

Edited by Papa_Joe
Link to comment
Share on other sites

I will have to consider the method that CLS is using, or use CLS as my source for creating the Part List. I may also not be capturing the Vessel.OnVesselChange Event correctly...

At the moment CLS rebuilds its "view" of what is connected to what whenever the OnVesselChange event is fired (and it fires that event itself when hatches are opened and closed to trigger that mechanism). It would probably be a good idea to review your data from CLS whenever OnVesselChange is fired.

However.....

There is no guarentee that SM will sink the event after CLS has. I did consider if it would be helpful for CLS to fire an event of its own to tell othe rmods that are using it that it has just updated its information.

What do your think?

Link to comment
Share on other sites

At the moment CLS rebuilds its "view" of what is connected to what whenever the OnVesselChange event is fired (and it fires that event itself when hatches are opened and closed to trigger that mechanism). It would probably be a good idea to review your data from CLS whenever OnVesselChange is fired.

However.....

There is no guarentee that SM will sink the event after CLS has. I did consider if it would be helpful for CLS to fire an event of its own to tell othe rmods that are using it that it has just updated its information.

What do your think?

Upon review of my code, I noticed that you you have a habitable flag.

I updated my code to use clspart.habitable as a test instead of part.CrewCapacity > 0. We can test to see if that catches it...

Link to comment
Share on other sites

I just checked, and 3.1.5 immediately adds newly inflated habs to its transfer locations list.

Thanks! That helps with understanding the Issue.

Edit: If you would continue to be so kind, try this:

https://github.com/PapaJoesSoup/ShipManifest/releases/download/0.23.5.3.2.1b/ShipManifest.23.5.3.2.1b_04262014.zip

This has added onVesselChange Detection and changes to creating CLS based Part list.

Let me know if it notices the change in crew capability.

Edit again. realized I may have left debug on, so the debug window may appear. when you get to the flight scene, select settings and turn off the debug window. save and it will stay gone.

Sorry.

Edited by Papa_Joe
Link to comment
Share on other sites

Thanks! That helps with understanding the Issue.

Edit: If you would continue to be so kind, try this:

https://github.com/PapaJoesSoup/ShipManifest/releases/download/0.23.5.3.2.1b/ShipManifest.23.5.3.2.1b_04262014.zip

This version does not allow transfer to inflated habs. Also, I tried exiting the scene to the Space Center and then returning to the craft. The inflated habs were still not available for transfer, and the following message popped up in the debug window upon entering the scene:

Error:  in SetResourceHighlighting.  Error:   

at (wrapper managed-to-native) UnityEngine.Transform:Find (string)
at UnityEngine.Transform.FindChild (System.String name) [0x00000] in <filename unknown>:0
at Part.FindModelComponents[Renderer] () [0x00000] in <filename unknown>:0
at Part.highlight (Color highlightColor) [0x00000] in <filename unknown>:0
at Part.SetHighlight (Boolean active) [0x00000] in <filename unknown>:0
at Part.SetHighlightDefault () [0x00000] in <filename unknown>:0
at ConnectedLivingSpace.CLSPart.SetHighlighting () [0x00000] in <filename unknown>:0
at ConnectedLivingSpace.CLSPart.Highlight (Boolean val) [0x00000] in <filename unknown>:0
at ConnectedLivingSpace.CLSSpace.Highlight (Boolean val) [0x00000] in <filename unknown>:0
at ShipManifest.ShipManifestBehaviour.SetResourceHighlighting () [0x00000] in <filename unknown>:0

Link to comment
Share on other sites

This version does not allow transfer to inflated habs. Also, I tried exiting the scene to the Space Center and then returning to the craft. The inflated habs were still not available for transfer, and the following message popped up in the debug window upon entering the scene:

Error:  in SetResourceHighlighting.  Error:   

at (wrapper managed-to-native) UnityEngine.Transform:Find (string)
at UnityEngine.Transform.FindChild (System.String name) [0x00000] in <filename unknown>:0
at Part.FindModelComponents[Renderer] () [0x00000] in <filename unknown>:0
at Part.highlight (Color highlightColor) [0x00000] in <filename unknown>:0
at Part.SetHighlight (Boolean active) [0x00000] in <filename unknown>:0
at Part.SetHighlightDefault () [0x00000] in <filename unknown>:0
at ConnectedLivingSpace.CLSPart.SetHighlighting () [0x00000] in <filename unknown>:0
at ConnectedLivingSpace.CLSPart.Highlight (Boolean val) [0x00000] in <filename unknown>:0
at ConnectedLivingSpace.CLSSpace.Highlight (Boolean val) [0x00000] in <filename unknown>:0
at ShipManifest.ShipManifestBehaviour.SetResourceHighlighting () [0x00000] in <filename unknown>:0

Thanks so much for your testing, it is invaluable. I will take this info and go back to the drawing board....

Link to comment
Share on other sites

has this mod been fixed to solve the failed crew transfers?

This would be the first time I've heard of any "failed crew transfers"...

In the OP, I have a complete change log at the bottom of the post. You can take a look there, or you can describe your issue, along with the version you are using and the version of KSP..

Thanks!

Edited by Papa_Joe
Link to comment
Share on other sites

Since last update I'm getting this CLS related stuff in logs:

Part Bill Kerman is habitable but does not have ModuleConnectedLivingSpace defined in the config. It would be better if it did as some infomation used by CLS will not be saved in the savefile.

Is it SM related or purely CLS message?

Link to comment
Share on other sites

It comes from CLS. What it is saying is that CLS has automatically added CLS support to the "Bill Kerman" part because the "Bill Kerman" part has a crew capacity >0, so it is assuming that it is habitable from CLS's point of view. However a warning is logged to the log file, because it would be better if CLS was explicitily configured for parts rather than CLS having to guess at the config.

Now obviously the "Bill Kerman" part is not a real part, but Bill on an EVA. I am sure that the warning log (and indeed the CLS funcationality being automatically added to kerbals on EVA) does not cause a problem, but I had not noticed it before, and I will raise an issue against CLS in github for it, so that EVAs can be explicitly handled more sensibly in a future release of CLS.

Link to comment
Share on other sites

Thanks so much for your testing, it is invaluable. I will take this info and go back to the drawing board....

No problem, I'm happy to help. Let me know if there are any other tests I could attempt that would be of value to you.

Link to comment
Share on other sites

It comes from CLS. What it is saying is that CLS has automatically added CLS support to the "Bill Kerman" part because the "Bill Kerman" part has a crew capacity >0, so it is assuming that it is habitable from CLS's point of view. However a warning is logged to the log file, because it would be better if CLS was explicitily configured for parts rather than CLS having to guess at the config.

...Man I'm seeing patterns all over the place! © GTA: SA :confused:

Link to comment
Share on other sites

For me crew transfer does'nt work. The Xfer button never shows up.

- Version: 23.5.3.2.1 (KSP 0.23.5),

- Realism mode deactivated,

- All required mods installed

Did you try to disable CLS in the Ship manifest config. <bool name="EnableCLS">0</bool> Thats what i had to do.

Link to comment
Share on other sites

Did you try to disable CLS in the Ship manifest config. <bool name="EnableCLS">0</bool> Thats what i had to do.

The reason this is true, is the fact that CLS endeavors to determine which parts are "connected", meaning they are connected to each other via an internally navigable path (tubes, hatches, etc.) if an EVA is required, then you will not be able to Xfer.

CLS is very robust, and provides a lot of capability determining if a part can be reached, but it relies on Module manager config additions to maintain this "knowledge" of your ship. Therefore, you need to be sure the parts you use will allow crew to "pass".

CLS achieves this by adding a passable flag to the part. It does this when it "Knows" the part is passable (crewCapacity>0), or via the MM configs (many of which are included with CLS)

However, it is not omniscient. Therefore, you will need to go thru your ships to determine what parts are currently not passable and should be, or you want them to be, and then to add some custom configs for yourself.

This may well be beyond the level of effort most folks desire, so I included a disable switch in the config file. I did not include it in the interface, as that would allow "cheating", and the realism purists are opposed to those kind of "conveniences".

so, if you just want to move from part to part, and you don't care if the part can be reached "internally" (without an eva), then turn off CLS. Otherwise, spend a bit of time customizing your experience, and reap the benefits that CLS can provide.

I love to let people "play their way". I considered setting the flag off by default, but then, how would anybody know about CLS integration?

@lextacy: Is this behavior "the failed crew transfers" you were talking about?

Edited by Papa_Joe
Link to comment
Share on other sites

This may well be beyond the level of effort most folks desire, so I included a disable switch in the config file. I did not include it in the interface, as that would allow "cheating", and the realism purists are opposed to those kind of "conveniences".

Screw realism purists. Being able to change that setting without having to reload the game would be extremely useful for debugging. Instead of saying "Oh, that part isn't passable", flipping a switch and continuing on while noting the part (or possibly parts, because you'd be able to keep testing) and fixing it later, one has to stop the game, fix the problem per-part, restart the game (a lengthy task even if one has an SSD), and then see if the fix worked. We're talking about a pretty basic feature here, like DREC's ability to modify settings in-game. Or EVE's. Or you know, the stock game's. Adding that ability would do no more "damage" or allow for any more "cheating" than hitting alt-F12 does.

Realism purists shouldn't be listened to and they shouldn't influence mod development unless your mod is supposed to be a "realism" mod, whatever that means. The whole "your mod not being realistic enough for me means that it's very existence is ruining my fun" is a bogus argument, and has been made ad nauseum with regard to other mods (e.g. MechJeb). Find me a realism purist that even uses this mod and I'll eat my words, but I doubt there is such a person. They'd have to put-up with a lot of cognitive dissonance. "Realistic" gameplay would involve getting an entire team of friends together to plan every mission in pain-staking detail, planing every single maneuver and calculating every little minutiae to make sure it'd work. And then not even simulating a mission in KSP because it doesn't use anything close to a realistic flight model, nor a realistic gravitational one. At this point, I don't know why realism purists would even play KSP at all. Instead it'd be more fun for them, and more productive for us as a society, if they'd just go do these missions for real. It's not all that costly anymore to get into space. Do a lot of fundraising and you might get somewhere.

This is a game with little green aliens for goodness' sake.

And as for people knowing about CLS integration...they could read. It's in the first post.

I mention all this because CLS is currently being used as a dependency for part mods. That being the case, the option here is to either semi-permanently disable CLS integration with SM so that one doesn't run into problems with various mod parts, or not and...run into various problems with mod parts. And then fix them. And restart every time. It's...a bit much, especially if it could be solved with a simple settings menu.

Edited by phoenix_ca
Link to comment
Share on other sites

Pheonix_ca, could you please explain you comment that CLS is becoming a dependency for part mods. I am not sure what you are saying.

There are now quite a lot of CLS configs for different parts available in the CLS thread, and the next release of CLS will contain all of these. There are also other part mods that are including, or planing to include their own CLS config themselves.

I know that it must be frustrating to run into these troubles, which is why both Papa_joe and I are keen on allowing people to play "their way".

If you directed your frustration into providing config for a part mod that you use and sharing with the community, then I am sure we would all be very grateful. Alternatively, you can just turn it off.

Edited by codepoet
Link to comment
Share on other sites

Did you try to disable CLS in the Ship manifest config. <bool name="EnableCLS">0</bool> Thats what i had to do.

No, thanks. I'll try this.

The reason this is true, is the fact that CLS endeavors to determine which parts are "connected", meaning they are connected to each other via an internally navigable path (tubes, hatches, etc.) if an EVA is required, then you will not be able to Xfer.

CLS is very robust, and provides a lot of capability determining if a part can be reached, but it relies on Module manager config additions to maintain this "knowledge" of your ship. Therefore, you need to be sure the parts you use will allow crew to "pass".

CLS achieves this by adding a passable flag to the part. It does this when it "Knows" the part is passable (crewCapacity>0), or via the MM configs (many of which are included with CLS)

However, it is not omniscient. Therefore, you will need to go thru your ships to determine what parts are currently not passable and should be, or you want them to be, and then to add some custom configs for yourself.

This may well be beyond the level of effort most folks desire, so I included a disable switch in the config file. I did not include it in the interface, as that would allow "cheating", and the realism purists are opposed to those kind of "conveniences".

so, if you just want to move from part to part, and you don't care if the part can be reached "internally" (without an eva), then turn off CLS. Otherwise, spend a bit of time customizing your experience, and reap the benefits that CLS can provide.

I love to let people "play their way". I considered setting the flag off by default, but then, how would anybody know about CLS integration?

@lextacy: Is this behavior "the failed crew transfers" you were talking about?

Ah, ok. Maybe add CLS enable/disable to realism mode?

Link to comment
Share on other sites

Pheonix_ca, could you please explain you comment that CLS is becoming a dependency for part mods. I am not sure what you are saying.

There are now quite a lot of CLS configs for different parts available in the CLS thread, and the next release of CLS will contain all of these. There are also other part mods that are including, or planing to include their own CLS config themselves.

I know that it must be frustrating to run into these troubles, which is why both Papa_joe and I are keen on allowing people to play "their way".

If you directed your frustration into providing config for a part mod that you use and sharing with the community, then I am sure we would all be very grateful. Alternatively, you can just turn it off.

http://forum.kerbalspaceprogram.com/threads/35043-0-21-FusTek-Station-Parts-Expansion-%28R0-03-5a-stable-X0-04-3-DEV-BUILD-via-blog%29

CLS is a dependency for those parts. "Fixing" that (i.e. removing the dependency) would be far and beyond mere config edits. It'd require rewriting the code and recompiling it, at a minimum.

Which leads to the conundrum of wanting to use Ship Manifest in conjunction with those parts. If you do, well you're stuck with CLS. Which in-and-of-itself is not a bad thing; I actually rather like the idea of CLS. But not having an override in SM's settings in order to appease "realism purists", who may or may not exist, is what gets me. It's faulty reasoning, which is why I so aggressively addressed it. Especially since SM already contains many elements that such a "realism purist" would consider cheating. Like being able to transfer resources between vessels without a fuel line, or being able to fill or empty crew without using the current game mechanic of EVA'ing the entire crew one at a time. The entire SM mod is a giant convenience package, which is why I find the idea of not implementing a simple flag because it would be a convenience contradictory.

The bottom line here is that any "realism purist" playing KSP has to, necessarily, not use the "cheats" already available to them in the Alt-F12 debug menu. If they are capable of that, then there is nothing stopping them from not using a particular function of a mod they installed. That is not a choice that needs to be enforced by mod authors.

Edited by phoenix_ca
Link to comment
Share on other sites

Wow, stay away for a day and what happens...

Ok let me see if I can address the thoughts...

1. Stryth, Thanks for the heads up. I'll add that to the bug list and get cracking on it.

2. Phoenix: You are quite right, and I mentioned in my OP that I was going to rework the configuration.

I agree that many of the "hidden" options should be on the Settings Window. I can link several of the realism options to the realism mode switch as a parent. Click Realism Mode on and then select the dependent options you want to change. However, it means touching a fair number of places, so I've put it off until I got to a more stable place after CLS.

For the purists, they can set the vars in the window as well as setting a Realism Lock in the config, to prevent switching between real mode and standard. That should also satisfy the need for access by the less experienced and provide for those that do have the experience but prefer the convenience.

3. lextacy: I'm glad we got to the root of the issue!

4. acc: Agreed. Note 2 above.

5. Adampeay: You will find a few posts here talking about a config switch. I describe the config file in my OP. go there and see if you can make the change to turn off CLS.

Finally, to everyone,

I probably should have thought through the impact that CLS would have on SM more thoroughly. I didn't realize the confusion I caused because I did not adequately explain what CLS was and how it would change the way you play. My apologies.

I will release a new version that includes the temporary fix for TAC Life Support. I added a switch to turn off 2 events that were causing a conflict. I'm hoping the other events I added with the last release will allow Texture replacer to work correctly, as the 2 events that get turned off are for that mod.

I will also add the CLS switch to the settings window to make it easier to turn off if desired.

Release to be coming soon.

Edited by Papa_Joe
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...