Merge branch 'master' into develop

This commit is contained in:
Andrew Cassidy 2019-05-10 18:32:08 -07:00
commit 14bc904f41
No known key found for this signature in database
GPG Key ID: 963017B38FD477A1
36 changed files with 1042 additions and 67 deletions

@ -1 +1 @@
Subproject commit faaf378439a7e474a693d303631cc30bcf9c5bd7
Subproject commit c40a3155dbfcdcb8d1f37cd6cd9ed4129f703124

View File

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

View File

@ -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
}
}

View File

@ -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] {}
}

View File

@ -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]

View File

@ -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
}
}
}
}

View File

@ -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
}
}
}

View File

@ -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
}
}

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -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
}
}

View File

@ -117,7 +117,7 @@ PART
}
atmosphereCurve
{
key = 0 320
key = 0 330
key = 1 150
key = 2 0.001
}

View File

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

View File

@ -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":{

View File

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

View File

@ -15,7 +15,7 @@ DEPENDENCIES
============
Required:
- Restock (0.1.3)
- Restock (0.1.4)
- ModuleManager (4.0.2)
=============

View File

@ -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<string> 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<string> 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<string> 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;
}
}
}

View File

@ -41,6 +41,7 @@
</Reference>
</ItemGroup>
<ItemGroup>
<Compile Include="InstallChecker.cs" />
<Compile Include="MaterialModifiers\ColorPropertyMaterialModifier.cs" />
<Compile Include="MaterialModifiers\FloatPropertyMaterialModifier.cs" />
<Compile Include="MaterialModifiers\IMaterialModifier.cs" />