class CfgSkeletons
{
	class Default
	{
		isDiscrete=1;
		skeletonInherit="";
		skeletonBones[]={};
	};
	class IA2_556_Skel: Default
	{
		skeletonBones[]=
		{
			"magazine",	   "",
			"charging_handle", "",
			"bolt",		  	   "",
			"mira",			   "",
			"stock",		   "",
			//"sling",		   "",
			"zeroing",		   "",
			"zasleh",	       "",
			"trigger",		   "",
			"safety",		   ""


		};
	};
};
class Rotation { type="rotation"; memory=1; minValue=0; maxValue=1; angle0=0; angle1=1; };
class CfgModels
{
	class Default
	{
		sectionsInherit="";
		sections[]={};
		skeletonName="";
	};
	class IA2_556: Default
	{
		sections[]=
		{
			"zasleh","camo","camo1","camo2","camo3"
		};
		skeletonName="IA2_556_Skel";
		class Animations
		{
			class BaseRotation 
			{
				type="rotation";
				source="";
				selection="";
				memory=1;
				begin = 0;
				end = 1;
				axis="";
				minValue=0;
				maxValue=1;
				angle0=0;
				angle1=1;
			};

			///class Sling_hide
			//{
			//	type="hide";
			//	source="isSelected"; //bipod
			//	selection="Sling";
			//	minValue=0;
			//	maxValue=1;
			//	hideValue=-1.0;
			//	unhideValue = 0.5;
			//};

			class trigger_move
			{
				type="rotation";
				source="reload";
				selection="trigger";
				memory=1;
				sourceAddress="clamp";
				axis="trigger_axis";
				minValue=0;
				maxValue=0.30000001;
				minPhase=0;
				maxPhase=0.30000001;
				angle0=-0.21238901;
				angle1=0;
			};
			
			class charge1
			{
				type="translation";
				source="reloadMagazine";
				selection= "charging_handle";
				axis="bolt_axis";
				begin = "bolt_axis_end";
                end = "bolt_axis_begin";
				memory = 1;
				minValue=0.76875;
				maxValue=0.79375;
				offset0="0";
				offset1="1";
			};
			class charge2
			{
				type="translation";
				source="reloadMagazine";
				selection= "charging_handle";
				axis="bolt_axis";
				begin = "bolt_axis_end";
                end = "bolt_axis_begin";
				memory = 1;
				minValue=0.80625;
				maxValue=0.825;
				offset0="0";
				offset1="-1";
			};
			
			class bolt_move
			{
				type="translation";
				source="reload";
				selection="bolt";
				memory=1;
				sourceAddress="clamp";
				axis="bolt_axis";
				minValue=0;
				maxValue=1;
				minPhase=0;
				maxPhase=1;
				offset0=0;
				offset1=0.570000001;
			};
			class bolt_empty
			{
				type="translation";
				source="isEmptyNoReload";
				selection="bolt";
				axis="bolt_axis";
				sourceAddress="clamp";
				minValue=0;
				maxValue=1;
				offset0=0;
				offset1=0.570000001;
				animPeriod=0;
				initPhase=0;
				memory="true";
			};
						
		    class reload_magazine_hide
           	{
                type="hide";
                source="reloadMagazine";
               	selection="magazine";
                minValue=0;
                maxValue=1;
				hideValue = 0.126;
				unhidevalue = 0.6300;


            };
		    class unloaded_magazine_hide 
			{
				type = "hide";
				source = "hasMagazine";
				selection = "magazine";
               	hideValue=0.100000;
		    };
			class magazine_reload_move_1
			{
				type = "translation";
				source = "reloadMagazine";
				selection = "magazine";
				axis = "magazine_axis";
				minValue = 0.145;
				maxValue = 0.170;
				offset0 = 0.0;
				offset1 = 0.5;
			};
			class magazine_reload_move_2: magazine_reload_move_1
			{
				minValue = 0.573;
				maxValue = 0.602;
				offset0 = 0.0;
				offset1 = -0.5;
			};
			
				class bolt_reload_move_1: bolt_move {
				source="reloadMagazine";	// z: should work like that only if weapon is empty
				minValue=-0.56;
				maxValue=-0.56;
				offset1 = 1;
				
						
				
			};
			class bolt_reload_move_2: bolt_reload_move_1 {
				source="reloadMagazine";	// z: should work like that only if weapon is empty
				minValue=0;
				maxValue=0.00001;
			};
			
			class no_magazine
			{
				type="hide";
				source="hasMagazine";
				selection="magazine";
				sourceAddress="clamp";
				minValue=0;
				maxValue=1;
				hideValue=0.5;
				unHideValue=-1;
				animPeriod=0;
				initPhase=0;
			};
			
			
			//class backsight_rotate
			//{
				//type="rotation";
				//source="zeroing1";
				//selection="mira";
				//axis="back_sight_axis";
				//minValue=0.333;
				//maxValue=0.334;
				//hideValue=1;
				//angle0=0;
				//angle1="-rad -90";
				
			//};
			
			
			
			class zeroing_rotate
			{
				type="rotation";
				source="zeroing1";
				selection="zeroing";
				axis="zeroing_axis";
				minValue=0;
				maxValue=1;
				angle0=0;
				angle1=-1;
			};
			class frontsight_rotate
			{
				type="rotation";
				source="hasOptics";
				selection="front_sight";
				axis="front_sight_axis";
				minValue=0;
				maxValue=1;
				hideValue=1;
				angle0=0;
				angle1="rad 90";
			};
			
			class muzzleFlashROT
			{
				type="rotationX";
				source="ammoRandom";      //use ammo count as phase for animation
				sourceAddress="loop";     //loop when phase out of bounds
				selection="zasleh";  //selection we want to rotate
				axis="";                  //no own axis - center of rotation is computed from selection
				centerFirstVertex=true;   //use first vertex of selection as center of rotation
				minValue=0;
				maxValue=4;               //rotation angle will be 360/4 = 90 degrees
				angle0="rad 0";
				angle1="rad 360";
			};
			class stock /// not in this model, but good to use
			{
				type = "rotation";
				source = "isselected";
				sourceAddress = "clamp";
				selection = "stock";
				axis = "stock_axis";
				minValue = 0;
				maxValue = "1";
				angle0 = "rad 180";
				angle1 = "0";
			};				
			// Rotation of fire mode switch
			class safety_mode_rot
			{
				type = "rotation";
                source="weaponMode";
                memory=clamp;
                selection="safety";
                animPeriod=0;
                axis="safety_axis";
                minValue=0;
                maxValue=1;
				angle0= "rad -10";
				angle1="rad 840";
			};															
		};
	};		
    class IA2_556_grip: IA2_556 {};  
    class IA2_556_vfg: IA2_556 {};  
};
