Jump to content

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


Papa_Joe

Recommended Posts

Ok, what I discovered is that I revised the method for checking on the installation of RemoteTech with this release. I "think" it revovles around this check. If you have more than one RemoteTech.dll installed (for example if there is another mod that embeds the remotetech.dll for some purpose, this could cause the check to fail. I'm revisin git to test this case. Can you check your gamedata folder to see if more than one copy of RemoteTech.dll exists? This would help me confirm what I think is happening...

There is only one RemoteTech.dll, but I have a CC_RemoteTech.dll from the mod "ContractConfigurator"

And I can confirm, if I remove that mod (or just the DLL) that Ship Manifest works just fine.

Atleast as far as I have tested now (looks fine, antenna parts responds as normal etc(including remotetech antennas))

Any ideas why its happening, and how to fix it?

Or is it something the author of Contract Configurator has too look at?

Btw, keep up the great work :)

Took me a little while to start using SM, but I like it more and more.

Link to comment
Share on other sites

There is only one RemoteTech.dll, but I have a CC_RemoteTech.dll from the mod "ContractConfigurator"

And I can confirm, if I remove that mod (or just the DLL) that Ship Manifest works just fine.

Atleast as far as I have tested now (looks fine, antenna parts responds as normal etc(including remotetech antennas))

Any ideas why its happening, and how to fix it?

Or is it something the author of Contract Configurator has too look at?

Btw, keep up the great work :)

Took me a little while to start using SM, but I like it more and more.

I have a solution. My code currently looks for a single instance of the dll, and as result, errors when more than one copy is present (this was the spam in the KSP Debug log. Often mods will include a "tweaked version, or embed a copy of the dll to cover their integration needs (hard dependency).

I will now change that method to check for the first occurrence and go from there. Since I'm not concerned if a "particular" version is present, only that it exists, I can safely change the search to be tolerant of multiple copies.

My revised check no longer cares if more than one copy of the dll is present.

Thanks for the help, and I'll have a fix out very soon.

Link to comment
Share on other sites

I have a solution. My code currently looks for a single instance of the dll, and as result, errors when more than one copy is present (this was the spam in the KSP Debug log. Often mods will include a "tweaked version, or embed a copy of the dll to cover their integration needs (hard dependency).

I will now change that method to check for the first occurrence and go from there. Since I'm not concerned if a "particular" version is present, only that it exists, I can safely change the search to be tolerant of multiple copies.

My revised check no longer cares if more than one copy of the dll is present.

Thanks for the help, and I'll have a fix out very soon.

I noticed that the CC_RemoteTech file is only 33KB, not 348KB as the normal remotetech dll is.

I don't know it this has anything to say, just thought about the part you said about "first instance", though I recon it will look for the official remotetech first, then ignore the rest.

-edit,

Guess it shouldn't have anything to say as you have no dependency or anything, just giving a new output if it is detected.

Oh well :)

Edited by Omez
Link to comment
Share on other sites

I noticed that the CC_RemoteTech file is only 33KB, not 348KB as the normal remotetech dll is.

I don't know it this has anything to say, just thought about the part you said about "first instance", though I recon it will look for the official remotetech first, then ignore the rest.

-edit,

Guess it shouldn't have anything to say as you have no dependency or anything, just giving a new output if it is detected.

Oh well :)

In an upcoming release, it WILL make a difference, but at the moment it won't.. When it becomes important I will be implementing a version checker class that other mods are using built by iirc NathanKell. The mods needing it will use the correct version.

New Release:

Version 4.3.0.2 - Release 08 June, 2015 - Crew, Interfaces, & Refactoring Edition.

- New: Cleaned up highlighting when undocking events occur to turn off highlighting on vessel parts/vessels that become detatched...

- Fixed: Bug in settings. When disabling Crew in setting, if crew was selected, Highligting does not turn off.

- Fixed: Bug in Settings. When in Highlighting Tab, "Highlight only Source/Target parts" and "Enable CLS Highlighting" should act like radio buttons but do not.

- Fixed: Under certain circumstances, Highlighting woud not be completely cleared when turned off If crew was selected and CLS was enabled.

- Fixed: RemoteTech detection was failing when multiple copies of the RemoteTech.dll existed.

Link to comment
Share on other sites

In an upcoming release, it WILL make a difference, but at the moment it won't.. When it becomes important I will be implementing a version checker class that other mods are using built by iirc NathanKell. The mods needing it will use the correct version.

[...]

With the next release, I will be changing the Mod detection method to use .StartsWith(). This will give me more control over the name check. I'm also implementing a new tab called Mods in the Settings window, that lets you see what mods/assemblies are loaded in KSP. Useful for me, don't know abut anyone else...

7e5WqKO.png

Link to comment
Share on other sites

Hah, great.

I love how you bring fixes just a few days after speaking about the issues.

That just makes it fun to contribute.

The issue with the highlight after detach was one I forgot to mention. Great you fixed it as well.

The modinfo may be nice, can't be wrong to have a view if a mod is really activated as it should.

I have been missing the SM menu in the mapview (not control center) lately. Is there a reason for not supporting it or am I just blind?

Using stock toolbar.

Link to comment
Share on other sites

Hah, great.

I love how you bring fixes just a few days after speaking about the issues.

That just makes it fun to contribute.

The issue with the highlight after detach was one I forgot to mention. Great you fixed it as well.

The modinfo may be nice, can't be wrong to have a view if a mod is really activated as it should.

I have been missing the SM menu in the mapview (not control center) lately. Is there a reason for not supporting it or am I just blind?

Using stock toolbar.

Map view is an area I've not tested, and there are "implications" to the code from this point of view so I have it intentionally disabled and have from the beginning....

I could make roster and Settings visible there, tho there is not much value in that I'm guessing.

As for the need in Map View, what were you thinking?

Link to comment
Share on other sites

Wanted to transfer just some fuel, I think. Don't remember exactly the situation.

Anyway, had kind of a 'deadlock' yesterday:

Docked to a mining base that had tank A full of liquid and oxid.

Wanted to transfer li+ox to tank B-D of my shuttle. That worked in the beginning though I could see those tanks where filling themselves a bit cause of the mining.

Anyway,the SM transfer speeder that up and emptied tank A, which belongs to the base.

Problem now is: the transfer never ended!

The indicators for the amount disappeared, but I could not deselect the tanks neither on source nor on destination side.

Tank A kept filling cause of the mining, so it seemed SM expected a transfer going on.

I even could not close the window with the tooltip saying 'transfer is running, please wait till finished' (or sth like that).

Just undocking cleared that.

So perhaps that is cause of the mining and the fact that tankA, which was the sojrce , kept filling, or that the intentional amount that should have been transfered could never be reached as tanks B-D have been partially filled by the mining in the same time the transfer was running, so they where full before the amount I said to be transfered could be reached.

Either way that needs to be fixed as this is a standard procedure with ming bases, isn't it?

Perhaps you could add a 'cancel transfer' button or/and add a check for 'is destination tank filled to 99,9%, then cancel, even if the amount to be transferred isn't reached yet'.

Does this seem legit? ;)

Link to comment
Share on other sites

Wanted to transfer just some fuel, I think. Don't remember exactly the situation.

Anyway, had kind of a 'deadlock' yesterday:

Docked to a mining base that had tank A full of liquid and oxid.

Wanted to transfer li+ox to tank B-D of my shuttle. That worked in the beginning though I could see those tanks where filling themselves a bit cause of the mining.

Anyway,the SM transfer speeder that up and emptied tank A, which belongs to the base.

Problem now is: the transfer never ended!

The indicators for the amount disappeared, but I could not deselect the tanks neither on source nor on destination side.

Tank A kept filling cause of the mining, so it seemed SM expected a transfer going on.

I even could not close the window with the tooltip saying 'transfer is running, please wait till finished' (or sth like that).

Just undocking cleared that.

So perhaps that is cause of the mining and the fact that tankA, which was the sojrce , kept filling, or that the intentional amount that should have been transfered could never be reached as tanks B-D have been partially filled by the mining in the same time the transfer was running, so they where full before the amount I said to be transfered could be reached.

Either way that needs to be fixed as this is a standard procedure with ming bases, isn't it?

Perhaps you could add a 'cancel transfer' button or/and add a check for 'is destination tank filled to 99,9%, then cancel, even if the amount to be transferred isn't reached yet'.

Does this seem legit? ;)

Interesting. I've got a stop button in place for transfers already. Was the Stop button gone? It replaces the Xfer button in the same position...

The completion check evaluates for 3 possible conditions:

1. Source tank(s) empty? Done

2. Target tank(s) full? Done

3. Requested transfer amount(s) moved? Done.

So, the fact that a resource is being consumed or generated should make no difference.

I've also added timeouts, so it should have quit in any case.

If you can catch a screenshot that would be helpful... or was the interface locked up? (like in an endless loop...)

Thanks for any feedback you can provide... I've had no issues with transfers with single/multiple resources, and/or single/multiple source/target parts since I've refactored...

Link to comment
Share on other sites

Hey, the stop button was gone. Im not sure if it was the initiated transfer that was still running, but i couldn't even change the tanks anymore.

But for your checklist: the requested amount was not transfered, cause the destinations got filled by the mining while the transfer was running. So there was no space anymore in the tanks to transfer the requested amount.

So generating a resource to the destination tanks does make a difference, as the consumption from the source tanks makes difference as well. If the source gets empty before transfer competed, it should also stop by its own...

Edited by Speadge
Link to comment
Share on other sites

Hey, the stop button was gone. Im not sure if it was the initiated transfer that was still running, but i couldn't even change the tanks anymore.

But for your checklist: the requested amount was not transfered, cause the destinations got filled by the mining while the transfer was running. So there was no space anymore in the tanks to transfer the requested amount.

So generating a resource to the destination tanks does make a difference, as the consumption from the source tanks makes difference as well. If the source gets empty before transfer competed, it should also stop by its own...

Yup, and those conditions are checked for. Now, the fact that the stop button was gone is significant, and gives me a starting point to troubleshoot. That would seem to be in a different area of the code.

Thanks!

Link to comment
Share on other sites

3. Requested transfer amount(s) moved? Done.

but that was not done :-/

im not sure if i want to rebuild it as it was in one of my lagiest part of my universe :D

i think i saw the transfer running, then the ui changed and i just saw the first line with the "flow" button in each coulumn.

the tanks were selected and the only thing changing was TankA (Source) as it got refilled by mining.

So as i think about obviously the initiated transfer was finished, but still the ui was locked.

Link to comment
Share on other sites

but that was not done :-/

im not sure if i want to rebuild it as it was in one of my lagiest part of my universe :D

i think i saw the transfer running, then the ui changed and i just saw the first line with the "flow" button in each coulumn.

the tanks were selected and the only thing changing was TankA (Source) as it got refilled by mining.

So as i think about obviously the initiated transfer was finished, but still the ui was locked.

Any of the above conditions can stop the transfer, not only ALL conditions. Perhaps I was not clear. I expect that you could be consuming or adding a resource via mining, so I cannot depend on just the requested amount, as that is simply a "snapshot" in time.

The moving display disappeared, correct? and the Stop button went away, but there was no xfer button on the opposite side to allow you to "reverse the process" as their should be. So, I'm missing something in my logic somewhere or not setting/ressing a certain flag...

The fact that the UI changes indicates that it triggered completion, but the fact that the new Xfer button did not appear and the fact that you were not able to change resources/parts is why I'm thinking I have an error elsewhere in my condition logic.

Off to look for it...

Link to comment
Share on other sites

I'm hitting some sort of issue with transferring crew and it appears to have to do with KIS:


Error: in TransferCrewMemberComplete. Error moving crewmember. Error: Object reference not set to an instance of an object

at KIS.ModuleKISInventory.OnCrewTransferred (HostedFromToAction`2 fromToAction) [0x00000] in <filename unknown>:0
at EventData`1[GameEvents+HostedFromToAction`2[ProtoCrewMember,Part]].Fire (HostedFromToAction`2 data) [0x00000] in <filename unknown>:0
at ShipManifest.TransferCrew.CrewTransferComplete () [0x00000] in <filename unknown>:0

The issue seems to get resolved when Override Stock Crew Xfer is disabled.

Edited by Cleric2145
Link to comment
Share on other sites

I'm hitting some sort of issue with transferring crew and it appears to have to do with KIS:


Error: in TransferCrewMemberComplete. Error moving crewmember. Error: Object reference not set to an instance of an object

at KIS.ModuleKISInventory.OnCrewTransferred (HostedFromToAction`2 fromToAction) [0x00000] in <filename unknown>:0
at EventData`1[GameEvents+HostedFromToAction`2[ProtoCrewMember,Part]].Fire (HostedFromToAction`2 data) [0x00000] in <filename unknown>:0
at ShipManifest.TransferCrew.CrewTransferComplete () [0x00000] in <filename unknown>:0

The issue seems to get resolved when Override Stock Crew Xfer is disabled.

Interesting. Thanks for the feedback! Are you performing a stock transfer or are you using SM to perform the crew transfer? That will help me to figure out who is stepping on who... The method mentioned above fires in both cases if Override is on... It only fires on SM when override is off.

I have KIS installed, but I've no inventory to move yet, so I may not be getting the event conflict...

Link to comment
Share on other sites

I was using SM for the transfers. On the first transfer, the sounds played, but then the SM window locked up and became unclosable due to "Action Currently in Progress." I encountered some other oddities, like EVA kerbals being stuck and unswitchable. The problem was temporarily resolved by switching to a different vessel and back. All these were resolved when Override Stock was off. I was transferring Kerbals between Tantares parts, and I think I may have lost whatever inventories the parts had (they were in orbit for weeks, I forgot if I stocked them or not.)

Link to comment
Share on other sites

I was using SM for the transfers. On the first transfer, the sounds played, but then the SM window locked up and became unclosable due to "Action Currently in Progress." I encountered some other oddities, like EVA kerbals being stuck and unswitchable. The problem was temporarily resolved by switching to a different vessel and back. All these were resolved when Override Stock was off. I was transferring Kerbals between Tantares parts, and I think I may have lost whatever inventories the parts had (they were in orbit for weeks, I forgot if I stocked them or not.)

Ok, thanks for the clarification. I'll look at my logic on the Crew transfer. I added an event call to trigger KIS to swap inventories. I may not have fully thought through the consequences with my OnCrewTransferred event handler.

Link to comment
Share on other sites

Hey,

I m interested in setting the Kerbals experience to maximum from the start for realism/immersion (since I do not understand why I have to send a Kerbal to the Mun for him/her to be able to repair rover wheels...).

Since you had to take a look at the kerbal system for naming, I was wondering if you have any insights how to do that or even a .dll which already deals with the experience?

Thank you very much!

Link to comment
Share on other sites

This is just a catch up post to be sure I have any outstanding issues documented across the many pages of posts:

1. Bug: Multi-Resource, Multi-part transfers are hanging, with no stop button and no moving label display, as well as no Xfer buttons on opposing transfer window. (http://forum.kerbalspaceprogram.com/threads/62270-1-0-2-Ship-Manifest-%28Crew-Science-Resources%29-v-4-3-0-2-08-Jun-15?p=2008632&viewfull=1#post2008632)

2. Bug: KIS is generating an error after a crew transfer via OnCrewTransferred Event handler. (http://forum.kerbalspaceprogram.com/threads/62270-1-0-2-Ship-Manifest-%28Crew-Science-Resources%29-v-4-3-0-2-08-Jun-15?p=2010905&viewfull=1#post2010905)

3. Bug: Entering IVA when a crew transfer is in progress is possible. Should not be allowed. (http://forum.kerbalspaceprogram.com/threads/62270-1-0-2-Ship-Manifest-%28Crew-Science-Resources%29-v-4-3-0-2-08-Jun-15?p=2004103&viewfull=1#post2004103)

4. Bug: Frozen Kerbals are not showing their Vessel in Roster Window. (Found during integration testing with latest version of DeepFreeze Continued)

5. Bug: When cancelling/Saving Settings in Settings Window, Toolbar Icon does not properly revert (found during feature testing)

6. Feature: Add a "Fuel Pump" module? To manage flow rate, ec cost, etc via MM (http://forum.kerbalspaceprogram.com/threads/62270-1-0-2-Ship-Manifest-%28Crew-Science-Resources%29-v-4-3-0-2-08-Jun-15?p=1796561&viewfull=1#post1796561)

7. Feature: Add a Resource Vent part to allow realistic dumping of resources in flight. (http://forum.kerbalspaceprogram.com/threads/62270-1-0-2-Ship-Manifest-%28Crew-Science-Resources%29-v-4-3-0-2-08-Jun-15?p=1901605&viewfull=1#post1901605)

8. Feature: Add support for RT command Queue (http://forum.kerbalspaceprogram.com/threads/62270-1-0-2-Ship-Manifest-%28Crew-Science-Resources%29-v-4-3-0-2-08-Jun-15?p=1809202&viewfull=1#post1809202)

9. Feature: Add support for External Crew Seat transfers (http://forum.kerbalspaceprogram.com/threads/62270-1-0-2-Ship-Manifest-%28Crew-Science-Resources%29-v-4-3-0-2-08-Jun-15?p=1811648&viewfull=1#post1811648)

10. Feature: Add the ability to select all parts of a given resource by "vessel". Example Space station has a vessel docked. Refuel the Vessel, instead of having to select its individual tanks... (http://forum.kerbalspaceprogram.com/threads/62270-1-0-2-Ship-Manifest-%28Crew-Science-Resources%29-v-4-3-0-2-08-Jun-15?p=1876298&viewfull=1#post1876298)

11. Feature: Add Part click toggle to enable/disable buttons in part selections of Transfer Window. (http://forum.kerbalspaceprogram.com/threads/62270-1-0-2-Ship-Manifest-%28Crew-Science-Resources%29-v-4-3-0-2-08-Jun-15?p=2001223&viewfull=1#post2001223)

Ok, this is what I have so far, based on my research of the posts from the last 4 months or so..

Items 4 and 5 are corrected in my current dev build.

- - - Updated - - -

Hey,

I m interested in setting the Kerbals experience to maximum from the start for realism/immersion (since I do not understand why I have to send a Kerbal to the Mun for him/her to be able to repair rover wheels...).

Since you had to take a look at the kerbal system for naming, I was wondering if you have any insights how to do that or even a .dll which already deals with the experience?

Thank you very much!

I've not tried to edit experience (yet), so I don't know how that will go, but I expect it can be done. I'm planning on doing all that and more as part of Roster Manager. Edit experience, accomplishments and milestones as you see in the save file...

In the ProtoCrewMember object, ExperienceLevel and Experience are exposed. That would be where you could possibly change the values. I don't yet know what sort of validation (if any) KSP performs on these values, but that is where I would start. The dll is "Assembly-CSharp.dll" (the base KSP API).

Looks like in a sandbox game, Experience is set to 999999 automatically and a ExperienceLevel (skill level) of 5,

Edited by Papa_Joe
Link to comment
Share on other sites

Update.

New version in Test. Will be released soon (hours)

Version 4.3.1.0 - Release xx June, 2015 - GUI Skins, Deepfreeze & Bugs Edition.

- New: Tightened Integration with DeepFreeze by adding DF Interface component and simplifying Frozen Kerbal display and detection...

- New: Added ability to Freeze/Thaw Kerbals in DeepFreeze Container via Roster window. Works only when a freezer is part of the active vessel and contains kerbals.

- New: Added New GUI Skin: Unity Default. Selectable in Settings Config Tab and takes effect immediately.

- New: Updated Roster display to improve general layout and readability.

- New: Added Mods Tab to Settings Window. Displayes Installed Mods/Assemblies.

- Fixed: Bug in settings. When cancelling or saving changes in Space Center, Settings Icon does not revert on toolbar.

- Fixed: Bug with KIS compatability. When transferring Kerbals with inventory, a race condition occurs with OnCrewTransferred Event handler and causes errors.

Added switch in SMSetting.dat to allow disabling onCrewTransferred Event call if KIS still is causing issues.

- Fixed: Bug in Multi Part transfers. Transfers sometimes still hang. Added check for maxAmount to Transfer, and a flag for transfer in progress to allow Stop button to remain visible until completion...

This corrects items 1,2,4 & 5 of the bugs listed in the previous post.

Still looking into IVA. Not sure what I can do about it yet...

Link to comment
Share on other sites

WOW, can't wait Papa_Joe!

I will return development soon of the Omicron... Next week or two.

Wonderful to hear!

Update:

Version 4.3.1.0 - Release 15 June, 2015 - GUI Skins, DeepFreeze & Bugs Edition.

- New: Tightened Integration with DeepFreeze by adding DF Interface component and simplifying Frozen Kerbal display and detection...

- New: Added ability to Freeze/Thaw Kerbals in DeepFreeze Container via Roster window. Works only when a freezer is part of the active vessel and contains kerbals.

- New: Added New GUI Skin: Unity Default. Selectable in Settings Config Tab and takes effect immediately.

- New: Updated Roster display to improve general layout and readability.

- New: Added Mods Tab to Settings Window. Displayes Installed Mods/Assemblies.

- Fixed: Bug in settings. When cancelling or saving changes in Space Center, Settings Icon does not revert on toolbar.

- Fixed: Bug with KIS compatability. When transferring Kerbals with inventory, a race condition occurs with OnCrewTransferred Event handler and causes errors.

Added switch in SMSetting.dat to allow disabling onCrewTransferred Event call if KIS still is causing issues.

- Fixed: Bug in Multi Part transfers. Transfers sometimes still hang. Added check for maxAmount to Transfer, and a flag for transfer in progress to allow Stop button to remain visible until completion...

Released. On Kerbalstuff, Curse and Github.

Link to comment
Share on other sites

hey Pop,

still coding all day? ;)

i took off some days just to see you are still updating once a week. respect for that!

I mentioned the integration of the map-interface some days ago and you asked why this would be necessary-

so i ran into the situation again: (FeatureRequest, no bug!):

i was managing a flight with low fuel / need to transfer some from a sidemounted tank to the machine-tanks

- had to be in-time with just some seconds delay

- had to be able to view my flying (falling-) path on the mapscreen for seeing the trajectories

- had to do 2-3 full transfers while one burn. (small tanks)

So it would have been really great to transfer while controling the thrust AND seeing the new trajectories all in one screen.

Without it i had to switch to shipscreen to see how much fuel is left and to transfer some new - switch back to see new trajectory.

Hope its understandable - but not that important when it comes to possible bugs ;)

Edited by Speadge
Link to comment
Share on other sites

hey Pop,

still coding all day? ;)

i took off some days just to see you are still updating once a week. respect for that!

I mentioned the integration of the map-interface some days ago and you asked why this would be necessary-

so i ran into the situation again: (FeatureRequest, no bug!):

i was managing a flight with low fuel / need to transfer some from a sidemounted tank to the machine-tanks

- had to be in-time with just some seconds delay

- had to be able to view my flying (falling-) path on the mapscreen for seeing the trajectories

- had to do 2-3 full transfers while one burn. (small tanks)

So it would have been really great to transfer while controling the thrust AND seeing the new trajectories all in one screen.

Without it i had to switch to shipscreen to see how much fuel is left and to transfer some new - switch back to see new trajectory.

Hope its understandable - but not that important when it comes to possible bugs ;)

Ok, that makes sense. I've actually found myself in that situation as well, only with realism off and a need to keep my tanks "topped off" on an experimental flight with new vessel designs. Yes, I "cheat" from time to time. :D

I'll look at the potential impact. it mainly revolves around visual updates / cues (highlighting, portraits, etc.) that would likely cause errors in mapview. With the refactoring I've done, I likely can handle these issues without too much fuss.

Thanks for the update Papa_Joe.

I can't give you rep for the mod, (that's odd)

so take +1 for the update!

Thanks a lot! I actually did get rep from you, so you were successful after all! Thanks!

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