PapaJoesSoup / ShipManifest

Kerbal Space Program Addon. Manages Crew, Science, & Resources on a given vessel.
Other
32 stars 25 forks source link

Strange results when transfer crew between full parts #40

Closed cake-pie closed 7 years ago

cake-pie commented 7 years ago

http://forum.kerbalspaceprogram.com/index.php?/topic/56643-122-ship-manifest-crew-science-resources-v-5133-29-jan-17/&do=findComment&comment=3048741

cake-pie commented 7 years ago

Checking SM wiki, it says "You can move a kerbal from seat to seat within the same part, or transfer a kerbal to another part within your vessel. if the target part (or seat) if full, then the source kerbal will swap places with the first kerbal in the target part (or seat)."

With further testing, can confirm that the advertised functionality isn't working even in the simplest case of 1-seat-part <-> 1-seat-part e.g. between two Mk1 lander cans that are both occupied.

I completely understand there's all sorts of conditions that could occur with full parts, but until this can be reliably fixed I think the "safe" thing to do is to pull the feature and disable "Xfer" button for one side [left/right] panel of crew transfer window whenever the opposite part is full.

I'm merely testing out the mod so it's no big deal for me, but it'd be real problems if a player suddenly gets a Kerbal who is on mission in a distant place suddenly teleported back to KSC. (Especially if it's the only pilot >_<)


Further note, turns out that the ordering of the list of Kerbals in a part in the SM crew transfer window seems unrelated to the actual positions (seatidx) that they actually occupy in the visual model. Take one Mk1 Cabin, Jeb+Val, ">>" move within part button -- crew merely swap positions in SM UI list, but not in actuality.

So, it's not even clear what "swap places with the first kerbal in the target" means -- swap with the first Kerbal in SM's list, or the Kerbal in seat index 0?

PapaJoesSoup commented 7 years ago

Refactored Crew Transfers. They now behave nicely. Fix will be included in 5.1.4.0