Jump to content

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


JPLRepo

Recommended Posts

One note for users of the previous version of DeepFreeze. The new version does break your save (kind of).

With the change from Available to Dead upon Freezing, your existing frozen kerbals will be MIA on the Deepfreeze frozen list. They will show up in Ship Manifest, but they will not have the vessel assigned.

This can be corrected in the GameSave, by changing the Kerbal's state from Available to Dead. You can easily find them by searching for the word "Unowned"

If you do not want to directly edit your gamesave, I suggest you unfreeze your kerbals before upgrading DeepFreeze. Then upgrade and Refreeze your kerbals. You can recover your lost Glykerol by turning off Realism in Ship Manifest and manipulating your fill/dump for the resource, and transferring to get back to your original values. (or just refill for free, if you are not too concerned about realism).

If you have already installed the new version, simply revert to the previous version, unfreeze and then upgrade again.

Update:

After a bit more testing, I've discovered that If you have already installed the upgrade prior to unfreezing your kerbals, they will no longer be associated with their respective freezer parts. you can correct this by freezing 1 kerbal in your part, and exiting the game.

Then, locate the Scenario in your game save named DeepFreeze. in it you will find all your frozen kerbals, with a VesselID and part ID. These IDs will be all zeros except for the kerbal you just froze. copy the vesselID and partID from the just frozen kerbal for future use..

Then, replace the vessel Id on your other kerbas with that value. If your freezer was full, then you will want to thaw the kerbal you just froze and make room. then go back into your save and replace the VesselId and partID with the values you copied.

you will also need to set the vesselname, partID, seat index (0-9), and SeatName (Seat1-10).

Example:


SCENARIO
{
name = DeepFreeze
scene = 5, 6, 7, 8
DFGameSettings
{
Enabled = True
KerbalInfo
{
lastUpdate = 1246270.75248855
status = Dead
type = Unowned
vesselID = 00000000-0000-0000-0000-000000000000
VeselName =
partID = 0
seatIdx = 0
seatName =
experienceTraitName = Engineer
kerbalName = Papa Joe
}
KerbalInfo
{
lastUpdate = 1246270.75248855
status = Dead
type = Unowned
vesselID = 00000000-0000-0000-0000-000000000000
VeselName =
partID = 0
seatIdx = 0
seatName =
experienceTraitName = Scientist
kerbalName = Jenger Kerman
}
KerbalInfo
{
lastUpdate = 1246510.59248877
status = Dead
type = Unowned
--> vesselID = b28ee9a7-f24c-4f43-9d7b-620f907a810d
--> VeselName = StationLifter_sci3
--> partID = 3063789044
--> seatIdx = 0
--> seatName = Seat1
experienceTraitName = Scientist
kerbalName = Chadwick Kerman
}
}
}


In the Kerbal section:

KERBAL
{
name = Chadwick Kerman
gender = Male
type = Unowned
brave = 0.04110909
dumb = 0.9296894
badS = False
tour = False
--> state = Dead (Change From Available to Dead)
ToD = 0
idx = -1
CAREER_LOG
{
flight = 0
}
FLIGHT_LOG
{
flight = 0
0 = Orbit,Kerbin
}
}


Edited by Papa_Joe
Link to comment
Share on other sites

One note for users of the previous version of DeepFreeze. The new version does break your save (kind of).

With the change from Available to Dead upon Freezing, your existing frozen kerbals will be MIA on the Deepfreeze frozen list. They will show up in Ship Manifest, but they will not have the vessel assigned.

This can be corrected in the GameSave, by changing the Kerbal's state from Available to Dead. You can easily find them by searching for the word "Unowned"

If you do not want to directly edit your gamesave, I suggest you unfreeze your kerbals before upgrading DeepFreeze. Then upgrade and Refreeze your kerbals. You can recover your lost Glykerol by turning off Realism in Ship Manifest and manipulating your fill/dump for the resource, and transferring to get back to your original values. (or just refill for free, if you are not too concerned about realism).

If you have already installed the new version, simply revert to the previous version, unfreeze and then upgrade again.

Update:

After a bit more testing, I've discovered that If you have already installed the upgrade prior to unfreezing your kerbals, they will no longer be associated with their respective freezer parts. you can correct this by freezing 1 kerbal in your part, and exiting the game.

Then, locate the Scenario in your game save named DeepFreeze. in it you will find all your frozen kerbals, with a VesselID and part ID. These IDs will be all zeros except for the kerbal you just froze. copy the vesselID and partID from the just frozen kerbal for future use..

Then, replace the vessel Id on your other kerbas with that value. If your freezer was full, then you will want to thaw the kerbal you just froze and make room. then go back into your save and replace the VesselId and partID with the values you copied.

you will also need to set the vesselname, partID, seat index (0-9), and SeatName (Seat1-10).

Example:


SCENARIO
{
name = DeepFreeze
scene = 5, 6, 7, 8
DFGameSettings
{
Enabled = True
KerbalInfo
{
lastUpdate = 1246270.75248855
status = Dead
type = Unowned
vesselID = 00000000-0000-0000-0000-000000000000
VeselName =
partID = 0
seatIdx = 0
seatName =
experienceTraitName = Engineer
kerbalName = Papa Joe
}
KerbalInfo
{
lastUpdate = 1246270.75248855
status = Dead
type = Unowned
vesselID = 00000000-0000-0000-0000-000000000000
VeselName =
partID = 0
seatIdx = 0
seatName =
experienceTraitName = Scientist
kerbalName = Jenger Kerman
}
KerbalInfo
{
lastUpdate = 1246510.59248877
status = Dead
type = Unowned
--> vesselID = b28ee9a7-f24c-4f43-9d7b-620f907a810d
--> VeselName = StationLifter_sci3
--> partID = 3063789044
--> seatIdx = 0
--> seatName = Seat1
experienceTraitName = Scientist
kerbalName = Chadwick Kerman
}
}
}


In the Kerbal section:

KERBAL
{
name = Chadwick Kerman
gender = Male
type = Unowned
brave = 0.04110909
dumb = 0.9296894
badS = False
tour = False
--> state = Dead (Change From Available to Dead)
ToD = 0
idx = -1
CAREER_LOG
{
flight = 0
}
FLIGHT_LOG
{
flight = 0
0 = Orbit,Kerbin
}
}


Thanks Papa_Joe for taking the time to document this... I took the simple route of putting the simple approach in the install notes in the OP.

The instructions above are for advanced users. I promise to do my best to ensure all future versions are not game breaking.. but there is always a time when you are adding major changes that it will. But hopefully that will not be for a while.

Link to comment
Share on other sites

Thanks guys, I had thought about all of this. But I knew TaranisElsu was working on a new version too.. Let's see if he responds next day or two.

Ok, I got bored and forked TAC LS, made the changes, sent a pull request to TaranisElsu.

Source of my change is here.

To fix TAC LS to work with DeepFreeze:

1) Install TAC LS and DeepFreeze (if you haven't already).

2) go to this link and click "view raw" - yes this message isn't intuitive. This will download the ZIP file with the fixed DLLs in it.

3) Install the two DLLs in the ZIP file to "<yourKSPinstallDIR>\GameData\ThunderAerospace\TacLifeSupport\" directory (ENSURE YOU OVERWRITE existing files).

4) Done. TAC LS will now correctly ignore frozen Kerbals and won't retrospectively consume life support when they are thawed out.

I have no intention on maintaining my fork. I hope TaranisElsu will merge my changes into his mod fairly soon. Will let everyone know when he does.

The ZIP file contains just the two DLLs and the TAC LS LICENSE file which permits me to do this.

Edited by JPLRepo
Link to comment
Share on other sites

Thanks Papa_Joe for taking the time to document this... I took the simple route of putting the simple approach in the install notes in the OP.

The instructions above are for advanced users. I promise to do my best to ensure all future versions are not game breaking.. but there is always a time when you are adding major changes that it will. But hopefully that will not be for a while.

LOL! In my excitement and haste, I completely skipped the BOLD text.... Anyway, it was good for me to go hunting to fix my own broke save, since I cannot seem to "read the instructions" :P

Link to comment
Share on other sites

LOL! In my excitement and haste, I completely skipped the BOLD text.... Anyway, it was good for me to go hunting to fix my own broke save, since I cannot seem to "read the instructions" :P

Lol. I feel a bit guilty. The instructions were there from the start but I changed them to bold after your post for us "older" people who might miss it.

Link to comment
Share on other sites

Perhaps?... TAC LS loads and updates a list of active kerbals per vessel on game load startup.

I'm not involved in TAC-LS or this mod, but I believe TAC-LS is going to be giving the option to hibernate kerbals on "death" instead of killing them.

Perhaps that might be useful for a suspended animation mod?

Link to comment
Share on other sites

I have not tested with this mod. But I just took a look at the code (I wouldn't be able to actually test it until the weekend? now), it would appear this mod checks the vessel for active crew to calculate the snacks requirements.

Given DeepFreeze REMOVES frozen kerbals from the vessel's active crew then I would say YES it is compatible. Happy for you to test it. :wink:

This post almost avoided the need for my stupid question about which life support mods are working with this, but instead let me ask it a bit differently... which life support mods have you tested with and can confirm are working? I use Interstellar Flight LS myself.

If not already tested I can test myself and post results, just didn't want to if its already been done. Thanks!

Link to comment
Share on other sites

I'm not involved in TAC-LS or this mod, but I believe TAC-LS is going to be giving the option to hibernate kerbals on "death" instead of killing them.

Perhaps that might be useful for a suspended animation mod?

TAC LS already has this 'feature'. No it doesn't help but thanks for the input.

- - - Updated - - -

This post almost avoided the need for my stupid question about which life support mods are working with this, but instead let me ask it a bit differently... which life support mods have you tested with and can confirm are working? I use Interstellar Flight LS myself.

If not already tested I can test myself and post results, just didn't want to if its already been done. Thanks!

There are no stupid questions... :wink:

There are so many life support mods.. another one...

I have tested with TAC LS and reviewed the code of some others.

But I'm very happy for the community to help out with this. That would be great, as I just don't have all the time to set-up test KSP installs with ALL the Life Support mods and test everyone one of them. In fact, I have only really ever used TAC LS myself so I also have to become familiar with each of them as well.

Link to comment
Share on other sites

I have not tested with this mod. But I just took a look at the code (I wouldn't be able to actually test it until the weekend? now), it would appear this mod checks the vessel for active crew to calculate the snacks requirements.

Given DeepFreeze REMOVES frozen kerbals from the vessel's active crew then I would say YES it is compatible. Happy for you to test it. :wink:

Snacks

It does not consume snacks for frozen kerbals, but has a small issue as well where the ship supply screen does not update when you freeze crew unless you switch vessels or game scene.

Working on a fix.

Link to comment
Share on other sites

I like this mod. It is a great device for parking missions. My only criticism is that the freezer is just too big. We need a freezer for two or three kerbals, not ten. Generally speaking those of us using life support mods lean toward the realism side of ksp. But I cannot think of any quazi-realistic mission scenarios requiring ten crew members. I think a 2.5m but half-sized part for three crew would see much more use.

Link to comment
Share on other sites

I like this mod. It is a great device for parking missions. My only criticism is that the freezer is just too big. We need a freezer for two or three kerbals, not ten. Generally speaking those of us using life support mods lean toward the realism side of ksp. But I cannot think of any quazi-realistic mission scenarios requiring ten crew members. I think a 2.5m but half-sized part for three crew would see much more use.

Refer to OP>

Planned work:

  • Finish Internals for freezer part with textures.
  • New smaller freezers (4-6 kerbals) and single kerbal parts.

Link to comment
Share on other sites

Tracking a bunch of bugs and enhancements on github:

https://github.com/JPLRepo/DeepFreeze/issues

Just found another... the Famous Sounds, including the microwave ping, that this mod is known for... are sadly not working... But I have figured out why.

I haven't released an update as I am waiting for the IVA textures/internals... but given all the bugs, maybe I should do a quick update.

Link to comment
Share on other sites

Think I found another bug.

If you have all 10 seats frozen, there is no available seat with which to thaw a kerbal. When you try to thaw a kerbal, it says that the part is full. Further, when selecting crew from Ship Manifest, the CryoFreezer part is no longer included. This indicates the crewCapacity is set to 0 after all kerbals are frozen...

Am I missing something, or did this behavior change from test to release on the last version?

I could have a bug on my side...

Edited by Papa_Joe
Link to comment
Share on other sites

Think I found another bug.

If you have all 10 seats frozen, there is no available seat with which to thaw a kerbal. When you try to thaw a kerbal, it says that the part is full. Further, when selecting crew from Ship Manifest, the CryoFreezer part is no longer included. This indicates the crewCapacity is set to 0 after all kerbals are frozen...

Am I missing something, or did this behavior change from test to release on the last version?

I could have a bug on my side...

I did change this at one stage because there are only 10 seats inside... It decreases the crew capacity each time you freeze one and increases it each time you thaw one.

if it's zero and you check I can see how this is happening, and if ten frozen aboard I know what's happening when you thaw, it is checking the capacity before changing it...

going to need a new process here I think. So currently it changes the crewcapacity and it marks their seats as taken. I did this because it didn't seem to manage seats correctly and probably because the INTERNAL is not complete and configured correctly. maybe it shouldn't change the crew capacity at all and manage the seats correctly. I'll think about it and do some more testing.

Link to comment
Share on other sites

I did change this at one stage because there are only 10 seats inside... It decreases the crew capacity each time you freeze one and increases it each time you thaw one.

if it's zero and you check I can see how this is happening, and if ten frozen aboard I know what's happening when you thaw, it is checking the capacity before changing it...

going to need a new process here I think. So currently it changes the crewcapacity and it marks their seats as taken. I did this because it didn't seem to manage seats correctly and probably because the INTERNAL is not complete and configured correctly. maybe it shouldn't change the crew capacity at all and manage the seats correctly. I'll think about it and do some more testing.

Getting closer to a release.. Lots of bug fixes and new features like heat management of the freezer parts...

Holding the update release until the internal is done... which is very very close.. Sneak peek:

YUaIXpU.png

Edited by JPLRepo
Link to comment
Share on other sites

Is this mod Community Tech Tree enabled? (I can't test myself because I'm not at my desktop at the moment) Either way I'm still downloading it, I'm just curious :D

That depends on what "mod Community Tech Tree enabled" constitutes.

If all it requires is for all the parts to be assigned a stock tech tree node, then yes.

If it requires other config files, then no. Happy for someone else to create necessary config for all these tech tree configs and mods, as there are just too many of them.

Personally I only play sandbox.

Link to comment
Share on other sites

That depends on what "mod Community Tech Tree enabled" constitutes.

If all it requires is for all the parts to be assigned a stock tech tree node, then yes.

If it requires other config files, then no. Happy for someone else to create necessary config for all these tech tree configs and mods, as there are just too many of them.

Personally I only play sandbox.

Yea it'll work fine with CTT (all the parts will just be in the stock nodes , which are kept in the CTT tree)

I'd be happy to throw you a CTT config to put them in sensible places in the tree this afternoon.

Link to comment
Share on other sites

That depends on what "mod Community Tech Tree enabled" constitutes.

If all it requires is for all the parts to be assigned a stock tech tree node, then yes.

If it requires other config files, then no. Happy for someone else to create necessary config for all these tech tree configs and mods, as there are just too many of them.

Personally I only play sandbox.

Cool. :) And sorry, I hope I didn't come across as demanding or anything. I was just asking with the intent to make and share the module manager patch myself if it didn't already exist, but it sounds like rabidninjawombat is already beating me to it. I'll also look into making a patch for Mod Orient Tech tree.

Edited by JDCollie
Link to comment
Share on other sites

Here's the cfg code for Mod Oriented Tech Tree compatibility.

@TechTree:NEEDS[ModOrientedTechTree]
{
RDNode
{
id = cryogenics
title = Cryogenics
description = Tired of Jeb stealing all the snacks on deep space missions? The boys at R&D have come up with a better option than padlocking the cupboard.
cost = 1000
hideEmpty = False
nodeName = df_cryogenics
anyToUnlock = False
icon = RDicon_largeVolumeContainment
pos = -885,800,-1
scale = 0.6
Parent
{
parentID = largeLifeSupport
lineFrom = RIGHT
lineTo = LEFT
}
Parent
{
parentID = lifeSupportConverters
lineFrom = RIGHT
lineTo = LEFT
}
}
}
@PART[cryofreezer]:NEEDS[ModOrientedTechTree]
{
@TechRequired = cryogenics
}
@PART[GlykerolTankRadial]:NEEDS[ModOrientedTechTree]
{
@TechRequired = cryogenics
}

Edited by JDCollie
Link to comment
Share on other sites

Something I wonder about the IVA...where would the point(s) of view be? If it is from the kerbals inside the cyro pod...that means they are not in cyrosleep, they are just frozen and is completely aware of their surrounding...forever staring out without being able to move or talk or eat... That is a creepy thought.

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