class CfgSkeletons
{
	class Default
	{
		isDiscrete=1;
		skeletonInherit="";
		skeletonBones[]={};
	};
	class m964_keleton: Default
	{
		skeletonBones[]=
		{
			"magazine", "",
			"mag_release", "",
			"grenademagazine", "",
			"bullet007", "",
			"bullet008", "",
			"charging_handle", "",
			"seletor", "",
			"Sling", "",
			"alsa", "",
			"gatilho", "",
			"zeroing", "",
			"zarelho", "",
			"zarelho_2", "",
			"granada", "",
			"Alca_mira", "",
			"Treme_mira", "Alca_mira",
			"trilho_frontal", "",
			"muzzleFlash", "",
			"optic_rail", "",
		
			"zasleh", "",
			"bolt", "charging_handle"
			
		};
	};
};
class CfgModels
{
	class Default
	{
		sectionsInherit="";
		sections[]={};
		skeletonName="";
	};
	class m964: Default
	{
		sections[]=
		{
			"zasleh","muzzleFlash","magazine","selector","bolt","optic_rail","mira","zeroing","alsa","zarelho","trilho_frontal","granada","Sling","camo","camo1","camo2","camo3","camo4","camo5"
		};
		skeletonName="m964_keleton";
		sectionsInherit="";
		class Animations
		{
			class trigger /// not in this model, but good to use
			{
				type = "rotation";
				source = "reload";
				sourceAddress = "clamp";
				selection = "gatilho";
				axis = "trigger_axis";
				minValue = 0;
				maxValue = "1";
				angle0 = "0";
				angle1 = "rad -30";
			};
			class mag_release /// not in this model, but good to use
			{
				type = "rotation";
				source = "reloadMagazine";
				sourceAddress = "clamp";
				selection = "mag_release";
				axis = "mag_release_axis";
				minValue = 0;
				maxValue = "0.5";
				angle0 = "0";
				angle1 = "rad 10";
			};				
            class bullet007_revolving_hide
            {
                type="hide";
                source="revolving";
                selection="bullet007";
                sourceAddress="clamp";
                minPhase=0;
                maxPhase=1;
                minValue=0;
                maxValue=1;
                memory=0;
                hideValue=0;
                unHideValue=0.035;
            };
            class bullet008_revolving_hide
            {
                type="hide";
                source="revolving";
                selection="bullet008";
                sourceAddress="clamp";
                minPhase=0;
                maxPhase=1;
                minValue=0;
                maxValue=1;
                memory=0;
                hideValue=0;
                unHideValue=0.035;
            };
		    class optic_rail
           	{
               	type="hide";
               	source="hasOptics";
               	selection="optic_rail";
               	minValue=0;
               	maxValue=1;
				hideValue=-1.0;
				unhideValue = 0.5;


            };
		    class acessory_rail
           	{
               	type="hide";
               	source="hasAccessory";
               	selection="trilho_frontal";
               	minValue=0;
               	maxValue=1;
				hideValue=-1.0;
				unhideValue = 0.5;


            };
			//class Sling_hide
			//{
			//	type="hide";
			//	source="isSelected"; //bipod
			//	selection="Sling";
			//	minValue=0;
			//	maxValue=1;
			//	hideValue = 1.0;
			//	unhideValue =-0.5;
			//};
			  class magazine_gl_reload_hide
            {
                type="hide";
                source="reloadMagazine";
                selection="granada";
                sourceAddress="clamp";
                minPhase=0;
                maxPhase=1;
                minValue=0;
                maxValue=1;
                memory=0;
                hideValue=0.22695;
                unHideValue=0.496454;
            };
            class grenade_fired
            {
                type="hide";
                source="revolving";
                selection="granada";
                sourceAddress="clamp";
                minPhase=0;
                maxPhase=1;
                minValue=0;
                maxValue=1;
                memory=0;
                hideValue=-1;
                unHideValue=0.5;
            };
		    class reload_magazine_hide
           	{
                type="hide";
                source="reloadMagazine";
               	selection="magazine";
                minValue=0;
                maxValue=1;
                hideValue=0.1503759;
		    	unhideValue=0.7293233082;


            };
		    class unloaded_magazine_hide 
			{
				type = "hide";
				source = "hasMagazine";
				selection = "magazine";
               	hideValue = 0.1;
		    };
            class reload_magazine_hinge
           	{
              	type="rotation";
                source="reloadMagazine";
               	selection="magazine";
                minValue=0.1503759;
                maxValue=0.1879699;
                axis="magazine_axis";
 				angle0="rad 0";
 				angle1="rad 30";
            };
	     	class reload_magazine_hinge2
          	{
                type="rotation";
                source="reloadMagazine";
               	selection="magazine";
                minValue=0.7518;
                maxValue=0.7744360;
                axis="magazine_axis";
 				angle0="rad 0";
 				angle1="rad -30";
            };
            class backsight_rotate
            {
                type="translation";
                source="zeroing";
                selection="treme_mira";
                axis="vibra_axis";
                minValue=0;
                maxValue=1;
                //hideValue=1;
                offset0=0;
                offset1="-0.8";

            };		
            //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
			{
				type="translation";
				source="reload";
				selection="bolt";
				axis="bolt_axis";
				begin = "bolt_axis_end";
                end = "bolt_axis_begin";
				memory = 1;
				minValue=0;
				maxValue="0.5";
				offset0="0";
				offset1="1";
			};
			class bolt_2: bolt
			{
				minValue = 0;
				maxValue = 0.5;
				offset0 = 0;
				offset1 = 0.14;
			};
			class bolt_empty: bolt{
				source = "isEmptyNoReload";
				minValue = 0;
				maxValue = 1;
				offset0 = 0;
				offset1 = 1;
			};
			class bolt_reload_move_1: bolt_empty {
				source="reloadMagazine";	// z: should work like that only if weapon is empty
				minValue=0;
				maxValue=0.00001;
			};
			class bolt_reload_move_2: bolt_reload_move_1 {
				source="reloadMagazine";	// z: should work like that only if weapon is empty
				minValue=0.78;
				maxValue=0.80;
				offset1 = -1;
			};
            class alsa_shake
            {
                type="rotationX";
                source="reload";
                selection="alsa";
                sourceAddress="mirror";
                axis="alsa_axis";
                minPhase=0;
                maxPhase=0.5;
                minValue=0;
                maxValue=0.5;
                memory=0;
                angle0=-0.008726646;
                angle1=0.2;
            };
            class mira_shake
            {
                type="rotationz";
                source="reload";
                selection="Treme_mira";
                sourceAddress="mirror";
                axis="vibra_axis";
                minPhase=0;
                maxPhase=0.5;
                minValue=0;
                maxValue=0.5;
                memory=0;
                angle0=-0.05;
                angle1=0.05;
            };
            class mira_shake2
            {
                type="rotationX";
                source="reload";
                selection="alca_mira";
                sourceAddress="mirror";
                axis="vibra_axis";
                minPhase=0;
                maxPhase=0.5;
                minValue=0;
                maxValue=0.5;
                memory=0;
				angle0=0.00;
				angle1=-0.05;
            };
            //class mira_shake03
            //{
            //    type="rotationy";
            //    source="reload";
            //    selection="alca_mira";
            //    sourceAddress="mirror";
			//	axis="vibra_axis";
            //    minPhase=0;
            //    maxPhase=0.5;
            //    minValue=0;
            //    maxValue=0.5;
            //    memory=0;
            //    angle0=0.005759587;
            //    angle1=-0.005759587;
            //};
	       	class zarelho
			{
				type="rotation";
				source="reload";
				selection="zarelho";
				axis="zarelho_axis";
				minValue=-1;
				maxValue="1";
				angle0="rad -50";
				angle1="rad 50";
			};
	       	class zarelho_2
			{
				type="rotation";
				source="reload";
				selection="zarelho_2";
				axis="zarelho_2_axis";
				minValue=-1;
				maxValue="1";
				angle0="rad -50";
				angle1="rad 50";
			};

			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 FireModeSwitch
			{
				type = "rotation";
                source="weaponMode";
                memory=clamp;
                selection="seletor";
                animPeriod=0;
                axis="Selector_axis";
                minValue=0;
                maxValue=1;
				angle0= "rad -10";
				angle1="rad 840";
            };
			class grenade_shot
            {
                type="hide";
                source="isemptynoreload.1";
                selection="grenademagazine";
                sourceAddress="clamp";
                minPhase=0;
                maxPhase=1;
                minValue=0;
                maxValue=1;
                memory=0;
                hideValue=0.01;
                unHideValue=-1;
            };
            class grenade_hide
            {
                type="hide";
                source="weaponmuzzle";
                selection="grenademagazine";
                sourceAddress="clamp";
                minPhase=0;
                maxPhase=1;
                minValue=0;
                maxValue=1;
                memory=0;
                hideValue=0;
                unHideValue=0.01;
            };
            class grenade_magazine_hide
            {
                type="hide";
                source="reloadmagazine.1";
                selection="grenademagazine";
                sourceAddress="clamp";
                minPhase=0;
                maxPhase=1;
                minValue=0;
                maxValue=1;
                memory=0;
                hideValue=0.0001;
                unHideValue=0.99;
            };
		};
	};
};