Jump to content
Sign in to follow this  
xeno426

Track texture flicker and slow movement

Recommended Posts

I'm currently doing some model tweaking to rygugu/Vilas' T-62 model for inclusion in the Iranian Forces mod, and I've encountered a small bug that I'd like to fix. The tracks, when not moving, tend to flicker around.

7ta1A2fCr9c

Furthermore, the treads themselves don't move fast enough, and don't seem to actually keep up with the tank's movement.

7_1fshkcprw

There's also the weird phenomenon where another vehicle using the same model will mirror the tread movements of my vehicle.

fKoHDvp9_gw

How could I fix this? A previous thread I found seems to indicate that it's not possible to fix. Is this true?

Edited by Max Power
fix'd

Share this post


Link to post
Share on other sites

7ta1A2fCr9c



7_1fshkcprw



fKoHDvp9_gw



Only quote youtube URL text after equal sign.

You didn't say what you are "tweaking" ..... textures only, whole model, config, model.cfg ? ?
If its effecting other vehicles, then most likely its a CONFIG.CPP or MODEL.CFG issue Edited by [APS]Gnat

Share this post


Link to post
Share on other sites
Gnat;2079516']

Only quote youtube URL text after equal sign.

Thanks for the heads-up. I thought I was just having browser issues.

Gnat;2079516']You didn't say what you are "tweaking" ..... textures only' date=' whole model, config, model.cfg ? ?[/quote']

The texture was obviously changed to fit the Iranian scheme. I added thermal maps, so the rvmats had to be edited to direct it to the new thermal textures. "_damage" rvmats were also created so that damaged parts of the model show up visually, like most BIS vehicles. All these selections used for damage (telo, vez, zbran, pas_l, pas_r) are present in the "sections[]=" entry of the model.cfg. I fixed the lack of recoil on the cannon barrel, and added a simple magazine hide and feedtray cover move when the gun on top is reloaded. I edited the light on the commander's cupola to be pivoted up and down, so that it always points where the commander is looking. I tweaked the telo, vez and zbran named selections so that they cover the appropriate part of the model (telo for the chassis, vez for the turret, zbran for the cannon itself). I also added the pas_l and pas_r selections, so that when the tracks/wheels are damaged they show up "damaged" separately from the rest of the chassis (previously, the tracks and wheels were part of the telo selection).

I was having difficulty following the organization of the model part hierarchies for the gunner position, so I renamed them (with the changes reflected in the model.cfg, of course). The gunner position works perfectly now, just like the one on the M1A2 TUSK.

In the config file, I redid large sections of the entry over the config Vilas has in his Soviet Vehicles Pack. It inherits from the BIS T-55 now, with the proxyIndex values changed for the gunner and loader positions(mirrored from the M1A2 TUSK value); this fixed a problem where spawning as the commander of the T-62 would place you in the loader's seat, while still being tank commander. I also added a new picture icon.

Gnat;2079516']If its effecting other vehicles' date=' then most likely its a CONFIG.CPP or MODEL.CFG issue[/quote']

Ok. I can't imagine what could cause it in the config.cpp file, so I'm guessing it's an issue in model.cfg. Any ideas about where to look? I can post the config.cpp entry, if that will help.

Share this post


Link to post
Share on other sites

Unfortunately I'm not a tracked vehicle mod'er so I'm struggling here, but just because an old model/poster had the problem doesn't mean its still there.

Especially if other (BIS) tanks don't have an issue.

Sounds like you've tackled the named sections well, but I would not be surprised is thats were the issue lays, along with the model.cfg.

Also, there can be a few definitions in Confog.cpp that could mess with things.

Is it an (model.cfg classes) inheritance issue?

Do you have access to a working tank model (MLOD) and its matching config files?

Isn't telo meant to be the whole model? It was in ArmA1

Tried starting with BIS track name definitions? (is it pasoffsetL and pasoffsetP )

Share this post


Link to post
Share on other sites

For the slow movement, you might try adjusting the config.cpp values for

tracksspeed = 0.25; //from the t-55

or

texturetrackwheel = 0; //from the t-55

or

alphatracks = 0.7; //from the t-55

or

wheelcircumference = 2.312; //from the T-72

Share this post


Link to post
Share on other sites
this was supposed to be fixed in 1.60 :|

That would assume I'm using the 1.60 beta patch.

If it's any help, here's my model and config.cpp entries.

config.cpp

class IRAN_T62_base : T55_Base {
	scope = private;
	displayName = $STR_IRAN_DN_T62_base;
	accuracy = 0.25;	// accuracy needed to recognize type of this target
	picture = "\iran_armor\ui\pic_t62_ca.paa";
	Icon = "\iran_armor\ui\icomap_t62_ca.paa";
	mapSize = 9;
	armor = 500;
	maxSpeed = 50;
	fuelCapacity = 960;
	model = "\iran_armor\BDS_T62.p3d";
	driverAction = "T72_DriverOut";
	driverInAction = "T72_Driver";
	radarType = 4;

	class AnimationSources {
		class ReloadAnim {
			source = "reload";
			weapon = "IRAN_MGD";
		};

		class ReloadMagazine {
			source = "reloadmagazine";
			weapon = "IRAN_MGD";
		};

		class Revolving {
			source = "revolving";
			weapon = "IRAN_MGD";
		};

		class recoil_source {
			source = "reload";
			weapon = "IRAN_2A20";
		};

		class maingunup {
			type = "rotationX";
			source = "user";
			selection = "reloadhlaven";
			memory = 1;
			axis = "OsaHlavne";
			sourceAddress = "clamp";
			minValue = "0";
			maxValue = "1";
			angle0 = "rad 0";
			angle1 = "rad 8";
			animPeriod = 2;
		};
	};

	class Damage {
		tex[] = {};
		mat[] = {
			"iran_armor\texture\t62\T55_body.rvmat", "iran_armor\texture\t62\T55_body_damage.rvmat", "iran_armor\texture\t62\T55_body_destruct.rvmat",
			"iran_armor\texture\t62\T55_gun.rvmat", "iran_armor\texture\t62\T55_gun_damage.rvmat", "iran_armor\texture\t62\T55_gun_destruct.rvmat",
			"iran_armor\texture\t62\T55_tlt2.rvmat", "iran_armor\texture\t62\T55_tlt2_damage.rvmat", "iran_armor\texture\t62\T55_tlt2_destruct.rvmat",
			"iran_armor\texture\t62\T55_track.rvmat", "iran_armor\texture\t62\T55_track_damage.rvmat", "iran_armor\texture\t62\T55_track_destruct.rvmat",
			"iran_armor\texture\t62\T55_wheel.rvmat", "iran_armor\texture\t62\T55_wheel_damage.rvmat", "iran_armor\texture\t62\T55_wheel_destruct.rvmat",
			"iran_armor\texture\t62\T62_tlt.rvmat","iran_armor\texture\t62\T62_tlt_damage.rvmat", "iran_armor\texture\t62\T62_tlt_destruct.rvmat"
		};
	};

	class Turrets : Turrets {
		class MainTurret : MainTurret {
			proxyType = "CPGunner";
			body = "MainTurret";
			gun = "MainGun";
			animationSourceBody = "otocvez";
			animationSourceGun = "otochlaven";
			proxyIndex = 2;
			minElev = -6;
			maxElev = 16;
			gunnerOpticsModel = "\iran_armor\data\optics\T55_gunner.p3d";
			gunnerOpticsEffect[] = {"TankGunnerOptics2", "OpticsBlur1", "OpticsCHAbera1"};
			radarType = 4;
			gunnerAction = "Abrams_Gunner";
			gunnerInAction = "Abrams_Gunner";
			weapons[] = {"IRAN_2A20", PKT};
			magazines[] = {"IRAN_15Rnd_115mmHEAT", "IRAN_10Rnd_115mmHE", "IRAN_10Rnd_115mmSABOT", "250Rnd_762x54_PKT_T90", "250Rnd_762x54_PKT_T90", "250Rnd_762x54_PKT_T90", "250Rnd_762x54_PKT_T90", "250Rnd_762x54_PKT_T90", "250Rnd_762x54_PKT_T90", "250Rnd_762x54_PKT_T90", "250Rnd_762x54_PKT_T90", "250Rnd_762x54_PKT_T90", "250Rnd_762x54_PKT_T90"};
			turretInfoType = "RscWeaponRangeZeroing";
			discreteDistance[] = {600, 800, 1000, 1200, 1400, 1600, 1800, 2000, 2200, 2400, 2600, 2800, 3000, 3200, 3400, 3600, 3800, 4000};
			discreteDistanceInitIndex = 0;
			forceHideGunner = true;

			class Turrets : Turrets {
				class CommanderOptics : CommanderOptics {
					minElev = -25;
					maxElev = 60;
					gunnerForceOptics = true;
					animationSourceBody = "ObsTurret";
					animationSourceGun = "ObsGun";
					weapons[] = {"SmokeLauncher"};
					magazines[] = {"SmokeLauncherMag", "SmokeLauncherMag"};
					gunnerOpticsModel = "\ca\weapons\2Dscope_com3";
					gunnerOpticsEffect[] = {"TankGunnerOptics1", "OpticsBlur2", "OpticsCHAbera3"};
					gunneroutOpticsModel = "\ca\weapons\optika_empty";
					gunnerAction = "T72_GunnerOut";
					gunnerInAction = "T72_Gunner";
					turretInfoType = "RscWeaponRangeFinder";
					radarType = 4;
				};

				class loaderOptics : NewTurret {
					proxyType = "CPGunner";
					gunnerName = "$STR_GN_M1A2_LoaderTurret";
					proxyIndex = 1;
					body = "LoaderTurret";
					gun = "LoaderGun";
					weapons[] = {"IRAN_MGD"};
					magazines[] = {"50Rnd_127x107_DSHKM", "50Rnd_127x107_DSHKM", "50Rnd_127x107_DSHKM", "50Rnd_127x107_DSHKM", "50Rnd_127x107_DSHKM", "50Rnd_127x107_DSHKM"};
					stabilizedInAxes = "StabilizedInAxesNone";
					animationSourceBody = "LoaderTurret";
					animationSourceGun = "LoaderGun";
					animationSourceHatch = "Hatch_loader";
					selectionFireAnim = "zasleh_1";
					memoryPointGunnerOptics = "loaderview";
					memoryPointGunneroutOptics = "loader_weapon_view";
					memoryPointGun = "loaderpointgun";
					gunBeg = "loader_muzzle";
					gunEnd = "loader_chamber";
					minElev = -25;
					maxElev = 60;
					initElev = 0;
					minTurn = -360;
					maxTurn = 360;
					initTurn = 0;
					LODTurnedOut = 1000;
					LODTurnedIn = 1000;

					class HitPoints {
						class HitLoaderTurret {
							armor = 0.9;
							material = -1;
							name = "loader_turret";
							visual = "loader_turret";
							passThrough = 0.5;
						};
					};

					outGunnerMayFire = true;
					inGunnerMayFire = true; //false;
					gunnerForceOptics = true;
					gunnerAction = "T72_CommanderOut";
					gunnerInAction = "T72_Commander";
					gunnerOpticsModel = "\iran_armor\data\optics\T62_55_commander.p3d";
					gunneroutOpticsModel = "\ca\weapons\optika_empty";
					memoryPointsGetInGunner = "pos loader";
					memoryPointsGetInGunnerDir = "pos loader dir";
					startEngine = false;
					turretInfoType = "RscWeaponZeroing";
					discreteDistance[] = {400, 500, 600, 700, 800, 900, 1000, 1100, 1200, 1300, 1400, 1500, 1600, 1700, 1800, 1900, 2000};
					discreteDistanceInitIndex = 0;
					class Turrets {};

					class ViewOptics {
						initAngleX = 0;
						minAngleX = -30;
						maxAngleX = 30;
						initAngleY = 0;
						minAngleY = -100;
						maxAngleY = 100;
						initFov = 0.2;
						minFov = 0.025;
						maxFov = 0.5;
					};
				};
			};

		};
	};

	class Library { 
		libTextDesc = "$STR_IRAN_LIB_T62"; 
	};

	hiddenSelections[] = {"Camo01", "Camo02", "Camo03", "Camo04", "Camo05"};
	hiddenSelectionsTextures[] = {"\iran_armor\texture\t62\body_co.paa", "\iran_armor\texture\t62\tilt62_co.paa", "\iran_armor\texture\t62\tilt2_co.paa", "\iran_armor\texture\t62\gun_co.paa", "\iran_armor\texture\t62\whe_co.paa"};
	smokeLauncherGrenadeCount = 4;
};

class IRAN_T62 : IRAN_T62_base {
	scope = public;
	vehicleClass = "IRA_VEH";
	side = TGuerrila;
	faction = IRAN;
	crew = "IRAN_MAN_Crew";
	displayName = "$STR_IRAN_DN_T62M1";
	accuracy = 0.35;	// accuracy needed to recognize type of this target
	typicalCargo[] = {"IRAN_MAN_Crew", "IRAN_MAN_Crew", "IRAN_MAN_Crew", "IRAN_MAN_Crew"};
	class Armory {
		author = $STR_AUTHOR_RYGUGUVILAS;
	};
};

model.cfg

class CfgSkeletons
{
class Default
{
	isDiscrete=1;
	skeletonInherit="";
	skeletonBones[]={};
};
class Tank : Default
{
	isDiscrete=1;
	skeletonInherit="Default";
};
class bds_t62Bones: Tank
{
	skeletonInherit = "Tank";
	skeletonBones[] = 
	{
		"otocvez","",
		"otochlaven","otocvez",
		"reloadhlaven","otochlaven",
		"recoilhlaven","reloadhlaven",
		"otocvelitele","otocvez",
		"otochlavenvelitele","otocvelitele",
		"loader_turret","otocvez",
		"loader_gun","loader_turret",
		"ammo_belt","loader_gun",
		"magazine","loader_gun",
		"feedtray_cover","loader_gun",
		"kolL1", "",
		"kolL2", "",
		"kolL3", "",
		"kolL4", "",
		"kolL5", "",
		"kolL6", "",
		"kolL7", "",
		"kolL8", "",
		"kolP1", "",
		"kolP2", "",
		"kolP3", "",
		"kolP4", "",
		"kolP5", "",
		"kolP6", "",
		"kolP7", "",
		"kolP8", "",
		"podkolol1", "",
		"podkolol2", "",
		"podkolol3", "",
		"podkolol4", "",
		"podkolol5", "",
		"podkolol6", "",
		"podkolol7", "",
		"podkolol8", "",
		"podkolop1", "",
		"podkolop2", "",
		"podkolop3", "",
		"podkolop4", "",
		"podkolop5", "",
		"podkolop6", "",
		"podkolop7", "",
		"podkolop8", "",
		"kolol1", "podkolol1",
		"kolol2", "podkolol2",
		"kolol3", "podkolol3",
		"kolol4", "podkolol4",
		"kolol5", "podkolol5",
		"kolol6", "podkolol6",
		"kolol7", "podkolol7",
		"kolol8", "podkolol8",
		"kolop1", "podkolop1",
		"kolop2", "podkolop2",
		"kolop3", "podkolop3",
		"kolop4", "podkolop4",
		"kolop5", "podkolop5",
		"kolop6", "podkolop6",
		"kolop7", "podkolop7",
		"kolop8", "podkolop8",
		"podkolol1_hide","podkolol1",
		"podkolol2_hide","podkolol2",
		"podkolol3_hide","podkolol3",
		"podkolol4_hide","podkolol4",
		"podkolol5_hide","podkolol5",
		"podkolol6_hide","podkolol6",
		"podkolol7_hide","podkolol7",
		"podkolol8_hide","podkolol8",
		"podkolop1_hide","podkolop1",
		"podkolop2_hide","podkolop2",
		"podkolop3_hide","podkolop3",
		"podkolop4_hide","podkolop4",
		"podkolop5_hide","podkolop5",
		"podkolop6_hide","podkolop6",
		"podkolop7_hide","podkolop7",
		"podkolop8_hide","podkolop8",
		"podkolol1_up", "podkolol1",
		"podkolol2_up", "podkolol2",
		"podkolol3_up", "podkolol3",
		"podkolol4_up", "podkolol4",
		"podkolol5_up", "podkolol5",
		"podkolol6_up", "podkolol6",
		"podkolol7_up", "podkolol7",
		"podkolol8_up", "podkolol8",
		"podkolop1_up", "podkolop1",
		"podkolop2_up", "podkolop2",
		"podkolop3_up", "podkolop3",
		"podkolop4_up", "podkolop4",
		"podkolop5_up", "podkolop5",
		"podkolop6_up", "podkolop6",
		"podkolop7_up", "podkolop7",
		"podkolop8_up", "podkolop8",
		"damageHide","",
		"damageVez","OtocVez",
		"damageHlaven","OtocHlaven",
		"damageVez_2","loader_turret",
		"damageHlaven_2","loader_gun",
		"poklop_driver","",
		"poklop_commander","otocvelitele",
		"L svetlo", "otochlavenvelitele",
		"loader_hat","loader_turret"
	};
};
};

class Rotation;
class CfgModels
{
class Default
{
	sections[] = {};
	sectionsInherit="";
	skeletonName = "";
};
class Tank: Default
{
	skeletonName="Tank";
	sections[]=
	{
		"zadni svetlo",
		"brzdove svetlo",
		"PasOffsetP",
		"PasOffsetL",
		"recoilhlaven",
		"recoil",
		"magazine",
		"zasleh",
		"zasleh_1",
		"telo",
		"pas_L",
		"pas_P",
		"motor",
		"vez",
		"zbran",
		"clan",
		"clan_sign",
		"camo1",
		"camo2",
		"camo3",
		"camo4",
		"zbytek"
	};
	class Animations
	{
		class damageHide
		{
			type="hide";
			source="damage";
			selection="damageHide";
		};
		class HatchDriver
		{
			type="rotation";
			source="hatchDriver";
			selection="poklop_driver";
			axis="osa_poklop_driver";
			animPeriod=0;
			angle0=0;
			angle1="rad -100";
		};
		class IndicatorSpeed
		{
			type="rotation";
			source="speed";
			selection="ukaz_rychlo";
			axis="osa_rychlo";
			memory="false";
			animPeriod=0;
			minValue=0;
			maxValue=16.67;
			angle0=0;
			angle1="rad -240";
		};
		class IndicatorSpeed2
		{
			type="rotation";
			source="speed";
			selection="ukaz_rychlo2";
			axis="osa_rychlo2";
			memory="false";
			animPeriod=0;
			minValue=0;
			maxValue=16.67;
			angle0=0;
			angle1="rad -240";
		};
		class IndicatorRPM
		{
			type="rotation";
			source="rpm";
			selection="ukaz_rpm";
			axis="osa_rpm";
			memory="false";
			animPeriod=0;
			minValue=0;
			maxValue=1;
			angle0=0;
			angle1="rad -340";
		};
		class Radar
		{
			type="rotation";
			source="time";
			selection="ukaz_radar";
			axis="osa_radar";
			memory="false";
			minValue=0;
			maxValue=2;
			sourceAddress="loop";
			angle0=0;
			angle1="rad 360";
		};
		class IndicatorTurret
		{
			type="rotation";
			source="turretDir";
			selection="ukazsmer";
			axis="osa_ukazsmer";
			memory="false";
			animPeriod=0;
			minValue=0;
			maxValue=6.283185;
			angle0=0;
			angle1="rad 360";
		};
		class WatchHour
		{
			type="rotation";
			source="clockHour";
			selection="hodinova";
			axis="osa_time";
			memory="false";
			animPeriod=0;
			angle0=0;
			angle1="rad 360";
		};
		class WatchMinute
		{
			type="rotation";
			source="clockMinute";
			selection="minutova";
			axis="osa_time";
			memory="false";
			animPeriod=0;
			angle0=0;
			angle1="rad 360";
		};
		class Wheel_kolL1
		{
			type="rotationX";
			source="wheelL";
			selection="kolL1";
			axis="";
			memory="false";
			animPeriod=0;
			angle0=0;
			angle1="rad -360";
			sourceAddress="loop";
		};
		class Wheel_koloL1: Wheel_kolL1
		{
			selection="koloL1";
		};
		class Wheel_podkoloL1
		{
			type="translationY";
			source="damper";
			selection="podkoloL1";
			axis="";
			memory="false";
			animPeriod=0;
			minValue=-1000;
			maxValue=1000;
		};
		class Wheel_kolP1: Wheel_kolL1
		{
			source="wheelR";
			selection="kolP1";
		};
		class Wheel_koloP1: Wheel_koloL1
		{
			source="wheelR";
			selection="koloP1";
		};
		class Wheel_podkoloP1: Wheel_podkoloL1
		{
			selection="podkoloP1";
		};
		class Wheel_kolL2: Wheel_kolL1
		{
			selection="kolL2";
		};
		class Wheel_kolL3: Wheel_kolL1
		{
			selection="kolL3";
		};
		class Wheel_kolL4: Wheel_kolL1
		{
			selection="kolL4";
		};
		class Wheel_kolL5: Wheel_kolL1
		{
			selection="kolL5";
		};
		class Wheel_kolL6: Wheel_kolL1
		{
			selection="kolL6";
		};
		class Wheel_kolL7: Wheel_kolL1
		{
			selection="kolL7";
		};
		class Wheel_kolL8: Wheel_kolL1
		{
			selection="kolL8";
		};
		class Wheel_kolP2: Wheel_kolP1
		{
			selection="kolP2";
		};
		class Wheel_kolP3: Wheel_kolP1
		{
			selection="kolP3";
		};
		class Wheel_kolP4: Wheel_kolP1
		{
			selection="kolP4";
		};
		class Wheel_kolP5: Wheel_kolP1
		{
			selection="kolP5";
		};
		class Wheel_kolP6: Wheel_kolP1
		{
			selection="kolP6";
		};
		class Wheel_kolP7: Wheel_kolP1
		{
			selection="kolP7";
		};
		class Wheel_kolP8: Wheel_kolP1
		{
			selection="kolP8";
		};
		class Wheel_koloL2: Wheel_koloL1
		{
			selection="koloL2";
		};
		class Wheel_koloL3: Wheel_koloL1
		{
			selection="koloL3";
		};
		class Wheel_koloL4: Wheel_koloL1
		{
			selection="koloL4";
		};
		class Wheel_koloL5: Wheel_koloL1
		{
			selection="koloL5";
		};
		class Wheel_koloL6: Wheel_koloL1
		{
			selection="koloL6";
		};
		class Wheel_koloL7: Wheel_koloL1
		{
			selection="koloL7";
		};
		class Wheel_koloL8: Wheel_koloL1
		{
			selection="koloL8";
		};
		class Wheel_koloP2: Wheel_koloP1
		{
			selection="koloP2";
		};
		class Wheel_koloP3: Wheel_koloP1
		{
			selection="koloP3";
		};
		class Wheel_koloP4: Wheel_koloP1
		{
			selection="koloP4";
		};
		class Wheel_koloP5: Wheel_koloP1
		{
			selection="koloP5";
		};
		class Wheel_koloP6: Wheel_koloP1
		{
			selection="koloP6";
		};
		class Wheel_koloP7: Wheel_koloP1
		{
			selection="koloP7";
		};
		class Wheel_koloP8: Wheel_koloP1
		{
			selection="koloP8";
		};
		class Wheel_podkoloL2: Wheel_podkoloL1
		{
			selection="podkoloL2";
		};
		class Wheel_podkoloL3: Wheel_podkoloL1
		{
			selection="podkoloL3";
		};
		class Wheel_podkoloL4: Wheel_podkoloL1
		{
			selection="podkoloL4";
		};
		class Wheel_podkoloL5: Wheel_podkoloL1
		{
			selection="podkoloL5";
		};
		class Wheel_podkoloL6: Wheel_podkoloL1
		{
			selection="podkoloL6";
		};
		class Wheel_podkoloL7: Wheel_podkoloL1
		{
			selection="podkoloL7";
		};
		class Wheel_podkoloL8: Wheel_podkoloL1
		{
			selection="podkoloL8";
		};
		class Wheel_podkoloP2: Wheel_podkoloP1
		{
			selection="podkoloP2";
		};
		class Wheel_podkoloP3: Wheel_podkoloP1
		{
			selection="podkoloP3";
		};
		class Wheel_podkoloP4: Wheel_podkoloP1
		{
			selection="podkoloP4";
		};
		class Wheel_podkoloP5: Wheel_podkoloP1
		{
			selection="podkoloP5";
		};
		class Wheel_podkoloP6: Wheel_podkoloP1
		{
			selection="podkoloP6";
		};
		class Wheel_podkoloP7: Wheel_podkoloP1
		{
			selection="podkoloP7";
		};
		class Wheel_podkoloP8: Wheel_podkoloP1
		{
			selection="podkoloP8";
		};
		class podkoloL1_hide_damage: damageHide
		{
			selection="podkoloL1_hide";
		};
		class podkoloL2_hide_damage: damageHide
		{
			selection="podkoloL2_hide";
		};
		class podkoloL3_hide_damage: damageHide
		{
			selection="podkoloL3_hide";
		};
		class podkoloL4_hide_damage: damageHide
		{
			selection="podkoloL4_hide";
		};
		class podkoloL5_hide_damage: damageHide
		{
			selection="podkoloL5_hide";
		};
		class podkoloL6_hide_damage: damageHide
		{
			selection="podkoloL6_hide";
		};
		class podkoloL7_hide_damage: damageHide
		{
			selection="podkoloL7_hide";
		};
		class podkoloL8_hide_damage: damageHide
		{
			selection="podkoloL8_hide";
		};
		class podkoloP1_hide_damage: damageHide
		{
			selection="podkoloP1_hide";
		};
		class podkoloP2_hide_damage: damageHide
		{
			selection="podkoloP2_hide";
		};
		class podkoloP3_hide_damage: damageHide
		{
			selection="podkoloP3_hide";
		};
		class podkoloP4_hide_damage: damageHide
		{
			selection="podkoloP4_hide";
		};
		class podkoloP5_hide_damage: damageHide
		{
			selection="podkoloP5_hide";
		};
		class podkoloP6_hide_damage: damageHide
		{
			selection="podkoloP6_hide";
		};
		class podkoloP7_hide_damage: damageHide
		{
			selection="podkoloP7_hide";
		};
		class podkoloP8_hide_damage: damageHide
		{
			selection="podkoloP8_hide";
		};
		class damageVez: damageHide
		{
			selection="damageVez";
		};
	};
};
class BDS_T62: Tank
{
	sectionsInherit = "Tank";
	sections[] = {
		"skirt",
		"TF_Skirt",
		"BF_Skirt",
		"log",
		"snorkel",
		"zbytek",
		"telo",
		"pas_P",
		"pas_L",
		"telo",
		"vez",
		"zbran",
		"pravy zadni",
		"pasanimL",
		"pasanimP",
		"pasoffsetL",
		"pasoffsetP",
		"levy zadni",
		"L svetlo",
		"P svetlo",
		"koll1",
		"koll2",
		"kolp1",
		"kolp2",
		"kolol1",
		"kolol2",
		"kolol3",
		"kolol4",
		"kolol5",
		"kolol6",
		"kolP1",
		"kolop1",
		"kolop2",
		"kolop3",
		"kolop4",
		"kolop5",
		"kolop6",
		"otocvez",
		"otochlaven",
		"otocvelitele",
		"otochlavenvelitele",
		"loader_turret",
		"loader_gun",
		"com_gun",
		"cover",
		"loader_hat",
		"poklop_driver",
		"poklop_commander",
		"zadni svetlo",
		"brzdove svetlo",
		"zasleh",
		"zasleh_1", 
		"recoilhlaven",
		"reloadhlaven",
		"camo01",
		"camo02",
		"camo03",
		"camo04",
		"camo05"
	};
	skeletonName = "bds_t62Bones";
	class Animations
	{
		class MainTurret
		{
			type = "rotationY";
			source = "otocvez";
			selection = "otocvez";
			axis = "OsaVeze";
			memory = "true";
			sourceAddress = "clamp";
			minValue = "rad -360";
			maxValue = "rad +360";
			angle0 = "rad -360";
			angle1 = "rad 360";
		};
		class MainGun : MainTurret
		{
			type = "rotationX";
			source = "otochlaven";
			selection = "OtocHlaven";
			axis = "OsaHlavne";
		};
		class maingunup  
		{
			type = "rotationX";
			source = "user";
			selection = "reloadhlaven";
			memory = "true";
			axis = "OsaHlavne";
			sourceAddress = "clamp";
			minValue = "0";
			maxValue = "1";
			angle0 = "rad 0";
			angle1 = "rad 6";
			animPeriod = 2;
		};			
		class recoil_BEGIN
		{
			type="translation";
			offset0=0;
			offset1=-0.2;
			axis="recoilhlaven_axis";
			memory="true";
			minValue=0.92;
			maxValue=0.99;
			minPhase=0.92;
			maxPhase=0.99;
			source="recoil_source";
			sourceAddress="clamp";
			selection="recoilhlaven";
		};
		class recoil_END : recoil_BEGIN
		{
			offset1=0.2;
			minValue=0.99;
			maxValue=1;
			minPhase=0.99;
			maxPhase=1;
		};
		class com_coppula
		{
			type = "rotationY";
			source = "com_coppula";
			selection = "otocvelitele";
			axis = "osavelitele";
			memory = "true";
			sourceAddress = "loop";
			minValue = "rad -360";
			maxValue = "rad +360";
			angle0 = "rad -360";
			angle1 = "rad 360";
		};
		class ObsTurret
		{
			type="rotationY";
			source="obsTurret";
			selection="otocvelitele";
			axis="osavelitele";
			memory="true";
			sourceAddress="clamp";
			minValue="rad -360";
			maxValue="rad +360";
			angle0="rad -360";
			angle1="rad 360";
		};
		class ObsGun : ObsTurret
		{
			type="rotationX";
			source="obsGun";
			selection="otochlavenvelitele";
			axis="osahlavnevelitele";
		};
		class LoaderTurret		//loader gun azimuth
		{
			type = "rotationY";
			source = "loaderTurret";
			selection = "loader_turret";
			axis = "loader_turret_axis";
			memory = "true";
			sourceAddress = "clamp";
			minValue = "rad -360";
			maxValue = "rad +360";
			angle0 = "rad -360";
			angle1 = "rad 360";
		};
		class LoaderGun		//loader gun elevation
		{
			type = "rotationX";
			source = "LoaderGun";
			selection = "loader_gun";
			axis = "loader_gun_axis";
			memory = "true";
			sourceAddress = "clamp";
			minValue = "rad -8.5";
			maxValue = "rad 50";
			angle0 = "rad -8.5";
			angle1 = "rad 50";
		};
		class ammo_belt_rotation
		{
			type="rotationZ";
			angle0=0;
			angle1=-0.20944;
			axis="ammo_belt_axis";
			memory="true";
			minValue=0;
			maxValue=1;
			minPhase=0;
			maxPhase=1;
			source="ReloadAnim";
			sourceAddress="loop";
			selection="ammo_belt";
		};
		class Feedtray_cover_up
		{
			type="rotation";
			angle0=0;
			angle1=-1.570796;
			axis="feedtray_cover_axis";
			memory="true";
			minValue=0.1;
			maxValue=0.13;
			minPhase=0.1;
			maxPhase=0.13;
			source="reloadMagazine";
			sourceAddress="clamp";
			selection="feedtray_cover";
		};
		class Feedtray_cover_down : Feedtray_cover_up
		{
			angle1=1.570796;
			minValue=0.86;
			maxValue=0.9;
			minPhase=0.86;
			maxPhase=0.9;
		};
		class Magazine_hide
		{
			type="hide";
			hideValue=0.56;
			minValue=0;
			maxValue=0.5;
			minPhase=0;
			maxPhase=0.5;
			source="reloadMagazine";
			sourceAddress="mirror";
			selection="magazine";
		};
		class Wheel_kolL1
		{ 
			type="rotationX"; 
			angle0=0; 
			angle1="rad -360"; 
			source="wheelL"; 
			selection="kolL1"; 
			axis=""; 
			memory="false"; 
			minValue=0;
			maxValue=1;
			minPhase=0;
			maxPhase=1;
			sourceAddress="loop"; 
		};
		class Wheel_kolol1: Wheel_kolL1 
		{ 
			selection="kolol1"; 
		};
		class Wheel_podkolol1
		{ 
			type="translationY"; 
			source="damper"; 
			sourceAddress="clamp";
			selection="podkolol1";
			axis=""; 
			memory="false"; 
			animPeriod=0; 
			minValue=-1000;
			maxValue=1000;
			minPhase=-1000;
			maxPhase=1000;
			//minValue=-0.2; 
			//maxValue=0.2; 
		};
		class Wheel_kolP1: Wheel_kolL1 
		{ 
			source="wheelR"; 
			selection="kolP1"; 
		};
		class Wheel_kolop1: Wheel_kolol1 
		{ 
			source="wheelR"; 
			selection="kolop1"; 
		};
		class Wheel_podkolop1: Wheel_podkolol1 
		{ 
			selection="podkolop1"; 
		};
		class Wheel_kolL2: Wheel_kolL1 { 
			selection="kolL2"; 
		};
		class Wheel_kolL3: Wheel_kolL1 { 
			selection="kolL3"; 
		};
		class Wheel_kolL4: Wheel_kolL1 { 
			selection="kolL4"; 
		};
		class Wheel_kolL5: Wheel_kolL1 { selection="kolL5"; };
		class Wheel_kolL6: Wheel_kolL1 { selection="kolL6"; };
		class Wheel_kolL7: Wheel_kolL1 { selection="kolL7"; };
		class Wheel_kolL8: Wheel_kolL1 { selection="kolL8"; };
		class Wheel_kolP2: Wheel_kolP1 { selection="kolP2"; };
		class Wheel_kolP3: Wheel_kolP1 { selection="kolP3"; };
		class Wheel_kolP4: Wheel_kolP1 { selection="kolP4"; };
		class Wheel_kolP5: Wheel_kolP1 { selection="kolP5"; };
		class Wheel_kolP6: Wheel_kolP1 { selection="kolP6"; };
		class Wheel_kolP7: Wheel_kolP1 { selection="kolP7"; };
		class Wheel_kolP8: Wheel_kolP1 { selection="kolP8"; };
		class Wheel_kolol2: Wheel_kolol1 { selection="kolol2"; };
		class Wheel_kolol3: Wheel_kolol1 { selection="kolol3"; };
		class Wheel_kolol4: Wheel_kolol1 { selection="kolol4"; };
		class Wheel_kolol5: Wheel_kolol1 { selection="kolol5"; };
		class Wheel_kolol6: Wheel_kolol1 { selection="kolol6"; };
		class Wheel_kolol7: Wheel_kolol1 { selection="kolol7"; };
		class Wheel_kolol8: Wheel_kolol1 { selection="kolol8"; };
		class Wheel_kolop2: Wheel_kolop1 { selection="kolop2"; };
		class Wheel_kolop3: Wheel_kolop1 { selection="kolop3"; };
		class Wheel_kolop4: Wheel_kolop1 { selection="kolop4"; };
		class Wheel_kolop5: Wheel_kolop1 { selection="kolop5"; };
		class Wheel_kolop6: Wheel_kolop1 { selection="kolop6"; };
		class Wheel_kolop7: Wheel_kolop1 { selection="kolop7"; };
		class Wheel_kolop8: Wheel_kolop1 { selection="kolop8"; };
		class Wheel_podkolol2: Wheel_podkolol1 { selection="podkolol2"; };
		class Wheel_podkolol3: Wheel_podkolol1 { selection="podkolol3"; };
		class Wheel_podkolol4: Wheel_podkolol1 { selection="podkolol4"; };
		class Wheel_podkolol5: Wheel_podkolol1 { selection="podkolol5"; };
		class Wheel_podkolol6: Wheel_podkolol1 { selection="podkolol6"; };
		class Wheel_podkolol7: Wheel_podkolol1 { selection="podkolol7"; };
		class Wheel_podkolol8: Wheel_podkolol1 { selection="podkolol8"; };
		class Wheel_podkolop2: Wheel_podkolop1 { selection="podkolop2"; };
		class Wheel_podkolop3: Wheel_podkolop1 { selection="podkolop3"; };
		class Wheel_podkolop4: Wheel_podkolop1 { selection="podkolop4"; };
		class Wheel_podkolop5: Wheel_podkolop1 { selection="podkolop5"; };
		class Wheel_podkolop6: Wheel_podkolop1 { selection="podkolop6"; };
		class Wheel_podkolop7: Wheel_podkolop1 { selection="podkolop7"; };
		class Wheel_podkolop8: Wheel_podkolop1 { selection="podkolop8"; };
		class Wheel_podkolol1_up 
		{
			type="translationY"; 
			source="damper"; 
			selection="podkolol1_up"; 
			axis=""; 
			memory="false"; 
			animPeriod=0; 
			minValue= 0 ; 
			maxValue=0.1; 
		};
		class Wheel_podkolop1_up: Wheel_podkolol1_up { selection="podkolop1_up"; };
		class Wheel_podkolol2_up: Wheel_podkolol1_up { selection="podkolol2_up"; };
		class Wheel_podkolol3_up: Wheel_podkolol1_up { selection="podkolol3_up"; };
		class Wheel_podkolol4_up: Wheel_podkolol1_up { selection="podkolol4_up"; };
		class Wheel_podkolol5_up: Wheel_podkolol1_up { selection="podkolol5_up"; };
		class Wheel_podkolol6_up: Wheel_podkolol1_up { selection="podkolol6_up"; };
		class Wheel_podkolol7_up: Wheel_podkolol1_up { selection="podkolol7_up"; };
		class Wheel_podkolol8_up: Wheel_podkolol1_up { selection="podkolol8_up"; };
		class Wheel_podkolop2_up: Wheel_podkolop1_up { selection="podkolop2_up"; };
		class Wheel_podkolop3_up: Wheel_podkolop1_up { selection="podkolop3_up"; };
		class Wheel_podkolop4_up: Wheel_podkolop1_up { selection="podkolop4_up"; };
		class Wheel_podkolop5_up: Wheel_podkolop1_up { selection="podkolop5"; };
		class Wheel_podkolop6_up: Wheel_podkolop1_up { selection="podkolop6_up"; };
		class Wheel_podkolop7_up: Wheel_podkolop1_up { selection="podkolop7_up"; };
		class Wheel_podkolop8_up: Wheel_podkolop1_up { selection="podkolop8_up"; };

		class Hatch_driver
		{
			selection = "poklop_driver";
			type = "rotation";
			source = "hatchDriver";
			axis = "osa_poklop_driver";
			animPeriod = 0;
			memory = "true";
			minValue = "rad 0";
			maxValue = "1";
			angle0 = "rad 0";
			angle1 = "rad +180";
		};
		class Hatch_loader
		{
			selection = "loader_hat";
			type = "rotation";
			source = "Hatch_loader";
			memory = "true";
			axis = "osa_poklop_loder";
			animPeriod = 0;
			minValue = 0;
			maxValue = 1;
			angle0 = 0;
			angle1 = "rad 90";
		};
		class Hatch_commander
		{
			selection = "poklop_commander";
			type = "rotation";
			memory = "true";
			source = "HatchCommander";
			axis = "osa_poklop_commander";
			animPeriod = 0;
			minValue = 0;
			maxValue = 1;
			angle0 = 0;
			angle1 = "rad 90";
		};
		class damageHide
		{
			type = "hide";
			source = "damage";
			selection = "damageHide";
		};
		class loader_hatch_damage : damageHide
		{
			hideValue=1;
			minValue=0;
			maxValue=1;
			minPhase=0;
			maxPhase=1;
			sourceAddress="clamp";
			selection="loader_hat";
		};
		class damageVez: damageHide
		{
			selection = "damageVez";
		};
			class damageHlaven: damageHide
		{
			selection = "damageHlaven";
		};
			class damageVez_2: damageVez
		{
			selection = "damageVez_2";
		};
			class damageHlaven_2: damageHide
		{
			selection = "damageHlaven_2";
		};
		class podkoloL1_hide_damage: damageHide
		{
			selection="podkoloL1_hide";
		};
		class podkoloL2_hide_damage: damageHide
		{
			selection="podkoloL2_hide";
		};
		class podkoloL3_hide_damage: damageHide
		{
			selection="podkoloL3_hide";
		};
		class podkoloL4_hide_damage: damageHide
		{
			selection="podkoloL4_hide";
		};
		class podkoloL5_hide_damage: damageHide
		{
			selection="podkoloL5_hide";
		};
		class podkoloL6_hide_damage: damageHide
		{
			selection="podkoloL6_hide";
		};
		class podkoloL7_hide_damage: damageHide
		{
			selection="podkoloL7_hide";
		};
		class podkoloL8_hide_damage: damageHide
		{
			selection="podkoloL8_hide";
		};
		class podkoloP1_hide_damage: damageHide
		{
			selection="podkoloP1_hide";
		};
		class podkoloP2_hide_damage: damageHide
		{
			selection="podkoloP2_hide";
		};
		class podkoloP3_hide_damage: damageHide
		{
			selection="podkoloP3_hide";
		};
		class podkoloP4_hide_damage: damageHide
		{
			selection="podkoloP4_hide";
		};
		class podkoloP5_hide_damage: damageHide
		{
			selection="podkoloP5_hide";
		};
		class podkoloP6_hide_damage: damageHide
		{
			selection="podkoloP6_hide";
		};
		class podkoloP7_hide_damage: damageHide
		{
			selection="podkoloP7_hide";
		};
		class podkoloP8_hide_damage: damageHide
		{
			selection="podkoloP8_hide";
		};
	};
};
};

I'll try playing with values like tracksspeed and wheelcircumference to see if they change anything. I think alphatracks is used the tracks left on the ground.

Share this post


Link to post
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
Sign in to follow this  

×