Project Description
CleverBobCat is the Plugin developed to provide functionalities to BobCat Ind wheeled equipment for studying and colonization of planets in kerbal space program.

Licence
The software is released under MIT Licence except the code derived from Tony Chernogovsky "Tosh" Cart.dll that is licenced under CC-BY-SA.

- Engine Toggles / Throttle Sliders
Engine Toggle function allows for the grouping of engines and preset on/off and % Throttle settings in the part.cfg file.  VAB functionality is not included.
ModuleCleverEngineController 
add to bottom of part.cfg:
MODULE
{
	name = ModuleCleverEngineController
}

ModuleCleverLiquidEngine
add to bottom of part.cfg:
MODULE
{
	// Module Parameters:
	// name = Name of the module
	// engineGroup = the name of the engine group, different module can share the 
	// same name
	// engineActive = when starting a flight the engine must be turned on or off
	// engineThrottle = the throttle of the engine group when starting a flight
	name = ModuleCleverLiquidEngine
	engineGroup = Group Name
	engineActive = false
	engineThrottle = 0
}

ModuleCleverAtmosphericEngine
add to bottom of part.cfg:
MODULE
{
	// Module Parameters:
	// name = Name of the module
	// engineGroup = the name of the engine group, different module can share the 
	// same name
	// engineActive = when starting a flight the engine must be turned on or off
	// engineThrottle = the throttle of the engine group when starting a flight
	name = ModuleCleverAtmosphericEngine
	engineGroup = Group Name
	engineActive = false
	engineThrottle = 0
}

ModuleCleverRCSModule
add to bottom of part.cfg:
MODULE
{
	// Module Parameters:
	// name = Name of the module
	// engineGroup = the name of the engine group, different module can share the 
	// same name
	// engineActive = when starting a flight the engine must be turned on or off
	// engineThrottle = the throttle of the engine group when starting a flight
	name = ModuleCleverRCSModule
	engineGroup = Group Name
	engineActive = false
	engineThrottle = 0
}
- Resource Transfer
The Resource Transfer Function allows for targeted and Area of Effect transfer modes, up to 2.5 kilometers.  transfer efficiency and range are configurable in the part.cfg file.
ModuleCleverResourceTransfer
add to bottom of part.cfg:
MODULE
{
	// Module Parameters:
	// name = Name of the module
	// resourceName = name of the "resource" to manage
	// areaTransfer = switch the module behaviour to area transfer instead of focused
	// transferRange = maximum transfer range of resource
	// transferFlow = max units/second of transfer
	// transferMinEfficency = efficency of transfer at max distance
	// transferMaxEfficency = efficency of transfer at 0 distance
	name = ModuleCleverResourceTransfer
	resourceName = Energy
	areaTransfer = false
	transferRange = 1000
	transferFlow = 10
	transferMinEfficency = 0
	transferMaxEfficency = 100
}
- Ground Wheeled Vehicles
The Ground Wheeled Vehicles function is a fork of Tosh's 1.3.4 cart.dll.  It is modified to fix some bugs and converted to a part MODULE format.  Also speed-relative energy use, constant energy use when active and energy use for lights has been implemented.  All parameters are configurable in the part.cfg file. 
ModuleCleverWheeledVehicle
add to bottom of part.cfg:
MODULE
{
	name = ModuleCleverWheeledVehicle
	
	// Engine:
	// FrictionTorque is limiting cart's top speed and coasting distance.
	forwardTorque = 1.65
	backwardTorque = 1.4
	brakeTorque = 1.65
	frictionTorque = 0.05

	// Friction:
	// See WheelFrictionCurve.stiffness. 0 -- no friction (wheels always
	// slip).
	forwardFriction = 4
	sidewaysFriction = 1

	// Steering:
	// When speed is less than steerLimitSpeed then maxSteerAngle is
	// used. When speed is higher then steering is reverse-proportional
	// to speed (steerSpeedFalloff being the coefficient).
	// SteerVisisbility is the coefficient for wheel animation.
	maxSteerAngle = 15
	steerLimitSpeed = 6
	steerSpeedFalloff = 2
	steerVisibility = 3

	// Suspension:
	// If "deployable" is true then wheels can be deployed/retracted with
	// a "landing gear" key; "deployTime" being the process duration, in
	// seconds.
	wheelMass = 0.3
	suspensionSpring = 5.5
	suspensionDamper = 0.3
	deployable = false
	deployTime = 0.5

	// Compensation:
	// Forces pushing cart to the ground at the Mun (compensationLowGee)
	// and when moving at high speed (compensationSpeed).
	compensationLowGee = 1
	compensationSpeed = 0.2 

	// Resource Usage:
	// Fuel name is the name of the KSP "Resource" the vehicle will use
	// idleFuelDrainPerSecond is how much resource is used every second the 
	// vehicle is active (controlled)
	// lightsFuelDrainPerSecond is how much resource is used every second the 
	// lights are turned on
	// fuelDrainMeterSecondMultiplier formulae is fuelDrainMeterSecondMultiplier 
	// * speed is the resource usage while moving
	// brakeRegenMeterSecondMultiplier when breaking you regen resource with same 
	// formulae as fuelDrainMeterSecondMultiplier
	fuelName = Energy
	idleFuelDrainPerSecond = 0.1
	lightsFuelDrainPerSecond = 0.5	
	fuelDrainMeterSecondMultiplier = 1
	brakeRegenMeterSecondMultiplier = 1
		
	// Lights:
	// Intensity is ( 0..8 ), range in meters, angle in degrees.
	lightIntensity = 0.5
	headLightIntensity = 1
	lightRange = 10
	headLightRange = 1000
	lightSpotAngle = 120
	headLightSpotAngle = 70

	// Light colors (Red, Green and Blue, range 0..1): 
	headLightColor = 1, 1, 1
	stopLightColor = 1, 0, 0
	parkingLightColor = 1, 0.92, 0

	// Key and axis bindings:
	// A key code to which a specific action is bound (like "k" or "B" or 
	// "up" or "[6]" for Numpad6). For a list of available key codes see
	// http://unity3d.com/support/documentation/Manual/Input.html
	keyToggleLights = u
	keyBrake = n
	keyHandBrake = b
	// A key to deploy/retract wheels (if "deployable = true" in "Engine" section) 
	// is the same as landing gear key in KSP game settings.

	// Valid values: an empty string (no control), "X", "Y", "Z", "Pitch", 
	// "Yaw", "Roll", "Throttle" (not recommended as the reverse gear is 
	// not implemented yet), and optionally "Reversed". For example,
	//    Pitch
	// or
	//    Z Reversed
	axisMotor = Y Reversed
	axisSteer = X Reversed
}

Last edited Nov 30, 2012 at 8:07 PM by CleverWalrus, version 18