diff --git a/.gitignore b/.gitignore index 96d2a4a1..a45fc5ca 100644 --- a/.gitignore +++ b/.gitignore @@ -7,6 +7,7 @@ build-deploy/ bin/ obj/ *.swp +**/@thumbs Distribution/Restock/GameData/ReStock/Spaces/**/*.png Distribution/Restock/GameData/ReStock/Props/**/*.png diff --git a/Distribution/Restock/GameData/ReStock/Patches/Communication/restock-relays.cfg b/Distribution/Restock/GameData/ReStock/Patches/Communication/restock-relays.cfg index 8882a8ee..4c91815b 100644 --- a/Distribution/Restock/GameData/ReStock/Patches/Communication/restock-relays.cfg +++ b/Distribution/Restock/GameData/ReStock/Patches/Communication/restock-relays.cfg @@ -1,11 +1,94 @@ // Patches applying art changes to relay antennas // Contents: -// - HG-5 High Gain Antenna (HighGainAntenna5) +// - Legacy HG-5 High Gain Antenna (HighGainAntenna5) +// - HG-5 High Gain Antenna (HighGainAntenna5_v2) // - RA-2 Relay Antenna (RelayAntenna5) // - RA-15 Relay Antenna (RelayAntenna50) // - RA-100 Relay Antenna (RelayAntenna100) // HG-5 High Gain Antenna +@PART[HighGainAntenna5_v2]:HAS[~RestockIgnore[*]]:FOR[000_ReStock] +{ + @author = Andrew Cassidy + !MODEL {} + MODEL + { + model = ReStock/Assets/Communication/restock-relay-radial-1 + rotation = 0, 90, 0 + } + @MODULE[ModuleDeployableAntenna] + { + @animationName = Deploy + @pivotName = lower pivot + } + MODULE + { + name = ModulePartVariants + baseVariant = Radial + VARIANT + { + name = Radial + displayName = #LOC_Restock_variant-antenna_radial + themeName = White + primaryColor = #ffffff + secondaryColor = #707070 + GAMEOBJECTS + { + arm_radial = true + arm_radial_reverse = false + arm_axial = false + arm_axial_reverse = false + } + } + VARIANT + { + name = Radial_Reverse + displayName = #LOC_Restock_variant-antenna_radial_reverse + themeName = White + primaryColor = #ffffff + secondaryColor = #707070 + GAMEOBJECTS + { + arm_radial = false + arm_radial_reverse = true + arm_axial = false + arm_axial_reverse = false + } + } + VARIANT + { + name = Axial + displayName = #LOC_Restock_variant-antenna_axial + themeName = White + primaryColor = #ffffff + secondaryColor = #707070 + GAMEOBJECTS + { + arm_radial = false + arm_radial_reverse = false + arm_axial = true + arm_axial_reverse = false + } + } + VARIANT + { + name = Axial_Reverse + displayName = #LOC_Restock_variant-antenna_axial_reverse + themeName = White + primaryColor = #ffffff + secondaryColor = #707070 + GAMEOBJECTS + { + arm_radial = false + arm_radial_reverse = false + arm_axial = false + arm_axial_reverse = true + } + } + } +} + +// Legacy HG-5 High Gain Antenna @PART[HighGainAntenna5]:HAS[~RestockIgnore[*]]:FOR[000_ReStock] { @author = Andrew Cassidy diff --git a/Distribution/Restock/GameData/ReStock/Plugins/Restock.dll b/Distribution/Restock/GameData/ReStock/Plugins/Restock.dll index 3abd8e4b..f286f61f 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/changelog.txt b/Distribution/Restock/changelog.txt index 1cf58e2b..35b8e4e2 100644 --- a/Distribution/Restock/changelog.txt +++ b/Distribution/Restock/changelog.txt @@ -14,6 +14,7 @@ v1.3.0 - RV-1X RCS Block (Nertea): ported RCS models from Restock+ to support new model - PlaceAnywhere 1 Linear RCS thruster (Nertea): ported RCS model from Restock+ - Updates and fixes + - Rotated the HG-5 antenna model to match stock - Updated old Mk1, Mk2 Illuminator models to use reflectivity on their lenses - Added White variant to Mk1, Mk2 Illuminators - Added RCS nozzle glows to improve RCS effects diff --git a/Distribution/RestockPlus/GameData/ReStockPlus/Assets/Engine/restock-engine-les-2-e.dds b/Distribution/RestockPlus/GameData/ReStockPlus/Assets/Engine/restock-engine-les-2-e.dds new file mode 100644 index 00000000..8d360f53 Binary files /dev/null and b/Distribution/RestockPlus/GameData/ReStockPlus/Assets/Engine/restock-engine-les-2-e.dds differ diff --git a/Distribution/RestockPlus/GameData/ReStockPlus/Assets/Engine/restock-engine-les-2-n.dds b/Distribution/RestockPlus/GameData/ReStockPlus/Assets/Engine/restock-engine-les-2-n.dds new file mode 100644 index 00000000..35d9ef6f Binary files /dev/null and b/Distribution/RestockPlus/GameData/ReStockPlus/Assets/Engine/restock-engine-les-2-n.dds differ diff --git a/Distribution/RestockPlus/GameData/ReStockPlus/Assets/Engine/restock-engine-les-2.dds b/Distribution/RestockPlus/GameData/ReStockPlus/Assets/Engine/restock-engine-les-2.dds new file mode 100644 index 00000000..8d4ee6dd Binary files /dev/null and b/Distribution/RestockPlus/GameData/ReStockPlus/Assets/Engine/restock-engine-les-2.dds differ diff --git a/Distribution/RestockPlus/GameData/ReStockPlus/Assets/Engine/restock-engine-les-2.mu b/Distribution/RestockPlus/GameData/ReStockPlus/Assets/Engine/restock-engine-les-2.mu new file mode 100644 index 00000000..edf81425 Binary files /dev/null and b/Distribution/RestockPlus/GameData/ReStockPlus/Assets/Engine/restock-engine-les-2.mu differ diff --git a/Distribution/RestockPlus/GameData/ReStockPlus/Localization/en-us.cfg b/Distribution/RestockPlus/GameData/ReStockPlus/Localization/en-us.cfg index 0b9e4f96..ae9eead3 100644 --- a/Distribution/RestockPlus/GameData/ReStockPlus/Localization/en-us.cfg +++ b/Distribution/RestockPlus/GameData/ReStockPlus/Localization/en-us.cfg @@ -96,6 +96,10 @@ Localization #LOC_RestockPlus_restock-engine-srb-striker_description = Discontinued due to component shortages. Extending the Mallet with additional segments can provide more boom than your integration team knows what to do with! #LOC_RestockPlus_restock-engine-srb-striker_tags = a moar (more motor rocket srb restock striker + #LOC_RestockPlus_restock-engine-les-2_title = Launch Escape System Jr. + #LOC_RestockPlus_restock-engine-les-2_description = A smaller solid rocket tower for yeeting crew away from certain death. + #LOC_RestockPlus_restock-engine-les-2_tags = abort booster emergency explo ?les l.e.s malfunc ?rud safe solid surviv restock junior 625 + // Radial #LOC_RestockPlus_restock-engine-panda_title = RK-1 'Trash Panda' Vernier Engine #LOC_RestockPlus_restock-engine-panda_description = This small engine has a very large single axis gimbal mechanism which allows excellent control at all flight regimes. diff --git a/Distribution/RestockPlus/GameData/ReStockPlus/Parts/Communication/restock-relay-radial-2.cfg b/Distribution/RestockPlus/GameData/ReStockPlus/Parts/Communication/restock-relay-radial-2.cfg index 1b3f4836..259b6a56 100644 --- a/Distribution/RestockPlus/GameData/ReStockPlus/Parts/Communication/restock-relay-radial-2.cfg +++ b/Distribution/RestockPlus/GameData/ReStockPlus/Parts/Communication/restock-relay-radial-2.cfg @@ -1,4 +1,5 @@ // 4x radial relay antenna +// NOTE: Soft-deprecated as of KSP 1.11 update PART { name = restock-relay-radial-2 @@ -14,9 +15,10 @@ PART node_attach = 0.0, 0.0, 0.0, 0.0, -1.0, 0.0, 0 node_stack_bottom = 0.0, 0.0, 0.0, 0.0, -1.0, 0.0, 0 TechRequired = electrics - entryCost = 2000 + entryCost = 0 cost = 1000 - category = Communication + category = none + TechHidden = True title = #LOC_RestockPlus_restock-relay-radial-2_title //HG-20 High Gain Antenna manufacturer = #autoLOC_501635 //#autoLOC_501635 = Ionic Symphonic Protonic Electronics description = #LOC_RestockPlus_restock-relay-radial-2_description diff --git a/Distribution/RestockPlus/GameData/ReStockPlus/Parts/Communication/restock-relay-radial-2_v2.cfg b/Distribution/RestockPlus/GameData/ReStockPlus/Parts/Communication/restock-relay-radial-2_v2.cfg new file mode 100644 index 00000000..47f9ccff --- /dev/null +++ b/Distribution/RestockPlus/GameData/ReStockPlus/Parts/Communication/restock-relay-radial-2_v2.cfg @@ -0,0 +1,124 @@ +// 4x radial relay antenna +PART +{ + name = restock-relay-radial-2_v2 + module = Part + author = Andrew Cassidy + MODEL + { + model = ReStock/Assets/Communication/restock-relay-radial-2 + rotation = 0, 90, 0 + } + rescaleFactor = 1.0 + // attachment rules: stack, srfAttach, allowStack, allowSrfAttach, allowCollision + attachRules = 1,1,0,0,0 + node_attach = 0.0, 0.0, 0.0, 0.0, -1.0, 0.0, 0 + node_stack_bottom = 0.0, 0.0, 0.0, 0.0, -1.0, 0.0, 0 + TechRequired = electrics + entryCost = 2000 + cost = 1000 + category = Communication + title = #LOC_RestockPlus_restock-relay-radial-2_title //HG-20 High Gain Antenna + manufacturer = #autoLOC_501635 //#autoLOC_501635 = Ionic Symphonic Protonic Electronics + description = #LOC_RestockPlus_restock-relay-radial-2_description + // A longer range version of the HG-5 that can handle either direct communications or short range relays, using 4 different dishes. + mass = 0.18 + dragModelType = default + maximum_drag = 0.3 + minimum_drag = 0.3 + angularDrag = 1 + crashTolerance = 8 + maxTemp = 2000 + vesselType = Relay + bulkheadProfiles = srf + tags = #LOC_RestockPlus_restock-relay-radial-2_tags + MODULE + { + name = ModuleDeployableAntenna + showStatus = false + isTracking = false + pivotName = lower pivot + windResistance = 1 + animationName = Deploy + extendActionName = #autoLOC_6002398 //#autoLOC_6002398 = Extend <<1>> + retractActionName = #autoLOC_6002399 //#autoLOC_6002399 = Retract <<1>> + extendpanelsActionName = #autoLOC_6002400 //#autoLOC_6002400 = Toggle <<1>> + } + MODULE + { + name = ModuleDataTransmitter + antennaType = RELAY + packetInterval = 0.35 + packetSize = 2 + packetResourceCost = 40.0 + requiredResource = ElectricCharge + DeployFxModules = 0 + antennaPower = 20000000 + antennaCombinable = True + } + MODULE + { + name = ModulePartVariants + baseVariant = Radial + VARIANT + { + name = Radial + displayName = #LOC_Restock_variant-antenna_radial + themeName = White + primaryColor = #ffffff + secondaryColor = #707070 + GAMEOBJECTS + { + arm_radial = true + arm_radial_reverse = false + arm_axial = false + arm_axial_reverse = false + } + } + VARIANT + { + name = Radial_Reverse + displayName = #LOC_Restock_variant-antenna_radial_reverse + themeName = White + primaryColor = #ffffff + secondaryColor = #707070 + GAMEOBJECTS + { + arm_radial = false + arm_radial_reverse = true + arm_axial = false + arm_axial_reverse = false + } + } + VARIANT + { + name = Axial + displayName = #LOC_Restock_variant-antenna_axial + themeName = White + primaryColor = #ffffff + secondaryColor = #707070 + GAMEOBJECTS + { + arm_radial = false + arm_radial_reverse = false + arm_axial = true + arm_axial_reverse = false + } + } + VARIANT + { + name = Axial_Reverse + displayName = #LOC_Restock_variant-antenna_axial_reverse + themeName = White + primaryColor = #ffffff + secondaryColor = #707070 + GAMEOBJECTS + { + arm_radial = false + arm_radial_reverse = false + arm_axial = false + arm_axial_reverse = true + } + } + } +} diff --git a/Distribution/RestockPlus/GameData/ReStockPlus/Parts/Engine/0625/restock-engine-les-2.cfg b/Distribution/RestockPlus/GameData/ReStockPlus/Parts/Engine/0625/restock-engine-les-2.cfg new file mode 100644 index 00000000..777f346f --- /dev/null +++ b/Distribution/RestockPlus/GameData/ReStockPlus/Parts/Engine/0625/restock-engine-les-2.cfg @@ -0,0 +1,200 @@ +// ReStock+ 1.3.0 +// 0.625m Launch Escape System +PART +{ + name = restock-engine-les-2 + module = Part + author = Andrew Cassidy + MODEL + { + model = ReStockPlus/Assets/Engine/restock-engine-les-2 + scale = 1.0, 1.0, 1.0 + } + scale = 1 + rescaleFactor = 1 + + // Attachment + node_stack_bottom = 0.0, 0.0, 0.0, 0.0, -1.0, 0.0, 0 + attachRules = 1,1,1,1,0 + + // Tech + TechRequired = landing + entryCost = 2400 + + // Info + cost = 400 + category = Utility + title = #LOC_RestockPlus_restock-engine-les-2_title // Launch Escape System Jr. + manufacturer = #autoLOC_501638 //#autoLOC_501638 = Kerbodyne + description = #LOC_RestockPlus_restock-engine-les-2_description + // A smaller solid rocket tower for yeeting crew away from certain death. + tags = #LOC_RestockPlus_restock-engine-les-2_tags + // abort booster emergency explo ?les l.e.s malfunc ?rud safe solid surviv restock junior 625 + bulkheadProfiles = size0 + + // Parameters + mass = 0.5 + CoMOffset = 0.0, 2.1, 0.0 + CoPOffset = 0.1, 1.8, 0.0 + dragModelType = default + maximum_drag = 0.3 + minimum_drag = 0.2 + angularDrag = 2 + crashTolerance = 15 + breakingTorque = 30 + breakingForce = 30 + maxTemp = 2700 // = 3900 + emissiveConstant = 0.95 + stagingIcon = SOLID_BOOSTER + bulkheadProfiles = size0 + + EFFECTS + { + engage + { + AUDIO + { + channel = Ship + clip = sound_vent_medium + 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-les-running + { + AUDIO + { + channel = Ship + clip = sound_rocket_hard + 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 = core + modelName = ReStock/FX/restock-fx-srb-tiny-core-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 + } + PREFAB_PARTICLE + { + prefabName = fx_smokeTrail_light + transformName = fxSmoke + emission = 0.0 0.0 + emission = 0.05 0.0 + emission = 0.075 0.25 + emission = 1.0 1.25 + speed = 0.0 0.25 + speed = 1.0 1.0 + localOffset = 0, 0, 0 + } + } + } + + MODULE + { + name = ModuleEnginesFX + engineID = LES + runningEffectName = fx-les-running + thrustVectorTransformName = thrustTransform + exhaustDamage = False + throttleLocked = True + ignitionThreshold = 0.1 + minThrust = 0 + maxThrust = 200 + heatProduction = 300 + fxOffset = 0, 0, 0.25 + EngineType = SolidBooster + PROPELLANT + { + name = SolidFuel + ratio = 1.0 + DrawGauge = True + } + atmosphereCurve + { + key = 0 180 + key = 1 160 + key = 8 0.001 + } + } + + RESOURCE + { + name = SolidFuel + amount = 25 + maxAmount = 25 + } + + MODULE + { + name = FXModuleAnimateThrottle + animationName = restock-srb-les-heat-2 + responseSpeed = 0.5 + dependOnEngineState = True + dependOnThrottle = True + } + + fx_gasBurst_white = 0.0, -1.372544, 0.0, 0.0, -1.0, 0.0, decouple + sound_decoupler_fire = decouple + MODULE + { + name = ModuleDecouple + ejectionForce = 40 + explosiveNodeID = bottom + } + + MODULE + { + name = ModulePartVariants + baseVariant = White + VARIANT + { + name = White + displayName = #autoLOC_8007116 // White + themeName = White + primaryColor = #ffffff + secondaryColor = #E8DB27 + GAMEOBJECTS + { + LES_Red = false + LES_White = true + } + } + VARIANT + { + name = Red + displayName = #autoLOC_8007117 // Dark + themeName = Dark + primaryColor = #723333 + secondaryColor = #404040 + GAMEOBJECTS + { + LES_Red = true + LES_White = false + } + } + } +} diff --git a/Distribution/RestockPlus/changelog.txt b/Distribution/RestockPlus/changelog.txt index ce1a6b4a..961092b0 100644 --- a/Distribution/RestockPlus/changelog.txt +++ b/Distribution/RestockPlus/changelog.txt @@ -3,10 +3,13 @@ v1.3.0 - KSP 1.11 - Updated French localization (vinix38) - Removed Light Adjustement patch, replaced with new stock functionality as part of base Restock +- Added a new version of the HG-20 High Gain Antenna matching the orientation of the stock HG-5. The old version has been soft-deprecated. - Soft-deprecated all various RV-series and RC-series RCS blocks - New RCS parts: - RV-105-A RCS Thruster Block : RCS block with 45 degree canted nozzles, available in 5x, 4x, 3x, 2x variants - RV-1X-A RCS Thruster Block : Micro RCS block with 45 degree canted nozzles, available in 5x, 4x, 3x, 2x variants +- New Engine parts: + - Launch Escape System Jr. (Andrew Cassidy): 0.625m Escape Tower with white and red/black variants. v1.2.1 ------ diff --git a/Source/Restock/ModuleRestockLaunchClamp.cs b/Source/Restock/ModuleRestockLaunchClamp.cs index cb07678b..81c1baf3 100644 --- a/Source/Restock/ModuleRestockLaunchClamp.cs +++ b/Source/Restock/ModuleRestockLaunchClamp.cs @@ -22,6 +22,7 @@ namespace Restock public LaunchClampGirderFactory girderFactory; private int _girderSegments; + private Quaternion towerRot; private Material _girderMaterial; private Matrix4x4[] _girderMatrices; @@ -63,12 +64,28 @@ namespace Restock girderFactory.Initialize(girderMesh, girderSegmentHeight, maxSegments); } } + + if (node.HasValue ("towerRot")) + { + string rot = node.GetValue ("towerRot"); + towerRot = KSPUtil.ParseQuaternion (rot); + } _girderSegments = 1; base.OnLoad(node); } + public void RotateTower () + { + // transforms found in OnLoad + float height = Vector3.Distance (towerAnchor.position, towerStretch.position); + //Debug.Log($"[ModuleRestockLaunchClamp] RotateTower: {height} {towerRot}"); + towerPivot.localRotation = towerRot; + towerAnchor.localRotation = towerRot; + towerAnchor.position = towerStretch.position - towerStretch.up * height; + } + public override void OnStart(StartState state) { base.OnStart(state); @@ -144,4 +161,4 @@ namespace Restock girderMeshFilter.mesh = girderFactory.makeGirder(girderSegments); } } -} \ No newline at end of file +}