diff --git a/Assets/CineboxAndrew b/Assets/CineboxAndrew index faaf3784..c40a3155 160000 --- a/Assets/CineboxAndrew +++ b/Assets/CineboxAndrew @@ -1 +1 @@ -Subproject commit faaf378439a7e474a693d303631cc30bcf9c5bd7 +Subproject commit c40a3155dbfcdcb8d1f37cd6cd9ed4129f703124 diff --git a/Distribution/Restock/GameData/ReStock/Assets/Command/restock-mk1-lander.mu b/Distribution/Restock/GameData/ReStock/Assets/Command/restock-mk1-lander.mu index 9d36f20d..a44f7c32 100644 Binary files a/Distribution/Restock/GameData/ReStock/Assets/Command/restock-mk1-lander.mu and b/Distribution/Restock/GameData/ReStock/Assets/Command/restock-mk1-lander.mu differ diff --git a/Distribution/Restock/GameData/ReStock/Assets/Control/restock-rcs-block-2.mu b/Distribution/Restock/GameData/ReStock/Assets/Control/restock-rcs-block-2.mu new file mode 100644 index 00000000..36d67ed1 Binary files /dev/null and b/Distribution/Restock/GameData/ReStock/Assets/Control/restock-rcs-block-2.mu differ diff --git a/Distribution/Restock/GameData/ReStock/Assets/Control/restock-rcs-linear-1.mu b/Distribution/Restock/GameData/ReStock/Assets/Control/restock-rcs-linear-1.mu index 3e3afebe..7535bc6f 100644 Binary files a/Distribution/Restock/GameData/ReStock/Assets/Control/restock-rcs-linear-1.mu and b/Distribution/Restock/GameData/ReStock/Assets/Control/restock-rcs-linear-1.mu differ diff --git a/Distribution/Restock/GameData/ReStock/Assets/Engine/restock-engine-spark-2-n.dds b/Distribution/Restock/GameData/ReStock/Assets/Engine/restock-engine-spark-2-n.dds new file mode 100644 index 00000000..8fbc2a90 Binary files /dev/null and b/Distribution/Restock/GameData/ReStock/Assets/Engine/restock-engine-spark-2-n.dds differ diff --git a/Distribution/Restock/GameData/ReStock/Assets/Engine/restock-engine-spark-2.dds b/Distribution/Restock/GameData/ReStock/Assets/Engine/restock-engine-spark-2.dds new file mode 100644 index 00000000..51e20061 Binary files /dev/null and b/Distribution/Restock/GameData/ReStock/Assets/Engine/restock-engine-spark-2.dds differ diff --git a/Distribution/Restock/GameData/ReStock/Assets/Engine/restock-engine-twitch-2.mu b/Distribution/Restock/GameData/ReStock/Assets/Engine/restock-engine-twitch-2.mu new file mode 100644 index 00000000..6d05fd56 Binary files /dev/null and b/Distribution/Restock/GameData/ReStock/Assets/Engine/restock-engine-twitch-2.mu differ diff --git a/Distribution/Restock/GameData/ReStock/FX/restock-fx-spark-turbo-1.mu b/Distribution/Restock/GameData/ReStock/FX/restock-fx-spark-turbo-1.mu index 7dbcd956..7606f7ef 100644 Binary files a/Distribution/Restock/GameData/ReStock/FX/restock-fx-spark-turbo-1.mu and b/Distribution/Restock/GameData/ReStock/FX/restock-fx-spark-turbo-1.mu differ diff --git a/Distribution/Restock/GameData/ReStock/Localization/en-us.cfg b/Distribution/Restock/GameData/ReStock/Localization/en-us.cfg index a89d2db6..f37e5be4 100644 --- a/Distribution/Restock/GameData/ReStock/Localization/en-us.cfg +++ b/Distribution/Restock/GameData/ReStock/Localization/en-us.cfg @@ -19,6 +19,9 @@ Localization #LOC_Restock_variant-mounting_truss = Truss #LOC_Restock_variant-mounting_compact = Compact + #LOC_Restock_variant-engine_pod-orange = Pod (Orange) + #LOC_Restock_variant-engine_pod-grey = Pod (Grey) + #LOC_Restock_variant-antenna_size0 = 0.625m #LOC_Restock_variant-antenna_size1 = 1.25m #LOC_Restock_variant-antenna_truss = Truss diff --git a/Distribution/Restock/GameData/ReStock/Localization/fr-fr.cfg b/Distribution/Restock/GameData/ReStock/Localization/fr-fr.cfg new file mode 100644 index 00000000..d3c39f2a --- /dev/null +++ b/Distribution/Restock/GameData/ReStock/Localization/fr-fr.cfg @@ -0,0 +1,46 @@ +// Courtesy of Challyss of the KSP forums + +Localization +{ + fr-fr + { + #LOC_Restock_variant-engine_size0 = 0.625m + #LOC_Restock_variant-engine_size1 = 1.25m + #LOC_Restock_variant-engine_size2 = 2.5m + #LOC_Restock_variant-engine_size3 = 3.75m + #LOC_Restock_variant-engine_compact = Compact + #LOC_Restock_variant-engine_radial = Radial + #LOC_Restock_variant-engine_boattail = Caréné + + #LOC_Restock_variant-mounting_truss = Treillis + #LOC_Restock_variant-mounting_compact = Compact + + #LOC_Restock_variant-antenna_size0 = 0.625m + #LOC_Restock_variant-antenna_size1 = 1.25m + #LOC_Restock_variant-antenna_truss = Treillis + #LOC_Restock_variant-antenna_compact = Compact + #LOC_Restock_variant-antenna_radial = Radial + #LOC_Restock_variant-antenna_radial_reverse = Radial (Inversé) + #LOC_Restock_variant-antenna_axial = Axial + #LOC_Restock_variant-antenna_axial_reverse = Axial (Inversé) + + #LOC_Restock_variant-surface_metal = Métal + + #LOC_Restock_variant-service-bay-opaque = Bases pleines + #LOC_Restock_variant-service-bay-transparent = Bases treillis + #LOC_Restock_variant-service-bay-hollow = Bases vides + + #LOC_Restock_variant-heat-shield-black = Noir + #LOC_Restock_variant-heat-shield-brown = Classique + #LOC_Restock_variant-heat-shield-red = Brut + + #LOC_Restock_variant-linear-rcs-pod = Caréné + #LOC_Restock_variant-linear-rcs-bare = Nu + + #LOC_Restock_variant-stayputnik-pod = Support + #LOC_Restock_variant-stayputnik-bare = Sans support + #LOC_Restock_variant-probe-gold = Doré + #LOC_Restock_variant-probe-silver = Argenté + #LOC_Restock_variant-probe-bare = Basique + } +} diff --git a/Distribution/Restock/GameData/ReStock/Patches/Control/restock-rcs.cfg b/Distribution/Restock/GameData/ReStock/Patches/Control/restock-rcs.cfg index b8dbfd6c..994af91f 100644 --- a/Distribution/Restock/GameData/ReStock/Patches/Control/restock-rcs.cfg +++ b/Distribution/Restock/GameData/ReStock/Patches/Control/restock-rcs.cfg @@ -1,18 +1,18 @@ // Patches applying art changes to RCS blocks // Contents: -// - RV-105 RCS Thruster Block (RCSBlock) +// - RV-105 RCS Thruster Block (RCSBlock_v2) // - Place-Anywhere 7 Linear RCS Port (linearRcs) // - Vernor Engine (vernorEngine) // RCS block -@PART[RCSBlock] +@PART[RCSBlock_v2] { @author = Chris Adderley (Nertea) !mesh = DELETE !MODEL {} MODEL { - model = ReStock/Assets/Control/restock-rcs-block-1 + model = ReStock/Assets/Control/restock-rcs-block-2 } !EFFECTS {} EFFECTS @@ -58,6 +58,8 @@ } } } + + !MODULE[FXModuleAnimateRCS] {} } // Linear RCS port @@ -187,4 +189,7 @@ } } } + + + !MODULE[FXModuleAnimateRCS] {} } diff --git a/Distribution/Restock/GameData/ReStock/Patches/Engine/restock-engines-liquid-0625.cfg b/Distribution/Restock/GameData/ReStock/Patches/Engine/restock-engines-liquid-0625.cfg index 7161b215..5a5712b9 100644 --- a/Distribution/Restock/GameData/ReStock/Patches/Engine/restock-engines-liquid-0625.cfg +++ b/Distribution/Restock/GameData/ReStock/Patches/Engine/restock-engines-liquid-0625.cfg @@ -1,13 +1,13 @@ // Patches applying art changes to 0.625m engines // Contents: -// - LV-1 "Ant" Liquid Fuel Engine (microEngine) -// - LV-1R "Spider" Liquid Fuel Engine (radialEngineMini) +// - LV-1 "Ant" Liquid Fuel Engine (microEngine_v2) +// - LV-1R "Spider" Liquid Fuel Engine (radialEngineMini_v2) // - 48-7S "Spark" Liquid Fuel Engine (liquidEngineMini_v2) -// - 24-77 "Twitch" Liquid Fuel Engine (smallRadialEngine) +// - 24-77 "Twitch" Liquid Fuel Engine (smallRadialEngine_v2) // - O-10 "Puff" MonoPropellant Fuel Engine (omsEngine) // Ant -@PART[microEngine] +@PART[microEngine_v2] { @author = Chris Adderley (Nertea) !mesh = DELETE @@ -75,6 +75,7 @@ @runningEffectName = fx-ant-running @fxOffset = 0, 0, 0 } + !MODULE[ModulePartVariants] {} !MODULE[FXModuleAnimateThrottle] {} MODULE { @@ -165,7 +166,7 @@ } // Spider -@PART[radialEngineMini] +@PART[radialEngineMini_v2] { @author = Chris Adderley (Nertea) !mesh = DELETE @@ -229,6 +230,7 @@ } } } + !MODULE[ModulePartVariants] {} @MODULE[ModuleEnginesFX] { @runningEffectName = fx-spider-running @@ -691,14 +693,14 @@ } // Twitch -@PART[smallRadialEngine] +@PART[smallRadialEngine_v2] { @author = Chris Adderley (Nertea) !mesh = DELETE !MODEL {} MODEL { - model = ReStock/Assets/Engine/restock-engine-twitch-1 + model = ReStock/Assets/Engine/restock-engine-twitch-2 } !EFFECTS {} EFFECTS @@ -799,29 +801,159 @@ } } } + + !MODULE[ModulePartVariants] {} + + MODULE + { + name = ModulePartVariants + baseVariant = Orange + VARIANT + { + name = Orange + displayName = #autoLOC_8007123 + themeName = Orange + primaryColor = #f49841 + secondaryColor = #f49841 + GAMEOBJECTS + { + CompactStructureGrey = false + CompactStructureOrange = true + StructureRadialGrey = false + StructureRadialOrange = false + CylBotPod001 = false + CylBotPod002 = false + CylTopPod001 = false + CylTopPod002 = false + CylBotBare001 = true + CylBotBare002 = true + CylTopBare001 = true + CylTopBare002 = true + EnginePod = false + EngineBare = true + } + + } + VARIANT + { + name = GrayAndOrange + displayName = #autoLOC_8007121 + themeName = GrayAndOrange + primaryColor = #4c4f47 + secondaryColor = #f49841 + GAMEOBJECTS + { + CompactStructureGrey = true + CompactStructureOrange = false + StructureRadialGrey = false + StructureRadialOrange = false + CylBotPod001 = false + CylBotPod002 = false + CylTopPod001 = false + CylTopPod002 = false + CylBotBare001 = true + CylBotBare002 = true + CylTopBare001 = true + CylTopBare002 = true + EnginePod = false + EngineBare = true + } + } + VARIANT + { + name = OrangePodded + displayName = #LOC_Restock_variant-engine_pod-orange + primaryColor = #f49841 + secondaryColor = #f49841 + GAMEOBJECTS + { + CompactStructureGrey = false + CompactStructureOrange = false + StructureRadialGrey = false + StructureRadialOrange = true + CylBotPod001 = true + CylBotPod002 = true + CylTopPod001 = true + CylTopPod002 = true + CylBotBare001 = false + CylBotBare002 = false + CylTopBare001 = false + CylTopBare002 = false + EnginePod = true + EngineBare = false + } + } + VARIANT + { + name = GrayAndOrangePodded + displayName = #LOC_Restock_variant-engine_pod-grey + primaryColor = #4c4f47 + secondaryColor = #f49841 + GAMEOBJECTS + { + CompactStructureGrey = false + CompactStructureOrange = false + StructureRadialGrey = true + StructureRadialOrange = false + CylBotPod001 = true + CylBotPod002 = true + CylTopPod001 = true + CylTopPod002 = true + CylBotBare001 = false + CylBotBare002 = false + CylTopBare001 = false + CylTopBare002 = false + EnginePod = true + EngineBare = false + } + } + useMultipleDragCubes = false + } MODULE { name = FXModuleLookAtConstraint - // Ringed + // Bare CONSTRAINLOOKFX { - targetName = CylBotRad001 - rotatorsName = CylTopRad001 + targetName = CylBotBare001 + rotatorsName = CylTopBare001 } CONSTRAINLOOKFX { - targetName = CylBotRad002 - rotatorsName = CylTopRad002 + targetName = CylBotBare002 + rotatorsName = CylTopBare002 } CONSTRAINLOOKFX { - targetName = CylTopRad001 - rotatorsName = CylBotRad001 + targetName = CylTopBare001 + rotatorsName = CylBotBare001 } CONSTRAINLOOKFX { - targetName = CylTopRad002 - rotatorsName = CylBotRad002 + targetName = CylTopBare002 + rotatorsName = CylBotBare002 + } + + // Podded + CONSTRAINLOOKFX + { + targetName = CylBotPod001 + rotatorsName = CylTopPod001 + } + CONSTRAINLOOKFX + { + targetName = CylBotPod002 + rotatorsName = CylTopPod002 + } + CONSTRAINLOOKFX + { + targetName = CylTopPod001 + rotatorsName = CylBotPod001 + } + CONSTRAINLOOKFX + { + targetName = CylTopPod002 + rotatorsName = CylBotPod002 } } @MODULE[ModuleEnginesFX] diff --git a/Distribution/Restock/GameData/ReStock/PatchesLegacy/Control/restock-rcs.cfg b/Distribution/Restock/GameData/ReStock/PatchesLegacy/Control/restock-rcs.cfg new file mode 100644 index 00000000..2bb19802 --- /dev/null +++ b/Distribution/Restock/GameData/ReStock/PatchesLegacy/Control/restock-rcs.cfg @@ -0,0 +1,105 @@ +// Patches applying art changes to Legacy RCS blocks +// Contents: +// - RV-105 RCS Thruster Block (RCSBlock) +// - Vernor Engine (vernorEngine) + +// RCS block +@PART[RCSBlock] +{ + @author = Chris Adderley (Nertea) + !mesh = DELETE + !MODEL {} + MODEL + { + model = ReStock/Assets/Control/restock-rcs-block-1 + } + !EFFECTS {} + EFFECTS + { + running + { + AUDIO_MULTI_POOL + { + channel = Ship + transformName = RCSjet + clip = sound_rocket_mini + volume = 0.0 0.0 + volume = 0.1 0.0 + volume = 0.5 0.025 + volume = 1.0 0.1 + pitch = 1.0 + loop = true + } + MODEL_MULTI_PARTICLE + { + name = fx1 + modelName = ReStock/FX/restock-fx-rcs-1 + transformName = RCSjet + emission = 0.0 0.0 + emission = 0.1 0.0 + emission = 1.0 1.0 + speed = 0.0 0.8 + speed = 1.0 1.0 + //localRotation = -90, 0, 0 + } + MODEL_MULTI_PARTICLE + { + name = fx2 + modelName = ReStock/FX/restock-fx-rcs-1 + transformName = RCSjet + emission = 0.0 0.0 + emission = 0.1 0.0 + emission = 1.0 1.0 + speed = 0.0 0.8 + speed = 1.0 1.0 + //localRotation = -90, 0, 0 + localPosition = 0, -0.015, 0 + } + } + } +} + +// Vernor Engine +@PART[vernierEngine] +{ + @author = Chris Adderley (Nertea) + !mesh = DELETE + !MODEL {} + MODEL + { + model = ReStock/Assets/Control/restock-rcs-vernor-1 + scale = 1,1,1 + } + @scale = 1 + @rescaleFactor = 1 + !EFFECTS {} + EFFECTS + { + running + { + AUDIO + { + channel = Ship + clip = sound_rocket_mini + volume = 0.0 0.0 + volume = 0.02 0.2 + volume = 0.5 0.2 + volume = 1.0 0.2 + pitch = 1.0 + loop = true + } + MODEL_MULTI_PARTICLE + { + name = fx1 + modelName = ReStock/FX/restock-fx-vernor-1 + transformName = RCSthruster + emission = 0.0 0.0 + emission = 0.1 0.0 + emission = 1.0 1.0 + speed = 0.0 0.8 + speed = 1.0 1.0 + localRotation = -180, 0, 0 + } + } + } +} diff --git a/Distribution/Restock/GameData/ReStock/PatchesLegacy/Engines/restock-engines-liquid-0625.cfg b/Distribution/Restock/GameData/ReStock/PatchesLegacy/Engines/restock-engines-liquid-0625.cfg new file mode 100644 index 00000000..2ce3ab55 --- /dev/null +++ b/Distribution/Restock/GameData/ReStock/PatchesLegacy/Engines/restock-engines-liquid-0625.cfg @@ -0,0 +1,564 @@ +// Patches applying art changes to LEGACY 0.625m engines +// Contents: +// - LV-1 "Ant" Liquid Fuel Engine (microEngine) +// - LV-1R "Spider" Liquid Fuel Engine (radialEngineMini) +// - 24-77 "Twitch" Liquid Fuel Engine (smallRadialEngine) + +// Ant +@PART[microEngine] +{ + @author = Chris Adderley (Nertea) + !mesh = DELETE + !MODEL {} + MODEL + { + model = ReStock/Assets/Engine/restock-engine-ant-1 + } + !EFFECTS {} + EFFECTS + { + engage + { + AUDIO + { + channel = Ship + clip = sound_vent_soft + volume = 1.0 + pitch = 2.0 + loop = false + } + } + flameout + { + + AUDIO + { + channel = Ship + clip = sound_explosion_low + volume = 1.0 + pitch = 2.0 + loop = false + } + } + fx-ant-running + { + AUDIO + { + channel = Ship + clip = sound_rocket_mini + volume = 0.0 0.0 + volume = 0.01 0.2 + volume = 1.0 0.6 + pitch = 0.0 0.1 + pitch = 0.01 0.2 + pitch = 1.0 0.5 + loop = true + } + MODEL_MULTI_PARTICLE + { + name = plume + modelName = ReStock/FX/restock-fx-ant-1 + transformName = fxTransform + emission = 0.0 0.0 + emission = 0.01 0.1 + emission = 0.075 0.25 + emission = 1.0 1.0 + speed = 0.0 0.35 + speed = 1.0 1.0 + } + } + } + @MODULE[ModuleEnginesFX] + { + @runningEffectName = fx-ant-running + @fxOffset = 0, 0, 0 + } + !MODULE[FXModuleAnimateThrottle] {} + MODULE + { + name = FXModuleThrottleEffects + fxModuleNames = heatColor + responseSpeed = 1.0 + dependOnEngineState = True + dependOnThrottle = True + } + MODULE + { + name = FXModuleThrottleEffects + fxModuleNames = throttleColor + responseSpeed = 1.0 + dependOnEngineState = True + dependOnThrottle = True + } + MODULE + { + name = ModuleColorChanger + moduleID = heatColor + animRate = 0.025 + shaderProperty = _EmissiveColor + excludedRenderer = EngineCore + toggleInEditor = false + toggleInFlight = false + redCurve + { + key = 0 0 1 1 + key = 1 1 1 1 + } + greenCurve + { + key = 0 0 1 1 + key = 1 1 1 1 + } + blueCurve + { + key = 0 0 1 1 + key = 1 1 1 1 + } + alphaCurve + { + key = 0 0 1 1 + key = 1 1 1 1 + } + } + MODULE + { + name = ModuleColorChanger + moduleID = throttleColor + animRate = 1 + shaderProperty = _TintColor + includedRenderer = EngineCore + toggleInEditor = false + toggleInFlight = false + redCurve + { + key = 0 1 + key = 1 1 + } + greenCurve + { + key = 0 1 + key = 1 1 + } + blueCurve + { + key = 0 1 + key = 1 1 + } + alphaCurve + { + key = 0 0 + key = 1 1 + } + } + MODULE + { + name = ModuleJettison + jettisonName = ShroudAnt + bottomNodeName = bottom + isFairing = True + jettisonedObjectMass = 0.1 + jettisonForce = 5 + jettisonDirection = 0 0 1 + } +} + +// Spider +@PART[radialEngineMini] +{ + @author = Chris Adderley (Nertea) + !mesh = DELETE + !MODEL {} + MODEL + { + model = ReStock/Assets/Engine/restock-engine-spider-1 + } + !EFFECTS {} + EFFECTS + { + engage + { + AUDIO + { + channel = Ship + clip = sound_vent_soft + volume = 1.0 + pitch = 2.0 + loop = false + } + } + flameout + { + + + AUDIO + { + channel = Ship + clip = sound_explosion_low + volume = 1.0 + pitch = 2.0 + loop = false + } + } + fx-spider-running + { + AUDIO + { + channel = Ship + clip = sound_rocket_mini + volume = 0.0 0.0 + volume = 0.01 0.2 + volume = 1.0 0.6 + pitch = 0.0 0.1 + pitch = 0.01 0.2 + pitch = 1.0 0.5 + loop = true + } + MODEL_MULTI_PARTICLE + { + name = core + modelName = ReStock/FX/restock-fx-ant-1 + transformName = fxTransform + emission = 0.0 0.0 + emission = 0.01 0.1 + emission = 0.075 0.25 + emission = 1.0 1.0 + speed = 0.0 0.35 + speed = 1.0 1.0 + } + } + } + @MODULE[ModuleEnginesFX] + { + @runningEffectName = fx-spider-running + } + @MODULE[ModuleGimbal] + { + @gimbalTransformName = B_Gimbal + gimbalResponseSpeed = 8 + useGimbalResponseSpeed = true + } + MODULE + { + name = FXModuleLookAtConstraint + CONSTRAINLOOKFX + { + targetName = CylTop001 + rotatorsName = Cyl001 + } + CONSTRAINLOOKFX + { + targetName = CylTop002 + rotatorsName = Cyl002 + } + CONSTRAINLOOKFX + { + targetName = Cyl001 + rotatorsName = CylTop001 + } + CONSTRAINLOOKFX + { + targetName = Cyl002 + rotatorsName = CylTop002 + } + } + !MODULE[FXModuleAnimateThrottle] {} + MODULE + { + name = FXModuleThrottleEffects + fxModuleNames = heatColor + responseSpeed = 1.0 + dependOnEngineState = True + dependOnThrottle = True + } + MODULE + { + name = FXModuleThrottleEffects + fxModuleNames = throttleColor + responseSpeed = 1.0 + dependOnEngineState = True + dependOnThrottle = True + } + MODULE + { + name = ModuleColorChanger + moduleID = heatColor + animRate = 0.025 + shaderProperty = _EmissiveColor + excludedRenderer = EngineCore + toggleInEditor = false + toggleInFlight = false + redCurve + { + key = 0 0 1 1 + key = 1 1 1 1 + } + greenCurve + { + key = 0 0 1 1 + key = 1 1 1 1 + } + blueCurve + { + key = 0 0 1 1 + key = 1 1 1 1 + } + alphaCurve + { + key = 0 0 1 1 + key = 1 1 1 1 + } + } + MODULE + { + name = ModuleColorChanger + moduleID = throttleColor + animRate = 1 + shaderProperty = _TintColor + includedRenderer = EngineCore + toggleInEditor = false + toggleInFlight = false + redCurve + { + key = 0 1 + key = 1 1 + } + greenCurve + { + key = 0 1 + key = 1 1 + } + blueCurve + { + key = 0 1 + key = 1 1 + } + alphaCurve + { + key = 0 0 + key = 1 1 + } + } +} + +// Twitch +@PART[smallRadialEngine] + { + @author = Chris Adderley (Nertea) + !mesh = DELETE + !MODEL {} + MODEL + { + model = ReStock/Assets/Engine/restock-engine-twitch-1 + } + !EFFECTS {} + EFFECTS + { + engage + { + AUDIO + { + channel = Ship + clip = sound_vent_medium + volume = 1.0 + pitch = 2.0 + loop = false + } + } + disengage + { + AUDIO + { + channel = Ship + clip = sound_vent_soft + loop = false + } + } + flameout + { + + AUDIO + { + channel = Ship + clip = sound_explosion_low + volume = 1.0 + pitch = 2.0 + loop = false + } + } + fx-twitch-running + { + AUDIO + { + channel = Ship + clip = sound_rocket_mini + volume = 0.0 0.0 + volume = 0.01 0.4 + volume = 1.0 1.0 + pitch = 0.0 0.2 + pitch = 0.01 0.6 + pitch = 1.0 1.8 + loop = true + } + MODEL_MULTI_PARTICLE + { + name = turbo + modelName = ReStock/FX/restock-fx-spark-turbo-1 + transformName = fxTransformTurbo + emission = 0.0 0.0 + emission = 0.01 0.1 + emission = 0.075 0.25 + emission = 1.0 1.0 + speed = 0.0 0.35 + speed = 1.0 1.0 + } + MODEL_MULTI_PARTICLE + { + name = turboglow + modelName = ReStock/FX/restock-fx-spark-turbo-glow-1 + transformName = fxTransformTurbo + emission = 0.0 0.0 + emission = 0.01 0.1 + emission = 0.075 0.25 + emission = 1.0 1.0 + speed = 0.0 0.35 + speed = 1.0 1.0 + } + MODEL_MULTI_PARTICLE + { + name = core + modelName = ReStock/FX/restock-fx-spark-core-1 + transformName = fxTransformCore + emission = 0.0 0.0 + emission = 0.01 0.1 + emission = 0.075 0.25 + emission = 1.0 1.0 + speed = 0.0 0.35 + speed = 1.0 1.0 + } + MODEL_MULTI_PARTICLE + { + name = plume + modelName = ReStock/FX/restock-fx-spark-plume-1 + transformName = fxTransformPlume + emission = 0.0 0.0 + emission = 0.01 0.1 + emission = 0.075 0.25 + emission = 1.0 1.0 + speed = 0.0 0.35 + speed = 1.0 1.0 + } + } + } + MODULE + { + name = FXModuleLookAtConstraint + // Ringed + CONSTRAINLOOKFX + { + targetName = CylBotRad001 + rotatorsName = CylTopRad001 + } + CONSTRAINLOOKFX + { + targetName = CylBotRad002 + rotatorsName = CylTopRad002 + } + CONSTRAINLOOKFX + { + targetName = CylTopRad001 + rotatorsName = CylBotRad001 + } + CONSTRAINLOOKFX + { + targetName = CylTopRad002 + rotatorsName = CylBotRad002 + } + } + @MODULE[ModuleEnginesFX] + { + runningEffectName = fx-twitch-running + } + @MODULE[ModuleGimbal] + { + @gimbalTransformName = B_Gimbal + gimbalResponseSpeed = 8 + useGimbalResponseSpeed = true + } + !MODULE[FXModuleAnimateThrottle] {} + MODULE + { + name = FXModuleThrottleEffects + fxModuleNames = heatColor + responseSpeed = 1.0 + dependOnEngineState = True + dependOnThrottle = True + } + MODULE + { + name = FXModuleThrottleEffects + fxModuleNames = throttleColor + responseSpeed = 1.0 + dependOnEngineState = True + dependOnThrottle = True + } + MODULE + { + name = ModuleColorChanger + moduleID = heatColor + animRate = 0.05 + shaderProperty = _EmissiveColor + excludedRenderer = EngineCore + toggleInEditor = false + toggleInFlight = false + redCurve + { + key = 0 0 1 1 + key = 1 1 1 1 + } + greenCurve + { + key = 0 0 1 1 + key = 1 1 1 1 + } + blueCurve + { + key = 0 0 1 1 + key = 1 1 1 1 + } + alphaCurve + { + key = 0 0 1 1 + key = 1 1 1 1 + } + } + MODULE + { + name = ModuleColorChanger + moduleID = throttleColor + animRate = 1 + shaderProperty = _TintColor + includedRenderer = EngineCore + toggleInEditor = false + toggleInFlight = false + redCurve + { + key = 0 1 + key = 1 1 + } + greenCurve + { + key = 0 1 + key = 1 1 + } + blueCurve + { + key = 0 1 + key = 1 1 + } + alphaCurve + { + key = 0 0 + key = 1 1 + } + } +} diff --git a/Distribution/Restock/GameData/ReStock/Plugins/Restock.dll b/Distribution/Restock/GameData/ReStock/Plugins/Restock.dll index 24baa458..ffbba4cf 100644 Binary files a/Distribution/Restock/GameData/ReStock/Plugins/Restock.dll and b/Distribution/Restock/GameData/ReStock/Plugins/Restock.dll differ diff --git a/Distribution/Restock/GameData/ReStock/Versioning/ReStock.version b/Distribution/Restock/GameData/ReStock/Versioning/ReStock.version index cb4a44ea..332b3691 100644 --- a/Distribution/Restock/GameData/ReStock/Versioning/ReStock.version +++ b/Distribution/Restock/GameData/ReStock/Versioning/ReStock.version @@ -6,23 +6,23 @@ { "MAJOR":0, "MINOR":1, - "PATCH":3, + "PATCH":4, "BUILD":0 }, "KSP_VERSION": { "MAJOR":1, - "MINOR":6, - "PATCH":1 + "MINOR":7, + "PATCH":0 }, "KSP_VERSION_MIN":{ "MAJOR":1, - "MINOR":6, + "MINOR":7, "PATCH":0 }, "KSP_VERSION_MAX":{ "MAJOR":1, - "MINOR":6, + "MINOR":7, "PATCH":99 } } diff --git a/Distribution/Restock/changelog.txt b/Distribution/Restock/changelog.txt index ef80c41a..fd9179ba 100644 --- a/Distribution/Restock/changelog.txt +++ b/Distribution/Restock/changelog.txt @@ -3,6 +3,18 @@ v0.2.0 v0.1.4 ------ +- KSP 1.7.x +- Fixed scale of linear RCS collider (#569) +- Fixed flag transform on Mk1 lander can (#558) +- Adaptations for stock 1.7 changes + - Propagated legacy patches for 1.6-era parts into a Legacy folder + - New base model for Twitch + - New variants for Twitch with 1.6-era Restock podded model + - Tuned colliders, pivots of parts to line up with 1.7-era parts +- Plugin improvements: + - Warn user if Restock is installed in the wrong location + - Warn user if old 1.25m tank directories are detected +- Added French localization of Restock strings (thanks Challyss) v0.1.3 ------ diff --git a/Distribution/Restock/readme.txt b/Distribution/Restock/readme.txt index 3af2b742..5700b97e 100644 --- a/Distribution/Restock/readme.txt +++ b/Distribution/Restock/readme.txt @@ -78,6 +78,7 @@ LOCALIZATION This mod primarily uses vanilla-provided localization, but for additional strings, it provides localization support for the following languages: - English - German (woeller) +- French (Challyss ========= LICENSING diff --git a/Distribution/RestockPlus/GameData/ReStockPlus/Parts/Control/RCS/restock-rcs-block-dual-1.cfg b/Distribution/RestockPlus/GameData/ReStockPlus/Parts/Control/RCS/restock-rcs-block-dual-1.cfg index d177541f..3b615d09 100644 --- a/Distribution/RestockPlus/GameData/ReStockPlus/Parts/Control/RCS/restock-rcs-block-dual-1.cfg +++ b/Distribution/RestockPlus/GameData/ReStockPlus/Parts/Control/RCS/restock-rcs-block-dual-1.cfg @@ -20,8 +20,8 @@ PART node_attach = 0.045212, -0.0, -0.00, 1.0, 0.0, 0.0 // --- editor parameters --- TechRequired = advFlightControl - entryCost = 1650 - cost = 320 + entryCost = 600 + cost = 30 category = Control subcategory = 0 title = #LOC_RestockPlus_restock-rcs-block-dual-1_title @@ -30,7 +30,7 @@ PART // attachment rules: stack, srfAttach, allowStack, allowSrfAttach, allowCollision attachRules = 0,1,0,0,0 // --- standard part parameters --- - mass = 0.025 + mass = 0.02 dragModelType = default maximum_drag = 0.001 minimum_drag = 0.001 diff --git a/Distribution/RestockPlus/GameData/ReStockPlus/Parts/Control/RCS/restock-rcs-block-dual-mini-1.cfg b/Distribution/RestockPlus/GameData/ReStockPlus/Parts/Control/RCS/restock-rcs-block-dual-mini-1.cfg index 61d0cbfb..892141c7 100644 --- a/Distribution/RestockPlus/GameData/ReStockPlus/Parts/Control/RCS/restock-rcs-block-dual-mini-1.cfg +++ b/Distribution/RestockPlus/GameData/ReStockPlus/Parts/Control/RCS/restock-rcs-block-dual-mini-1.cfg @@ -20,8 +20,8 @@ PART node_attach = 0.008, -0.0, -0.00, 1.0, 0.0, 0.0 // --- editor parameters --- TechRequired = advFlightControl - entryCost = 750 - cost = 100 + entryCost = 200 + cost = 8 category = Control subcategory = 0 title = #LOC_RestockPlus_restock-rcs-block-dual-mini-1_title @@ -30,7 +30,7 @@ PART // attachment rules: stack, srfAttach, allowStack, allowSrfAttach, allowCollision attachRules = 0,1,0,0,0 // --- standard part parameters --- - mass = 0.01 + mass = 0.005 dragModelType = default maximum_drag = 0.001 minimum_drag = 0.001 diff --git a/Distribution/RestockPlus/GameData/ReStockPlus/Parts/Control/RCS/restock-rcs-block-quad-angled-1.cfg b/Distribution/RestockPlus/GameData/ReStockPlus/Parts/Control/RCS/restock-rcs-block-quad-angled-1.cfg index e0444d06..14be1662 100644 --- a/Distribution/RestockPlus/GameData/ReStockPlus/Parts/Control/RCS/restock-rcs-block-quad-angled-1.cfg +++ b/Distribution/RestockPlus/GameData/ReStockPlus/Parts/Control/RCS/restock-rcs-block-quad-angled-1.cfg @@ -20,8 +20,8 @@ PART node_attach = 0.045212, -0.0, -0.00, 1.0, 0.0, 0.0 // --- editor parameters --- TechRequired = advFlightControl - entryCost = 3250 - cost = 635 + entryCost = 1300 + cost = 45 category = Control subcategory = 0 title = #LOC_RestockPlus_restock-rcs-block-quad-angled-1_title @@ -30,7 +30,7 @@ PART // attachment rules: stack, srfAttach, allowStack, allowSrfAttach, allowCollision attachRules = 0,1,0,0,0 // --- standard part parameters --- - mass = 0.05 + mass = 0.04 dragModelType = default maximum_drag = 0.001 minimum_drag = 0.001 diff --git a/Distribution/RestockPlus/GameData/ReStockPlus/Parts/Control/RCS/restock-rcs-block-quad-angled-mini-1.cfg b/Distribution/RestockPlus/GameData/ReStockPlus/Parts/Control/RCS/restock-rcs-block-quad-angled-mini-1.cfg index f87e9758..e4eea14e 100644 --- a/Distribution/RestockPlus/GameData/ReStockPlus/Parts/Control/RCS/restock-rcs-block-quad-angled-mini-1.cfg +++ b/Distribution/RestockPlus/GameData/ReStockPlus/Parts/Control/RCS/restock-rcs-block-quad-angled-mini-1.cfg @@ -20,8 +20,8 @@ PART node_attach = 0.008, -0.0, -0.00, 1.0, 0.0, 0.0 // --- editor parameters --- TechRequired = advFlightControl - entryCost = 900 - cost = 200 + entryCost = 400 + cost = 16 category = Control subcategory = 0 title = #LOC_RestockPlus_restock-rcs-block-quad-angled-mini-1_title @@ -30,7 +30,7 @@ PART // attachment rules: stack, srfAttach, allowStack, allowSrfAttach, allowCollision attachRules = 0,1,0,0,0 // --- standard part parameters --- - mass = 0.0125 + mass = 0.01 dragModelType = default maximum_drag = 0.001 minimum_drag = 0.001 diff --git a/Distribution/RestockPlus/GameData/ReStockPlus/Parts/Control/RCS/restock-rcs-block-quad-mini-1.cfg b/Distribution/RestockPlus/GameData/ReStockPlus/Parts/Control/RCS/restock-rcs-block-quad-mini-1.cfg index b75597ee..12e6edd5 100644 --- a/Distribution/RestockPlus/GameData/ReStockPlus/Parts/Control/RCS/restock-rcs-block-quad-mini-1.cfg +++ b/Distribution/RestockPlus/GameData/ReStockPlus/Parts/Control/RCS/restock-rcs-block-quad-mini-1.cfg @@ -20,8 +20,8 @@ PART node_attach = 0.008, -0.0, -0.00, 1.0, 0.0, 0.0 // --- editor parameters --- TechRequired = advFlightControl - entryCost = 850 - cost = 180 + entryCost = 400 + cost = 16 category = Control subcategory = 0 title = #LOC_RestockPlus_restock-rcs-block-quad-mini-1_title @@ -30,7 +30,7 @@ PART // attachment rules: stack, srfAttach, allowStack, allowSrfAttach, allowCollision attachRules = 0,1,0,0,0 // --- standard part parameters --- - mass = 0.0125 + mass = 0.01 dragModelType = default maximum_drag = 0.001 minimum_drag = 0.001 diff --git a/Distribution/RestockPlus/GameData/ReStockPlus/Parts/Control/RCS/restock-rcs-block-quint-1.cfg b/Distribution/RestockPlus/GameData/ReStockPlus/Parts/Control/RCS/restock-rcs-block-quint-1.cfg index 7c4c2c68..a22c4357 100644 --- a/Distribution/RestockPlus/GameData/ReStockPlus/Parts/Control/RCS/restock-rcs-block-quint-1.cfg +++ b/Distribution/RestockPlus/GameData/ReStockPlus/Parts/Control/RCS/restock-rcs-block-quint-1.cfg @@ -20,8 +20,8 @@ PART node_attach = 0.045212, -0.0, -0.00, 1.0, 0.0, 0.0 // --- editor parameters --- TechRequired = advFlightControl - entryCost = 4250 - cost = 800 + entryCost = 1500 + cost = 60 category = Control subcategory = 0 title = #LOC_RestockPlus_restock-rcs-block-quint-1_title @@ -30,7 +30,7 @@ PART // attachment rules: stack, srfAttach, allowStack, allowSrfAttach, allowCollision attachRules = 0,1,0,0,0 // --- standard part parameters --- - mass = 0.0625 + mass = 0.05 dragModelType = default maximum_drag = 0.001 minimum_drag = 0.001 diff --git a/Distribution/RestockPlus/GameData/ReStockPlus/Parts/Control/RCS/restock-rcs-block-quint-mini-1.cfg b/Distribution/RestockPlus/GameData/ReStockPlus/Parts/Control/RCS/restock-rcs-block-quint-mini-1.cfg index a88ee718..6aa454d7 100644 --- a/Distribution/RestockPlus/GameData/ReStockPlus/Parts/Control/RCS/restock-rcs-block-quint-mini-1.cfg +++ b/Distribution/RestockPlus/GameData/ReStockPlus/Parts/Control/RCS/restock-rcs-block-quint-mini-1.cfg @@ -20,8 +20,8 @@ PART node_attach = 0.008, -0.0, -0.00, 1.0, 0.0, 0.0 // --- editor parameters --- TechRequired = advFlightControl - entryCost = 1000 - cost = 210 + entryCost = 450 + cost = 20 category = Control subcategory = 0 title = #LOC_RestockPlus_restock-rcs-block-quint-mini-1_title @@ -30,7 +30,7 @@ PART // attachment rules: stack, srfAttach, allowStack, allowSrfAttach, allowCollision attachRules = 0,1,0,0,0 // --- standard part parameters --- - mass = 0.0155 + mass = 0.0125 dragModelType = default maximum_drag = 0.001 minimum_drag = 0.001 diff --git a/Distribution/RestockPlus/GameData/ReStockPlus/Parts/Control/RCS/restock-rcs-block-triple-angled-1.cfg b/Distribution/RestockPlus/GameData/ReStockPlus/Parts/Control/RCS/restock-rcs-block-triple-angled-1.cfg index f329a238..4a57cfb5 100644 --- a/Distribution/RestockPlus/GameData/ReStockPlus/Parts/Control/RCS/restock-rcs-block-triple-angled-1.cfg +++ b/Distribution/RestockPlus/GameData/ReStockPlus/Parts/Control/RCS/restock-rcs-block-triple-angled-1.cfg @@ -20,8 +20,8 @@ PART node_attach = 0.045212, -0.0, -0.00, 1.0, 0.0, 0.0 // --- editor parameters --- TechRequired = advFlightControl - entryCost = 2760 - cost = 480 + entryCost = 900 + cost = 35 category = Control subcategory = 0 title = #LOC_RestockPlus_restock-rcs-block-triple-angled-1_title @@ -30,7 +30,7 @@ PART // attachment rules: stack, srfAttach, allowStack, allowSrfAttach, allowCollision attachRules = 0,1,0,0,0 // --- standard part parameters --- - mass = 0.0375 + mass = 0.03 dragModelType = default maximum_drag = 0.001 minimum_drag = 0.001 diff --git a/Distribution/RestockPlus/GameData/ReStockPlus/Parts/Control/RCS/restock-rcs-block-triple-angled-mini-1.cfg b/Distribution/RestockPlus/GameData/ReStockPlus/Parts/Control/RCS/restock-rcs-block-triple-angled-mini-1.cfg index 7806d1b9..3f61706f 100644 --- a/Distribution/RestockPlus/GameData/ReStockPlus/Parts/Control/RCS/restock-rcs-block-triple-angled-mini-1.cfg +++ b/Distribution/RestockPlus/GameData/ReStockPlus/Parts/Control/RCS/restock-rcs-block-triple-angled-mini-1.cfg @@ -20,8 +20,8 @@ PART node_attach = 0.008, -0.0, -0.00, 1.0, 0.0, 0.0 // --- editor parameters --- TechRequired = advFlightControl - entryCost = 950 - cost = 150 + entryCost = 350 + cost = 12 category = Control subcategory = 0 title = #LOC_RestockPlus_restock-rcs-block-triple-angled-mini-1_title @@ -30,7 +30,7 @@ PART // attachment rules: stack, srfAttach, allowStack, allowSrfAttach, allowCollision attachRules = 0,1,0,0,0 // --- standard part parameters --- - mass = 0.015 + mass = 0.0075 dragModelType = default maximum_drag = 0.001 minimum_drag = 0.001 diff --git a/Distribution/RestockPlus/GameData/ReStockPlus/Parts/Control/RCS/restock-rcs-single-mini-1.cfg b/Distribution/RestockPlus/GameData/ReStockPlus/Parts/Control/RCS/restock-rcs-single-mini-1.cfg index 4eee2ed8..4e0508d0 100644 --- a/Distribution/RestockPlus/GameData/ReStockPlus/Parts/Control/RCS/restock-rcs-single-mini-1.cfg +++ b/Distribution/RestockPlus/GameData/ReStockPlus/Parts/Control/RCS/restock-rcs-single-mini-1.cfg @@ -20,8 +20,8 @@ PART node_attach = 0.008, -0.0, -0.00, 1.0, 0.0, 0.0 // --- editor parameters --- TechRequired = advFlightControl - entryCost = 350 - cost = 45 + entryCost = 125 + cost = 4 category = Control subcategory = 0 title = #LOC_RestockPlus_restock-rcs-single-mini-1_title @@ -30,7 +30,7 @@ PART // attachment rules: stack, srfAttach, allowStack, allowSrfAttach, allowCollision attachRules = 0,1,0,0,0 // --- standard part parameters --- - mass = 0.005 + mass = 0.0025 dragModelType = default maximum_drag = 0.001 minimum_drag = 0.001 diff --git a/Distribution/RestockPlus/GameData/ReStockPlus/Parts/Engine/0625/restock-engine-torch.cfg b/Distribution/RestockPlus/GameData/ReStockPlus/Parts/Engine/0625/restock-engine-torch.cfg index b9060493..e924b4ca 100644 --- a/Distribution/RestockPlus/GameData/ReStockPlus/Parts/Engine/0625/restock-engine-torch.cfg +++ b/Distribution/RestockPlus/GameData/ReStockPlus/Parts/Engine/0625/restock-engine-torch.cfg @@ -96,7 +96,7 @@ PART } } // --- editor parameters --- - TechRequired = basicRocketry + TechRequired = propulsionSystems entryCost = 5150 cost = 280 category = Engine @@ -108,7 +108,7 @@ PART attachRules = 1,1,1,0,0 bulkheadProfiles = size0, srf // --- standard part parameters --- - mass = 0.30 + mass = 0.29 dragModelType = default maximum_drag = 0.2 minimum_drag = 0.2 @@ -146,7 +146,7 @@ PART atmosphereCurve { key = 0 295 - key = 1 260 + key = 1 275 key = 12 100 } } diff --git a/Distribution/RestockPlus/GameData/ReStockPlus/Parts/Engine/125/restock-engine-pug.cfg b/Distribution/RestockPlus/GameData/ReStockPlus/Parts/Engine/125/restock-engine-pug.cfg index 4861d58f..0e5d8bd4 100644 --- a/Distribution/RestockPlus/GameData/ReStockPlus/Parts/Engine/125/restock-engine-pug.cfg +++ b/Distribution/RestockPlus/GameData/ReStockPlus/Parts/Engine/125/restock-engine-pug.cfg @@ -117,7 +117,7 @@ PART } atmosphereCurve { - key = 0 320 + key = 0 330 key = 1 150 key = 2 0.001 } diff --git a/Distribution/RestockPlus/GameData/ReStockPlus/Parts/Engine/25/restock-engine-boar.cfg b/Distribution/RestockPlus/GameData/ReStockPlus/Parts/Engine/25/restock-engine-boar.cfg index 08992af3..0ba01919 100644 --- a/Distribution/RestockPlus/GameData/ReStockPlus/Parts/Engine/25/restock-engine-boar.cfg +++ b/Distribution/RestockPlus/GameData/ReStockPlus/Parts/Engine/25/restock-engine-boar.cfg @@ -14,11 +14,11 @@ PART scale = 1.0, 1.0, 1.0 } DRAG_CUBE - { + { cube = 0, 6.005,0.7711,1.302, 6.005,0.7711,1.853, 4.87,0.85,0.2801, 4.87,0.85,0.2801, 5.975,0.7708,1.334, 5.975,0.771,1.334, 1.192E-07,-0.5142,0, 2.5,2.518,2.5 cube = 1, 3.622,0.7014,1.451, 3.623,0.7133,1.842, 4.87,0.65,0.2801, 4.87,0.55,0.2801, 3.956,0.7193,1.355, 3.959,0.7207,1.355, 0,-0.4773,-1.192E-07, 2.5,2.444,2.5 cube = 2, 5.803,0.7729,1.302, 5.803,0.7729,1.842, 4.87,0.35,0.2801, 4.87,0.35,0.2801, 5.755,0.7725,1.334, 5.755,0.7728,1.334, 1.192E-07,-0.5129,0, 2.5,2.516,2.5 - } + } scale = 1.0 rescaleFactor = 1 // --- node definitions --- @@ -117,7 +117,7 @@ PART // --- editor parameters --- TechRequired = veryHeavyRocketry entryCost = 31000 - cost = 12000 + cost = 7000 category = Engine subcategory = 0 title = #LOC_RestockPlus_restock-engine-boar_title diff --git a/Distribution/RestockPlus/GameData/ReStockPlus/Versioning/ReStockPlus.version b/Distribution/RestockPlus/GameData/ReStockPlus/Versioning/ReStockPlus.version index 6debfd74..d7c51761 100644 --- a/Distribution/RestockPlus/GameData/ReStockPlus/Versioning/ReStockPlus.version +++ b/Distribution/RestockPlus/GameData/ReStockPlus/Versioning/ReStockPlus.version @@ -6,18 +6,18 @@ { "MAJOR":0, "MINOR":1, - "PATCH":3, + "PATCH":4, "BUILD":0 }, "KSP_VERSION": { "MAJOR":1, - "MINOR":6, - "PATCH":1 + "MINOR":7, + "PATCH":0 }, "KSP_VERSION_MIN":{ "MAJOR":1, - "MINOR":6, + "MINOR":7, "PATCH":0 }, "KSP_VERSION_MAX":{ diff --git a/Distribution/RestockPlus/changelog.txt b/Distribution/RestockPlus/changelog.txt index b1c27498..0c1223ea 100644 --- a/Distribution/RestockPlus/changelog.txt +++ b/Distribution/RestockPlus/changelog.txt @@ -5,8 +5,13 @@ v0.2.0 v0.1.4 ------ +- KSP 1.7.x - Changed radial material bay and inline goo canister to use localization strings (#557) - Fixed radial material bay and inline goo canister not counting for satellite contracts (#557) +- Adjusted cost of Boar to 7000 from 12000 (#571) +- Adjusted cost and masses of all RCS blocks for consistency with KSP 1.7 (#582) +- Changed Torch tech node to Precision Propulsion, ASL Isp to 275s from 260s, mass from 0.3 to 0.29 (#582) +- Changed Pug vacuum Isp to 330s from 320s (#582) v0.1.3 ------ diff --git a/Distribution/RestockPlus/readme.txt b/Distribution/RestockPlus/readme.txt index 63694d06..f1149cce 100644 --- a/Distribution/RestockPlus/readme.txt +++ b/Distribution/RestockPlus/readme.txt @@ -15,7 +15,7 @@ DEPENDENCIES ============ Required: -- Restock (0.1.3) +- Restock (0.1.4) - ModuleManager (4.0.2) ============= diff --git a/Source/Restock/InstallChecker.cs b/Source/Restock/InstallChecker.cs new file mode 100644 index 00000000..13e1c453 --- /dev/null +++ b/Source/Restock/InstallChecker.cs @@ -0,0 +1,101 @@ +using System; +using System.Collections.Generic; +using System.IO; +using System.Linq; +using System.Reflection; +using UnityEngine; + +namespace Restock +{ + [KSPAddon(KSPAddon.Startup.Instantly, true)] + public class InstallChecker : MonoBehaviour + { + public readonly IEnumerable UNEXPECTED_URLS = Array.AsReadOnly(new[] { + "Squad/Parts/FuelTank/fuelTankT100", + "Squad/Parts/FuelTank/fuelTankT200", + "Squad/Parts/FuelTank/fuelTankT400", + "Squad/Parts/FuelTank/fuelTankT800", + }); + + private void Start() + { + string[] errorMessages = CheckInstallLocation().Concat(CheckUnexpectedUrls()).ToArray(); + + if (errorMessages.Length > 0) CreateWarningDialog(errorMessages); + } + + private IEnumerable CheckInstallLocation() + { + UrlDir gameData = GameDatabase.Instance.root.children.First(dir => dir.type == UrlDir.DirectoryType.GameData); + AssemblyLoader.LoadedAssembly loadedAssembly = AssemblyLoader.loadedAssemblies.GetByAssembly(Assembly.GetExecutingAssembly()); + + if (loadedAssembly == null) + { + Debug.LogError("[Restock] Error checking install location - could not find loaded assembly"); + yield break; + } + + UrlDir assemblyDir = GetDirectory(gameData, loadedAssembly.url); + + if (assemblyDir == null) + { + Debug.LogError("[Restock] Error checking install location - could not find assembly url directory: " + loadedAssembly.url); + yield break; + } + + string observedInstallPath = Path.GetFullPath(assemblyDir.parent.path); + string expectedInstallPath = Path.GetFullPath(Path.Combine(KSPUtil.ApplicationRootPath, Path.Combine("GameData", "ReStock"))); + + if (observedInstallPath != expectedInstallPath) + { + Debug.LogError($"[Restock] Install found at '{observedInstallPath}'"); + yield return $"Expected Restock to be installed at\n{expectedInstallPath}\nbut actually installed at\n{observedInstallPath}"; + } + } + + private IEnumerable CheckUnexpectedUrls() + { + UrlDir gameData = GameDatabase.Instance.root.children.First(dir => dir.type == UrlDir.DirectoryType.GameData); + foreach (string unexpectedUrl in UNEXPECTED_URLS) + { + if (!(gameData.GetDirectory(unexpectedUrl) is UrlDir unexpectedDir)) continue; + Debug.LogError("[ReStock] Found unexpected directory " + unexpectedDir.path); + yield return $"Found unexpected directory, likely left over from an older version of KSP:\n" + unexpectedDir.path; + } + } + + private void CreateWarningDialog(params string[] allMessages) + { + PopupDialog.SpawnPopupDialog(new Vector2(0.5f, 0.5f), + new Vector2(0.5f, 0.5f), + new MultiOptionDialog( + "RestockInstallWarning", + $"Restock has detected installation issues:\n\n{string.Join("\n\n", allMessages)}", + "Restock - installation issues detected", + HighLogic.UISkin, + new Rect(0.5f, 0.5f, 500f, 60f), + new DialogGUIFlexibleSpace(), + new DialogGUIHorizontalLayout( + new DialogGUIFlexibleSpace(), + new DialogGUIButton("OK", delegate () { }, 140.0f, 30.0f, true), + new DialogGUIFlexibleSpace() + ) + ), + true, + HighLogic.UISkin); + } + + private UrlDir GetDirectory(UrlDir baseUrl, string url) + { + string[] splitUrl = url.Trim().Split('/'); + + UrlDir currentDir = baseUrl; + foreach (string dirName in splitUrl) + { + currentDir = currentDir.children.FirstOrDefault(dir => dir.name == dirName); + if (currentDir == null) return null; + } + return currentDir; + } + } +} diff --git a/Source/Restock/Restock.csproj b/Source/Restock/Restock.csproj index 9989e844..69ebd600 100644 --- a/Source/Restock/Restock.csproj +++ b/Source/Restock/Restock.csproj @@ -41,6 +41,7 @@ +