mirror of
https://github.com/PorktoberRevolution/ReStocked
synced 2024-09-01 17:34:42 +00:00
Merge branch 'Wheels' into develop
This commit is contained in:
commit
3077b9b47b
@ -1 +1 @@
|
||||
Subproject commit f357fa8e99937d7ef61aa8c63e8f198ea2c7a269
|
||||
Subproject commit e0d84f6229971bab4b1557380a1f3b9c39e2ac46
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -74,6 +74,9 @@ Localization
|
||||
#LOC_Restock_variant-telescope_shielded = Shielded
|
||||
#LOC_Restock_variant-telescope_bare = Bare
|
||||
|
||||
#LOC_Restock_variant-wheel_broken = Broken
|
||||
#LOC_Restock_variant-wheel_bare = Bare
|
||||
|
||||
#LOC_Restock_variant-surface_metal = Metal
|
||||
#LOC_Restock_variant-surface_basic = Basic
|
||||
#LOC_Restock_variant-surface_truss = Truss
|
||||
|
@ -0,0 +1,257 @@
|
||||
// Patches applying art changes to wheels
|
||||
// Contents:
|
||||
// - Rovemax Model S2 (roverWheel2)
|
||||
// - Rovemax Model M1 (roverWHeel1)
|
||||
// - TR-2L Ruggedized Wheel (wheelMed)
|
||||
|
||||
// RoveMax Model S2
|
||||
@PART[roverWheel2]:HAS[~RestockIgnore[*]]:FOR[ReStock]
|
||||
{
|
||||
@author = Andrew Cassidy
|
||||
|
||||
!MODEL {}
|
||||
MODEL
|
||||
{
|
||||
model = ReStock/Assets/Ground/restock-wheel-1
|
||||
}
|
||||
|
||||
@MODULE[ModuleWheelSuspension] {
|
||||
@suspensionTransformName = SuspensionPivot
|
||||
}
|
||||
|
||||
@MODULE[ModuleWheelSteering] {
|
||||
@steeringTransformName = SteeringPivot
|
||||
}
|
||||
|
||||
@MODULE[ModuleWheelDamage] {
|
||||
@damagedTransformName = WheelBusted
|
||||
@undamagedTransformName = Wheel
|
||||
}
|
||||
|
||||
!MODULE[FXModuleLookAtConstraint] {}
|
||||
|
||||
MODULE
|
||||
{
|
||||
name = ModuleRestockConstraints
|
||||
|
||||
LOOKATCONSTRAINT
|
||||
{
|
||||
rotatorsName = Suspension1
|
||||
targetName = Suspension2
|
||||
}
|
||||
|
||||
LOOKATCONSTRAINT
|
||||
{
|
||||
rotatorsName = Suspension2
|
||||
targetName = Suspension1
|
||||
}
|
||||
}
|
||||
|
||||
MODULE
|
||||
{
|
||||
name = ModulePartVariants
|
||||
useMultipleDragCubes = false
|
||||
baseVariant = Bare
|
||||
VARIANT
|
||||
{
|
||||
name = Bare
|
||||
displayName = #LOC_Restock_variant-probe-bare
|
||||
primaryColor = #999999
|
||||
secondaryColor = #999999
|
||||
|
||||
GAMEOBJECTS
|
||||
{
|
||||
body_gold = false
|
||||
SteeringPivot_gold = false
|
||||
body_silver = false
|
||||
SteeringPivot_silver = false
|
||||
}
|
||||
}
|
||||
VARIANT
|
||||
{
|
||||
name = Gold
|
||||
displayName = #LOC_Restock_variant-probe-gold
|
||||
themeName = Gold
|
||||
primaryColor = #fccb0a
|
||||
secondaryColor = #999999
|
||||
|
||||
GAMEOBJECTS
|
||||
{
|
||||
body_gold = true
|
||||
SteeringPivot_gold = true
|
||||
body_silver = false
|
||||
SteeringPivot_silver = false
|
||||
}
|
||||
}
|
||||
VARIANT
|
||||
{
|
||||
name = Silver
|
||||
displayName = #LOC_Restock_variant-probe-silver
|
||||
themeName = Silver
|
||||
primaryColor = #cecece
|
||||
secondaryColor = #999999
|
||||
|
||||
GAMEOBJECTS
|
||||
{
|
||||
body_gold = false
|
||||
SteeringPivot_gold = false
|
||||
body_silver = true
|
||||
SteeringPivot_silver = true
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// RoveMax Model M1
|
||||
@PART[roverWheel1]:HAS[~RestockIgnore[*]]:FOR[ReStock]
|
||||
{
|
||||
@author = Andrew Cassidy
|
||||
|
||||
!mesh = DELETE
|
||||
MODEL
|
||||
{
|
||||
model = ReStock/Assets/Ground/restock-wheel-2
|
||||
}
|
||||
|
||||
@MODULE[ModuleWheelSuspension] {
|
||||
@suspensionTransformName = SuspensionPivot
|
||||
}
|
||||
|
||||
@MODULE[ModuleWheelSteering] {
|
||||
@steeringTransformName = SteeringPivot
|
||||
}
|
||||
|
||||
@MODULE[ModuleWheelDamage] {
|
||||
@damagedTransformName = WheelBusted
|
||||
@undamagedTransformName = Wheel
|
||||
}
|
||||
|
||||
!MODULE[FXModuleLookAtConstraint]
|
||||
|
||||
MODULE
|
||||
{
|
||||
name = ModuleRestockConstraints
|
||||
|
||||
LOOKATCONSTRAINT
|
||||
{
|
||||
rotatorsName = Link1
|
||||
targetName = Link1Target
|
||||
}
|
||||
|
||||
LOOKATCONSTRAINT
|
||||
{
|
||||
rotatorsName = Link2
|
||||
targetName = Link2Target
|
||||
}
|
||||
|
||||
COPYROTATIONCONSTRAINT
|
||||
{
|
||||
rotatorsName = LowerBracket
|
||||
targetName = Base
|
||||
}
|
||||
|
||||
COPYROTATIONCONSTRAINT
|
||||
{
|
||||
rotatorsName = SteeringPivotFollower
|
||||
targetName = SteeringPivot
|
||||
}
|
||||
|
||||
COPYROTATIONCONSTRAINT
|
||||
{
|
||||
rotatorsName = WheelPivotFollower
|
||||
targetName = WheelPivot
|
||||
}
|
||||
|
||||
LOOKATCONSTRAINT
|
||||
{
|
||||
rotatorsName = ShockCylinder
|
||||
targetName = ShockPiston
|
||||
}
|
||||
|
||||
LOOKATCONSTRAINT
|
||||
{
|
||||
rotatorsName = ShockPiston
|
||||
targetName = ShockCylinder
|
||||
}
|
||||
|
||||
LOOKATCONSTRAINT
|
||||
{
|
||||
rotatorsName = SteeringPiston1
|
||||
targetName = SteeringCylinder1
|
||||
}
|
||||
|
||||
LOOKATCONSTRAINT
|
||||
{
|
||||
rotatorsName = SteeringCylinder1
|
||||
targetName = SteeringPiston1
|
||||
}
|
||||
|
||||
LOOKATCONSTRAINT
|
||||
{
|
||||
rotatorsName = SteeringPiston2
|
||||
targetName = SteeringCylinder2
|
||||
}
|
||||
|
||||
LOOKATCONSTRAINT
|
||||
{
|
||||
rotatorsName = SteeringCylinder2
|
||||
targetName = SteeringPiston2
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// TR-2L Ruggedized Vehicular Wheel
|
||||
@PART[wheelMed]:HAS[~RestockIgnore[*]]:FOR[ReStock]
|
||||
{
|
||||
@author = Andrew Cassidy
|
||||
|
||||
!MODEL {}
|
||||
MODEL
|
||||
{
|
||||
model = ReStock/Assets/Ground/restock-wheel-3
|
||||
}
|
||||
|
||||
@MODULE[ModuleWheelSuspension] {
|
||||
@suspensionTransformName = SuspensionPivot
|
||||
}
|
||||
|
||||
@MODULE[ModuleWheelSteering] {
|
||||
@steeringTransformName = SteeringPivot
|
||||
}
|
||||
|
||||
@MODULE[ModuleWheelDamage] {
|
||||
@damagedTransformName = WheelBusted
|
||||
@undamagedTransformName = Wheel
|
||||
}
|
||||
|
||||
!MODULE[FXModuleLookAtConstraint] {}
|
||||
|
||||
MODULE
|
||||
{
|
||||
name = ModuleRestockConstraints
|
||||
|
||||
LOOKATCONSTRAINT
|
||||
{
|
||||
rotatorsName = DamperCylinder
|
||||
targetName = DamperPiston
|
||||
}
|
||||
|
||||
LOOKATCONSTRAINT
|
||||
{
|
||||
rotatorsName = DamperPiston
|
||||
targetName = DamperCylinder
|
||||
}
|
||||
|
||||
LOOKATCONSTRAINT
|
||||
{
|
||||
rotatorsName = SteeringCylinder1
|
||||
targetName = SteeringPiston1
|
||||
}
|
||||
|
||||
LOOKATCONSTRAINT
|
||||
{
|
||||
rotatorsName = SteeringPiston1
|
||||
targetName = SteeringCylinder1
|
||||
}
|
||||
}
|
||||
}
|
@ -0,0 +1,156 @@
|
||||
// Patches applying art changes to the Making History rover wheel
|
||||
// Contents:
|
||||
// - RoveMax M1-F Rover Wheel (roverWheelM1-F)
|
||||
|
||||
// RoveMax M1-F Rover Wheel
|
||||
@PART[roverWheelM1-F]:HAS[~RestockIgnore[*]]:FOR[ReStock]
|
||||
{
|
||||
@author = Andrew Cassidy
|
||||
|
||||
!MODEL {}
|
||||
MODEL
|
||||
{
|
||||
model = ReStock/Assets/Ground/restock-wheel-4
|
||||
}
|
||||
|
||||
@MODULE[ModuleWheelSuspension] {
|
||||
@suspensionTransformName = SuspensionPivot
|
||||
}
|
||||
|
||||
@MODULE[ModuleWheelSteering] {
|
||||
@steeringTransformName = SteeringPivot
|
||||
}
|
||||
|
||||
@MODULE[ModuleWheelDamage] {
|
||||
@damagedTransformName = WheelBusted
|
||||
@undamagedTransformName = Wheel
|
||||
}
|
||||
|
||||
@MODULE[ModuleWheelDeployment] {
|
||||
@animationTrfName = restock-wheel-4
|
||||
@animationStateName = restock-wheel-4-deploy
|
||||
|
||||
}
|
||||
|
||||
!MODULE[ModulePartVariants] {}
|
||||
|
||||
MODULE
|
||||
{
|
||||
name = ModulePartVariants
|
||||
baseVariant = Orange
|
||||
VARIANT
|
||||
{
|
||||
name = Orange
|
||||
displayName = #autoLOC_8007100 // Orange
|
||||
themeName = Orange
|
||||
primaryColor = #74402B
|
||||
secondaryColor = #707070
|
||||
GAMEOBJECTS
|
||||
{
|
||||
Fender_orange = true
|
||||
Fender_grey = false
|
||||
Fender_cernan = false
|
||||
}
|
||||
}
|
||||
|
||||
VARIANT
|
||||
{
|
||||
name = Grey
|
||||
displayName = #autoLOC_8007119 // White
|
||||
themeName = White
|
||||
primaryColor = #ffffff
|
||||
secondaryColor = #707070
|
||||
GAMEOBJECTS
|
||||
{
|
||||
Fender_orange = false
|
||||
Fender_grey = true
|
||||
Fender_cernan = false
|
||||
}
|
||||
}
|
||||
|
||||
VARIANT
|
||||
{
|
||||
name = Cernan
|
||||
displayName = #LOC_Restock_variant-wheel_broken // Broken
|
||||
themeName = Orange
|
||||
primaryColor = #74402B
|
||||
secondaryColor = #A0A0A0
|
||||
GAMEOBJECTS
|
||||
{
|
||||
Fender_orange = false
|
||||
Fender_grey = false
|
||||
Fender_cernan = true
|
||||
}
|
||||
}
|
||||
|
||||
VARIANT
|
||||
{
|
||||
name = Bare
|
||||
displayName = #LOC_Restock_variant-wheel_bare //Bare
|
||||
themeName = White
|
||||
primaryColor = #707070
|
||||
secondaryColor = #707070
|
||||
GAMEOBJECTS
|
||||
{
|
||||
Fender_orange = false
|
||||
Fender_grey = false
|
||||
Fender_cernan = false
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
!MODULE[FXModuleLookAtConstraint] {}
|
||||
|
||||
MODULE
|
||||
{
|
||||
name = ModuleRestockConstraints
|
||||
|
||||
LOOKATCONSTRAINT
|
||||
{
|
||||
rotatorsName = Link1
|
||||
targetName = Link1Target
|
||||
}
|
||||
|
||||
LOOKATCONSTRAINT
|
||||
{
|
||||
rotatorsName = Link2
|
||||
targetName = Link2Target
|
||||
}
|
||||
|
||||
LOOKATCONSTRAINT
|
||||
{
|
||||
rotatorsName = SuspensionPiston
|
||||
targetName = SuspensionPistonTarget
|
||||
}
|
||||
|
||||
LOOKATCONSTRAINT
|
||||
{
|
||||
rotatorsName = SuspensionCylinder
|
||||
targetName = SuspensionCylinderTarget
|
||||
}
|
||||
|
||||
COPYROTATIONCONSTRAINT
|
||||
{
|
||||
rotatorsName = LowerBracket
|
||||
targetName = UpperBracket
|
||||
}
|
||||
|
||||
COPYROTATIONCONSTRAINT
|
||||
{
|
||||
rotatorsName = SteeringPivotFollower
|
||||
targetName = SteeringPivot
|
||||
}
|
||||
|
||||
COPYPOSITIONCONSTRAINT
|
||||
{
|
||||
moversName = WheelMesh
|
||||
targetName = WheelPivotFollower
|
||||
}
|
||||
|
||||
COPYPOSITIONCONSTRAINT
|
||||
{
|
||||
moversName = WheelMeshBusted
|
||||
targetName = WheelPivotFollower
|
||||
}
|
||||
}
|
||||
}
|
@ -135,6 +135,9 @@ Squad/Parts/Utility/launchClamp1/
|
||||
Squad/Parts/Utility/landingLegLT-1/
|
||||
Squad/Parts/Utility/landingLegLT-2/
|
||||
Squad/Parts/Utility/landingLegLT-5/
|
||||
Squad/Parts/Wheel/roverWheelM1/
|
||||
Squad/Parts/Wheel/roverWheelS2/
|
||||
Squad/Parts/Wheel/roverWheelTR-2L/
|
||||
Squad/Parts/Resources/RadialTank/
|
||||
Squad/Parts/Resources/SmallTank/
|
||||
Squad/Parts/Resources/LargeTank/
|
||||
|
@ -1,3 +1,15 @@
|
||||
v1.1.0
|
||||
-----
|
||||
- New stock part replacements
|
||||
- Wheels
|
||||
- Rovemax Model S2 (Andrew Cassidy)
|
||||
- Rovemax Model M1 (Andrew Cassidy)
|
||||
- TR-2L Ruggedized Wheel (Andrew Cassidy)
|
||||
|
||||
- Making History parts replaced:
|
||||
- Wheels
|
||||
- Rovemax Model M1-F (Andrew Cassidy)
|
||||
|
||||
v1.0.3
|
||||
-----
|
||||
- Updated ModuleManager distribution to 4.1.3
|
||||
@ -9,7 +21,6 @@ v1.0.2
|
||||
- Fixed 'tankbutt' localizations for Skiff showing 1.875m when they should be 2.5m (#766)
|
||||
- Fixed inflatable heatshield fairing (#765)
|
||||
|
||||
|
||||
v1.0.1
|
||||
-----
|
||||
- Fixed lack of bundled ModuleManager
|
||||
|
@ -429,5 +429,15 @@ Localization
|
||||
#LOC_RestockPlus_restock-oretank-375-1_title = Jumbo Holding Tank
|
||||
#LOC_RestockPlus_restock-oretank-375-1_description = A very large tank that can be used for storing raw materials. The manufacturer denies any claims that it has been re-purposed from a local farm
|
||||
#LOC_RestockPlus_restock-oretank-375-1_tags = black isru mine )mining (ore resource store restock
|
||||
|
||||
// GROUND
|
||||
// ==============
|
||||
#LOC_RestockPlus_restock-wheel-1-T_title = Rovemax Model S2-T
|
||||
#LOC_RestockPlus_restock-wheel-1-T_description = A modified rover wheel that is rotated 90°, ideal for tricycles or other unusually shaped vehicles.
|
||||
#LOC_RestockPlus_restock-wheel-1-T_tags = )car drive ground roll rover wheel tricycle restock
|
||||
|
||||
#LOC_RestockPlus_restock-wheel-4_title = Rovemax Model M0
|
||||
#LOC_RestockPlus_restock-wheel-4_description = A smaller version of the popular Rovemax wheel with an integrated folding function, allowing it to be stowed for transportation.
|
||||
#LOC_RestockPlus_restock-wheel-4_tags = )car drive ground roll rover wheel fold LRV restock
|
||||
}
|
||||
}
|
||||
|
@ -0,0 +1,209 @@
|
||||
// ReStock+ 1.1.0
|
||||
// 90° rotated rover wheel
|
||||
PART
|
||||
{
|
||||
name = restock-wheel-1-T
|
||||
module = Part
|
||||
author = Andrew Cassidy
|
||||
|
||||
MODEL
|
||||
{
|
||||
model = ReStock/Assets/Ground/restock-wheel-1-T
|
||||
scale = 1.0, 1.0, 1.0
|
||||
}
|
||||
rescaleFactor = 1.0
|
||||
|
||||
// attachment rules: stack, srfAttach, allowStack, allowSrfAttach, allowCollision
|
||||
attachRules = 1,1,0,0,0
|
||||
node_attach = 0.0, 0.5248517, 0.3083052, 0.0, 0.0, -1.0, 1
|
||||
node_stack_bottom = 0.0, 0.5248517, 0.321335, 0.0, 0.0, 1.0, 1
|
||||
|
||||
TechRequired = spaceExploration
|
||||
entryCost = 3100
|
||||
cost = 300
|
||||
category = Ground
|
||||
subcategory = 0
|
||||
mass = 0.06
|
||||
|
||||
title = #LOC_RestockPlus_restock-wheel-1-T_title // Rovemax Model S2-T
|
||||
manufacturer = #autoLOC_501649 //#autoLOC_501649 = Kerbal Motion LLC
|
||||
description = #LOC_RestockPlus_restock-wheel-1-T_description
|
||||
// A modified rover wheel that is rotated 90°, ideal for tricycles or other unusually shaped vehicles
|
||||
|
||||
dragModelType = default
|
||||
maximum_drag = 0.3
|
||||
minimum_drag = 0.2
|
||||
angularDrag = 1
|
||||
crashTolerance = 20
|
||||
maxTemp = 1200
|
||||
bulkheadProfiles = srf
|
||||
tags = #LOC_RestockPlus_restock-wheel-1-T_tags // drive ground roll rover wheel tricycle restock
|
||||
|
||||
MODULE
|
||||
{
|
||||
name = ModuleWheelBase
|
||||
|
||||
wheelColliderTransformName = WheelCollider
|
||||
wheelTransformName = WheelPivot
|
||||
|
||||
wheelType = MOTORIZED
|
||||
|
||||
// setting this to true will override the radius and center parameters
|
||||
FitWheelColliderToMesh = False
|
||||
radius = 0.157
|
||||
center = 0,0,0
|
||||
mass = 0.040
|
||||
groundHeightOffset = 0
|
||||
|
||||
TooltipTitle = #autoLOC_502081 //#autoLOC_502081 = Rover Wheel
|
||||
TooltipPrimaryField = #autoLOC_6004045 //#autoLOC_6004045 = Motorized
|
||||
}
|
||||
|
||||
MODULE
|
||||
{
|
||||
name = ModuleWheelSuspension
|
||||
baseModuleIndex = 0
|
||||
suspensionTransformName = SuspensionPivot
|
||||
maximumLoad = 8.0
|
||||
suspensionDistance = 0.195
|
||||
suspensionOffset = -0.05
|
||||
targetPosition = 0.2
|
||||
springRatio = 5
|
||||
damperRatio = 1.0
|
||||
useAutoBoost = true
|
||||
}
|
||||
|
||||
MODULE
|
||||
{
|
||||
name = ModuleWheelSteering
|
||||
baseModuleIndex = 0
|
||||
|
||||
caliperTransformName = SteeringPivot
|
||||
|
||||
steeringResponse = 1.5
|
||||
steeringCurve
|
||||
{
|
||||
key = 0 40
|
||||
key = 5 27//15
|
||||
key = 10 9//6
|
||||
key = 30 3.0//1.5
|
||||
}
|
||||
}
|
||||
MODULE
|
||||
{
|
||||
name = ModuleWheelMotor
|
||||
baseModuleIndex = 0
|
||||
|
||||
wheelSpeedMax = 11
|
||||
driveResponse = 2
|
||||
|
||||
torqueCurve
|
||||
{
|
||||
key = 0 0.17 0 0
|
||||
key = 2.5 0.1 0 0
|
||||
key = 12 0 0 0
|
||||
}
|
||||
RESOURCE
|
||||
{
|
||||
name = ElectricCharge
|
||||
rate = 1//5
|
||||
}
|
||||
idleDrain = 0.0//0.1//
|
||||
}
|
||||
|
||||
MODULE
|
||||
{
|
||||
name = ModuleWheelBrakes
|
||||
baseModuleIndex = 0
|
||||
|
||||
maxBrakeTorque = 0.34
|
||||
brakeResponse = 1
|
||||
}
|
||||
|
||||
MODULE
|
||||
{
|
||||
name = ModuleWheelDamage
|
||||
baseModuleIndex = 0
|
||||
|
||||
damagedTransformName = WheelBusted
|
||||
undamagedTransformName = Wheel
|
||||
|
||||
stressTolerance = 315
|
||||
impactTolerance = 65
|
||||
deflectionMagnitude = 1.0
|
||||
deflectionSharpness = 2.0
|
||||
slipMagnitude = 15
|
||||
slipSharpness = 2.0
|
||||
}
|
||||
|
||||
MODULE
|
||||
{
|
||||
name = ModuleRestockConstraints
|
||||
|
||||
LOOKATCONSTRAINT
|
||||
{
|
||||
rotatorsName = Suspension1
|
||||
targetName = Suspension2
|
||||
}
|
||||
|
||||
LOOKATCONSTRAINT
|
||||
{
|
||||
rotatorsName = Suspension2
|
||||
targetName = Suspension1
|
||||
}
|
||||
}
|
||||
|
||||
MODULE
|
||||
{
|
||||
name = ModulePartVariants
|
||||
useMultipleDragCubes = false
|
||||
baseVariant = Bare
|
||||
VARIANT
|
||||
{
|
||||
name = Bare
|
||||
displayName = #LOC_Restock_variant-probe-bare
|
||||
primaryColor = #999999
|
||||
secondaryColor = #999999
|
||||
|
||||
GAMEOBJECTS
|
||||
{
|
||||
body_gold = false
|
||||
SteeringPivot_gold = false
|
||||
body_silver = false
|
||||
SteeringPivot_silver = false
|
||||
}
|
||||
}
|
||||
VARIANT
|
||||
{
|
||||
name = Gold
|
||||
displayName = #LOC_Restock_variant-probe-gold
|
||||
themeName = Gold
|
||||
primaryColor = #fccb0a
|
||||
secondaryColor = #999999
|
||||
|
||||
GAMEOBJECTS
|
||||
{
|
||||
body_gold = true
|
||||
SteeringPivot_gold = true
|
||||
body_silver = false
|
||||
SteeringPivot_silver = false
|
||||
}
|
||||
}
|
||||
VARIANT
|
||||
{
|
||||
name = Silver
|
||||
displayName = #LOC_Restock_variant-probe-silver
|
||||
themeName = Silver
|
||||
primaryColor = #cecece
|
||||
secondaryColor = #999999
|
||||
|
||||
GAMEOBJECTS
|
||||
{
|
||||
body_gold = false
|
||||
SteeringPivot_gold = false
|
||||
body_silver = true
|
||||
SteeringPivot_silver = true
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
@ -0,0 +1,288 @@
|
||||
// ReStock+ 1.1.0
|
||||
// Folding LRV wheel
|
||||
PART
|
||||
{
|
||||
name = restock-wheel-4
|
||||
module = Part
|
||||
author = Andrew Cassidy
|
||||
|
||||
MODEL
|
||||
{
|
||||
model = ReStock/Assets/Ground/restock-wheel-4
|
||||
scale = 1.0, 1.0, 1.0
|
||||
}
|
||||
rescaleFactor = 1.25 //sigh
|
||||
|
||||
// attachment rules: stack, srfAttach, allowStack, allowSrfAttach, allowCollision
|
||||
attachRules = 1,1,0,0,0
|
||||
node_attach = 0.36, 0.1207, 0.0, 1.0, 0.0, 0.0, 1
|
||||
node_stack_bottom = 0.3815, 0.1207, 0.0, 1.0, 0.0, 0.0, 1
|
||||
|
||||
TechRequired = fieldScience
|
||||
entryCost = 5000
|
||||
cost = 500
|
||||
category = Ground
|
||||
subcategory = 0
|
||||
mass = 0.04
|
||||
|
||||
title = #LOC_RestockPlus_restock-wheel-4_title // Rovemax Model M0
|
||||
manufacturer = #autoLOC_501649 //#autoLOC_501649 = Kerbal Motion LLC
|
||||
description = #LOC_RestockPlus_restock-wheel-4_description
|
||||
// A smaller version of the popular Rovemax wheel with an integrated folding function, allowing it to be stowed for transportation.
|
||||
|
||||
dragModelType = default
|
||||
maximum_drag = 0.3
|
||||
minimum_drag = 0.2
|
||||
angularDrag = 1
|
||||
crashTolerance = 30
|
||||
maxTemp = 1200
|
||||
bulkheadProfiles = srf
|
||||
tags = #LOC_RestockPlus_restock-wheel-4_tags // )car drive ground roll rover wheel fold LRV restock
|
||||
|
||||
/// Flag to disable this part if MH is installed
|
||||
MHReplacement = True
|
||||
|
||||
MODULE
|
||||
{
|
||||
name = ModuleWheelBase
|
||||
|
||||
wheelColliderTransformName = WheelCollider
|
||||
wheelTransformName = WheelPivot
|
||||
|
||||
wheelType = MOTORIZED
|
||||
|
||||
// setting this to true will override the radius and center parameters
|
||||
FitWheelColliderToMesh = False
|
||||
radius = 0.23
|
||||
center = 0,0,0
|
||||
mass = 0.040
|
||||
groundHeightOffset = 0
|
||||
|
||||
TooltipTitle = #autoLOC_502081 //#autoLOC_502081 = Rover Wheel
|
||||
TooltipPrimaryField = #autoLOC_6004045 //#autoLOC_6004045 = Motorized
|
||||
}
|
||||
|
||||
MODULE
|
||||
{
|
||||
name = ModuleWheelSuspension
|
||||
baseModuleIndex = 0
|
||||
suspensionTransformName = SuspensionPivot
|
||||
suspensionDistance = 0.1
|
||||
targetPosition = 0.0
|
||||
springRatio = 12
|
||||
damperRatio = 1.0
|
||||
maximumLoad = 5.0
|
||||
}
|
||||
|
||||
MODULE
|
||||
{
|
||||
name = ModuleWheelSteering
|
||||
baseModuleIndex = 0
|
||||
|
||||
caliperTransformName = SteeringPivot
|
||||
|
||||
steeringResponse = 2
|
||||
steeringCurve
|
||||
{
|
||||
key = 0 20
|
||||
key = 10 9
|
||||
key = 30 3.0
|
||||
}
|
||||
}
|
||||
MODULE
|
||||
{
|
||||
name = ModuleWheelMotor
|
||||
baseModuleIndex = 0
|
||||
|
||||
maxRpm = 42
|
||||
driveResponse = 2
|
||||
|
||||
torqueCurve
|
||||
{
|
||||
key = 0 0.5 0 0
|
||||
key = 2 0.3 0
|
||||
key = 10 0.1 0 0
|
||||
key = 25 0 0 0
|
||||
}
|
||||
|
||||
RESOURCE
|
||||
{
|
||||
name = ElectricCharge
|
||||
rate = 1.0
|
||||
}
|
||||
idleDrain = 0.0
|
||||
}
|
||||
|
||||
MODULE
|
||||
{
|
||||
name = ModuleWheelBrakes
|
||||
baseModuleIndex = 0
|
||||
|
||||
maxBrakeTorque = 0.5
|
||||
brakeResponse = 1
|
||||
}
|
||||
|
||||
MODULE
|
||||
{
|
||||
name = ModuleWheelDamage
|
||||
baseModuleIndex = 0
|
||||
|
||||
damagedTransformName = WheelBusted
|
||||
undamagedTransformName = Wheel
|
||||
|
||||
stressTolerance = 250
|
||||
impactTolerance = 100
|
||||
deflectionMagnitude = 1.0
|
||||
deflectionSharpness = 2.0
|
||||
slipMagnitude = 15
|
||||
slipSharpness = 2.0
|
||||
}
|
||||
|
||||
MODULE
|
||||
{
|
||||
name = ModuleWheelDeployment
|
||||
baseModuleIndex = 0
|
||||
|
||||
animationTrfName = restock-wheel-4
|
||||
animationStateName = restock-wheel-4-deploy
|
||||
deployedPosition = 0
|
||||
deployTargetTransformName = deployTgt
|
||||
|
||||
TsubSys = 1.0
|
||||
useStandInCollider = False
|
||||
slaveModules = 8
|
||||
|
||||
fxDeploy = deploy
|
||||
fxRetract = retract
|
||||
fxDeployed = deployed
|
||||
fxRetracted = retracted
|
||||
}
|
||||
|
||||
|
||||
MODULE
|
||||
{
|
||||
name = ModulePartVariants
|
||||
baseVariant = Orange
|
||||
VARIANT
|
||||
{
|
||||
name = Orange
|
||||
displayName = #autoLOC_8007100 // Orange
|
||||
themeName = Orange
|
||||
primaryColor = #74402B
|
||||
secondaryColor = #707070
|
||||
GAMEOBJECTS
|
||||
{
|
||||
Fender_orange = true
|
||||
Fender_grey = false
|
||||
Fender_cernan = false
|
||||
}
|
||||
}
|
||||
|
||||
VARIANT
|
||||
{
|
||||
name = Grey
|
||||
displayName = #autoLOC_8007119 // White
|
||||
themeName = White
|
||||
primaryColor = #ffffff
|
||||
secondaryColor = #707070
|
||||
GAMEOBJECTS
|
||||
{
|
||||
Fender_orange = false
|
||||
Fender_grey = true
|
||||
Fender_cernan = false
|
||||
}
|
||||
}
|
||||
|
||||
VARIANT
|
||||
{
|
||||
name = Cernan
|
||||
displayName = #LOC_Restock_variant-wheel_broken // Broken
|
||||
themeName = Orange
|
||||
primaryColor = #74402B
|
||||
secondaryColor = #A0A0A0
|
||||
GAMEOBJECTS
|
||||
{
|
||||
Fender_orange = false
|
||||
Fender_grey = false
|
||||
Fender_cernan = true
|
||||
}
|
||||
}
|
||||
|
||||
VARIANT
|
||||
{
|
||||
name = Bare
|
||||
displayName = #LOC_Restock_variant-wheel_bare //Bare
|
||||
themeName = White
|
||||
primaryColor = #707070
|
||||
secondaryColor = #707070
|
||||
GAMEOBJECTS
|
||||
{
|
||||
Fender_orange = false
|
||||
Fender_grey = false
|
||||
Fender_cernan = false
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
MODULE
|
||||
{
|
||||
name = ModuleTestSubject
|
||||
environments = 15
|
||||
useStaging = False
|
||||
useEvent = True
|
||||
}
|
||||
|
||||
|
||||
MODULE
|
||||
{
|
||||
name = ModuleRestockConstraints
|
||||
|
||||
LOOKATCONSTRAINT
|
||||
{
|
||||
rotatorsName = Link1
|
||||
targetName = Link1Target
|
||||
}
|
||||
|
||||
LOOKATCONSTRAINT
|
||||
{
|
||||
rotatorsName = Link2
|
||||
targetName = Link2Target
|
||||
}
|
||||
|
||||
LOOKATCONSTRAINT
|
||||
{
|
||||
rotatorsName = SuspensionPiston
|
||||
targetName = SuspensionPistonTarget
|
||||
}
|
||||
|
||||
LOOKATCONSTRAINT
|
||||
{
|
||||
rotatorsName = SuspensionCylinder
|
||||
targetName = SuspensionCylinderTarget
|
||||
}
|
||||
|
||||
COPYROTATIONCONSTRAINT
|
||||
{
|
||||
rotatorsName = LowerBracket
|
||||
targetName = UpperBracket
|
||||
}
|
||||
|
||||
COPYROTATIONCONSTRAINT
|
||||
{
|
||||
rotatorsName = SteeringPivotFollower
|
||||
targetName = SteeringPivot
|
||||
}
|
||||
|
||||
COPYPOSITIONCONSTRAINT
|
||||
{
|
||||
moversName = WheelMesh
|
||||
targetName = WheelPivotFollower
|
||||
}
|
||||
|
||||
COPYPOSITIONCONSTRAINT
|
||||
{
|
||||
moversName = WheelMeshBusted
|
||||
targetName = WheelPivotFollower
|
||||
}
|
||||
}
|
||||
}
|
@ -1,3 +1,9 @@
|
||||
v1.1.0
|
||||
-----
|
||||
- New Wheel parts
|
||||
- Rovemax Model S2-T (Andrew Cassidy): 90° rotated rover wheel for building tricycles
|
||||
- Rovemax Model M0 (Andrew Cassidy): folding rover wheel. Disabled if Making History is installed
|
||||
|
||||
v1.0.3
|
||||
-----
|
||||
- Updated ModuleManager distribution to 4.1.3
|
||||
|
40
Source/Restock/Constraints/CopyPositionConstraint.cs
Normal file
40
Source/Restock/Constraints/CopyPositionConstraint.cs
Normal file
@ -0,0 +1,40 @@
|
||||
using UnityEngine;
|
||||
|
||||
namespace Restock.Constraints
|
||||
{
|
||||
[System.Serializable]
|
||||
public class CopyPositionConstraint : IConstraint
|
||||
{
|
||||
private readonly string moversName;
|
||||
private readonly string targetName;
|
||||
|
||||
private readonly bool local = false;
|
||||
|
||||
// Cached components
|
||||
private readonly Transform mover;
|
||||
private readonly Transform target;
|
||||
|
||||
public CopyPositionConstraint(ConfigNode node, Part p)
|
||||
{
|
||||
node.TryGetValue("rotatorsName", ref moversName);
|
||||
node.TryGetValue("targetName", ref targetName);
|
||||
|
||||
mover = p.FindModelTransform(moversName);
|
||||
target = p.FindModelTransform(targetName);
|
||||
}
|
||||
|
||||
public void Update()
|
||||
{
|
||||
if (mover == null || target == null) return;
|
||||
|
||||
if (local)
|
||||
{
|
||||
mover.localPosition = target.localPosition;
|
||||
}
|
||||
else
|
||||
{
|
||||
mover.position = target.position;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
40
Source/Restock/Constraints/CopyRotationConstraint.cs
Normal file
40
Source/Restock/Constraints/CopyRotationConstraint.cs
Normal file
@ -0,0 +1,40 @@
|
||||
using UnityEngine;
|
||||
|
||||
namespace Restock.Constraints
|
||||
{
|
||||
[System.Serializable]
|
||||
public class CopyRotationConstraint : IConstraint
|
||||
{
|
||||
private readonly string rotatorsName;
|
||||
private readonly string targetName;
|
||||
|
||||
private readonly bool local = false;
|
||||
|
||||
// Cached components
|
||||
private readonly Transform target;
|
||||
private readonly Transform rotator;
|
||||
|
||||
public CopyRotationConstraint(ConfigNode node, Part p)
|
||||
{
|
||||
node.TryGetValue("rotatorsName", ref rotatorsName);
|
||||
node.TryGetValue("targetName", ref targetName);
|
||||
|
||||
rotator = p.FindModelTransform(rotatorsName);
|
||||
target = p.FindModelTransform(targetName);
|
||||
}
|
||||
|
||||
public void Update()
|
||||
{
|
||||
if (rotator == null || target == null) return;
|
||||
|
||||
if (local)
|
||||
{
|
||||
rotator.localRotation = target.localRotation;
|
||||
}
|
||||
else
|
||||
{
|
||||
rotator.rotation = target.rotation;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
10
Source/Restock/Constraints/IConstraint.cs
Normal file
10
Source/Restock/Constraints/IConstraint.cs
Normal file
@ -0,0 +1,10 @@
|
||||
using System;
|
||||
using UnityEngine;
|
||||
|
||||
namespace Restock.Constraints
|
||||
{
|
||||
public interface IConstraint
|
||||
{
|
||||
void Update();
|
||||
}
|
||||
}
|
33
Source/Restock/Constraints/LookAtConstraint.cs
Normal file
33
Source/Restock/Constraints/LookAtConstraint.cs
Normal file
@ -0,0 +1,33 @@
|
||||
using UnityEngine;
|
||||
|
||||
namespace Restock.Constraints
|
||||
{
|
||||
[System.Serializable]
|
||||
public class LookAtConstraint : IConstraint
|
||||
{
|
||||
private readonly string rotatorsName;
|
||||
private readonly string targetName;
|
||||
|
||||
// Cached components
|
||||
private readonly Transform target;
|
||||
private readonly Transform rotator;
|
||||
|
||||
public LookAtConstraint(ConfigNode node, Part p)
|
||||
{
|
||||
node.TryGetValue("rotatorsName", ref rotatorsName);
|
||||
node.TryGetValue("targetName", ref targetName);
|
||||
|
||||
rotator = p.FindModelTransform(rotatorsName);
|
||||
target = p.FindModelTransform(targetName);
|
||||
}
|
||||
|
||||
public void Update()
|
||||
{
|
||||
if (rotator == null || target == null) return;
|
||||
|
||||
var lookPos = target.position - rotator.position;
|
||||
var rotation = Quaternion.LookRotation(lookPos, target.up);
|
||||
rotator.rotation = rotation;
|
||||
}
|
||||
}
|
||||
}
|
79
Source/Restock/ModuleRestockConstraints.cs
Normal file
79
Source/Restock/ModuleRestockConstraints.cs
Normal file
@ -0,0 +1,79 @@
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using Restock.Constraints;
|
||||
|
||||
namespace Restock
|
||||
{
|
||||
public class ModuleRestockConstraints : PartModule
|
||||
{
|
||||
public List<IConstraint> constraints;
|
||||
|
||||
public override void OnLoad(ConfigNode node)
|
||||
{
|
||||
base.OnLoad(node);
|
||||
|
||||
constraints = new List<IConstraint>();
|
||||
var cnodes = node.GetNodes();
|
||||
this.Log($"Loading {cnodes.Length} constraints");
|
||||
|
||||
foreach (var cnode in cnodes)
|
||||
{
|
||||
switch (cnode.name)
|
||||
{
|
||||
//LookAtConstraint
|
||||
case "CONSTRAINLOOKFX":
|
||||
case "LOOKATCONSTRAINT":
|
||||
constraints.Add(new LookAtConstraint(cnode, this.part));
|
||||
break;
|
||||
|
||||
//CopyPositionConstraint
|
||||
case "COPYPOSITIONCONSTRAINT":
|
||||
constraints.Add(new CopyPositionConstraint(cnode, this.part));
|
||||
break;
|
||||
|
||||
//CopyRotationConstraint
|
||||
case "COPYROTATIONCONSTRAINT":
|
||||
constraints.Add(new CopyRotationConstraint(cnode, this.part));
|
||||
break;
|
||||
|
||||
//Unknown
|
||||
default:
|
||||
this.LogError($"Unknown constraint type \"{cnode.name}\"");
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
this.Log($"Loaded {constraints.Count} constraints");
|
||||
}
|
||||
|
||||
public override void OnStart(StartState state)
|
||||
{
|
||||
if (HighLogic.LoadedSceneIsFlight || HighLogic.LoadedSceneIsEditor)
|
||||
{
|
||||
if (constraints == null || constraints.Count == 0)
|
||||
{
|
||||
ConfigNode cfg;
|
||||
foreach (UrlDir.UrlConfig pNode in GameDatabase.Instance.GetConfigs("PART"))
|
||||
{
|
||||
if (pNode.name.Replace("_", ".") == part.partInfo.name)
|
||||
{
|
||||
cfg = pNode.config;
|
||||
ConfigNode node = cfg.GetNodes("MODULE").Single(n => n.GetValue("name") == moduleName);
|
||||
OnLoad(node);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void LateUpdate()
|
||||
{
|
||||
if (constraints == null) return;
|
||||
|
||||
foreach (var constraint in constraints)
|
||||
{
|
||||
constraint.Update();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
@ -44,6 +44,10 @@
|
||||
</Reference>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="Constraints\CopyPositionConstraint.cs" />
|
||||
<Compile Include="Constraints\CopyRotationConstraint.cs" />
|
||||
<Compile Include="Constraints\IConstraint.cs" />
|
||||
<Compile Include="Constraints\LookAtConstraint.cs" />
|
||||
<Compile Include="InstallChecker.cs" />
|
||||
<Compile Include="MaterialModifiers\ColorPropertyMaterialModifier.cs" />
|
||||
<Compile Include="MaterialModifiers\FloatPropertyMaterialModifier.cs" />
|
||||
@ -55,6 +59,7 @@
|
||||
<Compile Include="ModuleRestockDepthMask.cs" />
|
||||
<Compile Include="ModuleRestockHeatEffects.cs" />
|
||||
<Compile Include="ModuleRestockISRUAnimation.cs" />
|
||||
<Compile Include="ModuleRestockConstraints.cs" />
|
||||
<Compile Include="ModuleRestockModifyFairingMaterials.cs" />
|
||||
<Compile Include="ModuleRestockModifyMaterials.cs" />
|
||||
<Compile Include="PartModuleExtensions.cs" />
|
||||
|
Loading…
Reference in New Issue
Block a user