_=[[ 
	wheelScaleTranslation
	Author: Eigentlich "modelleicher", da er die Spezi auf youTube als TUT erstellt hat...aber man musste sie ja selber ab/aufschreiben.
	Also werte der wheelScale sind vom TUT... erweiterung ist die Translation, darauf beziehen sich die folgenden Author angaben!
	
	Author: Bluebaby210    www.mod-portal.com
	Date 05/08/2012
	Version 1.0

							frei verwendbar - keine Erlaubnis notwendig
							keine Änderungen am Skript ohne meine Erlaubnis

Für Fahrzeuge mit dem Eintrag "Motorized".
Reifen können per Tastendruck scaliert werden, zudem kann eingestellt werden wie weit das Rad dabei
dann versetzt (Translation) wird, um zu vermeiden das beim schmal scalierten Rad, Luft zwischen Felge und
Radnarbe ist.
Benötigt werden Einträge in der Moddesc und der vehicle.XML des mods.

----------------------------------------------------------------------------------
Einträge in der Moddesc:

 <specializations>
	  <specialization name="wheelScaleTranslation" className="wheelScaleTranslation" filename="wheelScaleTranslation.lua" />
 </specializations>

   <specialization name="wheelScaleTranslation" />
   
 Texte in der Moddesc:
	CareTyre			Hilfetext ob man PflegeBereifung montieren will
	CareTyre_Back		Hilfetext ob man StrassenBereifung montieren will
	Max_Limit			Warnungstext wenn man zu schnell mit Pflegereifen fährt
 
 Zudem InputBinding
	<input name="Care_Tyre"  category="VEHICLE" key1="KEY_KP_7"    key2="" button="" device="0" mouse="" />

-----------------------------------------------------------------------------------
Einträge in der XML:

	<wheelScaleTranslation SpeedLimitScaledWheel="28">			<!--SpeedLimitScaledWheel Optional...Geschwindigkeit bei der die Warnung eingeblendet wird, wenn man zu schnell mit pflegereifen fährt,fehlt die Angabe wird Geschwindigkeit auf 25 gesetzt/-->
		<wheelToScaleLeftBack index="3" scalePercent="55" Translation="0.923"/>		<!--Index = Index zum Rad(hinten Links)...scalePercent=Scalierungswert des Rades...Translation= Wert wohin das rad nach scalieren gesetzt werden soll, muss im GE probiert werden...scale auf Percent stellen und rad verschieben...wert übernehmen/-->
		<wheelToScaleRightBack index="2" scalePercent="55" Translation="-0.93"/>
		<wheelToScaleLeftFront index="1" scalePercent="55" Translation="0.923"/>
		<wheelToScaleRightFront index="0" scalePercent="55" Translation="-0.93"/>
	</wheelScaleTranslation>
]]


wheelScaleTranslation = {};

function wheelScaleTranslation.prerequisitesPresent(specializations)
    return SpecializationUtil.hasSpecialization(Motorized, specializations);
end;

function wheelScaleTranslation:load(xmlFile)
	self.wheelToScaleLeftBack = Utils.indexToObject(self.components, getXMLString(xmlFile, "vehicle.wheelScaleTranslation.wheelToScaleLeftBack#index"));
	self.wheelToScaleRightBack = Utils.indexToObject(self.components, getXMLString(xmlFile, "vehicle.wheelScaleTranslation.wheelToScaleRightBack#index"));
	self.wheelToScaleLeftFront = Utils.indexToObject(self.components, getXMLString(xmlFile, "vehicle.wheelScaleTranslation.wheelToScaleLeftFront#index"));
	self.wheelToScaleRightFront = Utils.indexToObject(self.components, getXMLString(xmlFile, "vehicle.wheelScaleTranslation.wheelToScaleRightFront#index"));
	
	self.wtsLBX, self.wtsLBY, self.wtsLBZ = getScale(self.wheelToScaleLeftBack);
	self.wtsRBX, self.wtsRBY, self.wtsRBZ = getScale(self.wheelToScaleRightBack);
	self.wtsLFX, self.wtsLFY, self.wtsLFZ = getScale(self.wheelToScaleLeftFront);
	self.wtsRFX, self.wtsRFY, self.wtsRFZ = getScale(self.wheelToScaleRightFront);
	
	self.wheelScalePercentLeftBack = getXMLFloat(xmlFile, "vehicle.wheelScaleTranslation.wheelToScaleLeftBack#scalePercent");
	self.wheelScalePercentRightBack = getXMLFloat(xmlFile, "vehicle.wheelScaleTranslation.wheelToScaleRightBack#scalePercent");
	self.wheelScalePercentLeftFront = getXMLFloat(xmlFile, "vehicle.wheelScaleTranslation.wheelToScaleLeftFront#scalePercent");
	self.wheelScalePercentRightFront = getXMLFloat(xmlFile, "vehicle.wheelScaleTranslation.wheelToScaleRightFront#scalePercent");

	self.wheelScaleState = false;
	
	--Wheel Translation ändern wegen scalierung, da Felge sonst luft zur Radnarbe hat
	self.wheelToTranslateLeftBack = Utils.indexToObject(self.components, getXMLString(xmlFile, "vehicle.wheelScaleTranslation.wheelToScaleLeftBack#index"));
	self.wheelToTranslateRightBack = Utils.indexToObject(self.components, getXMLString(xmlFile, "vehicle.wheelScaleTranslation.wheelToScaleRightBack#index"));	
	self.wheelToTranslateLeftFront = Utils.indexToObject(self.components, getXMLString(xmlFile, "vehicle.wheelScaleTranslation.wheelToScaleLeftFront#index"));
	self.wheelToTranslateRightFront = Utils.indexToObject(self.components, getXMLString(xmlFile, "vehicle.wheelScaleTranslation.wheelToScaleRightFront#index"));	
	
	self.wttLBX, self.wttLBY, self.wttLBZ = getTranslation(self.wheelToTranslateLeftBack);
	self.wttRBX, self.wttRBY, self.wttRBZ = getTranslation(self.wheelToTranslateRightBack);
	self.wttLFX, self.wttLFY, self.wttLFZ = getTranslation(self.wheelToTranslateLeftFront);
	self.wttRFX, self.wttRFY, self.wttRFZ = getTranslation(self.wheelToTranslateRightFront);
	
	self.wheelTranslationLeftBack = getXMLFloat(xmlFile, "vehicle.wheelScaleTranslation.wheelToScaleLeftBack#Translation");
	self.wheelTranslationRightBack = getXMLFloat(xmlFile, "vehicle.wheelScaleTranslation.wheelToScaleRightBack#Translation");
	self.wheelTranslationLeftFront = getXMLFloat(xmlFile, "vehicle.wheelScaleTranslation.wheelToScaleLeftFront#Translation");
	self.wheelTranslationRightFront = getXMLFloat(xmlFile, "vehicle.wheelScaleTranslation.wheelToScaleRightFront#Translation");
	
	self.wheelTranslationState = false;

	self.CareTyre = false;		--Texteinblendung Pflegereifen montieren
	self.LimitForScaledWheel = Utils.getNoNil(getXMLFloat(xmlFile, "vehicle.wheelScaleTranslation#SpeedLimitScaledWheel"),25);
	self.resetScaledWarning = true;
	
end;
function wheelScaleTranslation:delete()
end;
function wheelScaleTranslation:mouseEvent(posX, posY, isDown, isUp, button)
end;
function wheelScaleTranslation:keyEvent(unicode, sym, modifier, isDown)
end;
function wheelScaleTranslation:update(dt)

	if self:getIsActiveForInput() then
		if InputBinding.hasEvent(InputBinding.Care_Tyre) then
			self.wheelScaleState = (not self.wheelScaleState);
		end;
		
		if self.wheelScaleState == true then
			setScale(self.wheelToScaleLeftBack, (self.wtsLBX/100) * self.wheelScalePercentLeftBack, self.wtsLBY, self.wtsLBZ);
			setScale(self.wheelToScaleRightBack, (self.wtsRBX/100) * self.wheelScalePercentRightBack, self.wtsRBY, self.wtsRBZ);
			setScale(self.wheelToScaleLeftFront, (self.wtsLFX/100) * self.wheelScalePercentLeftFront, self.wtsLFY, self.wtsLFZ);
			setScale(self.wheelToScaleRightFront, (self.wtsRFX/100) * self.wheelScalePercentRightFront, self.wtsRFY, self.wtsRFZ);
			self.wheelTranslationState = true;
			self.CareTyre = true;
		elseif self.wheelScaleState == false then
			setScale(self.wheelToScaleLeftBack, self.wtsLBX, self.wtsLBY, self.wtsLBZ);
			setScale(self.wheelToScaleRightBack, self.wtsRBX, self.wtsRBY, self.wtsRBZ);
			setScale(self.wheelToScaleLeftFront, self.wtsLFX, self.wtsLFY, self.wtsLFZ);
			setScale(self.wheelToScaleRightFront, self.wtsRFX, self.wtsRFY, self.wtsRFZ);
			self.wheelTranslationState = false;
			self.CareTyre = false;
			self.maxLimitScaledWheel = false;
		end;
	end;
	
	if self.wheelTranslationState == true then
		setTranslation(self.wheelToTranslateLeftBack, self.wheelTranslationLeftBack, self.wttLBY, self.wttLBZ);
		setTranslation(self.wheelToTranslateRightBack, self.wheelTranslationRightBack, self.wttRBY, self.wttRBZ);
		setTranslation(self.wheelToTranslateLeftFront, self.wheelTranslationLeftFront, self.wttLFY, self.wttLFZ);
		setTranslation(self.wheelToTranslateRightFront, self.wheelTranslationRightFront, self.wttRFY, self.wttRFZ);
	elseif self.wheelTranslationState == false then
		setTranslation(self.wheelToTranslateLeftBack, self.wttLBX, self.wttLBY, self.wttLBZ);
		setTranslation(self.wheelToTranslateRightBack, self.wttRBX, self.wttRBY, self.wttRBZ);
		setTranslation(self.wheelToTranslateLeftFront, self.wttLFX, self.wttLFY, self.wttLFZ);
		setTranslation(self.wheelToTranslateRightFront, self.wttRFX, self.wttRFY, self.wttRFZ);
	end;
	
	if self.CareTyre == true then
		if self.lastSpeed*3600 >= self.LimitForScaledWheel then
			self.maxLimitScaledWheel = true;
		elseif self.lastSpeed*3600 < self.LimitForScaledWheel then
			self.maxLimitScaledWheel = false;
		end;
	end;	
	
end;
function wheelScaleTranslation:updateTick(dt)


end;
function wheelScaleTranslation:draw()	
	if self:getIsActive() then
		if self:getIsActiveForInput() then
			if self.CareTyre == false then
			g_currentMission:addHelpButtonText(g_i18n:getText("CareTyre"), InputBinding.Care_Tyre);
			elseif self.CareTyre == true then
			g_currentMission:addHelpButtonText(g_i18n:getText("CareTyre_Back"), InputBinding.Care_Tyre);
			end;
		end;
	end;

	if self.maxLimitScaledWheel then
		g_currentMission:addWarning(g_i18n:getText("Max_Limit"), 0.019+0.029);
	end;
end;
