300 lines
5.9 KiB
INI
300 lines
5.9 KiB
INI
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 {};
|
|
};
|