Jump to content

[1.12.x] DeepFreeze (v0.31.0) 12th Sep 2021


JPLRepo

Recommended Posts

Update: I deleted my DeepFreeze SCENARIO{} and put the 3 Kerbals into the command pod. EVA'd them for good measure, then I was able to freeze and thaw them at will.

- - - Updated - - -

I just saw this, so I tried it with the broken save. It did let me thaw from the main menu:

http://i.imgur.com/VmRuCMJ.png

But the Kerbals did not appear in the ship:

http://i.imgur.com/ZhORHTU.png

In the save file, the Kerbals were revived (type = Crew, state = Available) - but just weren't placed on a ship.


DF.DeepFreeze[FFE86B62][475.67]: DeepFreezeEvents ThawFrozenCrew = Valentina Kerman,6201018e-55
80-48b6-9785-f655b44769cb
DF.DeepFreeze[FFE86B62][475.67]: Took funds to thaw kerbal
[KS Exp] onKerbalTypeChange: Valentina Kerman Unowned Crew

So thanks for the quick response, but save file hackery it is :)

Yes they are thawed and restored back at the KSC (they won't re-appear on any ship).

I will work on a fix this week. In the meantime I recommend for anyone that you don't dock/un-dock or use KIS on any vessel that has frozen kerbals on-board until I release a fix. Issue raised and being tracked here.

Link to comment
Share on other sites

Nils277 has released a new version of his KPBS mod that includes DeepFreeze Continued... parts, namely the CRY-5000 and a Glykerol storage tank. Go check it out over on his mod thread. These parts require DeepFreeze continued installed to function and are distributed as part of the KPBS mod. Which is an awesome base building mod BTW (which is why we decided to create these parts for his mod).

- - - Updated - - -

I'm honored for the privilege of helping! (and happy for any excuse that actually makes me return to KSP with a clear sense of purpose--currently, I spend 90% of my time in game trying to fix bugs).

I'll get the most recent update and give it a try (I also have an insane number of saves, since I save my game roughly once a week in-game time) and report my findings.

EDIT: Well, I finally got of my duff, fixed a few more bugs in my KSP installation, and checked with the three person hibernation capsule--it does seem to work with IFI (hibernating each crewmember one by one, my onboard life support tripled, and then was untracked entirely). I guess the final test will be when I thaw Valentina and company, but it seems to work!

Excellent. Thanks for testing it out. I'm going to put IFI into the supported list.

- - - Updated - - -

Yes they are thawed and restored back at the KSC (they won't re-appear on any ship).

I will work on a fix this week. In the meantime I recommend for anyone that you don't dock/un-dock or use KIS on any vessel that has frozen kerbals on-board until I release a fix. Issue raised and being tracked here.

Working on this fix and a lot more.. V 0.18.3.0 is nearing completion.

Link to comment
Share on other sites

V0.19.0.0 Released. Lots of fixes and enhancements. Refer to the changelog in the OP.

Should not break save games (as far as I tested), but as always back up your save files before upgrading.

>Fixed bug where ships docking/un-docking with frozen kerbals results in unable to thaw frozen kerbals.

Hooray!

The fix (onVesselCreate()/onPartCouple()) looks great.

Link to comment
Share on other sites

I've got a bug report. Log and persistent.sfs: https://www.dropbox.com/sh/jtnkbvg4bl2xjeh/AADHX6q2aSS6-B3gNPlGzJ9Ca?dl=0

I built a ship (Explorer 1), then docked it to my space station (TC2). Put Kerbals into the freezer, froze them (while docked), then undocked the ship, and then made a few modifications to the ship (with KIS).

When I went to unfreeze them (thankfully before the interplanetary journey), I couldn't. No Kerbals in the frozen list.

Looking at the save file, DeepFreeze saved them in SCENARIO{DFGameSettings{KerbalInfo{}}} against "vesselID = 6201018e-5580-48b6-9785-f655b44769cb" which doesn't exist, but presumably used to be TC2 (I also modified that station heavily using KIS). I changed that to c4792c2b-50e8-4e50-a3b9-67a166b6cfff to match the PartInfo{} vesselID of the actual freezer, as well as the actual ship:


VESSEL
{
pid = c4792c2b50e84e50a3b967a166b6cfff
name = Explorer 1

Now the Kerbals show up in the list! But I can't unfreeze them. Pressing "Thaw" says "Code Error: Cannot thaw kerbal at this time / Thawing Aborted / Cannot thaw kerbal at this time". The log is full of "Argument is out of range" spam.

I'll try to fix this by save file hackery (probably just restoring them to "live" and then re-freezing), but this brings up some questions:

1. Do you test against the vessel ID changing, via freezing and then undocking, or just moving the freezer (with frozen Kerbals inside) from one ship to another via KIS?

2. If I change the vesselID of the freezer and then freeze Kerbals, is that safe? I can live with a restriction of "don't modify the ship while frozen Kerbals are aboard" but I do need to dock/undock and modify ships with KIS.

It seems to me that storing the frozen Kerbals in the PartModule instead of the global SCENARIO{} would avoid the vesselID issues, but might not let you access their data while focused on another ship (the global Alarm window and such). Maybe just have each PartModule store which Kerbals are frozen on board, and update the vesselID in SCENARIO{}? I don't know the solution, just throwing things out there.

How exactly do you restore the Kerbals to "live" with save file hacking? I believe I'm experiencing this same exact error (unable to thaw Kerbals after a ship is docked) and need a way to work through this error so I can get the docked ship home. I'm including the error log if it will help.

KSP: 1.0.4 Windows 32bit

Problem: Code Error. Cannot thaw Kerbal at this time. Check Log.

Mods installed:

Deep Freeze Continued V0.19.0.0

Reproduction steps:

Docking ship to vessel with two CRY-1300 DeepFreezer pods w/6 kerbals in both pods. Pods will not thaw Kerbals despite having been able to do so previously.

Log: (Filename: Line: -1)

ArgumentOutOfRangeException: Argument is out of range.

Parameter name: index

at System.Collections.Generic.List`1[internalSeat].get_Item (Int32 index) [0x00000] in <filename unknown>:0

at DF.DeepFreezer.resetFrozenKerbals () [0x00000] in <filename unknown>:0

at DF.DeepFreezer.onceoffSetup () [0x00000] in <filename unknown>:0

at DF.DeepFreezer.OnUpdate () [0x00000] in <filename unknown>:0

at Part.ModulesOnUpdate () [0x00000] in <filename unknown>:0

at Part.Update () [0x00000] in <filename unknown>:0

(Filename: Line: -1)

Let me know if I need more. Greatly appreciate it. :-)

Link to comment
Share on other sites

How exactly do you restore the Kerbals to "live" with save file hacking? I believe I'm experiencing this same exact error (unable to thaw Kerbals after a ship is docked) and need a way to work through this error so I can get the docked ship home. I'm including the error log if it will help.

Let me know if I need more. Greatly appreciate it. :-)

More information is required here.. You say you docked two ships with CRY-1300's with 6 kerbals on-board each? I think you mean 3 kerbals on-board each? And were all 6 frozen?

And after you docked you attempted to thaw and got what error? The error you have reported above is not directly after doing this, I can tell because in the error it says:

at System.Collections.Generic.List`1[internalSeat].get_Item (Int32 index) [0x00000] in <filename unknown>:0

at DF.DeepFreezer.resetFrozenKerbals () [0x00000] in <filename unknown>:0

at DF.DeepFreezer.onceoffSetup () [0x00000] in <filename unknown>:0

at DF.DeepFreezer.OnUpdate () [0x00000] in <filename unknown>:0

This particular part of the code does not run when two vessels dock and you attempt to thaw. This error is on initial load of the part, say when you switch to it from space center.

Anyway, I just conducted an exact same test:

Two CRY-1300's with 6 kerbals on board. All of them frozen.. whilst the two vessels were separated.

I docked the two vessels and was able to successfully thaw them all. This is all using V0.19.0.0 which fixed this problem. So I cannot reproduce your error.

I'm guessing you may have docked them before upgrading to V0.19.0.0??

If anyone experiences similar errors you need to save your log file and submit it with steps to reproduce etc. As per the support instructions here.

I would very much like to see your persistent.sfs file to try and determine what is going on if you are willing to share it.

As to how to now recover, here are the steps, but if you get it wrong, well, should have backed it up. :confused:

1) Edit your persistent.sfs file and Find SCENARIO where Name is DeepFreeze as per this :

SCENARIO

{

name = DeepFreeze

scene = 5, 6, 7, 8

DFGameSettings

{

Enabled = True

KerbalInfo

{

lastUpdate = 315357.079318465

status = Dead

type = Unowned

vesselID = 6715860e-036c-4353-8e63-ef8872e83e99

VesselName = cry1300testDocking

partID = 4107896637

seatIdx = 0

seatName = Seat1

experienceTraitName = Engineer

kerbalName = Frolie Kerman

}

KerbalInfo

{

lastUpdate = 315364.739318472

status = Dead

type = Unowned

vesselID = 6715860e-036c-4353-8e63-ef8872e83e99

VesselName = cry1300testDocking

partID = 4107896637

seatIdx = 1

seatName = Seat2

experienceTraitName = Engineer

kerbalName = Hallock Kerman

}

KerbalInfo

{

lastUpdate = 315378.239318484

status = Dead

type = Unowned

vesselID = 6715860e-036c-4353-8e63-ef8872e83e99

VesselName = cry1300testDocking

partID = 4107896637

seatIdx = 2

seatName = Seat3

experienceTraitName = Pilot

kerbalName = Shermund Kerman

}

KerbalInfo

{

lastUpdate = 315386.119318492

status = Dead

type = Unowned

vesselID = 3326f7fb-266f-4dbb-b471-cb7eddcfbf2c

VesselName = cry1300testDocking Ship

partID = 941884159

seatIdx = 0

seatName = Seat1

experienceTraitName = Engineer

kerbalName = Milke Kerman

}

KerbalInfo

{

lastUpdate = 315392.879318498

status = Dead

type = Unowned

vesselID = 3326f7fb-266f-4dbb-b471-cb7eddcfbf2c

VesselName = cry1300testDocking Ship

partID = 941884159

seatIdx = 1

seatName = Seat2

experienceTraitName = Scientist

kerbalName = Rodgar Kerman

}

KerbalInfo

{

lastUpdate = 315399.619318504

status = Dead

type = Unowned

vesselID = 3326f7fb-266f-4dbb-b471-cb7eddcfbf2c

VesselName = cry1300testDocking Ship

partID = 941884159

seatIdx = 2

seatName = Seat3

experienceTraitName = Engineer

kerbalName = Wilelle Kerman

}

VesselInfo

{

vesselName = KPBS-CRY5000

vesselType = Base

numSeats = 6

numCrew = 3

numOccupiedParts = 2

numFrznCrew = 0

hibernating = True

hasextDoor = False

lastUpdate = 315330.45931844

storedEC = 4284.62676003316

predictedECOut = 25707.7605601989

Guid = 424e3973-3fff-4889-9189-348c9666ae29

}

VesselInfo

{

vesselName = cry1300testDocking

vesselType = Ship

numSeats = 6

numCrew = 1

numOccupiedParts = 2

numFrznCrew = 3

hibernating = False

hasextDoor = False

lastUpdate = 315406.19931851

storedEC = 8149.99906847407

predictedECOut = 0

Guid = 6715860e-036c-4353-8e63-ef8872e83e99

}

VesselInfo

{

vesselName = cry1300testDocking Ship

vesselType = Ship

numSeats = 3

numCrew = 0

numOccupiedParts = 1

numFrznCrew = 3

hibernating = False

hasextDoor = False

lastUpdate = 315406.19931851

storedEC = 8030

predictedECOut = 0

Guid = 3326f7fb-266f-4dbb-b471-cb7eddcfbf2c

}

PartInfo

{

vesselID = 424e3973-3fff-4889-9189-348c9666ae29

PartName = CRY-5000Freezer

numSeats = 4

numCrew = 2

crewMembers = Newke Kerman,Jebfred Kerman

crewMemberTraits = Scientist,Scientist

numFrznCrew = 0

hibernating = False

hasextDoor = False

timeLastElectricity = 315330.46875

frznChargeRequired = 10

timeLastTempCheck = 312922.09375

deathCounter = 315406.19931851

tmpdeathCounter = 0

outofEC = True

TmpStatus = OK

cabinTemp = 306.1939

ECWarning = True

TempWarning = False

lastUpdate = 171189.6218575

flightID = 853394433

}

PartInfo

{

vesselID = 6715860e-036c-4353-8e63-ef8872e83e99

PartName = CRY-1300Freezer

numSeats = 3

numCrew = 0

crewMembers =

crewMemberTraits =

numFrznCrew = 3

hibernating = False

hasextDoor = False

timeLastElectricity = 315406.1875

frznChargeRequired = 10

timeLastTempCheck = 315399.625

deathCounter = 0

tmpdeathCounter = 0

outofEC = False

TmpStatus = OK

cabinTemp = 287.5132

ECWarning = False

TempWarning = False

lastUpdate = 315302.299318414

flightID = 4107896637

}

PartInfo

{

vesselID = 3326f7fb-266f-4dbb-b471-cb7eddcfbf2c

PartName = CRY-1300Freezer

numSeats = 3

numCrew = 0

crewMembers =

crewMemberTraits =

numFrznCrew = 3

hibernating = False

hasextDoor = False

timeLastElectricity = 315406.1875

frznChargeRequired = 10

timeLastTempCheck = 315378.9375

deathCounter = 0

tmpdeathCounter = 0

outofEC = False

TmpStatus = OK

cabinTemp = 287.5406

ECWarning = False

TempWarning = False

lastUpdate = 315302.299318414

flightID = 941884159

}

}

}

Each KerbalInfo Entry is a frozen kerbal, each VesselInfo Entry is a vessel that has a DeepFreeze part attached, each PartInfo Entry is for each DeepFreeze freezer part that are part of active vessels.

When the vessel is one vessel (docked) the VesselID in each KerbalInfo entry and PartInfo entry should match the Guid entry in the VesselInfo Entry (for their vessel).

The partID for each KerbalInfo should match the flightID entry in their respective PartInfo Part's that they are in. And no two kerbals in the same part should have the same seatIdx or SeatName.

From the error you have supplied it looks like a frozen Kerbal (KerbalInfo entry) is pointing to a part/seat that is already taken by either another frozen kerbal, or a thawed one.

2) To 'hack' your save file, you can remove the KerbalInfo for all the frozen kerbals, you then need to Remove the entries for each PartInfo (DeepFreeze will re-add them on next startup).

3) You then would have to put your kerbals back in the part, to do that you have to find the "VESSEL" entry for the vessel they are meant to be in, then the "PART" entry and add the crew= parms with the crew members names back in like this:

VESSEL

{

pid = 6715860e036c43538e63ef8872e83e99

name = cry1300testDocking

type = Ship......

....

PART

{

name = CRY-1300Freezer

cid = 4294321408

uid = 4107896637

mid = 2531086846

launchID = 87

parent = 0

position = 0,-1.466139793396,0

rotation = 0,0,0,1

mirror = 1,1,1

symMethod = Radial

istg = 0

dstg = 0

sqor = -1

sepI = 0

sidx = -1

attm = 0

srfN = , -1

attN = top, 0

attN = bottom, 2

mass = 2.5

temp = 287.513214111328

tempExt = 283.089101509767

expt = 0.5

state = 0

connected = True

attached = True

flag = Squad/Flags/default

rTrf = CRY-1300Freezer

modCost = 0

crew = Jebediah Kerman

4) Then you have to go down to the "ROSTER" and find the "KERBAL" entry for each frozen kerbal you changed and change type to Crew "type=Crew" and state to assigned "state = Assigned".

ROSTER

{

KERBAL

{

name = Jebediah Kerman

gender = Male

type = Crew

brave = 0.5

dumb = 0.5

badS = True

tour = False

state = Assigned

ToD = 310267.603309575

idx = 0

If that is all overwhelming and you want to save your savegame, post it on dropbox or suchlike and send me the link via PM message. I will fix it for you.

Link to comment
Share on other sites

V0.19.1.0 released.

Expanded the NON-Fatal EC usage/overheat setting to comatose kerbals that are emergency thawed for a period of time.

Fixed the new pop-up menus when EC runs out or overheat occurs.

See the Changelog in the OP.

Link to comment
Share on other sites

More information is required here.. You say you docked two ships with CRY-1300's with 6 kerbals on-board each? I think you mean 3 kerbals on-board each? And were all 6 frozen?

And after you docked you attempted to thaw and got what error? The error you have reported above is not directly after doing this, I can tell because in the error it says:

at System.Collections.Generic.List`1[internalSeat].get_Item (Int32 index) [0x00000] in <filename unknown>:0

at DF.DeepFreezer.resetFrozenKerbals () [0x00000] in <filename unknown>:0

at DF.DeepFreezer.onceoffSetup () [0x00000] in <filename unknown>:0

at DF.DeepFreezer.OnUpdate () [0x00000] in <filename unknown>:0

This particular part of the code does not run when two vessels dock and you attempt to thaw. This error is on initial load of the part, say when you switch to it from space center.

Anyway, I just conducted an exact same test:

Two CRY-1300's with 6 kerbals on board. All of them frozen.. whilst the two vessels were separated.

I docked the two vessels and was able to successfully thaw them all. This is all using V0.19.0.0 which fixed this problem. So I cannot reproduce your error.

I'm guessing you may have docked them before upgrading to V0.19.0.0??

If anyone experiences similar errors you need to save your log file and submit it with steps to reproduce etc. As per the support instructions here.

I would very much like to see your persistent.sfs file to try and determine what is going on if you are willing to share it.

As to how to now recover, here are the steps, but if you get it wrong, well, should have backed it up. :confused:

1) Edit your persistent.sfs file and Find SCENARIO where Name is DeepFreeze as per this :

SCENARIO

{

name = DeepFreeze

scene = 5, 6, 7, 8

DFGameSettings

{

Enabled = True

KerbalInfo

{

lastUpdate = 315357.079318465

status = Dead

type = Unowned

vesselID = 6715860e-036c-4353-8e63-ef8872e83e99

VesselName = cry1300testDocking

partID = 4107896637

seatIdx = 0

seatName = Seat1

experienceTraitName = Engineer

kerbalName = Frolie Kerman

}

KerbalInfo

{

lastUpdate = 315364.739318472

status = Dead

type = Unowned

vesselID = 6715860e-036c-4353-8e63-ef8872e83e99

VesselName = cry1300testDocking

partID = 4107896637

seatIdx = 1

seatName = Seat2

experienceTraitName = Engineer

kerbalName = Hallock Kerman

}

KerbalInfo

{

lastUpdate = 315378.239318484

status = Dead

type = Unowned

vesselID = 6715860e-036c-4353-8e63-ef8872e83e99

VesselName = cry1300testDocking

partID = 4107896637

seatIdx = 2

seatName = Seat3

experienceTraitName = Pilot

kerbalName = Shermund Kerman

}

KerbalInfo

{

lastUpdate = 315386.119318492

status = Dead

type = Unowned

vesselID = 3326f7fb-266f-4dbb-b471-cb7eddcfbf2c

VesselName = cry1300testDocking Ship

partID = 941884159

seatIdx = 0

seatName = Seat1

experienceTraitName = Engineer

kerbalName = Milke Kerman

}

KerbalInfo

{

lastUpdate = 315392.879318498

status = Dead

type = Unowned

vesselID = 3326f7fb-266f-4dbb-b471-cb7eddcfbf2c

VesselName = cry1300testDocking Ship

partID = 941884159

seatIdx = 1

seatName = Seat2

experienceTraitName = Scientist

kerbalName = Rodgar Kerman

}

KerbalInfo

{

lastUpdate = 315399.619318504

status = Dead

type = Unowned

vesselID = 3326f7fb-266f-4dbb-b471-cb7eddcfbf2c

VesselName = cry1300testDocking Ship

partID = 941884159

seatIdx = 2

seatName = Seat3

experienceTraitName = Engineer

kerbalName = Wilelle Kerman

}

VesselInfo

{

vesselName = KPBS-CRY5000

vesselType = Base

numSeats = 6

numCrew = 3

numOccupiedParts = 2

numFrznCrew = 0

hibernating = True

hasextDoor = False

lastUpdate = 315330.45931844

storedEC = 4284.62676003316

predictedECOut = 25707.7605601989

Guid = 424e3973-3fff-4889-9189-348c9666ae29

}

VesselInfo

{

vesselName = cry1300testDocking

vesselType = Ship

numSeats = 6

numCrew = 1

numOccupiedParts = 2

numFrznCrew = 3

hibernating = False

hasextDoor = False

lastUpdate = 315406.19931851

storedEC = 8149.99906847407

predictedECOut = 0

Guid = 6715860e-036c-4353-8e63-ef8872e83e99

}

VesselInfo

{

vesselName = cry1300testDocking Ship

vesselType = Ship

numSeats = 3

numCrew = 0

numOccupiedParts = 1

numFrznCrew = 3

hibernating = False

hasextDoor = False

lastUpdate = 315406.19931851

storedEC = 8030

predictedECOut = 0

Guid = 3326f7fb-266f-4dbb-b471-cb7eddcfbf2c

}

PartInfo

{

vesselID = 424e3973-3fff-4889-9189-348c9666ae29

PartName = CRY-5000Freezer

numSeats = 4

numCrew = 2

crewMembers = Newke Kerman,Jebfred Kerman

crewMemberTraits = Scientist,Scientist

numFrznCrew = 0

hibernating = False

hasextDoor = False

timeLastElectricity = 315330.46875

frznChargeRequired = 10

timeLastTempCheck = 312922.09375

deathCounter = 315406.19931851

tmpdeathCounter = 0

outofEC = True

TmpStatus = OK

cabinTemp = 306.1939

ECWarning = True

TempWarning = False

lastUpdate = 171189.6218575

flightID = 853394433

}

PartInfo

{

vesselID = 6715860e-036c-4353-8e63-ef8872e83e99

PartName = CRY-1300Freezer

numSeats = 3

numCrew = 0

crewMembers =

crewMemberTraits =

numFrznCrew = 3

hibernating = False

hasextDoor = False

timeLastElectricity = 315406.1875

frznChargeRequired = 10

timeLastTempCheck = 315399.625

deathCounter = 0

tmpdeathCounter = 0

outofEC = False

TmpStatus = OK

cabinTemp = 287.5132

ECWarning = False

TempWarning = False

lastUpdate = 315302.299318414

flightID = 4107896637

}

PartInfo

{

vesselID = 3326f7fb-266f-4dbb-b471-cb7eddcfbf2c

PartName = CRY-1300Freezer

numSeats = 3

numCrew = 0

crewMembers =

crewMemberTraits =

numFrznCrew = 3

hibernating = False

hasextDoor = False

timeLastElectricity = 315406.1875

frznChargeRequired = 10

timeLastTempCheck = 315378.9375

deathCounter = 0

tmpdeathCounter = 0

outofEC = False

TmpStatus = OK

cabinTemp = 287.5406

ECWarning = False

TempWarning = False

lastUpdate = 315302.299318414

flightID = 941884159

}

}

}

Each KerbalInfo Entry is a frozen kerbal, each VesselInfo Entry is a vessel that has a DeepFreeze part attached, each PartInfo Entry is for each DeepFreeze freezer part that are part of active vessels.

When the vessel is one vessel (docked) the VesselID in each KerbalInfo entry and PartInfo entry should match the Guid entry in the VesselInfo Entry (for their vessel).

The partID for each KerbalInfo should match the flightID entry in their respective PartInfo Part's that they are in. And no two kerbals in the same part should have the same seatIdx or SeatName.

From the error you have supplied it looks like a frozen Kerbal (KerbalInfo entry) is pointing to a part/seat that is already taken by either another frozen kerbal, or a thawed one.

2) To 'hack' your save file, you can remove the KerbalInfo for all the frozen kerbals, you then need to Remove the entries for each PartInfo (DeepFreeze will re-add them on next startup).

3) You then would have to put your kerbals back in the part, to do that you have to find the "VESSEL" entry for the vessel they are meant to be in, then the "PART" entry and add the crew= parms with the crew members names back in like this:

VESSEL

{

pid = 6715860e036c43538e63ef8872e83e99

name = cry1300testDocking

type = Ship......

....

PART

{

name = CRY-1300Freezer

cid = 4294321408

uid = 4107896637

mid = 2531086846

launchID = 87

parent = 0

position = 0,-1.466139793396,0

rotation = 0,0,0,1

mirror = 1,1,1

symMethod = Radial

istg = 0

dstg = 0

sqor = -1

sepI = 0

sidx = -1

attm = 0

srfN = , -1

attN = top, 0

attN = bottom, 2

mass = 2.5

temp = 287.513214111328

tempExt = 283.089101509767

expt = 0.5

state = 0

connected = True

attached = True

flag = Squad/Flags/default

rTrf = CRY-1300Freezer

modCost = 0

crew = Jebediah Kerman

4) Then you have to go down to the "ROSTER" and find the "KERBAL" entry for each frozen kerbal you changed and change type to Crew "type=Crew" and state to assigned "state = Assigned".

ROSTER

{

KERBAL

{

name = Jebediah Kerman

gender = Male

type = Crew

brave = 0.5

dumb = 0.5

badS = True

tour = False

state = Assigned

ToD = 310267.603309575

idx = 0

If that is all overwhelming and you want to save your savegame, post it on dropbox or suchlike and send me the link via PM message. I will fix it for you.

My apologies for not being more clear. I am not familiar with coding and a lot of the output data file looked like gibberish, much like programming data for me in general, and plus it was late, so my error reproduction report was flawed. Yes I meant two CRY-1300s with three onboard Kerbals each. As for the version, I am pretty sure I had V0.19.0.0 when I experienced the error, but I will try and repeat your troubleshooting steps and download the most recent update to see if they fix the problem. Truth is I have 40+ mods on my current install and I've experienced other glitches besides the one with the cryopods (i.e. can't right-click on ship parts to access their functions, cannot set up maneuver nodes, parts of planetary bodies disappearing in map mode, etc.). Thanks for your help in this, as I deeply enjoy this mod. Keep up your excellent work. Here are the relevant bits you need, and feel free to edit the persistent.sfs if you so desire.

My output log file: https://www.dropbox.com/s/twqd96doejojjj6/output_log.txt?dl=0

My persistent.sfs: https://www.dropbox.com/s/qm1xr4skg4ds3lf/persistent.sfs?dl=0

Edited by Funky Dare Devil
Link to comment
Share on other sites

Damn!! In my rush to put 19.1 out I have missed a file. If you download the previous version the file you are missing is the DeepFreezeEditor.png in the icons folder. If you unzip just this file into the Gamedata/RepoSoftTech/Deepfreeze/icons folder problem will be fixed. I'll do a patch release soon as I can.

Link to comment
Share on other sites

More information is required here.. You say you docked two ships with CRY-1300's with 6 kerbals on-board each? I think you mean 3 kerbals on-board each? And were all 6 frozen?

And after you docked you attempted to thaw and got what error? The error you have reported above is not directly after doing this, I can tell because in the error it says:

at System.Collections.Generic.List`1[internalSeat].get_Item (Int32 index) [0x00000] in <filename unknown>:0

at DF.DeepFreezer.resetFrozenKerbals () [0x00000] in <filename unknown>:0

at DF.DeepFreezer.onceoffSetup () [0x00000] in <filename unknown>:0

at DF.DeepFreezer.OnUpdate () [0x00000] in <filename unknown>:0

This particular part of the code does not run when two vessels dock and you attempt to thaw. This error is on initial load of the part, say when you switch to it from space center.

Anyway, I just conducted an exact same test:

Two CRY-1300's with 6 kerbals on board. All of them frozen.. whilst the two vessels were separated.

I docked the two vessels and was able to successfully thaw them all. This is all using V0.19.0.0 which fixed this problem. So I cannot reproduce your error.

I'm guessing you may have docked them before upgrading to V0.19.0.0??

If anyone experiences similar errors you need to save your log file and submit it with steps to reproduce etc. As per the support instructions here.

I would very much like to see your persistent.sfs file to try and determine what is going on if you are willing to share it.

As to how to now recover, here are the steps, but if you get it wrong, well, should have backed it up. :confused:

1) Edit your persistent.sfs file and Find SCENARIO where Name is DeepFreeze as per this :

SCENARIO

{

name = DeepFreeze

scene = 5, 6, 7, 8

DFGameSettings

{

Enabled = True

KerbalInfo

{

lastUpdate = 315357.079318465

status = Dead

type = Unowned

vesselID = 6715860e-036c-4353-8e63-ef8872e83e99

VesselName = cry1300testDocking

partID = 4107896637

seatIdx = 0

seatName = Seat1

experienceTraitName = Engineer

kerbalName = Frolie Kerman

}

KerbalInfo

{

lastUpdate = 315364.739318472

status = Dead

type = Unowned

vesselID = 6715860e-036c-4353-8e63-ef8872e83e99

VesselName = cry1300testDocking

partID = 4107896637

seatIdx = 1

seatName = Seat2

experienceTraitName = Engineer

kerbalName = Hallock Kerman

}

KerbalInfo

{

lastUpdate = 315378.239318484

status = Dead

type = Unowned

vesselID = 6715860e-036c-4353-8e63-ef8872e83e99

VesselName = cry1300testDocking

partID = 4107896637

seatIdx = 2

seatName = Seat3

experienceTraitName = Pilot

kerbalName = Shermund Kerman

}

KerbalInfo

{

lastUpdate = 315386.119318492

status = Dead

type = Unowned

vesselID = 3326f7fb-266f-4dbb-b471-cb7eddcfbf2c

VesselName = cry1300testDocking Ship

partID = 941884159

seatIdx = 0

seatName = Seat1

experienceTraitName = Engineer

kerbalName = Milke Kerman

}

KerbalInfo

{

lastUpdate = 315392.879318498

status = Dead

type = Unowned

vesselID = 3326f7fb-266f-4dbb-b471-cb7eddcfbf2c

VesselName = cry1300testDocking Ship

partID = 941884159

seatIdx = 1

seatName = Seat2

experienceTraitName = Scientist

kerbalName = Rodgar Kerman

}

KerbalInfo

{

lastUpdate = 315399.619318504

status = Dead

type = Unowned

vesselID = 3326f7fb-266f-4dbb-b471-cb7eddcfbf2c

VesselName = cry1300testDocking Ship

partID = 941884159

seatIdx = 2

seatName = Seat3

experienceTraitName = Engineer

kerbalName = Wilelle Kerman

}

VesselInfo

{

vesselName = KPBS-CRY5000

vesselType = Base

numSeats = 6

numCrew = 3

numOccupiedParts = 2

numFrznCrew = 0

hibernating = True

hasextDoor = False

lastUpdate = 315330.45931844

storedEC = 4284.62676003316

predictedECOut = 25707.7605601989

Guid = 424e3973-3fff-4889-9189-348c9666ae29

}

VesselInfo

{

vesselName = cry1300testDocking

vesselType = Ship

numSeats = 6

numCrew = 1

numOccupiedParts = 2

numFrznCrew = 3

hibernating = False

hasextDoor = False

lastUpdate = 315406.19931851

storedEC = 8149.99906847407

predictedECOut = 0

Guid = 6715860e-036c-4353-8e63-ef8872e83e99

}

VesselInfo

{

vesselName = cry1300testDocking Ship

vesselType = Ship

numSeats = 3

numCrew = 0

numOccupiedParts = 1

numFrznCrew = 3

hibernating = False

hasextDoor = False

lastUpdate = 315406.19931851

storedEC = 8030

predictedECOut = 0

Guid = 3326f7fb-266f-4dbb-b471-cb7eddcfbf2c

}

PartInfo

{

vesselID = 424e3973-3fff-4889-9189-348c9666ae29

PartName = CRY-5000Freezer

numSeats = 4

numCrew = 2

crewMembers = Newke Kerman,Jebfred Kerman

crewMemberTraits = Scientist,Scientist

numFrznCrew = 0

hibernating = False

hasextDoor = False

timeLastElectricity = 315330.46875

frznChargeRequired = 10

timeLastTempCheck = 312922.09375

deathCounter = 315406.19931851

tmpdeathCounter = 0

outofEC = True

TmpStatus = OK

cabinTemp = 306.1939

ECWarning = True

TempWarning = False

lastUpdate = 171189.6218575

flightID = 853394433

}

PartInfo

{

vesselID = 6715860e-036c-4353-8e63-ef8872e83e99

PartName = CRY-1300Freezer

numSeats = 3

numCrew = 0

crewMembers =

crewMemberTraits =

numFrznCrew = 3

hibernating = False

hasextDoor = False

timeLastElectricity = 315406.1875

frznChargeRequired = 10

timeLastTempCheck = 315399.625

deathCounter = 0

tmpdeathCounter = 0

outofEC = False

TmpStatus = OK

cabinTemp = 287.5132

ECWarning = False

TempWarning = False

lastUpdate = 315302.299318414

flightID = 4107896637

}

PartInfo

{

vesselID = 3326f7fb-266f-4dbb-b471-cb7eddcfbf2c

PartName = CRY-1300Freezer

numSeats = 3

numCrew = 0

crewMembers =

crewMemberTraits =

numFrznCrew = 3

hibernating = False

hasextDoor = False

timeLastElectricity = 315406.1875

frznChargeRequired = 10

timeLastTempCheck = 315378.9375

deathCounter = 0

tmpdeathCounter = 0

outofEC = False

TmpStatus = OK

cabinTemp = 287.5406

ECWarning = False

TempWarning = False

lastUpdate = 315302.299318414

flightID = 941884159

}

}

}

Each KerbalInfo Entry is a frozen kerbal, each VesselInfo Entry is a vessel that has a DeepFreeze part attached, each PartInfo Entry is for each DeepFreeze freezer part that are part of active vessels.

When the vessel is one vessel (docked) the VesselID in each KerbalInfo entry and PartInfo entry should match the Guid entry in the VesselInfo Entry (for their vessel).

The partID for each KerbalInfo should match the flightID entry in their respective PartInfo Part's that they are in. And no two kerbals in the same part should have the same seatIdx or SeatName.

From the error you have supplied it looks like a frozen Kerbal (KerbalInfo entry) is pointing to a part/seat that is already taken by either another frozen kerbal, or a thawed one.

2) To 'hack' your save file, you can remove the KerbalInfo for all the frozen kerbals, you then need to Remove the entries for each PartInfo (DeepFreeze will re-add them on next startup).

3) You then would have to put your kerbals back in the part, to do that you have to find the "VESSEL" entry for the vessel they are meant to be in, then the "PART" entry and add the crew= parms with the crew members names back in like this:

VESSEL

{

pid = 6715860e036c43538e63ef8872e83e99

name = cry1300testDocking

type = Ship......

....

PART

{

name = CRY-1300Freezer

cid = 4294321408

uid = 4107896637

mid = 2531086846

launchID = 87

parent = 0

position = 0,-1.466139793396,0

rotation = 0,0,0,1

mirror = 1,1,1

symMethod = Radial

istg = 0

dstg = 0

sqor = -1

sepI = 0

sidx = -1

attm = 0

srfN = , -1

attN = top, 0

attN = bottom, 2

mass = 2.5

temp = 287.513214111328

tempExt = 283.089101509767

expt = 0.5

state = 0

connected = True

attached = True

flag = Squad/Flags/default

rTrf = CRY-1300Freezer

modCost = 0

crew = Jebediah Kerman

4) Then you have to go down to the "ROSTER" and find the "KERBAL" entry for each frozen kerbal you changed and change type to Crew "type=Crew" and state to assigned "state = Assigned".

ROSTER

{

KERBAL

{

name = Jebediah Kerman

gender = Male

type = Crew

brave = 0.5

dumb = 0.5

badS = True

tour = False

state = Assigned

ToD = 310267.603309575

idx = 0

If that is all overwhelming and you want to save your savegame, post it on dropbox or suchlike and send me the link via PM message. I will fix it for you.

Just so you know, I fixed the problem. You were right about the Kerbals not having different Seat Indexs and numbers, so I changed them in the respective cryo-1300 parts in the persistent.sfs. Booted up the game and it worked like a charm. A thousand thanks in your honor.

Link to comment
Share on other sites

Just so you know, I fixed the problem. You were right about the Kerbals not having different Seat Indexs and numbers, so I changed them in the respective cryo-1300 parts in the persistent.sfs. Booted up the game and it worked like a charm. A thousand thanks in your honor.

I'm glad you got it working. Not a problem, I like to know my code works, and when it doesn't I like to help where I can. Don't want frozen kerbals just shoved off into a locker somewhere forever.. We need to be able to thaw them as well! :blush:

Just took a look at the save file you uploaded.. and it would appear that whilst the Vessel #(ID) and part #'s appeared correct for each frozen kerbal, the SeatIndx was set to -1 and SeatName was set to Unknown for all crew.

I'm curious to understand how this happened in order to prevent it in future as I feel there might still be a bug here somewhere.

So can you explain to me this vessel:- were the crew frozen whilst the two CRY-1300's were separate vessels ? (IE:before docking)? and were they frozen whilst you were running V0.19? or an earlier version?

I will take a look further into the code setting the seat index to -1 and Unknown is in the code when a problem is encountered. I'll endeavour to figure out how it might have happened, but I also will look at making the code more robust so that if this occurs for someone else it will recover correctly. I thought it already did, but obviously not. So I'll investigate further.

Link to comment
Share on other sites

I'm glad you got it working. Not a problem, I like to know my code works, and when it doesn't I like to help where I can. Don't want frozen kerbals just shoved off into a locker somewhere forever.. We need to be able to thaw them as well! :blush:

Just took a look at the save file you uploaded.. and it would appear that whilst the Vessel #(ID) and part #'s appeared correct for each frozen kerbal, the SeatIndx was set to -1 and SeatName was set to Unknown for all crew.

I'm curious to understand how this happened in order to prevent it in future as I feel there might still be a bug here somewhere.

So can you explain to me this vessel:- were the crew frozen whilst the two CRY-1300's were separate vessels ? (IE:before docking)? and were they frozen whilst you were running V0.19? or an earlier version?

I will take a look further into the code setting the seat index to -1 and Unknown is in the code when a problem is encountered. I'll endeavour to figure out how it might have happened, but I also will look at making the code more robust so that if this occurs for someone else it will recover correctly. I thought it already did, but obviously not. So I'll investigate further.

Answer to question #1: Yes, they were frozen prior to docking, in this particular configuration:

https://www.dropbox.com/s/xu9bl1r242o4wi9/screenshot748.png?dl=0

Answer to question #2: I downloaded version 0.19 prior to building this ship

Edited by Funky Dare Devil
Link to comment
Share on other sites

I'm using v 0.19.0, and I can't thaw kerbals. It was sent up in 3 parts. Propulsion, Command, and crew (in that order) (command has the cryo chamber).

88CA1D10CAE384E15B53AB2FF96048FAA603F7AF

:( first time using this mod, biggest mission I've ever done

Persistent:

https://www.dropbox.com/s/whk0tt2x29o6q56/persistent.sfs?dl=0

Edited by The Destroyer
Link to comment
Share on other sites

Liquid hydrogen for nuclear lightbulbs. 10 km/s for a 200 ton payload. FYI, I used the "Transfer" feature to get between crew module and deepfreeze container, not eva.

Did you use stock transfer or Ship Manifest? There is a known issue with Ship Manifest crew transfers and DeepFreeze as per the OP.

Just looking at your persistent save file now. It appears there should be 9 crew frozen in a CRY-2300 and you have Jeb alive/thawed in a cupola module. Is that corect?

Link to comment
Share on other sites

Did you use stock transfer or Ship Manifest? There is a known issue with Ship Manifest crew transfers and DeepFreeze as per the OP.

Just looking at your persistent save file now. It appears there should be 9 crew frozen in a CRY-2300 and you have Jeb alive/thawed in a cupola module. Is that corect?

Correct, will test it out soon. I used stock transfer.

Link to comment
Share on other sites

It worked!

Also, I'm 99% certain the kerbals aren't supposed to be like this:

http://images.akamai.steamusercontent.com/ugc/643245585291898719/15ABA95222CBFD414C6409D398853678F0EDDF25/

EDIT: After thawing the rest of the crew, some of the ivas weren't bugged and the view returned to normal. hmm...

that would be because I did a 'dirty' fix on your persistent.sfs to get them back in the freezer...

So now that you have thawed them all are all the IVA's back to normal?

I am investigating how this is occurring.

In the code the seat index for a kerbal is set to -1 when:

1) you freeze a kerbal but the code can't find their seat (this should never occur for the DeepFreeze parts, but can occur if you have built your own (internal-less) freezer).

2) when you thaw a kerbal and the IVA model is missing (this should never occur for the DeepFreeze parts, but can occur if you have built your own (internal-less) freezer).

I am also working on adding some code to handle invalid seat situation better..

Link to comment
Share on other sites

that would be because I did a 'dirty' fix on your persistent.sfs to get them back in the freezer...

So now that you have thawed them all are all the IVA's back to normal?

I am investigating how this is occurring.

In the code the seat index for a kerbal is set to -1 when:

1) you freeze a kerbal but the code can't find their seat (this should never occur for the DeepFreeze parts, but can occur if you have built your own (internal-less) freezer).

2) when you thaw a kerbal and the IVA model is missing (this should never occur for the DeepFreeze parts, but can occur if you have built your own (internal-less) freezer).

I am also working on adding some code to handle invalid seat situation better..

That screenshot was actually taken in kerbin orbit, before you fixed it.

Link to comment
Share on other sites

  • 2 weeks later...
  • 2 weeks later...

V0.19.3.0 Re-compiled for KSP 1.0.5.

Basic functions tests seem ok.

There is a portrait camera issue when transferring crew between parts whereby the portrait cameras disappear when you do a crew transfer using the stock right click menu or hatch click menu. This is a Stock bug, and here, not related to DeepFreeze.

If you use my TAC LS workaround DLL's you will have to re-download and follow the TACLS workaround steps in the OP.

Edited by JPLRepo
Link to comment
Share on other sites

This thread is quite old. Please consider starting a new thread rather than reviving this one.

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