From 2001c093874c741651633124775823df28955fe3 Mon Sep 17 00:00:00 2001 From: JPLRepo Date: Sat, 17 Oct 2020 08:03:38 +1000 Subject: [PATCH 1/6] Update for KSP 1.10.x --- .../GameData/REPOSoftTech/DeepFreeze/Changelog.txt | 4 +++- .../REPOSoftTech/DeepFreeze/DeepFreezeContinued.version | 8 ++++---- Source/Properties/AssemblyInfo.cs | 6 +++--- 3 files changed, 10 insertions(+), 8 deletions(-) diff --git a/Distribution/GameData/REPOSoftTech/DeepFreeze/Changelog.txt b/Distribution/GameData/REPOSoftTech/DeepFreeze/Changelog.txt index fccb002..6a0d4a0 100644 --- a/Distribution/GameData/REPOSoftTech/DeepFreeze/Changelog.txt +++ b/Distribution/GameData/REPOSoftTech/DeepFreeze/Changelog.txt @@ -1,4 +1,6 @@ -V0.28.0.0 +V0.29.0.0 +Re-Compile for KSP 1.10.x +V0.28.0.0 Re-Compile for KSP 1.9.x Fixed the visibility of the CRY-0300 External Door with JSI Advanced Transparent Pods also installed. Fixed the animated Croypod glass on the CRY-300R. diff --git a/Distribution/GameData/REPOSoftTech/DeepFreeze/DeepFreezeContinued.version b/Distribution/GameData/REPOSoftTech/DeepFreeze/DeepFreezeContinued.version index b16183f..8a18ff7 100644 --- a/Distribution/GameData/REPOSoftTech/DeepFreeze/DeepFreezeContinued.version +++ b/Distribution/GameData/REPOSoftTech/DeepFreeze/DeepFreezeContinued.version @@ -2,8 +2,8 @@ "NAME":"DeepFreeze Continued...", "URL":"http://ksp-avc.cybutek.net/version.php?id=183", "DOWNLOAD":"http://spacedock.info/mod/142/DeepFreeze%20Continued...", -"VERSION":{"MAJOR":0,"MINOR":28,"PATCH":0,"BUILD":0}, -"KSP_VERSION":{"MAJOR":1,"MINOR":9,"PATCH":0}, -"KSP_VERSION_MIN":{"MAJOR":1,"MINOR":9,"PATCH":0}, -"KSP_VERSION_MAX":{"MAJOR":1,"MINOR":9,"PATCH":99} +"VERSION":{"MAJOR":0,"MINOR":29,"PATCH":0,"BUILD":0}, +"KSP_VERSION":{"MAJOR":1,"MINOR":10,"PATCH":0}, +"KSP_VERSION_MIN":{"MAJOR":1,"MINOR":10,"PATCH":0}, +"KSP_VERSION_MAX":{"MAJOR":1,"MINOR":10,"PATCH":99} } \ No newline at end of file diff --git a/Source/Properties/AssemblyInfo.cs b/Source/Properties/AssemblyInfo.cs index b09220e..9dd3ee2 100644 --- a/Source/Properties/AssemblyInfo.cs +++ b/Source/Properties/AssemblyInfo.cs @@ -31,6 +31,6 @@ // You can specify all the values or you can default the Build and Revision Numbers // by using the '*' as shown below: // [assembly: AssemblyVersion("1.0.*")] -[assembly: AssemblyVersion("0.28.0.0")] -[assembly: AssemblyFileVersion("0.28.0.0")] -[assembly: KSPAssembly("DeepFreeze", 0, 28)] \ No newline at end of file +[assembly: AssemblyVersion("0.29.0.0")] +[assembly: AssemblyFileVersion("0.29.0.0")] +[assembly: KSPAssembly("DeepFreeze", 0, 29)] \ No newline at end of file From e2292f6d7a5d398143e357144f9b2373ebc8386f Mon Sep 17 00:00:00 2001 From: JPLRepo Date: Thu, 31 Dec 2020 10:04:17 +1000 Subject: [PATCH 2/6] Updates for KSP 1.11.x --- .../GameData/CommunityResourcePack/CHANGELOG.txt | 4 ++++ .../GameData/CommunityResourcePack/CRP.version | 10 +++++----- .../REPOSoftTech/DeepFreeze/Parts/CRY0300RFreezer.cfg | 5 +++++ .../DeepFreeze/Parts/GlykerolRadialTank.cfg | 5 +++++ Source/Properties/AssemblyInfo.cs | 6 +++--- 5 files changed, 22 insertions(+), 8 deletions(-) diff --git a/Distribution/GameData/CommunityResourcePack/CHANGELOG.txt b/Distribution/GameData/CommunityResourcePack/CHANGELOG.txt index c642755..b226dc2 100644 --- a/Distribution/GameData/CommunityResourcePack/CHANGELOG.txt +++ b/Distribution/GameData/CommunityResourcePack/CHANGELOG.txt @@ -1,3 +1,7 @@ +1.4.2 - 2020.12.20 +------------------ +KSP 1.11 Compatibility + 1.3.0 - 2019.10.28 ------------------ KSP 1.8.x Compatibility diff --git a/Distribution/GameData/CommunityResourcePack/CRP.version b/Distribution/GameData/CommunityResourcePack/CRP.version index 254ae88..904e41a 100644 --- a/Distribution/GameData/CommunityResourcePack/CRP.version +++ b/Distribution/GameData/CommunityResourcePack/CRP.version @@ -9,8 +9,8 @@ }, "VERSION":{ "MAJOR":1, - "MINOR":3, - "PATCH":0, + "MINOR":4, + "PATCH":2, "BUILD":0 }, "KSP_VERSION":{ @@ -25,7 +25,7 @@ }, "KSP_VERSION_MAX":{ "MAJOR":1, - "MINOR":8, - "PATCH":9 - } + "MINOR":99, + "PATCH":99 + } } diff --git a/Distribution/GameData/REPOSoftTech/DeepFreeze/Parts/CRY0300RFreezer.cfg b/Distribution/GameData/REPOSoftTech/DeepFreeze/Parts/CRY0300RFreezer.cfg index 09df297..6dd7f7d 100644 --- a/Distribution/GameData/REPOSoftTech/DeepFreeze/Parts/CRY0300RFreezer.cfg +++ b/Distribution/GameData/REPOSoftTech/DeepFreeze/Parts/CRY0300RFreezer.cfg @@ -74,4 +74,9 @@ PART PartHasDoor = False cryopodstateclosedstring = True } + MODULE + { + name = ModuleCargoPart + packedVolume = -1 + } } diff --git a/Distribution/GameData/REPOSoftTech/DeepFreeze/Parts/GlykerolRadialTank.cfg b/Distribution/GameData/REPOSoftTech/DeepFreeze/Parts/GlykerolRadialTank.cfg index 82b85ac..b837777 100644 --- a/Distribution/GameData/REPOSoftTech/DeepFreeze/Parts/GlykerolRadialTank.cfg +++ b/Distribution/GameData/REPOSoftTech/DeepFreeze/Parts/GlykerolRadialTank.cfg @@ -35,4 +35,9 @@ PART amount = 25 maxAmount = 25 } + MODULE + { + name = ModuleCargoPart + packedVolume = 100 + } } diff --git a/Source/Properties/AssemblyInfo.cs b/Source/Properties/AssemblyInfo.cs index 9dd3ee2..ada4d25 100644 --- a/Source/Properties/AssemblyInfo.cs +++ b/Source/Properties/AssemblyInfo.cs @@ -31,6 +31,6 @@ // You can specify all the values or you can default the Build and Revision Numbers // by using the '*' as shown below: // [assembly: AssemblyVersion("1.0.*")] -[assembly: AssemblyVersion("0.29.0.0")] -[assembly: AssemblyFileVersion("0.29.0.0")] -[assembly: KSPAssembly("DeepFreeze", 0, 29)] \ No newline at end of file +[assembly: AssemblyVersion("0.30.0.0")] +[assembly: AssemblyFileVersion("0.30.0.0")] +[assembly: KSPAssembly("DeepFreeze", 0, 30)] \ No newline at end of file From 6fd31dee2fe1abd720eab41fb34cd5a7b0c7c5a3 Mon Sep 17 00:00:00 2001 From: JPLRepo Date: Thu, 31 Dec 2020 10:27:09 +1000 Subject: [PATCH 3/6] Update changelog for KSP 1.11.x --- .../GameData/REPOSoftTech/DeepFreeze/Changelog.txt | 5 ++++- .../REPOSoftTech/DeepFreeze/DeepFreezeContinued.version | 8 ++++---- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/Distribution/GameData/REPOSoftTech/DeepFreeze/Changelog.txt b/Distribution/GameData/REPOSoftTech/DeepFreeze/Changelog.txt index 6a0d4a0..1f59095 100644 --- a/Distribution/GameData/REPOSoftTech/DeepFreeze/Changelog.txt +++ b/Distribution/GameData/REPOSoftTech/DeepFreeze/Changelog.txt @@ -1,4 +1,7 @@ -V0.29.0.0 +V0.30.0.0 +Re-Compile for KSP 1.11.x +Add EVA construction capabilities to the CRY-300R (Can move it only, can't put in inventories) and the RS-X20R Glykerol Container (can be put in inventories as well). +V0.29.0.0 Re-Compile for KSP 1.10.x V0.28.0.0 Re-Compile for KSP 1.9.x diff --git a/Distribution/GameData/REPOSoftTech/DeepFreeze/DeepFreezeContinued.version b/Distribution/GameData/REPOSoftTech/DeepFreeze/DeepFreezeContinued.version index 8a18ff7..1b7bc48 100644 --- a/Distribution/GameData/REPOSoftTech/DeepFreeze/DeepFreezeContinued.version +++ b/Distribution/GameData/REPOSoftTech/DeepFreeze/DeepFreezeContinued.version @@ -2,8 +2,8 @@ "NAME":"DeepFreeze Continued...", "URL":"http://ksp-avc.cybutek.net/version.php?id=183", "DOWNLOAD":"http://spacedock.info/mod/142/DeepFreeze%20Continued...", -"VERSION":{"MAJOR":0,"MINOR":29,"PATCH":0,"BUILD":0}, -"KSP_VERSION":{"MAJOR":1,"MINOR":10,"PATCH":0}, -"KSP_VERSION_MIN":{"MAJOR":1,"MINOR":10,"PATCH":0}, -"KSP_VERSION_MAX":{"MAJOR":1,"MINOR":10,"PATCH":99} +"VERSION":{"MAJOR":0,"MINOR":30,"PATCH":0,"BUILD":0}, +"KSP_VERSION":{"MAJOR":1,"MINOR":11,"PATCH":0}, +"KSP_VERSION_MIN":{"MAJOR":1,"MINOR":11,"PATCH":0}, +"KSP_VERSION_MAX":{"MAJOR":1,"MINOR":11,"PATCH":99} } \ No newline at end of file From 2dfb712837a22dbc9c5152708613bc775d1c93b9 Mon Sep 17 00:00:00 2001 From: JPLRepo Date: Sun, 5 Sep 2021 17:45:36 +1000 Subject: [PATCH 4/6] Updates for KSP 1.12.x --- .../REPOSoftTech/DeepFreeze/Changelog.txt | 8 +- .../DeepFreeze/DFLocalization.cfg | 246 ++---------------- .../DeepFreeze/DeepFreezeContinued.version | 8 +- Source/DFIntMemory.cs | 6 +- Source/DFSettings.cs | 6 + Source/DeepFreezerPart.cs | 162 ++++++++++-- Source/Properties/AssemblyInfo.cs | 6 +- Source/SettingsParms.cs | 6 + 8 files changed, 192 insertions(+), 256 deletions(-) diff --git a/Distribution/GameData/REPOSoftTech/DeepFreeze/Changelog.txt b/Distribution/GameData/REPOSoftTech/DeepFreeze/Changelog.txt index 1f59095..9c8b6e1 100644 --- a/Distribution/GameData/REPOSoftTech/DeepFreeze/Changelog.txt +++ b/Distribution/GameData/REPOSoftTech/DeepFreeze/Changelog.txt @@ -1,4 +1,10 @@ -V0.30.0.0 +V0.31.0.0 +Re-Compile for KSP 1.12.x +Added difficulty settings to turn off internal beep sounds and all sounds. +Fix background resources - Kopernicus solar panels integration. +Fix Portraits showing from kerbals in loaded vessels that aren't the active vessel. +Fix timing issue with the Cryopod door animation and freeze glass animation playing at the same time. They now play one after another as they used to/should. +V0.30.0.0 Re-Compile for KSP 1.11.x Add EVA construction capabilities to the CRY-300R (Can move it only, can't put in inventories) and the RS-X20R Glykerol Container (can be put in inventories as well). V0.29.0.0 diff --git a/Distribution/GameData/REPOSoftTech/DeepFreeze/DFLocalization.cfg b/Distribution/GameData/REPOSoftTech/DeepFreeze/DFLocalization.cfg index ff084a8..5f13c40 100644 --- a/Distribution/GameData/REPOSoftTech/DeepFreeze/DFLocalization.cfg +++ b/Distribution/GameData/REPOSoftTech/DeepFreeze/DFLocalization.cfg @@ -212,7 +212,11 @@ Localization #autoLOC_DF_00200 = Thaw <<1>> #autoLOC_DF_00201 = Unloaded Vessel Processing - #autoLOC_DF_00202 = If enabled DeepFreeze will process resources on unloaded vessels. If disabled, it won't and play the catchup and estimation game. + #autoLOC_DF_00202 = If enabled DeepFreeze will process resources on unloaded vessels. If disabled, it won't and play the catchup and estimation game. + #autoLOC_DF_00203 = Beep Sounds On + #autoLOC_DF_00204 = If enabled Beep sounds are heard inside freezer parts with frozen kerbals. + #autoLOC_DF_00205 = Other Sounds On + #autoLOC_DF_00206 = If enabled all other DeepFreeze sounds are heard. } } @@ -431,224 +435,10 @@ Localization #autoLOC_DF_00201 = Procesamiento de naves sin Carga #autoLOC_DF_00202 = Si se habilita, CongelaciónProfunda procesará los recursos en las naves sin carga. Si está deshabilitado, no lo hará y jugará el juego de recuperación y estimación. - } -} - -Localization -{ - es-mx - { - #autoLOC_DF_00001 = <<1>> has recovered from emergency thaw and resumed normal duties. - #autoLOC_DF_00002 = <<1>> has been emergency thawed and cannot perform duties for <<2>> minutes. - #autoLOC_DF_00003 = DeepFreeze - #autoLOC_DF_00004 = DeepFreeze Vessel Switch - #autoLOC_DF_00005 = DeepFreeze Vessel Switch Failed - #autoLOC_DF_00006 = DeepFreeze Kerbals - #autoLOC_DF_00007 = DeepFreeze Alarms - #autoLOC_DF_00008 = Close Window - #autoLOC_DF_00009 = Vessel - #autoLOC_DF_00010 = Vessel Name - #autoLOC_DF_00011 = Part - #autoLOC_DF_00012 = Part Name - #autoLOC_DF_00013 = Tmp - #autoLOC_DF_00014 = Part Temperature Status - #autoLOC_DF_00015 = EC - #autoLOC_DF_00016 = Electric Charge Status - #autoLOC_DF_00017 = R.T - #autoLOC_DF_00018 = Remote Tech Status - #autoLOC_DF_00019 = Alarms - #autoLOC_DF_00020 = Press the button for Kerbal Alarm Clock Alarms assigned to this part - #autoLOC_DF_00021 = LastUpd - #autoLOC_DF_00022 = The Time the part was last updated - #autoLOC_DF_00023 = TimeRem - #autoLOC_DF_00024 = Approx. time remaining before Electric Charge will run out - #autoLOC_DF_00025 = Vessel <<1>> is Over-Heating. - #autoLOC_DF_00026 = OFF - #autoLOC_DF_00027 = S/BY - #autoLOC_DF_00028 = OUT - #autoLOC_DF_00029 = Vesssel <<1>> is out of ElectricCharge.\n Situation Critical. - #autoLOC_DF_00030 = ALRT - #autoLOC_DF_00031 = Vessel <<1>> is almost out of ElectricCharge. - #autoLOC_DF_00032 = LOW - #autoLOC_DF_00033 = OK - #autoLOC_DF_00034 = NC - #autoLOC_DF_00035 = Alarm - #autoLOC_DF_00036 = Go to Alarms - #autoLOC_DF_00037 = There are currently no Frozen Kerbals - #autoLOC_DF_00038 = Kerbal Name - #autoLOC_DF_00039 = Profession - #autoLOC_DF_00040 = Thaw - #autoLOC_DF_00041 = Thaw this kerbal - #autoLOC_DF_00042 = Cannot thaw <<1>> from KSC. Vessel still exists <<2>> at <<3>> - #autoLOC_DF_00043 = Freeze - #autoLOC_DF_00044 = Freeze this kerbal - #autoLOC_DF_00045 = KAC Alarms - #autoLOC_DF_00046 = Resize Window - #autoLOC_DF_00047 = <<1>>K - #autoLOC_DF_00048 = <<2>>C - #autoLOC_DF_00049 = <<1>> was stored frozen at KSC - #autoLOC_DF_00050 = Insufficient funds to thaw <<1>> at this time - #autoLOC_DF_00051 = <<1>> was found and thawed out - #autoLOC_DF_00052 = <<1>> was found and thawed out <<2>> funds deducted from account - #autoLOC_DF_00053 = Cannot thaw <<1>> vessel still exists <<2>> at <<3>> - - #autoLOC_DF_00054 = Freezer Capacity - #autoLOC_DF_00055 = Total Frozen Kerbals - #autoLOC_DF_00056 = Freezer Space - #autoLOC_DF_00057 = Part is Full? - #autoLOC_DF_00058 = R/T Connection - #autoLOC_DF_00059 = Freezer Temp - #autoLOC_DF_00060 = Cabin Temperature - #autoLOC_DF_00061 = K - #autoLOC_DF_00062 = DeepFreeze Menu - #autoLOC_DF_00063 = EC p/Kerbal to run - #autoLOC_DF_00064 = \u0020p/min - #autoLOC_DF_00065 = Current EC Usage - #autoLOC_DF_00066 = \u0020p/sec - #autoLOC_DF_00067 = Glykerol Reqd. to Freeze - #autoLOC_DF_00068 = EC p/Kerbal to Frze/Thaw - #autoLOC_DF_00069 = \nCryopods: <<1>> - #autoLOC_DF_00070 = C - #autoLOC_DF_00071 = Pod:<<1>> - #autoLOC_DF_00072 = Insufficient electric charge to monitor frozen kerbals. - #autoLOC_DF_00073 = \u0020Freezer Out of EC : Systems critical in <<1>> secs - #autoLOC_DF_00074 = <<1>> died due to lack of Electrical Charge to run cryogenics - #autoLOC_DF_00075 = Check Temperatures, Freezer getting hot - #autoLOC_DF_00076 = Warning!! Check Temperatures NOW, Freezer getting very hot - #autoLOC_DF_00077 = Temperature getting too hot for kerbals to remain frozen. - #autoLOC_DF_00078 = Freezer Over Temp : Systems critical in <<1>> secs - #autoLOC_DF_00079 = <<1>> died due to overheating, cannot keep frozen - #autoLOC_DF_00080 = Over Temperature - Emergency Thaw in Progress. - #autoLOC_DF_00081 = Insufficient electric charge to freeze kerbal - #autoLOC_DF_00082 = \u0020Cryopod - Charging: <<1>> - #autoLOC_DF_00083 = Insufficient Glykerol to freeze kerbal - #autoLOC_DF_00084 = Cannot Freeze while Temperature greater than <<1>> - #autoLOC_DF_00085 = Cannot Freeze while Crew Xfer in progress - #autoLOC_DF_00086 = Cannot run Freeze process on more than one Kerbal at a time - #autoLOC_DF_00087 = RemoteTech Detected. Press Freeze Again if you want to Freeze your Last Active Kerbal - #autoLOC_DF_00088 = An Active connection or Active Kerbal is Required On-Board to Initiate Thaw Process - #autoLOC_DF_00089 = Cannot freeze kerbal. Freezer is full - #autoLOC_DF_00090 = Cannot freeze kerbal at this time - #autoLOC_DF_00091 = Starting Freeze process - #autoLOC_DF_00092 = Freezing Aborted - #autoLOC_DF_00093 = <<1>> frozen - #autoLOC_DF_00094 = Insufficient electric charge to thaw kerbal - #autoLOC_DF_00095 = \u0020Cryopod - Charging:<<1>> - #autoLOC_DF_00096 = Cannot Thaw <<1>> Part is full - #autoLOC_DF_00097 = Cannot Thaw while Crew Xfer in progress - #autoLOC_DF_00098 = Cannot run Thaw process on more than one Kerbal at a time - #autoLOC_DF_00099 = Cannot thaw kerbal at this time - #autoLOC_DF_00100 = Code Error: Cannot thaw kerbal at this time, Check Log - #autoLOC_DF_00101 = Thawing Aborted - #autoLOC_DF_00102 = <<1>> thawed out - #autoLOC_DF_00103 = <<1>> was thawed out due to lack of Electrical Charge to run cryogenics - #autoLOC_DF_00104 = DeepFreezer mechanical failure - #autoLOC_DF_00105 = Vessel about to change, Aborting Thaw process - #autoLOC_DF_00106 = Vessel about to change, Aborting Freeze process - - #autoLOC_DF_00107 = DeepFreeze Items - #autoLOC_DF_00108 = There is less than 5 units of Glykerol on-board for your DeepFreeze Freezers - #autoLOC_DF_00109 = A DeepFreeze Alarm event has occurred. Please Switch to <<1>> to execute. - #autoLOC_DF_00110 = DeepFreeze Alarm processing completed. - - #autoLOC_DF_00111 = Name - #autoLOC_DF_00112 = Alarm Name - #autoLOC_DF_00113 = Alarm Type - #autoLOC_DF_00114 = KAC Alarm Type - #autoLOC_DF_00115 = Time Remain. - #autoLOC_DF_00116 = Time remaining before Alarm is triggered - #autoLOC_DF_00117 = There are currently no KAC alarms associated to a DeepFreeze vessel - #autoLOC_DF_00118 = Delete - #autoLOC_DF_00119 = Delete this KAC alarm completely - #autoLOC_DF_00120 = Modify - #autoLOC_DF_00121 = Modify this Alarm - #autoLOC_DF_00122 = Save - #autoLOC_DF_00123 = Save Alarm Changes - #autoLOC_DF_00124 = Cannot Save Alarm. No R/Tech Connection to vessel. - #autoLOC_DF_00125 = DeepFreeze Alarm changes Saved. - #autoLOC_DF_00126 = DeepFreeze Cannot Save alarm changes, Time is up. - #autoLOC_DF_00127 = Cancel - #autoLOC_DF_00128 = Cancel any changes - #autoLOC_DF_00129 = Name - #autoLOC_DF_00130 = The Kerbals Name - #autoLOC_DF_00131 = Trait - #autoLOC_DF_00132 = The Kerbals Profession - #autoLOC_DF_00133 = Thaw - #autoLOC_DF_00134 = Thaw this kerbal on alarm activation - #autoLOC_DF_00135 = Freeze - #autoLOC_DF_00136 = Freeze this kerbal on alarm activation - #autoLOC_DF_00137 = Modify - #autoLOC_DF_00138 = Modify this Alarms settings - - #autoLOC_DF_00139 = Switch to Vessel - #autoLOC_DF_00140 = Not Now - #autoLOC_DF_00141 = Don't switch vessel now - #autoLOC_DF_00142 = Automatic Switch to vessel failed.\nPlease switch manually to vessel Immediately - #autoLOC_DF_00143 = Switch to DeepFreeze vessel required - - #autoLOC_DF_00144 = DeepFreeze Options - #autoLOC_DF_00145 = ElectricCharge Required to run Freezers - #autoLOC_DF_00146 = If on, EC is required to run freezers - #autoLOC_DF_00147 = Fatal EC/Heat Option - #autoLOC_DF_00148 = If on Kerbals will die if EC runs out or it gets too hot - #autoLOC_DF_00149 = Non Fatal Comatose Time(in secs) - #autoLOC_DF_00150 = The time in seconds a kerbal is comatose\n if fatal EC / Heat option is off - #autoLOC_DF_00151 = AutoRecover Frozen Kerbals at KSC - #autoLOC_DF_00152 = If on, will AutoRecover Frozen Kerbals at the KSC\n and deduct the Cost from your funds - #autoLOC_DF_00153 = Cost to Thaw a Kerbal at KSC - #autoLOC_DF_00154 = Amt of currency Reqd to Freeze a Kerbal from the KSC - #autoLOC_DF_00155 = EC Reqd to Freeze/Thaw a Kerbal - #autoLOC_DF_00156 = Amt of ElecCharge Reqd to Freeze/Thaw a Kerbal. - #autoLOC_DF_00157 = Glykerol Reqd to Freeze a Kerbal - #autoLOC_DF_00158 = Amt of Glykerol used to Freeze a Kerbal,\nOverrides Part values. - #autoLOC_DF_00159 = DeepFreeze Temperatures - #autoLOC_DF_00160 = Get your calculator out. - #autoLOC_DF_00161 = Temps are in (K)elvin. (K) = (C)elcius + 273.15. (K) = ((F)arenheit + 459.67) × 5/9. Get your calculator out - #autoLOC_DF_00162 = Regulated Temperatures Required - #autoLOC_DF_00163 = If on, Regulated Temps apply to freeze\nand keep Kerbals Frozen. - #autoLOC_DF_00164 = Min. Temp. for Freezer to Freeze(K) - #autoLOC_DF_00165 = The minimum temperature (in Kelvin) for a Freezer\nto be able to Freeze a Kerbal. - #autoLOC_DF_00166 = Max. Temp. to keep Kerbals Frozen(K) - #autoLOC_DF_00167 = The maximum temperature (in Kelvin) for a Freezer\nto keep Kerbals frozen. - #autoLOC_DF_00168 = Heat generated per kerbal (kW/min) - #autoLOC_DF_00169 = Amount of thermal heat (kW) generated\nby equipment for each frozen kerbal per minute. - #autoLOC_DF_00170 = Heat generated freezer process(kW) - #autoLOC_DF_00171 = Amount of thermal heat (kW) generated\nwith each thaw/freeze process. - #autoLOC_DF_00172 = Show Part Temperatures in Kelvin - #autoLOC_DF_00173 = If on Part right click will show temp in Kelvin,\nif Off will show in Celcius. - #autoLOC_DF_00174 = DeepFreeze Misc. - #autoLOC_DF_00175 = Freezer Strip Lights On - #autoLOC_DF_00176 = Turn off if you do not want the internal\nfreezer strip lights to function. - #autoLOC_DF_00177 = ToolTips On - #autoLOC_DF_00178 = Turn the Tooltips on and off. - #autoLOC_DF_00179 = Editor Filter - #autoLOC_DF_00180 = Turn the DeepFreeze Editor filter Category on and off. - #autoLOC_DF_00181 = Use Stock App Launcher Icon - #autoLOC_DF_00182 = If on, the Stock Application launcher will be used,\nif off will use Blizzy Toolbar if installed. - #autoLOC_DF_00183 = Extra Debug Logging - #autoLOC_DF_00184 = Turn this On to capture lots of extra information\ninto the KSP log for reporting a problem. - - #autoLOC_DF_00185 = CRY-0300 Cryonic Freezing Chamber - #autoLOC_DF_00186 = REPOSoftTech - #autoLOC_DF_00187 = Designed for long term storage of 1 kerbal. The CRY-0300 uses Glykerol and ElectricCharge to freeze or thaw one Kerbal. Please ensure you have enough ElectricCharge capacity on your ship. The CRY-0300 comes stocked with 10 units of Glykerol. CAUTION: The CRY-0300 also requires ElectricCharge per minute per Kerbal to keep it's Monitoring Systems Functioning. If it cannot get this ElectricCharge there is a risk of frozen Kerbals dying. - #autoLOC_DF_00188 = deepfreeze cryogenic freezer - #autoLOC_DF_00189 = CRY-0300R Cryonic Freezing Chamber - #autoLOC_DF_00190 = Designed for long term storage of 1 kerbal. The CRY-0300R uses Glykerol and ElectricCharge to freeze or thaw one Kerbal. Please ensure you have enough ElectricCharge capacity on your ship. The CRY-0300R comes stocked with 10 units of Glykerol. CAUTION: The CRY-0300R also requires ElectricCharge per minute per Kerbal to keep it's Monitoring Systems Functioning. If it cannot get this ElectricCharge there is a risk of frozen Kerbals dying. - #autoLOC_DF_00191 = CRY-1300 Cryonic Freezing Chamber - #autoLOC_DF_00192 = Designed for long term storage of up to 3 Kerbals. The CRY-1300 uses Glykerol and ElectricCharge to freeze or thaw one Kerbal. Please ensure you have enough ElectricCharge capacity on your ship. The CRY-1300 comes stocked with 15 units of Glykerol. CAUTION: The CRY-1300 also requires ElectricCharge per minute per Kerbal to keep it's Monitoring Systems Functioning. If it cannot get this ElectricCharge there is a risk of frozen Kerbals dying. - #autoLOC_DF_00193 = CRY-2300 Cryonic Freezing Chamber - #autoLOC_DF_00194 = Designed for long term storage of up to 10 Kerbals. The CRY-2300 uses Glykerol and ElectricCharge to freeze or thaw one Kerbal. Please ensure you have enough ElectricCharge capacity on your ship. The CRY-2300 comes stocked with 50 units of Glykerol. CAUTION: The CRY-2300 also requires ElectricCharge per minute per Kerbal to keep it's Monitoring Systems Functioning. If it cannot get this ElectricCharge there is a risk of frozen Kerbals dying. - #autoLOC_DF_00195 = RS-X20R Glykerol Container - #autoLOC_DF_00196 = The RS-X20R is a small-volume Radial Glykerol container, for all your Kerbal Freezing and Thawing needs. Brought to you by the good folks at REPOSoftTech. Warranty void if filled with Glykerol. - #autoLOC_DF_00197 = deepfreeze cryogenic freezer glykerol tank - - #autoLOC_DF_00198 = Experts in the field of cryogenics, ergonomics and electrical equipment, the kerbals at REPOSoftTech are trying hard to keep all space fairing kerbals alive and their missions successful. - - #autoLOC_DF_00199 = Freeze <<1>> - #autoLOC_DF_00200 = Thaw <<1>> - - #autoLOC_DF_00201 = Procesamiento de naves sin Carga - #autoLOC_DF_00202 = Si se habilita, CongelaciónProfunda procesará los recursos en las naves sin carga. Si está deshabilitado, no lo hará y jugará el juego de recuperación y estimación. + #autoLOC_DF_00203 = Beep Sounds On + #autoLOC_DF_00204 = If enabled Beep sounds are heard inside freezer parts with frozen kerbals. + #autoLOC_DF_00205 = Other Sounds On + #autoLOC_DF_00206 = If enabled all other DeepFreeze sounds are heard. } } @@ -867,6 +657,10 @@ Localization #autoLOC_DF_00201 = Unloaded Vessel Processing #autoLOC_DF_00202 = If enabled DeepFreeze will process resources on unloaded vessels. If disabled, it won't and play the catchup and estimation game. + #autoLOC_DF_00203 = Beep Sounds On + #autoLOC_DF_00204 = If enabled Beep sounds are heard inside freezer parts with frozen kerbals. + #autoLOC_DF_00205 = Other Sounds On + #autoLOC_DF_00206 = If enabled all other DeepFreeze sounds are heard. } } @@ -1085,6 +879,10 @@ Localization #autoLOC_DF_00201 = Обработка выгруженных КА #autoLOC_DF_00202 = Если включено, анабиоз будет считать ресурсы выгруженных космических аппаратов. \n Если выключено, TAC LS не будет просчитывать ресурсы таких космических аппаратов в игре. \nВыгруженный космический аппарат не управляется непосредственно \nи находится очень далеко от активного КА, поэтому, для экономии ресурсов, игра просчитывает для него \nТОЛЬКО орбитальную механику и некоторые другие параметры. + #autoLOC_DF_00203 = Beep Sounds On + #autoLOC_DF_00204 = If enabled Beep sounds are heard inside freezer parts with frozen kerbals. + #autoLOC_DF_00205 = Other Sounds On + #autoLOC_DF_00206 = If enabled all other DeepFreeze sounds are heard. } } @@ -1302,7 +1100,11 @@ Localization #autoLOC_DF_00200 = 唤醒 <<1>> #autoLOC_DF_00201 = 卸船处理 - #autoLOC_DF_00202 = 如果启用了深度冻结,将处理卸载船只上的资源。如果禁用它,它就不会追赶和评估游戏。 + #autoLOC_DF_00202 = 如果启用了深度冻结,将处理卸载船只上的资源。如果禁用它,它就不会追赶和评估游戏。 + #autoLOC_DF_00203 = Beep Sounds On + #autoLOC_DF_00204 = If enabled Beep sounds are heard inside freezer parts with frozen kerbals. + #autoLOC_DF_00205 = Other Sounds On + #autoLOC_DF_00206 = If enabled all other DeepFreeze sounds are heard. } } @@ -1522,5 +1324,9 @@ Localization #autoLOC_DF_00201 = Unloaded Vessel Processing #autoLOC_DF_00202 = If enabled DeepFreeze will process resources on unloaded vessels. If disabled, it won't and play the catchup and estimation game. + #autoLOC_DF_00203 = Beep Sounds On + #autoLOC_DF_00204 = If enabled Beep sounds are heard inside freezer parts with frozen kerbals. + #autoLOC_DF_00205 = Other Sounds On + #autoLOC_DF_00206 = If enabled all other DeepFreeze sounds are heard. } } diff --git a/Distribution/GameData/REPOSoftTech/DeepFreeze/DeepFreezeContinued.version b/Distribution/GameData/REPOSoftTech/DeepFreeze/DeepFreezeContinued.version index 1b7bc48..c860933 100644 --- a/Distribution/GameData/REPOSoftTech/DeepFreeze/DeepFreezeContinued.version +++ b/Distribution/GameData/REPOSoftTech/DeepFreeze/DeepFreezeContinued.version @@ -2,8 +2,8 @@ "NAME":"DeepFreeze Continued...", "URL":"http://ksp-avc.cybutek.net/version.php?id=183", "DOWNLOAD":"http://spacedock.info/mod/142/DeepFreeze%20Continued...", -"VERSION":{"MAJOR":0,"MINOR":30,"PATCH":0,"BUILD":0}, -"KSP_VERSION":{"MAJOR":1,"MINOR":11,"PATCH":0}, -"KSP_VERSION_MIN":{"MAJOR":1,"MINOR":11,"PATCH":0}, -"KSP_VERSION_MAX":{"MAJOR":1,"MINOR":11,"PATCH":99} +"VERSION":{"MAJOR":0,"MINOR":31,"PATCH":0,"BUILD":0}, +"KSP_VERSION":{"MAJOR":1,"MINOR":12,"PATCH":0}, +"KSP_VERSION_MIN":{"MAJOR":1,"MINOR":12,"PATCH":0}, +"KSP_VERSION_MAX":{"MAJOR":1,"MINOR":12,"PATCH":99} } \ No newline at end of file diff --git a/Source/DFIntMemory.cs b/Source/DFIntMemory.cs index 8f313f3..0dadaa1 100644 --- a/Source/DFIntMemory.cs +++ b/Source/DFIntMemory.cs @@ -876,8 +876,12 @@ private void CheckVslUpdate() while (enumerator.MoveNext()) { if (enumerator.Current.id == vesselId) + { vessel = enumerator.Current; + break; + } } + enumerator.Dispose(); } else continue; @@ -904,7 +908,7 @@ private void CheckVslUpdate() } } } - Utilities.Log("Exception: " + ex); + Utilities.Log("Exception: " + ex); if (entry.Value.numFrznCrew == 0) { Utilities.Log("Removing entry as vessel has no frozen crew"); diff --git a/Source/DFSettings.cs b/Source/DFSettings.cs index ab34530..f689324 100644 --- a/Source/DFSettings.cs +++ b/Source/DFSettings.cs @@ -59,6 +59,8 @@ internal class DFSettings internal float ECLowWarningTime ; internal float EClowCriticalTime ; internal bool StripLightsActive ; + internal bool BeepSoundsActive; + internal bool OtherSoundsActive; internal int internalFrzrCamCode ; internal int internalNxtFrzrCamCode ; internal int internalPrvFrzrCamCode ; @@ -97,6 +99,8 @@ internal DFSettings() ECLowWarningTime = 3600f; EClowCriticalTime = 900f; StripLightsActive = true; + BeepSoundsActive = true; + OtherSoundsActive = true; internalFrzrCamCode = 100; internalNxtFrzrCamCode = 110; internalPrvFrzrCamCode = 98; @@ -226,6 +230,8 @@ internal void ApplySettings() heatamtMonitoringFrznKerbals = DF_SettingsParms_Sec2.heatamtMonitoringFrznKerbals; TempinKelvin = DF_SettingsParms_Sec2.TempinKelvin; StripLightsActive = DF_SettingsParms_Sec3.StripLightsActive; + BeepSoundsActive = DF_SettingsParms_Sec3.BeepSoundsActive; + OtherSoundsActive = DF_SettingsParms_Sec3.OtherSoundsActive; if (EditorFilter != DF_SettingsParms_Sec3.EditorFilter) { EditorFilter = DF_SettingsParms_Sec3.EditorFilter; diff --git a/Source/DeepFreezerPart.cs b/Source/DeepFreezerPart.cs index 569ea5c..b72187d 100644 --- a/Source/DeepFreezerPart.cs +++ b/Source/DeepFreezerPart.cs @@ -25,6 +25,7 @@ using Object = System.Object; using Random = System.Random; using KSP.Localization; +using KSP.UI.Screens.Flight; namespace DF { @@ -321,7 +322,8 @@ public void eventOpenDoors() anim["DOORHandle"].normalizedTime = 0; anim.Play("DOORHandle"); } - ext_door.Play(); + if (DeepFreeze.Instance.DFsettings.OtherSoundsActive) + ext_door.Play(); } catch (Exception ex) { @@ -353,7 +355,8 @@ public void eventCloseDoors() anim["DOORHandle"].normalizedTime = 1; anim.Play("DOORHandle"); } - ext_door.Play(); + if (DeepFreeze.Instance.DFsettings.OtherSoundsActive) + ext_door.Play(); } catch (Exception ex) { @@ -533,6 +536,7 @@ public void Update() InternalModelCreated(); resetFrozenKerbals(); resetCryopods(true); + StartCoroutine(UnregisterPortraits()); if (vesselisinInternal) { setIVAFrzrCam(internalSeatIdx); @@ -731,7 +735,7 @@ public void Update() } } //monitoring beep - if (TotalFrozen > 0 && !mon_beep.isPlaying) + if (TotalFrozen > 0 && !mon_beep.isPlaying && DeepFreeze.Instance.DFsettings.BeepSoundsActive) { mon_beep.Play(); } @@ -746,7 +750,7 @@ public void Update() if (Utilities.IsActiveVessel(vessel) && Utilities.IsInInternal) { vesselisinInternal = true; - if (TotalFrozen > 0 && !mon_beep.isPlaying) + if (TotalFrozen > 0 && !mon_beep.isPlaying && DeepFreeze.Instance.DFsettings.BeepSoundsActive) { mon_beep.Play(); } @@ -1103,6 +1107,7 @@ private void onceoffSetup() { Utilities.Log("Part " + part.name + "(" + part.flightID + ") is loaded and internalModel has disappeared, so re-instantiate it"); Utilities.spawnInternal(part); + StartCoroutine(UnregisterPortraits()); } resetFrozenKerbals(); @@ -1341,7 +1346,7 @@ private void ChkOngoingEC(PartInfo partInfo) ScreenMessages.PostScreenMessage(Localizer.Format("#autoLOC_DF_00074", deathKerbal.CrewName), 10.0f, ScreenMessageStyle.UPPER_CENTER); //#autoLOC_DF_00074 = <<1>> died due to lack of Electrical Charge to run cryogenics Utilities.Log("DeepFreezer - kerbal " + deathKerbal.CrewName + " died due to lack of Electrical charge to run cryogenics"); kerbalsToDelete.Add(deathKerbal); - if (!flatline.isPlaying) + if (!flatline.isPlaying && DeepFreeze.Instance.DFsettings.BeepSoundsActive) { flatline.Play(); } @@ -1448,7 +1453,7 @@ private void ChkOngoingTemp(PartInfo partInfo) Debug.Log("DeepFreezer - kerbal " + deathKerbal.CrewName + " died due to overheating, cannot keep frozen"); _StoredCrewList.Remove(deathKerbal); - if (!flatline.isPlaying) + if (!flatline.isPlaying && DeepFreeze.Instance.DFsettings.BeepSoundsActive) { flatline.Play(); } @@ -1491,6 +1496,7 @@ private void SetCryopodVariables() { part.internalModel.Initialize(part); part.internalModel.SpawnCrew(); + StartCoroutine(UnregisterPortraits()); } } for (int i = 0; i < FreezerSize; i++) @@ -1538,6 +1544,53 @@ private void SetCryopodVariables() } } + private IEnumerator UnregisterPortraits(bool activeCheck = true) + { + yield return null; + //If not the active vessel. Unregister the portraits. + if (FlightGlobals.ActiveVessel != null && (!activeCheck || (part.vessel.persistentId != FlightGlobals.ActiveVessel.persistentId))) + { + if (KerbalPortraitGallery.Instance != null) + { + for (int i = 0; i < part.internalModel.seats.Count; i++) + { + if (part.internalModel.seats[i].crew != null && part.internalModel.seats[i].crew.KerbalRef != null) + { + KerbalPortraitGallery.Instance.UnregisterActiveCrew(part.internalModel.seats[i].crew.KerbalRef); + } + } + } + } + } + + private IEnumerator AddPortraits() + { + yield return null; + if (KerbalPortraitGallery.Instance != null) + { + var activeCrew = KerbalPortraitGallery.Instance.ActiveCrewItems; + for (int i = 0; i < part.internalModel.seats.Count; i++) + { + if (part.internalModel.seats[i].crew != null && part.internalModel.seats[i].crew.KerbalRef != null) + { + bool found = false; + for (int j = 0; j < activeCrew.Count; j++) + { + if (activeCrew[j].kerbal.name == part.internalModel.seats[i].crew.name) + { + found = true; + break; + } + } + if (!found) + { + KerbalPortraitGallery.Instance.RegisterActiveCrew(part.internalModel.seats[i].crew.KerbalRef); + } + } + } + } + } + public override void OnLoad(ConfigNode node) { //Debug.Log("DeepFreezer onLoad"); @@ -1568,6 +1621,7 @@ public override void OnStart(StartState state) GameEvents.onVesselCrewWasModified.Add(OnVesselCrewModified); DFGameEvents.onKerbalFrozen.Add(OnKerbalFreezeThaw); DFGameEvents.onKerbalThaw.Add(OnKerbalFreezeThaw); + GameEvents.onVesselSwitching.Add(OnVesselSwitching); onATPPodSettingChanged = GameEvents.FindEvent>("onATPPodSettingChanged"); if (onATPPodSettingChanged != null) { @@ -1760,8 +1814,7 @@ private void OnDestroy() { //Remove GameEvent callbacks. Debug.Log("DeepFreezer OnDestroy"); - if (HighLogic.LoadedSceneIsFlight) - { + GameEvents.onCrewTransferPartListCreated.Remove(onCrewTransferPartListCreated); GameEvents.onCrewTransferred.Remove(onCrewTransferred); GameEvents.onVesselChange.Remove(OnVesselChange); @@ -1773,14 +1826,54 @@ private void OnDestroy() GameEvents.onVesselCrewWasModified.Remove(OnVesselCrewModified); DFGameEvents.onKerbalFrozen.Remove(OnKerbalFreezeThaw); DFGameEvents.onKerbalThaw.Remove(OnKerbalFreezeThaw); + GameEvents.onVesselSwitching.Remove(OnVesselSwitching); if (onATPPodSettingChanged != null) { onATPPodSettingChanged.Remove(OnATPPodSettingChanged); } - } + Debug.Log("DeepFreezer END OnDestroy"); } + private void OnVesselSwitching(Vessel oldVsl, Vessel newVsl) + { + if (part.vessel == null) + { + return; + } + + if (oldVsl.persistentId == part.vessel.persistentId) + { + StartCoroutine(UnregisterPortraits(false)); + return; + } + + if (newVsl.persistentId == part.vessel.persistentId) + { + if (HighLogic.LoadedSceneIsFlight || (HighLogic.LoadedSceneIsEditor && DFInstalledMods.IsJSITransparentPodsInstalled && JSITransparentPodModule != null)) + { + if (part.internalModel == null) + { + part.CreateInternalModel(); + if (part.internalModel != null && HighLogic.LoadedSceneIsFlight) + { + part.internalModel.Initialize(part); + } + } + InternalSeat seat; + for (int i = 0, iC = part.internalModel.seats.Count; i < iC; ++i) + { + seat = part.internalModel.seats[i]; + if (seat.kerbalRef == null) + { + seat.SpawnCrew(); + } + } + StartCoroutine(AddPortraits()); + } + } + } + private void OnATPPodSettingChanged(Part inPart, string setting) { if (inPart.persistentId == part.persistentId && (PartHasDoor || isPodExternal)) @@ -1881,8 +1974,11 @@ private void ProcessFreezeKerbal() case 0: //Begin Utilities.Log_Debug("Freeze Step 0"); - charge_up.Play(); // Play the sound effects. - charge_up.loop = true; + if (DeepFreeze.Instance.DFsettings.OtherSoundsActive) + { + charge_up.Play(); // Play the sound effects. + charge_up.loop = true; + } // If we are in IVA mode we switch to the internal camera in front of their cryopod. if (vesselisinIVA || vesselisinInternal) { @@ -1960,9 +2056,12 @@ private void ProcessFreezeKerbal() if (!ClosePodAnimPlaying) // If animation not already playing start it playing. { Utilities.Log_Debug("Closing the cryopod"); - hatch_lock.Play(); // Play the sound effects. - machine_hum.Play(); - machine_hum.loop = true; + if (DeepFreeze.Instance.DFsettings.OtherSoundsActive) + { + hatch_lock.Play(); // Play the sound effects. + machine_hum.Play(); + machine_hum.loop = true; + } ClosePodAnimPlaying = true; closeCryopod(ToFrzeKerbalSeat, 1f); //cryopodstateclosed[ToFrzeKerbalSeat] = true; @@ -1970,9 +2069,9 @@ private void ProcessFreezeKerbal() } else // Animation is already playing, check if it has finished. { - if (cryopodVariables[ToFrzeKerbalSeat].windowAnimation != null) + if (cryopodVariables[ToFrzeKerbalSeat].podAnimation != null) { - if (cryopodVariables[ToFrzeKerbalSeat].windowAnimation.IsPlaying("Close")) + if (cryopodVariables[ToFrzeKerbalSeat].podAnimation.IsPlaying("Close")) { Utilities.Log_Debug("waiting for the pod animation to complete the freeze"); ClosePodAnimPlaying = true; @@ -2014,7 +2113,8 @@ private void ProcessFreezeKerbal() { Utilities.Log_Debug("freezing the cryopod window"); machine_hum.Stop(); // stop the sound effects - ice_freeze.Play(); + if (DeepFreeze.Instance.DFsettings.OtherSoundsActive) + ice_freeze.Play(); FreezeWindowAnimPlaying = true; freezeCryopodWindow(ToFrzeKerbalSeat, 1f); } @@ -2134,7 +2234,7 @@ public void beginFreezeKerbal(ProtoCrewMember CrewMember) { if ((float)part.temperature > DeepFreeze.Instance.DFsettings.RegTempFreeze) { - ScreenMessages.PostScreenMessage(Localizer.Format("#autoLOC_DF_00084", DeepFreeze.Instance.DFsettings.RegTempFreeze.ToString("######0") + Fields["CabinTemp"].guiUnits), 5.0f, ScreenMessageStyle.UPPER_CENTER); //#autoLOC_DF_00084 = Cannot Freeze while Temperature greater than <<1>> + ScreenMessages.PostScreenMessage(Localizer.Format("#autoLOC_DF_00084", (DeepFreeze.Instance.DFsettings.TempinKelvin ? DeepFreeze.Instance.DFsettings.RegTempFreeze.ToString("######0") : (DeepFreeze.Instance.DFsettings.RegTempFreeze - 273.15d).ToString("######0")) + Fields["CabinTemp"].guiUnits), 5.0f, ScreenMessageStyle.UPPER_CENTER); //#autoLOC_DF_00084 = Cannot Freeze while Temperature greater than <<1>> return; } } @@ -2434,9 +2534,11 @@ private void ProcessThawKerbal() { setIVAFrzrCam(ToThawKerbalSeat); } - charge_up.Play(); // Play the sound effects. - charge_up.loop = true; - + if (DeepFreeze.Instance.DFsettings.OtherSoundsActive) + { + charge_up.Play(); // Play the sound effects. + charge_up.loop = true; + } ThawStepInProgress = 1; break; @@ -2490,7 +2592,8 @@ private void ProcessThawKerbal() if (!ThawWindowAnimPlaying) // If animation not already playing start it playing. { Utilities.Log_Debug("Thawing the cryopod window"); - ice_freeze.Play(); + if (DeepFreeze.Instance.DFsettings.OtherSoundsActive) + ice_freeze.Play(); ThawWindowAnimPlaying = true; if (isPartAnimated || (isPodExternal && DFInstalledMods.IsJSITransparentPodsInstalled && _prevRPMTransparentpodSetting == "ON")) { @@ -2581,12 +2684,15 @@ private void ProcessThawKerbal() // Utilities.Log_Debug("Thaw Step 3"); if (partHasInternals && isPartAnimated) { - if (!OpenPodAnimPlaying) // If animation not already playing start it playing. + if (!OpenPodAnimPlaying) // If animation not already playing start it playing. { Utilities.Log_Debug("Opening the cryopod"); - hatch_lock.Play(); // Play the sound effects. - machine_hum.Play(); - machine_hum.loop = true; + if (DeepFreeze.Instance.DFsettings.OtherSoundsActive) + { + hatch_lock.Play(); // Play the sound effects. + machine_hum.Play(); + machine_hum.loop = true; + } OpenPodAnimPlaying = true; openCryopod(ToThawKerbalSeat, 1f); //cryopodstateclosed[ToThawKerbalSeat] = false; @@ -3010,6 +3116,7 @@ private void ThawKerbalStep4(String frozenkerbal) if (enumerator.Current.name == frozenkerbal) kerbal = enumerator.Current; } + enumerator.Dispose(); if (!AddKerbal(kerbal, ToThawKerbalSeat)) { ThawKerbalAbort(frozenkerbal); @@ -3076,7 +3183,8 @@ private void ThawKerbalStep4(String frozenkerbal) Debug.Log("Thawed out: " + frozenkerbal); UpdateCounts(); // Update the Crew counts removeThawEvent(frozenkerbal); // Remove the Thaw Event for this kerbal. - ding_ding.Play(); + if (DeepFreeze.Instance.DFsettings.OtherSoundsActive) + ding_ding.Play(); OpenPodAnimPlaying = false; if (DFInstalledMods.IskerbalismInstalled) // IF Kerbalism Installed, add tracking. { diff --git a/Source/Properties/AssemblyInfo.cs b/Source/Properties/AssemblyInfo.cs index ada4d25..4ce8f7f 100644 --- a/Source/Properties/AssemblyInfo.cs +++ b/Source/Properties/AssemblyInfo.cs @@ -31,6 +31,6 @@ // You can specify all the values or you can default the Build and Revision Numbers // by using the '*' as shown below: // [assembly: AssemblyVersion("1.0.*")] -[assembly: AssemblyVersion("0.30.0.0")] -[assembly: AssemblyFileVersion("0.30.0.0")] -[assembly: KSPAssembly("DeepFreeze", 0, 30)] \ No newline at end of file +[assembly: AssemblyVersion("0.31.0.0")] +[assembly: AssemblyFileVersion("0.31.0.0")] +[assembly: KSPAssembly("DeepFreeze", 0, 31)] \ No newline at end of file diff --git a/Source/SettingsParms.cs b/Source/SettingsParms.cs index 93d0600..fb94562 100644 --- a/Source/SettingsParms.cs +++ b/Source/SettingsParms.cs @@ -211,6 +211,12 @@ public class DeepFreeze_SettingsParms_Sec3 : GameParameters.CustomParameterNode [GameParameters.CustomParameterUI("#autoLOC_DF_00175", autoPersistance = true, toolTip = "#autoLOC_DF_00176")] //#autoLOC_DF_00175 = Freezer Strip Lights On #autoLOC_DF_00176 = Turn off if you do not want the internal\nfreezer strip lights to function. public bool StripLightsActive = true; + [GameParameters.CustomParameterUI("#autoLOC_DF_00203", autoPersistance = true, toolTip = "#autoLOC_DF_00204")] //#autoLOC_DF_00203 = Beep Sounds On. #autoLOC_DF_00204 = If enabled Beep sounds are heard inside freezer parts with frozen kerbals. + public bool BeepSoundsActive = true; + + [GameParameters.CustomParameterUI("#autoLOC_DF_00205", autoPersistance = true, toolTip = "#autoLOC_DF_00206")] //#autoLOC_DF_00205 = Other Sounds On. #autoLOC_DF_00206 = If enabled all other DeepFreeze sounds are heard. + public bool OtherSoundsActive = true; + [GameParameters.CustomParameterUI("#autoLOC_DF_00177", autoPersistance = true, toolTip = "#autoLOC_DF_00178")] //#autoLOC_DF_00177 = ToolTips On #autoLOC_DF_00178 = Turn the Tooltips on and off. public bool ToolTips = true; From 9f509f75f1da3f79684b309da69c340c46bfa003 Mon Sep 17 00:00:00 2001 From: JPLRepo Date: Sun, 3 Oct 2021 10:00:37 +1000 Subject: [PATCH 5/6] Update README.md --- README.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/README.md b/README.md index fe185bf..5a188fe 100644 --- a/README.md +++ b/README.md @@ -12,6 +12,9 @@ https://github.com/ScottPaladin/DeepFreeze Refer to the KSP forum thread or the wiki here on GitHub for information. For support please refer to the KSP forum thread and raise an issue here on GitHub. +Source code for Background resources and other utilities that this mod uses can be found here: +https://github.com/JPLRepo/REPOSoftTechKSPUtils + License ========== DeepFreeze is licensed under a Creative Commons 4.0 Share-Alike Attribution Non-Commercial license. From 647824a9e3719a6c7e8d7008f5a6b10e4234d376 Mon Sep 17 00:00:00 2001 From: Lisias T Date: Sat, 14 May 2022 17:15:22 -0300 Subject: [PATCH 6/6] Fixing https://github.com/JPLRepo/DeepFreeze/issues/108. Related to https://github.com/net-lisias-ksp/KSP-Recall/issues/40 --- Source/APIs/DFGameEvents.cs | 18 +++++++++--------- Source/DeepFreezerPart.cs | 2 +- Source/Textures.cs | 9 --------- 3 files changed, 10 insertions(+), 19 deletions(-) diff --git a/Source/APIs/DFGameEvents.cs b/Source/APIs/DFGameEvents.cs index 6c5bea1..7c13290 100644 --- a/Source/APIs/DFGameEvents.cs +++ b/Source/APIs/DFGameEvents.cs @@ -11,46 +11,46 @@ class DFGameEvents /// Fires when DeepFreeze Starts the Freezing process on a Kerbal. /// Part is the DeepFreeze Freezer Part and the string is the Kerbal name. /// - public static EventData onKerbalFreezing; + public static readonly EventData onKerbalFreezing = new EventData("onKerbalFreezing"); /// /// Fires when DeepFreeze Starts the Thawing process on a Kerbal. /// Part is the DeepFreeze Freezer Part and the string is the Kerbal name. /// - public static EventData onKerbalThawing; + public static readonly EventData onKerbalThawing = new EventData("onKerbalThawing"); /// /// Fires when DeepFreeze Aborts a Thawing process on a Kerbal. /// Part is the DeepFreeze Freezer Part and the string is the Kerbal name. /// - public static EventData onKerbalThawAbort; + public static readonly EventData onKerbalThawAbort = new EventData("onKerbalThawAbort"); /// /// Fires when DeepFreeze Aborts a Freezing process on a Kerbal. /// Part is the DeepFreeze Freezer Part and the string is the Kerbal name. /// - public static EventData onKerbalFreezeAbort; + public static readonly EventData onKerbalFreezeAbort = new EventData("onKerbalFreezeAbort"); /// /// Fires when DeepFreeze Completes the Freezing process on a Kerbal. /// Part is the DeepFreeze Freezer Part and ProtoCrewMember is the Kerbal. /// - public static EventData onKerbalFrozen; + public static readonly EventData onKerbalFrozen = new EventData("onKerbalFrozen"); /// /// Fires when DeepFreeze Completes the Thawing process on a Kerbal. /// Part is the DeepFreeze Freezer Part and ProtoCrewMember is the Kerbal. /// - public static EventData onKerbalThaw; + public static readonly EventData onKerbalThaw = new EventData("onKerbalThaw"); /// /// Fires when DeepFreeze sets a Kerbal to Comatose Status. /// Part is the DeepFreeze Freezer Part and ProtoCrewMember is the Kerbal. /// - public static EventData onKerbalSetComatose; + public static readonly EventData onKerbalSetComatose = new EventData("onKerbalSetComatose"); /// /// Fires when DeepFreeze Unsets a Kerbal from Comatose Status. /// Part is the DeepFreeze Freezer Part and ProtoCrewMember is the Kerbal. /// - public static EventData onKerbalUnSetComatose; + public static readonly EventData onKerbalUnSetComatose = new EventData("onKerbalUnSetComatose"); /// /// Fires when DeepFreeze has to Kill a Frozen Kerbal. /// - public static EventData onFrozenKerbalDied; + public static readonly EventData onFrozenKerbalDied = new EventData("onFrozenKerbalDied"); } } diff --git a/Source/DeepFreezerPart.cs b/Source/DeepFreezerPart.cs index b72187d..b5d5aa5 100644 --- a/Source/DeepFreezerPart.cs +++ b/Source/DeepFreezerPart.cs @@ -1813,7 +1813,7 @@ public override void OnSave(ConfigNode node) private void OnDestroy() { //Remove GameEvent callbacks. - Debug.Log("DeepFreezer OnDestroy"); + Debug.Log("DeepFreezerPart OnDestroy"); GameEvents.onCrewTransferPartListCreated.Remove(onCrewTransferPartListCreated); GameEvents.onCrewTransferred.Remove(onCrewTransferred); diff --git a/Source/Textures.cs b/Source/Textures.cs index 3401611..718d5fb 100644 --- a/Source/Textures.cs +++ b/Source/Textures.cs @@ -33,15 +33,6 @@ public void Awake() public void Start() { //GameEvents.onGameSceneSwitchRequested.Add(onGameSceneSwitchRequested); - DFGameEvents.onKerbalFrozen = new EventData("onKerbalFrozen"); - DFGameEvents.onKerbalThaw = new EventData("onKerbalThaw"); - DFGameEvents.onKerbalFreezing = new EventData("onKerbalFreezing"); - DFGameEvents.onKerbalThawing = new EventData("onKerbalThawing"); - DFGameEvents.onKerbalFreezeAbort = new EventData("onKerbalFreezeAbort"); - DFGameEvents.onKerbalThawAbort = new EventData("onKerbalThawAbort"); - DFGameEvents.onKerbalSetComatose = new EventData("onKerbalSetComatose"); - DFGameEvents.onKerbalUnSetComatose = new EventData("onKerbalUnSetComatose"); - DFGameEvents.onFrozenKerbalDied = new EventData("onFrozenKerbalDied"); } public void OnDestroy()