This commit is the equivalent of a atomic bomb

This commit is contained in:
2026-02-15 08:08:56 -03:00
commit e4ac56b038
6934 changed files with 916278 additions and 0 deletions

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -0,0 +1,16 @@
class CfgPatches
{
class BRAF_LR110_F
{
// List of units defined in this "PBO"
units[]=
{
"BRAF_LR_110_SW","BRAF_LR110_SW_01_Special_F"
};
weapons[]={};
requiredVersion=0.1;
// because we are using references to this addon, our test car should not be loaded if A3_Soft_F is not present
requiredAddons[] = {"A3_Soft_F"};
};
};

View File

@@ -0,0 +1,82 @@
ambient[]={1.000000,1.000000,1.000000,0.990000};
diffuse[]={1.000000,1.000000,1.000000,0.990000};
forcedDiffuse[]={0.000000,0.000000,0.000000,1.000000};
emmisive[]={0.000000,0.000000,0.000000,1.000000};
specular[]={0.989000,0.989000,0.989000,0.990000};
specularPower=220.000000;
PixelShaderID="Super";
VertexShaderID="Super";
class Stage1
{
texture="braf\braf_soft\braf_land_rover\DATA\braf_landrover_out_nohq.paa";
uvSource="tex";
class uvTransform
{
aside[]={1.000000,0.000000,0.000000};
up[]={0.000000,1.000000,0.000000};
dir[]={0.000000,0.000000,0.000000};
pos[]={0.000000,0.000000,0.000000};
};
};
class Stage2
{
texture="#(argb,8,8,3)color(0.5,0.5,0.5,1,DT)";
uvSource="tex";
class uvTransform
{
aside[]={10.000000,0.000000,0.000000};
up[]={0.000000,10.000000,0.000000};
dir[]={0.000000,0.000000,0.000000};
pos[]={0.000000,0.000000,0.000000};
};
};
class Stage3
{
texture="#(argb,8,8,3)color(0,0,0,0,MC)";
uvSource="tex";
class uvTransform
{
aside[]={1.000000,0.000000,0.000000};
up[]={0.000000,1.000000,0.000000};
dir[]={0.000000,0.000000,0.000000};
pos[]={0.000000,0.000000,0.000000};
};
};
class Stage4
{
texture="braf\braf_soft\braf_land_rover\DATA\braf_landrover_out_as.paa";
uvSource="tex";
class uvTransform
{
aside[]={1.000000,0.000000,0.000000};
up[]={0.000000,1.000000,0.000000};
dir[]={0.000000,0.000000,1.000000};
pos[]={0.000000,0.000000,1.000000};
};
};
class Stage5
{
texture="braf\braf_soft\braf_land_rover\DATA\braf_landrover_out_smdi.paa";
uvSource="tex";
class uvTransform
{
aside[]={1.000000,0.000000,0.000000};
up[]={0.000000,1.000000,0.000000};
dir[]={0.000000,0.000000,1.000000};
pos[]={0.000000,0.000000,1.000000};
};
};
class Stage6
{
texture="#(ai,64,64,1)fresnel(2.0,0.1)";
uvSource="none";
};
class Stage7
{
texture="A3\data_f\env_land_co.paa";
uvSource="none";
};
class StageTI
{
texture="braf\braf_soft\braf_land_rover\DATA\braf_landrover_base_ti_ca.paa";
};

Binary file not shown.

Binary file not shown.

View File

@@ -0,0 +1,82 @@
class StageTI
{
texture="a3\data_f\default_ti_ca.paa";
};
ambient[]={1.000000,1.000000,1.000000,0.990000};
diffuse[]={1.000000,1.000000,1.000000,0.990000};
forcedDiffuse[]={0.000000,0.000000,0.000000,1.000000};
emmisive[]={0.000000,0.000000,0.000000,1.000000};
specular[]={0.989000,0.989000,0.989000,0.990000};
specularPower=220.000000;
PixelShaderID="Super";
VertexShaderID="Super";
class Stage1
{
texture="braf\braf_soft\braf_land_rover\Data\braf_landrover_out_nohq.paa";
uvSource="tex";
class uvTransform
{
aside[]={1.000000,0.000000,0.000000};
up[]={0.000000,1.000000,0.000000};
dir[]={0.000000,0.000000,0.000000};
pos[]={0.000000,0.000000,0.000000};
};
};
class Stage2
{
texture="a3\data_f\Destruct\damage_metal_tankArmor_dt.tga";
uvSource="tex";
class uvTransform
{
aside[]={10.000000,0.000000,0.000000};
up[]={0.000000,10.000000,0.000000};
dir[]={0.000000,0.000000,0.000000};
pos[]={0.000000,0.000000,0.000000};
};
};
class Stage3
{
texture="a3\data_f\Destruct\destruct_plech_full_mc.tga";
uvSource="tex";
class uvTransform
{
aside[]={1.000000,0.000000,0.000000};
up[]={0.000000,1.000000,0.000000};
dir[]={0.000000,0.000000,0.000000};
pos[]={0.000000,0.000000,0.000000};
};
};
class Stage4
{
texture="#(argb,8,8,3)color(1,1,1,1,AS)";
uvSource="tex";
class uvTransform
{
aside[]={1.000000,0.000000,0.000000};
up[]={0.000000,1.000000,0.000000};
dir[]={0.000000,0.000000,1.000000};
pos[]={0.000000,0.000000,1.000000};
};
};
class Stage5
{
texture="braf\braf_soft\braf_land_rover\Data\braf_landrover_out_smdi.paa";
uvSource="tex";
class uvTransform
{
aside[]={1.000000,0.000000,0.000000};
up[]={0.000000,1.000000,0.000000};
dir[]={0.000000,0.000000,1.000000};
pos[]={0.000000,0.000000,1.000000};
};
};
class Stage6
{
texture="#(ai,64,64,1)fresnel(2.0,0.1)";
uvSource="none";
};
class Stage7
{
texture="a3\data_f\env_land_ca.paa";
uvSource="none";
};

View File

@@ -0,0 +1,82 @@
ambient[]={1,1,1,0.99};
diffuse[]={1,1,1,0.99};
forcedDiffuse[]={0,0,0,1};
emmisive[]={0,0,0,1};
specular[]={0.989,0.989,0.989,0.99};
specularPower=220;
PixelShaderID="Super";
VertexShaderID="Super";
class Stage1
{
texture="braf\braf_soft\braf_land_rover\Data\braf_landrover_out_nohq.paa";
uvSource="tex";
class uvTransform
{
aside[]={1,0,0};
up[]={0,1,0};
dir[]={0,0,0};
pos[]={0,0,0};
};
};
class Stage2
{
texture="a3\data_f\Destruct\damage_metal_tankArmor_dt.tga";
uvSource="tex";
class uvTransform
{
aside[]={10,0,0};
up[]={0,10,0};
dir[]={0,0,0};
pos[]={0,0,0};
};
};
class Stage3
{
texture = "a3\data_f\destruct\destruct_rust_mca.paa";
uvSource="tex";
class uvTransform
{
aside[]={1,0,0};
up[]={0,1,0};
dir[]={0,0,0};
pos[]={0,0,0};
};
};
class Stage4
{
texture="#(argb,8,8,3)color(1,1,1,1,AS)";
uvSource="tex";
class uvTransform
{
aside[]={1,0,0};
up[]={0,1,0};
dir[]={0,0,1};
pos[]={0,0,1};
};
};
class Stage5
{
texture = "a3\data_f\destruct\destruct_rust_smdi.paa";
uvSource="tex";
class uvTransform
{
aside[]={1,0,0};
up[]={0,1,0};
dir[]={0,0,0};
pos[]={0,0,0};
};
};
class Stage6
{
texture="#(ai,64,64,1)fresnel(2.0,0.1)";
uvSource="none";
};
class Stage7
{
texture = "a3\data_f\env_land_ca.paa";
uvSource="none";
};
class StageTI
{
texture="a3\data_f\destruct_ti_ca.paa";
};

View File

@@ -0,0 +1,82 @@
ambient[]={1.000000,1.000000,1.000000,0.990000};
diffuse[]={1.000000,1.000000,1.000000,0.990000};
forcedDiffuse[]={0.000000,0.000000,0.000000,1.000000};
emmisive[]={1.000000,1.000000,1.000000,1.000000};
specular[]={0.989000,0.989000,0.989000,0.990000};
specularPower=220.000000;
PixelShaderID="Super";
VertexShaderID="Super";
class Stage1
{
texture="braf\braf_soft\braf_land_rover\Data\braf_landrover_out_nohq.paa";
uvSource="tex";
class uvTransform
{
aside[]={1.000000,0.000000,0.000000};
up[]={0.000000,1.000000,0.000000};
dir[]={0.000000,0.000000,0.000000};
pos[]={0.000000,0.000000,0.000000};
};
};
class Stage2
{
texture="#(argb,8,8,3)color(0.5,0.5,0.5,1,DT)";
uvSource="tex";
class uvTransform
{
aside[]={10.000000,0.000000,0.000000};
up[]={0.000000,10.000000,0.000000};
dir[]={0.000000,0.000000,0.000000};
pos[]={0.000000,0.000000,0.000000};
};
};
class Stage3
{
texture="#(argb,8,8,3)color(0,0,0,0,MC)";
uvSource="tex";
class uvTransform
{
aside[]={1.000000,0.000000,0.000000};
up[]={0.000000,1.000000,0.000000};
dir[]={0.000000,0.000000,0.000000};
pos[]={0.000000,0.000000,0.000000};
};
};
class Stage4
{
texture="#(argb,8,8,3)color(1,1,1,1,AS)";
uvSource="tex";
class uvTransform
{
aside[]={1.000000,0.000000,0.000000};
up[]={0.000000,1.000000,0.000000};
dir[]={0.000000,0.000000,1.000000};
pos[]={0.000000,0.000000,1.000000};
};
};
class Stage5
{
texture="braf\braf_soft\braf_land_rover\Data\braf_landrover_out_smdi.paa";
uvSource="tex";
class uvTransform
{
aside[]={1.000000,0.000000,0.000000};
up[]={0.000000,1.000000,0.000000};
dir[]={0.000000,0.000000,1.000000};
pos[]={0.000000,0.000000,1.000000};
};
};
class Stage6
{
texture="#(ai,64,64,1)fresnel(2.0,0.1)";
uvSource="none";
};
class Stage7
{
texture=""a3\data_f\env_land_ca.paa"";
uvSource="none";
};
class StageTI
{
texture="a3\data_f\default_ti_ca.paa";
};

View File

@@ -0,0 +1,96 @@
ambient[]={1.000000,1.000000,1.000000,1.000000};
diffuse[]={1.000000,1.000000,1.000000,1.000000};
forcedDiffuse[]={0.000000,0.000000,0.000000,0.000000};
emmisive[]={0.000000,0.000000,0.000000,0.000000};
specular[]={0.470588,0.470588,0.470588,1.000000};
specularPower=100.000000;
PixelShaderID="Super";
VertexShaderID="Super";
class Stage1
{
texture = "a3\data_f\destruct\destr_glass_plexi_half_nohq.paa";
uvSource="tex";
class uvTransform
{
aside[]={1.000000,0.000000,0.000000};
up[]={0.000000,1.000000,0.000000};
dir[]={0.000000,0.000000,0.000000};
pos[]={0.000000,0.000000,0.000000};
};
};
class Stage2
{
texture = "a3\data_f\destruct\destr_glass_plexi_half_ca.paa";
uvSource="tex";
class uvTransform
{
aside[]={3.000000,0.000000,0.000000};
up[]={0.000000,3.000000,0.000000};
dir[]={0.000000,0.000000,0.000000};
pos[]={0.000000,0.000000,0.000000};
};
};
class Stage3
{
texture = "a3\data_f\destruct\destr_glass_plexi_half_ca.paa";
uvSource="tex";
class uvTransform
{
aside[]={1.000000,0.000000,0.000000};
up[]={0.000000,1.000000,0.000000};
dir[]={0.000000,0.000000,0.000000};
pos[]={0.000000,0.000000,0.000000};
};
};
class Stage4
{
texture="#(argb,8,8,3)color(1,1,1,1,AS)";
uvSource="tex";
class uvTransform
{
aside[]={1.000000,0.000000,0.000000};
up[]={0.000000,1.000000,0.000000};
dir[]={0.000000,0.000000,0.000000};
pos[]={0.000000,0.000000,0.000000};
};
};
class Stage5
{
texture = "a3\data_f\destruct\destr_glass_plexi_half_smdi.paa";
uvSource="tex";
class uvTransform
{
aside[]={1.000000,0.000000,0.000000};
up[]={0.000000,1.000000,0.000000};
dir[]={0.000000,0.000000,0.000000};
pos[]={0.000000,0.000000,0.000000};
};
};
class Stage6
{
texture="#(ai,64,64,1)fresnelGlass(2.1)";
uvSource="tex";
class uvTransform
{
aside[]={1.000000,0.000000,0.000000};
up[]={0.000000,1.000000,0.000000};
dir[]={0.000000,0.000000,0.000000};
pos[]={0.000000,0.000000,0.000000};
};
};
class Stage7
{
texture = "a3\data_f\env_land_co.paa";
uvSource="tex";
class uvTransform
{
aside[]={1.000000,0.000000,0.000000};
up[]={0.000000,1.000000,0.000000};
dir[]={0.000000,0.000000,0.000000};
pos[]={0.000000,0.000000,0.000000};
};
};
class StageTI
{
texture = "a3\data_f\default_vehicle_ti_ca.paa";
};

View File

@@ -0,0 +1,96 @@
ambient[]={1,1,1,1};
diffuse[]={1,1,1,1};
forcedDiffuse[]={0,0,0,0};
emmisive[]={0,0,0,0};
specular[]={0.470588,0.470588,0.470588,1};
specularPower=100;
PixelShaderID="Super";
VertexShaderID="Super";
class Stage1
{
texture="a3\data_f\Destruct\destr_glass_armour2_full_NOHQ.tga";
uvSource="tex";
class uvTransform
{
aside[]={1,0,0};
up[]={0,1,0};
dir[]={0,0,0};
pos[]={0,0,0};
};
};
class Stage2
{
texture="a3\data_f\Destruct\damage_metal_basicarmor_dt";
uvSource="tex";
class uvTransform
{
aside[]={3,0,0};
up[]={0,3,0};
dir[]={0,0,0};
pos[]={0,0,0};
};
};
class Stage3
{
texture="a3\data_f\Destruct\destr_glass_armour2_full_CA.tga";
uvSource="tex";
class uvTransform
{
aside[]={1,0,0};
up[]={0,1,0};
dir[]={0,0,0};
pos[]={0,0,0};
};
};
class Stage4
{
texture="#(argb,8,8,3)color(1,1,1,1,AS)";
uvSource="tex";
class uvTransform
{
aside[]={1,0,0};
up[]={0,1,0};
dir[]={0,0,0};
pos[]={0,0,0};
};
};
class Stage5
{
texture="BRAF\braf_soft\braf_land_rover\data\braf_landrover_glass_smdi.paa";
uvSource="tex";
class uvTransform
{
aside[]={1,0,0};
up[]={0,1,0};
dir[]={0,0,0};
pos[]={0,0,0};
};
};
class Stage6
{
texture="#(ai,64,64,1)fresnelGlass(2.1)";
uvSource="tex";
class uvTransform
{
aside[]={1,0,0};
up[]={0,1,0};
dir[]={0,0,0};
pos[]={0,0,0};
};
};
class Stage7
{
texture = "a3\data_f\env_land_ca.paa";
uvSource="tex";
class uvTransform
{
aside[]={1,0,0};
up[]={0,1,0};
dir[]={0,0,0};
pos[]={0,0,0};
};
};
class StageTI
{
texture = "a3\data_f\destruct_ti_ca.paa";
};

View File

@@ -0,0 +1,85 @@
#define _ARMA_
ambient[] = {0.75,0.75,0.75,1.0};
diffuse[] = {0.75,0.75,0.75,1.0};
forcedDiffuse[] = {0.0,0.0,0.0,1.0};
emmisive[] = {0.0,0.0,0.0,1.0};
specular[] = {0.15,0.15,0.15,1.0};
specularPower = 75;
PixelShaderID = "Super";
VertexShaderID = "Super";
class Stage1
{
texture = "braf\braf_soft\braf_land_rover\Data\braf_landrover_in_nohq.paa";
uvSource = "tex";
class uvTransform
{
aside[] = {1.0,0.0,0.0};
up[] = {0.0,1.0,0.0};
dir[] = {0.0,0.0,0.0};
pos[] = {0.0,0.0,0.0};
};
};
class Stage2
{
texture = "#(argb,8,8,3)color(0.5,0.5,0.5,1,DT)";
uvSource = "tex";
class uvTransform
{
aside[] = {10.0,0.0,0.0};
up[] = {0.0,10.0,0.0};
dir[] = {0.0,0.0,0.0};
pos[] = {0.0,0.0,0.0};
};
};
class Stage3
{
texture = "#(argb,8,8,3)color(0,0,0,0,MC)";
uvSource = "tex";
class uvTransform
{
aside[] = {1.0,0.0,0.0};
up[] = {0.0,1.0,0.0};
dir[] = {0.0,0.0,0.0};
pos[] = {0.0,0.0,0.0};
};
};
class Stage4
{
texture = "braf\braf_soft\braf_land_rover\Data\braf_landrover_in_as.paa";
uvSource = "tex";
class uvTransform
{
aside[] = {1.0,0.0,0.0};
up[] = {0.0,1.0,0.0};
dir[] = {0.0,0.0,1.0};
pos[] = {0.0,0.0,1.0};
};
};
class Stage5
{
texture = "braf\braf_soft\braf_land_rover\Data\Skins\EB\braf_EB_landroverin_smdi.paa";
uvSource = "tex";
class uvTransform
{
aside[] = {1.0,0.0,0.0};
up[] = {0.0,1.0,0.0};
dir[] = {0.0,0.0,1.0};
pos[] = {0.0,0.0,1.0};
};
};
class Stage6
{
texture = "#(ai,64,64,1)fresnel(2.0,0.1)";
uvSource = "none";
};
class Stage7
{
texture="a3\data_f\env_land_co.paa";
uvSource = "none";
};
// FIXME TeTeT
// class StageTI
// {
// texture = "braf\braf_soft\Braf_Marrua\AM11\Data\camo_1_ti_ca.paa";
// };

View File

@@ -0,0 +1,85 @@
#define _ARMA_
ambient[] = {7,7,7,1};
diffuse[] = {0.75,0.75,0.75,1.0};
forcedDiffuse[] = {0.0,0.0,0.0,1.0};
emmisive[] = {0.0,0.0,0.0,1.0};
specular[] = {0.15,0.15,0.15,1.0};
specularPower = 75;
PixelShaderID = "Super";
VertexShaderID = "Super";
class Stage1
{
texture = "braf\braf_soft\braf_land_rover\Data\braf_landrover_out_nohq.paa";
uvSource = "tex";
class uvTransform
{
aside[] = {1.0,0.0,0.0};
up[] = {0.0,1.0,0.0};
dir[] = {0.0,0.0,0.0};
pos[] = {0.0,0.0,0.0};
};
};
class Stage2
{
texture = "#(argb,8,8,3)color(0.5,0.5,0.5,1,DT)";
uvSource = "tex";
class uvTransform
{
aside[] = {10.0,0.0,0.0};
up[] = {0.0,10.0,0.0};
dir[] = {0.0,0.0,0.0};
pos[] = {0.0,0.0,0.0};
};
};
class Stage3
{
texture = "#(argb,8,8,3)color(0,0,0,0,MC)";
uvSource = "tex";
class uvTransform
{
aside[] = {1.0,0.0,0.0};
up[] = {0.0,1.0,0.0};
dir[] = {0.0,0.0,0.0};
pos[] = {0.0,0.0,0.0};
};
};
class Stage4
{
texture = "braf\braf_soft\braf_land_rover\Data\braf_landrover_out_as.paa";
uvSource = "tex";
class uvTransform
{
aside[] = {1.0,0.0,0.0};
up[] = {0.0,1.0,0.0};
dir[] = {0.0,0.0,1.0};
pos[] = {0.0,0.0,1.0};
};
};
class Stage5
{
texture = "braf\braf_soft\braf_land_rover\Data\Skins\EB\braf_EB_landroverout_smdi.paa";
uvSource = "tex";
class uvTransform
{
aside[] = {1.0,0.0,0.0};
up[] = {0.0,1.0,0.0};
dir[] = {0.0,0.0,1.0};
pos[] = {0.0,0.0,1.0};
};
};
class Stage6
{
texture = "#(ai,64,64,1)fresnel(2.0,0.1)";
uvSource = "none";
};
class Stage7
{
texture="a3\data_f\env_land_co.paa";
uvSource = "none";
};
// FIXME TeTeT
// class StageTI
// {
// texture = "braf\braf_soft\Braf_Marrua\AM11\Data\camo_1_ti_ca.paa";
// };

View File

@@ -0,0 +1,85 @@
#define _ARMA_
ambient[] = {0.75,0.75,0.75,1.0};
diffuse[] = {0.75,0.75,0.75,1.0};
forcedDiffuse[] = {0.0,0.0,0.0,1.0};
emmisive[] = {0.0,0.0,0.0,1.0};
specular[] = {0.15,0.15,0.15,1.0};
specularPower = 75;
PixelShaderID = "Super";
VertexShaderID = "Super";
class Stage1
{
texture = "braf\braf_soft\braf_land_rover\Data\Skins\GEN\braf_landrover_GENin_nohq.paa";
uvSource = "tex";
class uvTransform
{
aside[] = {1.0,0.0,0.0};
up[] = {0.0,1.0,0.0};
dir[] = {0.0,0.0,0.0};
pos[] = {0.0,0.0,0.0};
};
};
class Stage2
{
texture = "#(argb,8,8,3)color(0.5,0.5,0.5,1,DT)";
uvSource = "tex";
class uvTransform
{
aside[] = {10.0,0.0,0.0};
up[] = {0.0,10.0,0.0};
dir[] = {0.0,0.0,0.0};
pos[] = {0.0,0.0,0.0};
};
};
class Stage3
{
texture = "#(argb,8,8,3)color(0,0,0,0,MC)";
uvSource = "tex";
class uvTransform
{
aside[] = {1.0,0.0,0.0};
up[] = {0.0,1.0,0.0};
dir[] = {0.0,0.0,0.0};
pos[] = {0.0,0.0,0.0};
};
};
class Stage4
{
texture = "braf\braf_soft\braf_land_rover\Data\braf_landrover_in_as.paa";
uvSource = "tex";
class uvTransform
{
aside[] = {1.0,0.0,0.0};
up[] = {0.0,1.0,0.0};
dir[] = {0.0,0.0,1.0};
pos[] = {0.0,0.0,1.0};
};
};
class Stage5
{
texture = "braf\braf_soft\braf_land_rover\Data\Skins\GEN\braf_landrover_GENin_smdi.paa";
uvSource = "tex";
class uvTransform
{
aside[] = {1.0,0.0,0.0};
up[] = {0.0,1.0,0.0};
dir[] = {0.0,0.0,1.0};
pos[] = {0.0,0.0,1.0};
};
};
class Stage6
{
texture = "#(ai,64,64,1)fresnel(2.0,0.1)";
uvSource = "none";
};
class Stage7
{
texture="a3\data_f\env_land_co.paa";
uvSource = "none";
};
// FIXME TeTeT
// class StageTI
// {
// texture = "braf\braf_soft\Braf_Marrua\AM11\Data\camo_1_ti_ca.paa";
// };

View File

@@ -0,0 +1,85 @@
#define _ARMA_
ambient[] = {7,7,7,1};
diffuse[] = {0.75,0.75,0.75,1.0};
forcedDiffuse[] = {0.0,0.0,0.0,1.0};
emmisive[] = {0.0,0.0,0.0,1.0};
specular[] = {0.15,0.15,0.15,1.0};
specularPower = 75;
PixelShaderID = "Super";
VertexShaderID = "Super";
class Stage1
{
texture = "braf\braf_soft\braf_land_rover\Data\braf_landrover_out_nohq.paa";
uvSource = "tex";
class uvTransform
{
aside[] = {1.0,0.0,0.0};
up[] = {0.0,1.0,0.0};
dir[] = {0.0,0.0,0.0};
pos[] = {0.0,0.0,0.0};
};
};
class Stage2
{
texture = "#(argb,8,8,3)color(0.5,0.5,0.5,1,DT)";
uvSource = "tex";
class uvTransform
{
aside[] = {10.0,0.0,0.0};
up[] = {0.0,10.0,0.0};
dir[] = {0.0,0.0,0.0};
pos[] = {0.0,0.0,0.0};
};
};
class Stage3
{
texture = "#(argb,8,8,3)color(0,0,0,0,MC)";
uvSource = "tex";
class uvTransform
{
aside[] = {1.0,0.0,0.0};
up[] = {0.0,1.0,0.0};
dir[] = {0.0,0.0,0.0};
pos[] = {0.0,0.0,0.0};
};
};
class Stage4
{
texture = "braf\braf_soft\braf_land_rover\Data\braf_landrover_out_as.paa";
uvSource = "tex";
class uvTransform
{
aside[] = {1.0,0.0,0.0};
up[] = {0.0,1.0,0.0};
dir[] = {0.0,0.0,1.0};
pos[] = {0.0,0.0,1.0};
};
};
class Stage5
{
texture = "braf\braf_soft\braf_land_rover\Data\Skins\GEN\braf_landrover_GENout_smdi.paa";
uvSource = "tex";
class uvTransform
{
aside[] = {1.0,0.0,0.0};
up[] = {0.0,1.0,0.0};
dir[] = {0.0,0.0,1.0};
pos[] = {0.0,0.0,1.0};
};
};
class Stage6
{
texture = "#(ai,64,64,1)fresnel(2.0,0.1)";
uvSource = "none";
};
class Stage7
{
texture="a3\data_f\env_land_co.paa";
uvSource = "none";
};
// FIXME TeTeT
// class StageTI
// {
// texture = "braf\braf_soft\Braf_Marrua\AM11\Data\camo_1_ti_ca.paa";
// };

View File

@@ -0,0 +1,85 @@
#define _ARMA_
ambient[] = {0.75,0.75,0.75,1.0};
diffuse[] = {0.75,0.75,0.75,1.0};
forcedDiffuse[] = {0.0,0.0,0.0,1.0};
emmisive[] = {0.0,0.0,0.0,1.0};
specular[] = {0.15,0.15,0.15,1.0};
specularPower = 75;
PixelShaderID = "Super";
VertexShaderID = "Super";
class Stage1
{
texture = "braf\braf_soft\braf_land_rover\Data\braf_landrover_in_nohq.paa";
uvSource = "tex";
class uvTransform
{
aside[] = {1.0,0.0,0.0};
up[] = {0.0,1.0,0.0};
dir[] = {0.0,0.0,0.0};
pos[] = {0.0,0.0,0.0};
};
};
class Stage2
{
texture = "#(argb,8,8,3)color(0.5,0.5,0.5,1,DT)";
uvSource = "tex";
class uvTransform
{
aside[] = {10.0,0.0,0.0};
up[] = {0.0,10.0,0.0};
dir[] = {0.0,0.0,0.0};
pos[] = {0.0,0.0,0.0};
};
};
class Stage3
{
texture = "#(argb,8,8,3)color(0,0,0,0,MC)";
uvSource = "tex";
class uvTransform
{
aside[] = {1.0,0.0,0.0};
up[] = {0.0,1.0,0.0};
dir[] = {0.0,0.0,0.0};
pos[] = {0.0,0.0,0.0};
};
};
class Stage4
{
texture = "braf\braf_soft\braf_land_rover\Data\braf_landrover_in_as.paa";
uvSource = "tex";
class uvTransform
{
aside[] = {1.0,0.0,0.0};
up[] = {0.0,1.0,0.0};
dir[] = {0.0,0.0,1.0};
pos[] = {0.0,0.0,1.0};
};
};
class Stage5
{
texture = "braf\braf_soft\braf_land_rover\Data\Skins\cfn\braf_landrover_navy_in_co.paa";
uvSource = "tex";
class uvTransform
{
aside[] = {1.0,0.0,0.0};
up[] = {0.0,1.0,0.0};
dir[] = {0.0,0.0,1.0};
pos[] = {0.0,0.0,1.0};
};
};
class Stage6
{
texture = "#(ai,64,64,1)fresnel(2.0,0.1)";
uvSource = "none";
};
class Stage7
{
texture="a3\data_f\env_land_co.paa";
uvSource = "none";
};
// FIXME TeTeT
// class StageTI
// {
// texture = "braf\braf_soft\Braf_Marrua\AM11\Data\camo_1_ti_ca.paa";
// };

View File

@@ -0,0 +1,85 @@
#define _ARMA_
ambient[] = {7,7,7,1};
diffuse[] = {0.75,0.75,0.75,1.0};
forcedDiffuse[] = {0.0,0.0,0.0,1.0};
emmisive[] = {0.0,0.0,0.0,1.0};
specular[] = {0.15,0.15,0.15,1.0};
specularPower = 75;
PixelShaderID = "Super";
VertexShaderID = "Super";
class Stage1
{
texture = "braf\braf_soft\braf_land_rover\Data\braf_landrover_out_nohq.paa";
uvSource = "tex";
class uvTransform
{
aside[] = {1.0,0.0,0.0};
up[] = {0.0,1.0,0.0};
dir[] = {0.0,0.0,0.0};
pos[] = {0.0,0.0,0.0};
};
};
class Stage2
{
texture = "#(argb,8,8,3)color(0.5,0.5,0.5,1,DT)";
uvSource = "tex";
class uvTransform
{
aside[] = {10.0,0.0,0.0};
up[] = {0.0,10.0,0.0};
dir[] = {0.0,0.0,0.0};
pos[] = {0.0,0.0,0.0};
};
};
class Stage3
{
texture = "#(argb,8,8,3)color(0,0,0,0,MC)";
uvSource = "tex";
class uvTransform
{
aside[] = {1.0,0.0,0.0};
up[] = {0.0,1.0,0.0};
dir[] = {0.0,0.0,0.0};
pos[] = {0.0,0.0,0.0};
};
};
class Stage4
{
texture = "braf\braf_soft\braf_land_rover\Data\braf_landrover_out_as.paa";
uvSource = "tex";
class uvTransform
{
aside[] = {1.0,0.0,0.0};
up[] = {0.0,1.0,0.0};
dir[] = {0.0,0.0,1.0};
pos[] = {0.0,0.0,1.0};
};
};
class Stage5
{
texture = "braf\braf_soft\braf_land_rover\Data\Skins\CFN\braf_landrover_navy_out_smdi.paa";
uvSource = "tex";
class uvTransform
{
aside[] = {1.0,0.0,0.0};
up[] = {0.0,1.0,0.0};
dir[] = {0.0,0.0,1.0};
pos[] = {0.0,0.0,1.0};
};
};
class Stage6
{
texture = "#(ai,64,64,1)fresnel(2.0,0.1)";
uvSource = "none";
};
class Stage7
{
texture="a3\data_f\env_land_co.paa";
uvSource = "none";
};
// FIXME TeTeT
// class StageTI
// {
// texture = "braf\braf_soft\Braf_Marrua\AM11\Data\camo_1_ti_ca.paa";
// };

View File

@@ -0,0 +1,85 @@
#define _ARMA_
ambient[] = {0.75,0.75,0.75,1.0};
diffuse[] = {0.75,0.75,0.75,1.0};
forcedDiffuse[] = {0.0,0.0,0.0,1.0};
emmisive[] = {0.0,0.0,0.0,1.0};
specular[] = {0.15,0.15,0.15,1.0};
specularPower = 75;
PixelShaderID = "Super";
VertexShaderID = "Super";
class Stage1
{
texture = "braf\braf_soft\braf_land_rover\Data\braf_landrover_in_nohq.paa";
uvSource = "tex";
class uvTransform
{
aside[] = {1.0,0.0,0.0};
up[] = {0.0,1.0,0.0};
dir[] = {0.0,0.0,0.0};
pos[] = {0.0,0.0,0.0};
};
};
class Stage2
{
texture = "#(argb,8,8,3)color(0.5,0.5,0.5,1,DT)";
uvSource = "tex";
class uvTransform
{
aside[] = {10.0,0.0,0.0};
up[] = {0.0,10.0,0.0};
dir[] = {0.0,0.0,0.0};
pos[] = {0.0,0.0,0.0};
};
};
class Stage3
{
texture = "#(argb,8,8,3)color(0,0,0,0,MC)";
uvSource = "tex";
class uvTransform
{
aside[] = {1.0,0.0,0.0};
up[] = {0.0,1.0,0.0};
dir[] = {0.0,0.0,0.0};
pos[] = {0.0,0.0,0.0};
};
};
class Stage4
{
texture = "braf\braf_soft\braf_land_rover\Data\braf_landrover_in_as.paa";
uvSource = "tex";
class uvTransform
{
aside[] = {1.0,0.0,0.0};
up[] = {0.0,1.0,0.0};
dir[] = {0.0,0.0,1.0};
pos[] = {0.0,0.0,1.0};
};
};
class Stage5
{
texture = "braf\braf_soft\braf_land_rover\Data\Skins\hiaf\braf_landrover_hiaf_in_smdi.paa";
uvSource = "tex";
class uvTransform
{
aside[] = {1.0,0.0,0.0};
up[] = {0.0,1.0,0.0};
dir[] = {0.0,0.0,1.0};
pos[] = {0.0,0.0,1.0};
};
};
class Stage6
{
texture = "#(ai,64,64,1)fresnel(2.0,0.1)";
uvSource = "none";
};
class Stage7
{
texture="a3\data_f\env_land_co.paa";
uvSource = "none";
};
// FIXME TeTeT
// class StageTI
// {
// texture = "braf\braf_soft\Braf_Marrua\AM11\Data\camo_1_ti_ca.paa";
// };

View File

@@ -0,0 +1,85 @@
#define _ARMA_
ambient[] = {7,7,7,1};
diffuse[] = {0.75,0.75,0.75,1.0};
forcedDiffuse[] = {0.0,0.0,0.0,1.0};
emmisive[] = {0.0,0.0,0.0,1.0};
specular[] = {0.15,0.15,0.15,1.0};
specularPower = 75;
PixelShaderID = "Super";
VertexShaderID = "Super";
class Stage1
{
texture = "braf\braf_soft\braf_land_rover\Data\braf_landrover_out_nohq.paa";
uvSource = "tex";
class uvTransform
{
aside[] = {1.0,0.0,0.0};
up[] = {0.0,1.0,0.0};
dir[] = {0.0,0.0,0.0};
pos[] = {0.0,0.0,0.0};
};
};
class Stage2
{
texture = "#(argb,8,8,3)color(0.5,0.5,0.5,1,DT)";
uvSource = "tex";
class uvTransform
{
aside[] = {10.0,0.0,0.0};
up[] = {0.0,10.0,0.0};
dir[] = {0.0,0.0,0.0};
pos[] = {0.0,0.0,0.0};
};
};
class Stage3
{
texture = "#(argb,8,8,3)color(0,0,0,0,MC)";
uvSource = "tex";
class uvTransform
{
aside[] = {1.0,0.0,0.0};
up[] = {0.0,1.0,0.0};
dir[] = {0.0,0.0,0.0};
pos[] = {0.0,0.0,0.0};
};
};
class Stage4
{
texture = "braf\braf_soft\braf_land_rover\Data\braf_landrover_out_as.paa";
uvSource = "tex";
class uvTransform
{
aside[] = {1.0,0.0,0.0};
up[] = {0.0,1.0,0.0};
dir[] = {0.0,0.0,1.0};
pos[] = {0.0,0.0,1.0};
};
};
class Stage5
{
texture = "braf\braf_soft\braf_land_rover\Data\Skins\hiaf\braf_landrover_hiaf_out_smdi.paa";
uvSource = "tex";
class uvTransform
{
aside[] = {1.0,0.0,0.0};
up[] = {0.0,1.0,0.0};
dir[] = {0.0,0.0,1.0};
pos[] = {0.0,0.0,1.0};
};
};
class Stage6
{
texture = "#(ai,64,64,1)fresnel(2.0,0.1)";
uvSource = "none";
};
class Stage7
{
texture="a3\data_f\env_land_co.paa";
uvSource = "none";
};
// FIXME TeTeT
// class StageTI
// {
// texture = "braf\braf_soft\Braf_Marrua\AM11\Data\camo_1_ti_ca.paa";
// };

View File

@@ -0,0 +1,85 @@
#define _ARMA_
ambient[] = {0.75,0.75,0.75,1.0};
diffuse[] = {0.75,0.75,0.75,1.0};
forcedDiffuse[] = {0.0,0.0,0.0,1.0};
emmisive[] = {0.0,0.0,0.0,1.0};
specular[] = {0.15,0.15,0.15,1.0};
specularPower = 75;
PixelShaderID = "Super";
VertexShaderID = "Super";
class Stage1
{
texture = "braf\braf_soft\braf_land_rover\Data\braf_landrover_in_nohq.paa";
uvSource = "tex";
class uvTransform
{
aside[] = {1.0,0.0,0.0};
up[] = {0.0,1.0,0.0};
dir[] = {0.0,0.0,0.0};
pos[] = {0.0,0.0,0.0};
};
};
class Stage2
{
texture = "#(argb,8,8,3)color(0.5,0.5,0.5,1,DT)";
uvSource = "tex";
class uvTransform
{
aside[] = {10.0,0.0,0.0};
up[] = {0.0,10.0,0.0};
dir[] = {0.0,0.0,0.0};
pos[] = {0.0,0.0,0.0};
};
};
class Stage3
{
texture = "#(argb,8,8,3)color(0,0,0,0,MC)";
uvSource = "tex";
class uvTransform
{
aside[] = {1.0,0.0,0.0};
up[] = {0.0,1.0,0.0};
dir[] = {0.0,0.0,0.0};
pos[] = {0.0,0.0,0.0};
};
};
class Stage4
{
texture = "braf\braf_soft\braf_land_rover\Data\braf_landrover_in_as.paa";
uvSource = "tex";
class uvTransform
{
aside[] = {1.0,0.0,0.0};
up[] = {0.0,1.0,0.0};
dir[] = {0.0,0.0,1.0};
pos[] = {0.0,0.0,1.0};
};
};
class Stage5
{
texture = "braf\braf_soft\braf_land_rover\Data\Skins\UN\braf_landrover_un_in_smdi.paa";
uvSource = "tex";
class uvTransform
{
aside[] = {1.0,0.0,0.0};
up[] = {0.0,1.0,0.0};
dir[] = {0.0,0.0,1.0};
pos[] = {0.0,0.0,1.0};
};
};
class Stage6
{
texture = "#(ai,64,64,1)fresnel(2.0,0.1)";
uvSource = "none";
};
class Stage7
{
texture="a3\data_f\env_land_co.paa";
uvSource = "none";
};
// FIXME TeTeT
// class StageTI
// {
// texture = "braf\braf_soft\Braf_Marrua\AM11\Data\camo_1_ti_ca.paa";
// };

View File

@@ -0,0 +1,85 @@
#define _ARMA_
ambient[] = {7,7,7,1};
diffuse[] = {0.75,0.75,0.75,1.0};
forcedDiffuse[] = {0.0,0.0,0.0,1.0};
emmisive[] = {0.0,0.0,0.0,1.0};
specular[] = {0.15,0.15,0.15,1.0};
specularPower = 75;
PixelShaderID = "Super";
VertexShaderID = "Super";
class Stage1
{
texture = "braf\braf_soft\braf_land_rover\Data\braf_landrover_out_nohq.paa";
uvSource = "tex";
class uvTransform
{
aside[] = {1.0,0.0,0.0};
up[] = {0.0,1.0,0.0};
dir[] = {0.0,0.0,0.0};
pos[] = {0.0,0.0,0.0};
};
};
class Stage2
{
texture = "#(argb,8,8,3)color(0.5,0.5,0.5,1,DT)";
uvSource = "tex";
class uvTransform
{
aside[] = {10.0,0.0,0.0};
up[] = {0.0,10.0,0.0};
dir[] = {0.0,0.0,0.0};
pos[] = {0.0,0.0,0.0};
};
};
class Stage3
{
texture = "#(argb,8,8,3)color(0,0,0,0,MC)";
uvSource = "tex";
class uvTransform
{
aside[] = {1.0,0.0,0.0};
up[] = {0.0,1.0,0.0};
dir[] = {0.0,0.0,0.0};
pos[] = {0.0,0.0,0.0};
};
};
class Stage4
{
texture = "braf\braf_soft\braf_land_rover\Data\braf_landrover_out_as.paa";
uvSource = "tex";
class uvTransform
{
aside[] = {1.0,0.0,0.0};
up[] = {0.0,1.0,0.0};
dir[] = {0.0,0.0,1.0};
pos[] = {0.0,0.0,1.0};
};
};
class Stage5
{
texture = "braf\braf_soft\braf_land_rover\Data\Skins\UN\braf_landrover_un_in_smdi.paa";
uvSource = "tex";
class uvTransform
{
aside[] = {1.0,0.0,0.0};
up[] = {0.0,1.0,0.0};
dir[] = {0.0,0.0,1.0};
pos[] = {0.0,0.0,1.0};
};
};
class Stage6
{
texture = "#(ai,64,64,1)fresnel(2.0,0.1)";
uvSource = "none";
};
class Stage7
{
texture="a3\data_f\env_land_co.paa";
uvSource = "none";
};
// FIXME TeTeT
// class StageTI
// {
// texture = "braf\braf_soft\Braf_Marrua\AM11\Data\camo_1_ti_ca.paa";
// };

Binary file not shown.

View File

@@ -0,0 +1,85 @@
// FIXME TeTeT, this is just a copy
#define _ARMA_
ambient[] = {7,7,7,1};
diffuse[] = {0.75,0.75,0.75,1.0};
forcedDiffuse[] = {0.0,0.0,0.0,1.0};
emmisive[] = {0.0,0.0,0.0,1.0};
specular[] = {0.15,0.15,0.15,1.0};
specularPower = 75;
PixelShaderID = "Super";
VertexShaderID = "Super";
class Stage1
{
texture = "braf\braf_soft\braf_land_rover\Data\braf_extraparts_nohq.paa";
uvSource = "tex";
class uvTransform
{
aside[] = {1.0,0.0,0.0};
up[] = {0.0,1.0,0.0};
dir[] = {0.0,0.0,0.0};
pos[] = {0.0,0.0,0.0};
};
};
class Stage2
{
texture = "#(argb,8,8,3)color(0.5,0.5,0.5,1,DT)";
uvSource = "tex";
class uvTransform
{
aside[] = {10.0,0.0,0.0};
up[] = {0.0,10.0,0.0};
dir[] = {0.0,0.0,0.0};
pos[] = {0.0,0.0,0.0};
};
};
class Stage3
{
texture = "#(argb,8,8,3)color(0,0,0,0,MC)";
uvSource = "tex";
class uvTransform
{
aside[] = {1.0,0.0,0.0};
up[] = {0.0,1.0,0.0};
dir[] = {0.0,0.0,0.0};
pos[] = {0.0,0.0,0.0};
};
};
class Stage4
{
texture = "braf\braf_soft\braf_land_rover\Data\braf_extraparts_as.paa";
uvSource = "tex";
class uvTransform
{
aside[] = {1.0,0.0,0.0};
up[] = {0.0,1.0,0.0};
dir[] = {0.0,0.0,1.0};
pos[] = {0.0,0.0,1.0};
};
};
class Stage5
{
texture = "braf\braf_soft\braf_land_rover\Data\braf_extraparts_smdi.paa";
uvSource = "tex";
class uvTransform
{
aside[] = {1.0,0.0,0.0};
up[] = {0.0,1.0,0.0};
dir[] = {0.0,0.0,1.0};
pos[] = {0.0,0.0,1.0};
};
};
class Stage6
{
texture = "#(ai,64,64,1)fresnel(2.0,0.1)";
uvSource = "none";
};
class Stage7
{
texture="a3\data_f\env_land_co.paa";
uvSource = "none";
};
class StageTI
{
texture="a3\data_f\default_ti_ca.paa";
};

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -0,0 +1,96 @@
ambient[]={1.000000,1.000000,1.000000,1.000000};
diffuse[]={1.000000,1.000000,1.000000,1.000000};
forcedDiffuse[]={0.000000,0.000000,0.000000,0.000000};
emmisive[]={0.000000,0.000000,0.000000,0.000000};
specular[]={0.470588,0.470588,0.470588,1.000000};
specularPower=100.000000;
PixelShaderID="Super";
VertexShaderID="Super";
class Stage1
{
texture="braf\braf_soft\braf_land_rover\Data\braf_landrover_glass_nohq.paa";
uvSource="tex";
class uvTransform
{
aside[]={1.000000,0.000000,0.000000};
up[]={0.000000,1.000000,0.000000};
dir[]={0.000000,0.000000,0.000000};
pos[]={0.000000,0.000000,0.000000};
};
};
class Stage2
{
texture="#(argb,8,8,3)color(0.5,0.5,0.5,1,DT)";
uvSource="tex";
class uvTransform
{
aside[]={3.000000,0.000000,0.000000};
up[]={0.000000,3.000000,0.000000};
dir[]={0.000000,0.000000,0.000000};
pos[]={0.000000,0.000000,0.000000};
};
};
class Stage3
{
texture="#(argb,8,8,3)color(0,0,0,0,MC)";
uvSource="tex";
class uvTransform
{
aside[]={1.000000,0.000000,0.000000};
up[]={0.000000,1.000000,0.000000};
dir[]={0.000000,0.000000,0.000000};
pos[]={0.000000,0.000000,0.000000};
};
};
class Stage4
{
texture="#(argb,8,8,3)color(1,1,1,1,AS)";
uvSource="tex";
class uvTransform
{
aside[]={1.000000,0.000000,0.000000};
up[]={0.000000,1.000000,0.000000};
dir[]={0.000000,0.000000,0.000000};
pos[]={0.000000,0.000000,0.000000};
};
};
class Stage5
{
texture="braf\braf_soft\braf_land_rover\Data\braf_landrover_glass_smdi.paa";
uvSource="tex";
class uvTransform
{
aside[]={1.000000,0.000000,0.000000};
up[]={0.000000,1.000000,0.000000};
dir[]={0.000000,0.000000,0.000000};
pos[]={0.000000,0.000000,0.000000};
};
};
class Stage6
{
texture="#(ai,64,64,1)fresnelGlass(2.1)";
uvSource="tex";
class uvTransform
{
aside[]={1.000000,0.000000,0.000000};
up[]={0.000000,1.000000,0.000000};
dir[]={0.000000,0.000000,0.000000};
pos[]={0.000000,0.000000,0.000000};
};
};
class Stage7
{
texture="a3\data_f\env_land_ca.paa";
uvSource="tex";
class uvTransform
{
aside[]={1.000000,0.000000,0.000000};
up[]={0.000000,1.000000,0.000000};
dir[]={0.000000,0.000000,0.000000};
pos[]={0.000000,0.000000,0.000000};
};
};
class StageTI
{
texture="a3\data_f\default_ti_ca.paa";
};

View File

@@ -0,0 +1,85 @@
#define _ARMA_
ambient[] = {0.75,0.75,0.75,1.0};
diffuse[] = {0.75,0.75,0.75,1.0};
forcedDiffuse[] = {0.0,0.0,0.0,1.0};
emmisive[] = {0.0,0.0,0.0,1.0};
specular[] = {0.15,0.15,0.15,1.0};
specularPower = 75;
PixelShaderID = "Super";
VertexShaderID = "Super";
class Stage1
{
texture = "braf\braf_soft\braf_land_rover\Data\braf_landrover_in_nohq.paa";
uvSource = "tex";
class uvTransform
{
aside[] = {1.0,0.0,0.0};
up[] = {0.0,1.0,0.0};
dir[] = {0.0,0.0,0.0};
pos[] = {0.0,0.0,0.0};
};
};
class Stage2
{
texture = "#(argb,8,8,3)color(0.5,0.5,0.5,1,DT)";
uvSource = "tex";
class uvTransform
{
aside[] = {10.0,0.0,0.0};
up[] = {0.0,10.0,0.0};
dir[] = {0.0,0.0,0.0};
pos[] = {0.0,0.0,0.0};
};
};
class Stage3
{
texture = "#(argb,8,8,3)color(0,0,0,0,MC)";
uvSource = "tex";
class uvTransform
{
aside[] = {1.0,0.0,0.0};
up[] = {0.0,1.0,0.0};
dir[] = {0.0,0.0,0.0};
pos[] = {0.0,0.0,0.0};
};
};
class Stage4
{
texture = "braf\braf_soft\braf_land_rover\Data\braf_landrover_in_as.paa";
uvSource = "tex";
class uvTransform
{
aside[] = {1.0,0.0,0.0};
up[] = {0.0,1.0,0.0};
dir[] = {0.0,0.0,1.0};
pos[] = {0.0,0.0,1.0};
};
};
class Stage5
{
texture = "braf\braf_soft\braf_land_rover\Data\braf_landrover_in_smdi.paa";
uvSource = "tex";
class uvTransform
{
aside[] = {1.0,0.0,0.0};
up[] = {0.0,1.0,0.0};
dir[] = {0.0,0.0,1.0};
pos[] = {0.0,0.0,1.0};
};
};
class Stage6
{
texture = "#(ai,64,64,1)fresnel(2.0,0.1)";
uvSource = "none";
};
class Stage7
{
texture="a3\data_f\env_land_co.paa";
uvSource = "none";
};
// FIXME TeTeT
// class StageTI
// {
// texture = "braf\braf_soft\Braf_Marrua\AM11\Data\camo_1_ti_ca.paa";
// };

View File

@@ -0,0 +1,84 @@
#define _ARMA_
ambient[] = {7,7,7,1};
diffuse[] = {0.75,0.75,0.75,1.0};
forcedDiffuse[] = {0.0,0.0,0.0,1.0};
emmisive[] = {0.0,0.0,0.0,1.0};
specular[] = {0.15,0.15,0.15,1.0};
specularPower = 75;
PixelShaderID = "Super";
VertexShaderID = "Super";
class Stage1
{
texture = "braf\braf_soft\braf_land_rover\Data\braf_landrover_out_nohq.paa";
uvSource = "tex";
class uvTransform
{
aside[] = {1.0,0.0,0.0};
up[] = {0.0,1.0,0.0};
dir[] = {0.0,0.0,0.0};
pos[] = {0.0,0.0,0.0};
};
};
class Stage2
{
texture = "#(argb,8,8,3)color(0.5,0.5,0.5,1,DT)";
uvSource = "tex";
class uvTransform
{
aside[] = {10.0,0.0,0.0};
up[] = {0.0,10.0,0.0};
dir[] = {0.0,0.0,0.0};
pos[] = {0.0,0.0,0.0};
};
};
class Stage3
{
texture = "#(argb,8,8,3)color(0,0,0,0,MC)";
uvSource = "tex";
class uvTransform
{
aside[] = {1.0,0.0,0.0};
up[] = {0.0,1.0,0.0};
dir[] = {0.0,0.0,0.0};
pos[] = {0.0,0.0,0.0};
};
};
class Stage4
{
texture = "braf\braf_soft\braf_land_rover\Data\braf_landrover_out_as.paa";
uvSource = "tex";
class uvTransform
{
aside[] = {1.0,0.0,0.0};
up[] = {0.0,1.0,0.0};
dir[] = {0.0,0.0,1.0};
pos[] = {0.0,0.0,1.0};
};
};
class Stage5
{
texture = "braf\braf_soft\braf_land_rover\Data\braf_landrover_out_smdi.paa";
uvSource = "tex";
class uvTransform
{
aside[] = {1.0,0.0,0.0};
up[] = {0.0,1.0,0.0};
dir[] = {0.0,0.0,1.0};
pos[] = {0.0,0.0,1.0};
};
};
class Stage6
{
texture = "#(ai,64,64,1)fresnel(2.0,0.1)";
uvSource = "none";
};
class Stage7
{
texture="a3\data_f\env_land_co.paa";
uvSource = "none";
};
class StageTI
{
texture = "a3\data_f\default_ti_ca.paa";
};

View File

@@ -0,0 +1,93 @@
#define true 1
#define false 0
#define VSoft 0
#define VArmor 1
#define VAir 2
// type scope
#define private 0
#define protected 1
#define public 2
#define CanSeeRadar 1
#define CanSeeEye 2
#define CanSeeOptics 4
#define CanSeeEar 8
#define CanSeeCompass 16
#define CanSeeRadarC CanSeeRadar+CanSeeCompass
#define CanSeeAll 31
#define CanSeePeripheral 32
//lock acquiring
#define manualLA 0
#define automaticLA 1
//lockable target type
#define lockGroundTT 0
#define lockAirGroundTT 1
#define lockAirTT 2
#define lockGround 0
#define lockAirGround 1
#define lockAir 2
//missile lock type
#define fireAndForgetLT 0
#define keepLockedLT 1
#define manualLT 2
#define SPEED_STATIC 1e10
#define LockNo 0
#define LockCadet 1
#define LockYes 2
enum {StabilizedInAxesNone,StabilizedInAxisX,StabilizedInAxisY,StabilizedInAxesBoth, StabilizedInAxesXYZ};
#define StabilizedInAxesNone 0
#define StabilizedInAxisX 1
#define StabilizedInAxisY 2
#define StabilizedInAxesBoth 3
#define StabilizedInAxesXYZ 4
#define CM_none 0
#define CM_Lock_Visual 1
#define CM_Lock_IR 2
#define CM_Lock_Laser 4
#define CM_Lock_Radar 8
#define CM_Missile 16
#define CMImmunity_GOOD 0.9
#define CMImmunity_MIDDLE 0.65
#define CMImmunity_BAD 0.5
#define mag_xx(a,b) class _xx_##a {magazine = a; count = b;}
#define weap_xx(a,b) class _xx_##a {weapon = a; count = b;}
#define item_xx(a,b) class _xx_##a {name = a; count = b;}
#define bag_xx(a,b) class _xx_##a {backpack = a; count = b;}
#define DEFAULT_SLOT 0
#define MUZZLE_SLOT 101
#define OPTICS_SLOT 201
#define FLASHLIGHT_SLOT 301
#define NVG_SLOT 602
#define GOGGLE_SLOT 603
#define HEADGEAR_SLOT 605
#define UNIFORM_SLOT 801
#define HMD_SLOT 616
#define BINOCULAR_SLOT 617
#define MEDIKIT_SLOT 619
#define RADIO_SLOT 611
#define VEST_SLOT 701
#define BACKPACK_SLOT 901
#define LOAD(weight,capacity) maximumLoad = ##capacity##; \
mass = ##weight##;
#define HeadArmourCoef 2.5
#define BodyArmourCoef 10
#define HandArmourCoef 5
#define LegArmourCoef 5

View File

@@ -0,0 +1,5 @@
class BIS_AddonInfo
{
author="Bento";
timepacked="1711545759";
};

Binary file not shown.

View File

@@ -0,0 +1,46 @@
topLeft = "HUD_top_left";
topRight = "HUD_top_right";
bottomLeft = "HUD_bottom_left";
/// adjust position inside of memory points LOD
borderLeft = 0;
borderRight = 0;
borderTop = 0;
borderBottom = 0.0;
color[] = {0.15, 0.15, 1.0, 1.0};
enableParallax = false;
class Bones
{
};
class Draw
{
color[] = {0.07, 0.67, 0.745};
alpha = 1;
class ClockHour
{
type = text;
source = ClockHour;
sourceScale = 12; /// the original source is on the scale (0-1), it needs to be multiplied
align = right;
scale = 2;
pos[] = {{0.05, 0.00}, 1};
right[] = {{0.40, 0.00}, 1};
down[] = {{0.05, 1.00}, 1};
};
class ClockMinute
{
type = text;
source = ClockMinute;
sourceScale = 60; /// the original source is on the scale (0-1), it needs to be multiplied
align = right;
scale = 2;
pos[] = {{0.55, 0.00}, 1};
right[] = {{0.90, 0.00}, 1};
down[] = {{0.55, 1.00}, 1};
};
};

View File

@@ -0,0 +1,118 @@
class TextureSources
{
class C_BRAF_LR110_SW
{
displayName = "Army";
author = "OdyseusBR";
textures[] =
{
"braf\braf_soft\braf_land_rover\Data\Skins\EB\braf_EB_landroverout_co.paa",
"braf\braf_soft\braf_land_rover\Data\Skins\EB\braf_EB_landroverin_co.paa",
};
hiddenSelectionsMaterials[] =
{
"braf\braf_soft\braf_land_rover\Data\Skins\EB\braf_EB_landrover_out.rvmat",
"braf\braf_soft\braf_land_rover\Data\Skins\EB\braf_EB_landrover_in.rvmat",
};
};
class C_BRAF_LR110_CFN
{
displayName = "Navy";
author = "OdyseusBR";
textures[] =
{
"braf\braf_soft\braf_land_rover\Data\Skins\CFN\braf_landrover_navy_out_co.paa",
"braf\braf_soft\braf_land_rover\Data\Skins\EB\braf_EB_landroverin_co.paa",
};
hiddenSelectionsMaterials[] =
{
"braf\braf_soft\braf_land_rover\Data\Skins\EB\braf_EB_landrover_in.rvmat",
"braf\braf_soft\braf_land_rover\Data\Skins\CFN\braf_CFN_landrover_in.rvmat",
};
};
class C_BRAF_LR_110_GEN
{
displayName = "Gendarmerie";
author = "OdyseusBR";
textures[] =
{
"braf\braf_soft\braf_land_rover\Data\Skins\GEN\braf_landrover_GENout_co.paa",
"braf\braf_soft\braf_land_rover\Data\Skins\GEN\braf_landrover_GENin_co.paa"
};
hiddenSelectionsMaterials[] =
{
"braf\braf_soft\braf_land_rover\Data\Skins\GEN\braf_GEN_landrover_out.rvmat",
"braf\braf_soft\braf_land_rover\Data\Skins\GEN\braf_GEN_landrover_in.rvmat",
};
};
class C_BRAF_LR_110_UN
{
displayName = "UN";
author = "OdyseusBR";
textures[] =
{
"braf\braf_soft\braf_land_rover\Data\Skins\UN\braf_landrover_UN_out_co.paa",
"braf\braf_soft\braf_land_rover\Data\Skins\UN\braf_landrover_UN_in_co.paa"
};
hiddenSelectionsMaterials[] =
{
"braf\braf_soft\braf_land_rover\Data\Skins\GEN\braf_GEN_landrover_out.rvmat",
"braf\braf_soft\braf_land_rover\Data\Skins\GEN\braf_GEN_landrover_in.rvmat",
};
};
class C_BRAF_LR_110_HIAF
{
displayName = "HIAF";
author = "OdyseusBR";
textures[] =
{
"braf\braf_soft\braf_land_rover\Data\Skins\HIAF\braf_landrover_HIAF_out_co.paa",
"braf\braf_soft\braf_land_rover\Data\Skins\HIAF\braf_landrover_HIAF_in_co.paa"
};
};
class C_BRAF_LR_110_white
{
displayName = "White";
author = "OdyseusBR";
textures[] =
{
"braf\braf_soft\braf_land_rover\Data\braf_landrover_out_co.paa",
"braf\braf_soft\braf_land_rover\Data\braf_landrover_in_co.paa"
};
};
};
animationList[] = {};
textureList[] =
{
"C_BRAF_LR110_SW", 1,
"C_BRAF_LR_110_GEN", 0,
"C_BRAF_LR_110_UN", 0,
"C_BRAF_LR_110_HIAF", 0,
"C_BRAF_LR_110_white", 0,
};

View File

@@ -0,0 +1,752 @@
#include "BIS_AddonInfo.hpp"
#include "basicdefines_A3.hpp"
class DefaultEventhandlers;
#include "CfgPatches.hpp"
class WeaponFireGun;
class WeaponCloudsGun;
class WeaponFireMGun;
class WeaponCloudsMGun;
class CfgVehicles
{
class LandVehicle;
class Car: LandVehicle
{
class HitPoints;
class NewTurret;
};
class Car_F: Car
{
class Turrets
{
class MainTurret: NewTurret
{
class ViewOptics;
class ViewGunner;
};
};
class HitPoints /// we want to use hitpoints predefined for all cars
{
class HitLFWheel;
class HitLF2Wheel;
class HitRFWheel;
class HitRF2Wheel;
class HitBody;
class HitFuel;
class HitEngine;
class HitGlass1{};
class HitGlass2;
class HitGlass3;
class HitGlass4;
};
class EventHandlers;
class AnimationSources;
};
class Offroad_01_base_F: car_f {};
class BRAF_LR_01_Base: Offroad_01_base_F
{
selectionBackLights = "zadni svetlo";
selectionBrakeLights = "brzdove svetlo";
model = "braf\braf_soft\braf_land_rover\braf_LR.p3d"; /// simple path to model
picture = "braf\braf_soft\braf_land_rover\DATA\UI\Picture_lr_CA.paa"; /// just some icon in command bar
icon = "braf\braf_soft\braf_land_rover\data\UI\icon_lr_transport_ca.paa"; /// icon in map // imcompleto precisa ser feito
vehicleClass = "BRAF_Car";
displayName = "Defender 110 SW"; /// displayed in Editor
hiddenSelections[] =
{
"camo1",
"camo2"
};
hiddenSelectionsTextures[] =
{
"braf\braf_soft\braf_land_rover\data\braf_landrover_out_co.paa",
"braf\braf_soft\braf_land_rover\data\braf_landrover_in_co.paa"
};
terrainCoef = 2.5; /// different surface affects this car more, stick to tarmac
turnCoef = 2.5; /// should match the wheel turn radius
precision = 10; /// how much freedom has the AI for its internal waypoints - lower number means more precise but slower approach to way
brakeDistance = 3.0; /// how many internal waypoints should the AI plan braking in advance
acceleration = 15; /// how fast acceleration does the AI think the car has
fireResistance = 5; /// lesser protection against fire than tanks
armor = 32; /// just some protection against missiles, collisions and explosions
cost = 50000; /// how likely is the enemy going to target this vehicle
afmax = 100;
transportMaxBackpacks = 8; /// just some backpacks fit the trunk by default
transportSoldier = 4; /// number of cargo except driver
cargoProxyIndexes[] = {4,5,6,7};
getInProxyOrder[] = {1,2,3,4,5,6,7};
class CargoTurret;
class Turrets: Turrets
{
class CargoTurret_01: CargoTurret
{
gunnerAction = "passenger_inside_7";
memoryPointsGetInGunner = "pos cargo RF";
memoryPointsGetInGunnerDir = "pos cargo RF dir";
gunnerName = "$STR_A3_TURRETS_CARGOTURRET_R1";
gunnerCompartments = "Compartment2";
proxyIndex = 1;
isPersonTurret = 3;
canHideGunner = 0;
allowLauncherIn = 0;
allowLauncherOut = 0;
class TurnIn
{
limitsArrayTop[] = {{23.9621,-61.2561},{14.3315,-18.7728}};
limitsArrayBottom[] = {{-19.6203,-79.3331},{-16.2632,-23.6018}};
};
class dynamicViewLimits
{
CargoTurret_02[] = {-65,75};
};
};
class CargoTurret_02: CargoTurret_01
{
gunnerAction = "passenger_inside_7";
gunnerName = "$STR_A3_TURRETS_CARGOTURRET_L2";
memoryPointsGetInGunner = "pos cargo LR";
memoryPointsGetInGunnerDir = "pos cargo LR dir";
proxyIndex = 2;
class TurnIn
{
limitsArrayTop[] = {{37.1488,-71.9003},{36.4967,92.2757}};
limitsArrayBottom[] = {{-22.1832,-70.0989},{-13.9068,-22.8107},{-7.1236,75.6849},{-7.8564,102.5826}};
};
class dynamicViewLimits
{
CargoTurret_01[] = {-75,65};
};
};
class CargoTurret_03: CargoTurret_01
{
gunnerAction = "passenger_inside_7";
gunnerName = "$STR_A3_TURRETS_CARGOTURRET_R2";
memoryPointsGetInGunner = "pos cargo RR";
memoryPointsGetInGunnerDir = "pos cargo RR dir";
proxyIndex = 3;
class TurnIn
{
limitsArrayTop[] = {{23.9621,-61.2561},{14.3315,-18.7728}};
limitsArrayBottom[] = {{-19.6203,-79.3331},{-16.2632,-23.6018}};
};
class dynamicViewLimits
{
CargoTurret_01[] = {5,75};
CargoTurret_02[] = {-15,75};
CargoTurret_04[] = {-75,75};
};
};
};
/// some values from parent class to show how to set them up
wheelDamageRadiusCoef = 0.9; /// for precision tweaking of damaged wheel size
wheelDestroyRadiusCoef = 0.4; /// for tweaking of rims size to fit ground
maxFordingDepth = 0.5; /// how high water would damage the engine of the car
waterResistance = 1; /// if the depth of water is bigger than maxFordingDepth it starts to damage the engine after this time
crewCrashProtection = 0.25; /// multiplier of damage to crew of the vehicle => low number means better protection
driverLeftHandAnimName = "drivewheel"; /// according to what bone in model of car does hand move
driverRightHandAnimName = "drivewheel"; /// beware, non-existent bones may cause game crashes (even if the bones are hidden during play)
class TransportItems /// some first aid kits in trunk according to safety regulations
{
item_xx(FirstAidKit,4);
};
#include "cfg_TextureSources.hpp"
driverAction = driver_offroad01; /// what action is going the driver take inside the vehicle. Non-existent action makes the vehicle inaccessible
cargoAction[] = { passenger_generic01_foldhands, passenger_generic01_foldhands, passenger_generic01_foldhands, passenger_generic01_foldhands, passenger_generic01_foldhands}; /// the same of all the crew
getInAction = GetInLow; /// how does driver look while getting in
getOutAction = GetOutLow; /// and out
cargoGetInAction[] = {"GetInLow"}; /// and the same for the rest, if the array has fewer members than the count of crew, the last one is used for the rest
cargoGetOutAction[] = {"GetOutLow"}; /// that means all use the same in this case
#include "sounds.hpp" /// sounds are in a separate file to make this one simple
#include "pip.hpp" /// PiPs are in a separate file to make this one simple
#include "physx.hpp" /// PhysX settings are in a separate file to make this one simple
class PlayerSteeringCoefficients /// steering sensitivity configuration
{
turnIncreaseConst = 0.3; // basic sensitivity value, higher value = faster steering
turnIncreaseLinear = 1.0; // higher value means less sensitive steering in higher speed, more sensitive in lower speeds
turnIncreaseTime = 1.0; // higher value means smoother steering around the center and more sensitive when the actual steering angle gets closer to the max. steering angle
turnDecreaseConst = 5.0; // basic caster effect value, higher value = the faster the wheels align in the direction of travel
turnDecreaseLinear = 3.0; // higher value means faster wheel re-centering in higher speed, slower in lower speeds
turnDecreaseTime = 0.0; // higher value means stronger caster effect at the max. steering angle and weaker once the wheels are closer to centered position
maxTurnHundred = 0.7; // coefficient of the maximum turning angle @ 100km/h; limit goes linearly to the default max. turn. angle @ 0km/h
};
/// memory points where do tracks of the wheel appear *****(complete by OdyseusBR)******
// front left track, left offset
memoryPointTrackFLL = "TrackFLL";
// front left track, right offset
memoryPointTrackFLR = "TrackFLR";
// back left track, left offset
memoryPointTrackBLL = "TrackBLL";
// back left track, right offset
memoryPointTrackBLR = "TrackBLR";
// front right track, left offset
memoryPointTrackFRL = "TrackFRL";
// front right track, right offset
memoryPointTrackFRR = "TrackFRR";
// back right track, left offset
memoryPointTrackBRL = "TrackBRL";
// back right track, right offset
memoryPointTrackBRR = "TrackBRR";
class Damage /// damage changes material in specific places (visual in hitPoint)
{
tex[]={};
mat[]=
{
"braf\braf_soft\braf_land_rover\data\braf_landrover_out.rvmat",
"braf\braf_soft\braf_land_rover\data\LR_base_damage.rvmat",
"braf\braf_soft\braf_land_rover\data\LR_base_destruct.rvmat",
"braf\braf_soft\braf_land_rover\data\braf_landrover_glass.rvmat",
"braf\braf_soft\braf_land_rover\data\LR_glass_damage.rvmat",
"braf\braf_soft\braf_land_rover\data\LR_glass_destruct.rvmat",
/*"braf\braf_soft\braf_land_rover\data\LR_Special.rvmat",
"braf\braf_soft\braf_land_rover\data\LR_Special_damage.rvmat",
"braf\braf_soft\braf_land_rover\data\LR_Special_destruct.rvmat",*/
"a3\data_f\default.rvmat", "a3\data_f\default.rvmat",
"a3\data_f\default_destruct.rvmat"
};
};
/// class exhaust is complete ****(Complete by Bento)*****
class Exhausts /// specific exhaust effects for the car
{
class Exhaust1 /// the car has two exhausts - each on one side
{
position = "vyfuk start"; /// name of initial memory point
direction = "vyfuk konec"; /// name of memory point for exhaust direction
effect = "ExhaustsEffect"; /// what particle effect is it going to use
};
};
class Reflectors /// only front lights are considered to be reflectors to save CPU
{
class LightCarHeadL01 /// lights on each side consist of two bulbs with different flares
{
color[] = {1900, 1800, 1700}; /// approximate colour of standard lights
ambient[] = {5, 5, 5}; /// nearly a white one
position = "LightCarHeadL01"; /// memory point for start of the light and flare
direction = "LightCarHeadL01_end"; /// memory point for the light direction
hitpoint = "Light_L"; /// point(s) in hitpoint lod for the light (hitPoints are created by engine)
selection = "Light_L"; /// selection for artificial glow around the bulb, not much used any more
size = 1; /// size of the light point seen from distance
innerAngle = 100; /// angle of full light
outerAngle = 179; /// angle of some light
coneFadeCoef = 10; /// attenuation of light between the above angles
intensity = 1; /// strength of the light
useFlare = true; /// does the light use flare?
dayLight = false; /// switching light off during day saves CPU a lot
flareSize = 1.0; /// how big is the flare
class Attenuation
{
start = 1.0;
constant = 0;
linear = 0;
quadratic = 0.25;
hardLimitStart = 30; /// it is good to have some limit otherwise the light would shine to infinite distance
hardLimitEnd = 60; /// this allows adding more lights into scene
};
};
class LightCarHeadR01: LightCarHeadL01
{
position = "LightCarHeadR01";
direction = "LightCarHeadR01_end";
hitpoint = "Light_R";
selection = "Light_R";
};
};
aggregateReflectors[] = {{"LightCarHeadL01", "LightCarHeadL02"}, {"LightCarHeadR01", "LightCarHeadR02"}}; /// aggregating reflectors helps the engine a lot
/// it might be even good to aggregate all lights into one source as it is done for most of the cars
class EventHandlers: EventHandlers
{
postInit = "if (local (_this select 0)) then { [(_this select 0), """", [], false] call BIS_fnc_initVehicle; };";
};
/*
// Must be kept as fail-safe in case of issue with the function
hiddenSelectionsTextures[]={"\A3\Weapons_F\Data\placeholder_co.paa"}; /// we could use any texture to cover the car
// Definition of texture sources (skins), used for the VhC (Vehicle customization)
// Also, because the Garage uses the VhC, it will make them available from the garage
class textureSources
{
class red // Source class
{
displayName="Red"; // name displayed, among other, from the garage
author=$STR_A3_Bohemia_Interactive; // Author of the skin
textures[]=// List of textures, in the same order as the hiddenSelections definition
{
"braf\braf_soft\braf_land_rover\data\BRAF_LANDROVER_BASE_co.paa",
"braf\braf_soft\braf_land_rover\data\BRAF_EB_landrover_co.paa",
};
};
};
// [_textureSourceClass1, _probability1, _textureSourceClass2, _probability2, ...]
// Default behavior of the VhC is to select one of these sources, with a weighted random
textureList[]=
{
"red", 1
// You can noticed that the white source is missing, therefore, it won't be part of the random
};*/
class AnimationSources: AnimationSources
{
class HideDoor1
{
scope = 0;
};
class HideDoor2: HideDoor1
{
scope = 0;
};
class HideGlass2
{
scope = 0;
};
class HideDoor3: HideDoor1
{
scope = 0;
};
class HideBackpacks
{
scope = 0;
};
class HideBumper1
{
displayName = "Hide Bumper Brazilian Army";
source = "user";
initPhase = 1;
animPeriod = 0.001;
forceAnimatePhase = 0;
forceAnimate[] = {"HideBumper2", 1};
forceAnimate2[] = {"HideBumper2", 0};
mass = -50;
};
class HideBumper2
{
displayName = "Hide Bumper Gendarmerie";
source = "user";
initPhase = 1;
animPeriod = 0.001;
forceAnimatePhase = 0;
forceAnimate[] = {"HideBumper1", 1};
forceAnimate2[] = {"HideBumper1", 0};
mass = -90;
};
class hidePolicelights
{
displayName = "Hide Policy Light";
source = "Proxy";
initPhase = 1;
mass = -12;
};
class HideConstruction
{
scope = 0;
};
class hidePolice
{
scope = 0;
};
class HideServices
{
scope = 0;
};
class BeaconsStart
{
scope = 0;
};
class BeaconsServicesStart
{
scope = 0;
};
class Hide_Dashboard
{
scope = 0;
};
class Doors
{
scope = 0;
};
/*
class Proxy
{
source = "user";
animPeriod = 0.001;
initPhase = 1;
};
*/
class Beacons
{
scope = 0;
};
class Destruct
{
scope = 0;
};
};
class HitPoints: HitPoints
{
class HitLFWheel: HitLFWheel {armor=0.125; passThrough=0;}; /// it is easier to destroy wheels than hull of the vehicle
class HitLF2Wheel: HitLF2Wheel {armor=0.125; passThrough=0;};
class HitRFWheel: HitRFWheel {armor=0.125; passThrough=0;};
class HitRF2Wheel: HitRF2Wheel {armor=0.125; passThrough=0;};
class HitFuel {armor=0.50; material=-1; name="fueltank"; visual=""; passThrough=0.2;}; /// correct points for fuel tank, some of the damage is aFRLied to the whole
class HitEngine {armor=0.50; material=-1; name="engine"; visual=""; passThrough=0.2;};
class HitBody: HitBody {name = "body"; visual="camo1"; passThrough=1;}; /// all damage to the hull is aFRLied to total damage
class HitGlass1: HitGlass1 {armor=0.25;}; /// it is pretty easy to puncture the glass but not so easy to remove it
class HitGlass2: HitGlass2 {armor=0.25;};
class HitGlass3: HitGlass3 {armor=0.25;};
class HitGlass4: HitGlass4 {armor=0.25;};
};
class MFD /// Clocks on the car board
{
class ClockHUD
{
#include "cfgHUD.hpp"
};
};
};
/*class BRAF_LR_110_SW: BRAF_LR_Base {
forceInGarage=1; // This will force the garage to display this vehicle, otherwise it won't because it shares the same p3d as the previous
scopeCurator=2;
faction = "BRAF_ARMY";
side = 2;
scope = 2;
typicalcargo[] = {};
displayname = "Land Rover 110 SW";
hiddenSelectionsTextures[] = {
"braf\braf_soft\braf_land_rover\data\BRAF_LANDROVER_BASE_co.paa",
"braf\braf_soft\braf_land_rover\data\BRAF_EB_landrover_co.paa",
};
class Turrets {
};
class HitPoints: HitPoints {
class HitGlass1 {
armor = 0.15;
};
class HitGlass2 {
armor = 0.1;
};
class HitGlass3 {
armor = 0.1;
};
};
class TransportMagazines {
};
class TransportWeapons {
};
class NVGMarkers {
class NVGMarker01 {
ambient[] = {0.003, 0.0003, 0.0003, 1};
blinking = 1;
brightness = 0.001;
color[] = {0.03, 0.003, 0.003, 1};
name = "nvg_marker";
};
};*/
// Derivate from the base class
class BRAF_LR110_Hardtop: BRAF_LR_01_Base /// some class that is going to be visible in editor
{
scope = 2; /// makes the car visible in editor
scopeCurator = 2; // scope 2 means it's available in Zeus mode (0 means hidden)
crew = "braf_soldier_light"; /// we need someone to fit into the car
side = 2; /// civilian car should be on civilian side
faction = "BRAF_ARMY"; /// and with civilian faction
displayName = "Land Rover 110 SW (Hard Top)";
hiddenSelections[] =
{
"camo1",
"camo2"
};
hiddenSelectionsTextures[] =
{
"braf\braf_soft\braf_land_rover\data\Skins\EB\braf_EB_landroverout_co.paa",
"braf\braf_soft\braf_land_rover\data\Skins\EB\braf_EB_landroverin_co.paa"
};
hiddenSelectionsMaterials[] =
{
"braf\braf_soft\braf_land_rover\data\Skins\EB\braf_EB_landrover_out.rvmat",
"braf\braf_soft\braf_land_rover\data\Skins\EB\braf_EB_landrover_in.rvmat"
};
animationList[] =
{
"HideBumper1", 0,
"HideBumper2", 1
};
textureList[] =
{
"C_BRAF_LR110_SW", 1,
"C_BRAF_LR_110_GEN", 0,
"C_BRAF_LR_110_white", 0,
"C_BRAF_LR_110_white", 0
};
};
class BRAF_LR110_CIV: BRAF_LR_01_Base /// some class that is going to be visible in editor
{
scope = 2; /// makes the car visible in editor
scopeCurator = 2; // scope 2 means it's available in Zeus mode (0 means hidden)
crew = "braf_soldier_light"; /// we need someone to fit into the car
side = 3; /// civilian car should be on civilian side
faction = "BRAF_CIV"; /// and with civilian faction
displayName = "Land Rover 110 SW (Hard Top)";
animationList[] =
{
"HideBumper1", 1,
"HideBumper2", 1
};
textureList[] =
{
"C_BRAF_LR110_SW", 0,
"C_BRAF_LR_110_GEN", 0,
"C_BRAF_LR_110_white", 0,
"C_BRAF_LR_110_white", 1
};
};
class BRAF_LR110_gendarmerie: BRAF_LR_01_Base /// some class that is going to be visible in editor
{
scope = 2; /// makes the car visible in editor
scopeCurator = 2; // scope 2 means it's available in Zeus mode (0 means hidden)
crew = "braf_soldier_light"; /// we need someone to fit into the car
side = 1;
faction = "BLU_GEN_F";
displayName = "Land Rover 110 SW (Hard Top)";
hiddenSelections[] =
{
"camo1",
"camo2"
};
hiddenSelectionsTextures[] =
{
"braf\braf_soft\braf_land_rover\data\Skins\GEN\braf_landrover_GENout_co.paa",
"braf\braf_soft\braf_land_rover\data\Skins\GEN\braf_landrover_GENin_co.paa"
};
hiddenSelectionsMaterials[] =
{
"braf\braf_soft\braf_land_rover\data\Skins\GEN\braf_GEN_landrover_out.rvmat",
"braf\braf_soft\braf_land_rover\data\Skins\GEN\braf_GEN_landrover_in.rvmat"
};
animationList[] =
{
"HideBumper1", 1,
"HideBumper2", 0,
"hidePolicelights", 1,
};
textureList[] =
{
"C_BRAF_LR110_SW", 0,
"C_BRAF_LR_110_GEN", 1,
"C_BRAF_LR_110_white", 0,
"C_BRAF_LR_110_white", 0
};
};
class BRAF_LR110_UN: BRAF_LR_01_Base /// some class that is going to be visible in editor
{
scope = 2; /// makes the car visible in editor
scopeCurator = 2; // scope 2 means it's available in Zeus mode (0 means hidden)
crew = "braf_soldier_light"; /// we need someone to fit into the car
side = 1;
faction = "UN";
displayName = "Land Rover 110 SW (Hard Top)";
hiddenSelections[] =
{
"camo1",
"camo2"
};
hiddenSelectionsTextures[] =
{
"braf\braf_soft\braf_land_rover\data\Skins\UN\braf_landrover_UN_out_co.paa",
"braf\braf_soft\braf_land_rover\data\Skins\UN\braf_landrover_UN_in_co.paa"
};
hiddenSelectionsMaterials[] =
{
"braf\braf_soft\braf_land_rover\data\Skins\UN\braf_landrover_un_out.rvmat",
"braf\braf_soft\braf_land_rover\data\Skins\UN\braf_landrover_un_in.rvmat"
};
animationList[] =
{
"HideBumper1", 1,
"HideBumper2", 0
};
textureList[] =
{
"C_BRAF_LR110_SW", 0,
"C_BRAF_LR_110_GEN", 0,
"C_BRAF_LR_110_white", 1,
"C_BRAF_LR_110_white", 0
};
};
class BRAF_LR_softtop_4d: BRAF_LR_01_Base /// some class that is going to be visible in editor
{
model = "braf\braf_soft\braf_land_rover\bRAF_LR_softtop_4d"; /// simple path to model
scope = 2; /// makes the car visible in editor
displayname = "Land Rover 110 SW (Soft Top)" ; /// displayed in Editor
scopeCurator=2; // scope 2 means it's available in Zeus mode (0 means hidden)
crew = "braf_Soldier_light_naval"; /// we need someone to fit into the car
side = 2;
faction = "BRAF_ARMY";
hiddenSelections[] = {"camo1","camo2"}; ///we want to allow changing the color of this selection
hiddenSelectionsTextures[] = {
"braf\braf_soft\braf_land_rover\data\Skins\EB\braf_EB_landroverout_co.paa",
"braf\braf_soft\braf_land_rover\data\Skins\EB\braf_EB_landroverin_co.paa",
};
hiddenSelectionsMaterials[] = {
"braf\braf_soft\braf_land_rover\data\Skins\EB\braf_EB_landrover_out.rvmat",
"braf\braf_soft\braf_land_rover\data\Skins\EB\braf_EB_landrover_in.rvmat",
};
animationList[] =
{
"HideBumper1", 0,
"HideBumper2", 1
};
textureList[] =
{
"C_BRAF_LR110_SW", 1,
"C_BRAF_LR_110_GEN", 0,
"C_BRAF_LR_110_white", 0
};
};
class BRAF_LR_softtop_4d_armed: BRAF_LR_01_Base /// some class that is going to be visible in editor
{
model = "braf\braf_soft\braf_land_rover\BRAF_LR_softtop_4d_armed"; /// simple path to model
scope = 2; /// makes the car visible in editor
displayname = "Land Rover 110 (ARMED)" ; /// displayed in Editor
scopeCurator=2; // scope 2 means it's available in Zeus mode (0 means hidden)
crew = "braf_Soldier_light_naval"; /// we need someone to fit into the car
side = 2;
faction = "BRAF_ARMY";
hiddenSelections[] = {"camo1","camo2"}; ///we want to allow changing the color of this selection
hiddenSelectionsTextures[] = {
"braf\braf_soft\braf_land_rover\data\Skins\EB\braf_EB_landroverout_co.paa",
"braf\braf_soft\braf_land_rover\data\Skins\EB\braf_EB_landroverin_co.paa",
};
hiddenSelectionsMaterials[] = {
"braf\braf_soft\braf_land_rover\data\Skins\EB\braf_EB_landrover_out.rvmat",
"braf\braf_soft\braf_land_rover\data\Skins\EB\braf_EB_landrover_in.rvmat",
};
animationList[] =
{
"HideBumper1", 0,
"HideBumper2", 1
};
textureList[] =
{
"C_BRAF_LR110_SW", 1,
"C_BRAF_LR_110_GEN", 0,
"C_BRAF_LR_110_white", 0
};
};
/*
class BRAF_LR110_SW_01_Special_F: BRAF_LR_01_Base /// some class that is going to be visible in editor
{
model = "braf\braf_soft\braf_land_rover\bRAF_LR_navy.p3d"; /// simple path to model
forceInGarage=1; // This will force the garage to display this vehicle, otherwise it won't because it shares the same p3d as the previous
displayName="Defender 110 SW (Open)";
scope=2; /// makes the car visible in editor
crew = "braf_Soldier_light_naval"; /// we need someone to fit into the car
side=2; /// civilian car should be on civilian side
faction = "braf_fn"; /// and with civilian faction
// the texture source used will be the green one, whatever it probability because it's the only one defined here
hiddenSelections[] = {"camo1","camo2"}; ///we want to allow changing the color of this selection
hiddenSelectionsTextures[] = {
"braf\braf_soft\braf_land_rover\data\Skins\BRAF_FN_landrover_co.paa",
"braf\braf_soft\braf_land_rover\data\Skins\lr_special_FN_co.paa"
};
};*/
};

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,332 @@
/// splendid tutorial by RedPhoenix could be found at
/// http://forums.bistudio.com/showthread.php?165390-Tutorial-Creating-Custom-Engine-Gearbox-and-Suspension-Vehicle-configuration
thrustDelay = 0.2; /// initial delay to cause lesser slip when on 1st gear - thrust goes from zero to full in this time
brakeIdleSpeed = 1.78; /// under what speed (in m/s) does the brake apply for a vehicle without thrust
maxSpeed = 150; /// vehicle can go a bit over, but dramatically decreases thrust
fuelCapacity = 20;
wheelCircumference = 2.607; /// diameter of 725 Measured diameter 0.830m so wheelCircumference = 2.607;
antiRollbarForceCoef = 1.9; /// how strong is the anti-roll bar of vehicle preventing it to lose grip in turns (not any magical stuff, real ARB)
antiRollbarForceLimit = 24; /// highest possible force of ARB
antiRollbarSpeedMin = 30; /// the roll bar force gets from zero to full in range of min and max speed
antiRollbarSpeedMax = 150; /// this simulates losing grip at high speed turns
/// Gearbox and transmission via PhysX
idleRpm = 900; // RPM at which the engine idles.
redRpm = 6900; // RPM at which the engine redlines.
class complexGearbox
{
GearboxRatios[] = {"R1",-3.231,"N",0,"D1",2.462,"D2",1.870,"D3",1.241,"D4",0.970,"D5",0.711};
TransmissionRatios[] = {"High",4.111}; // Optional: defines transmission ratios (for example, High and Low range as commonly found in offroad vehicles)
gearBoxMode = "auto"; //gearbox can be of type: full-auto (only requires 'W' or 'S'), auto (requires shift between drive and reverse), semi-auto, manual
moveOffGear = 1; // defines what gear an automatic or semi-automatic gearbox will move off from stationary in. 1 by default.
driveString = "D"; // string to display in the HUD for forward gears.
neutralString = "N"; // string to display in the HUD for neutral gear.
reverseString = "R"; // string to display in the HUD for reverse gears.
};
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/// PhysX parameters
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// <Description>: Defines simulation type of the vehicle. PhysX simulation ends with letter "x", "carx", "tankx" ...
// <Type>: string
// <Default>: (required)
simulation = "carx";
// <Description>: Defines how much dampers react to random little bumps on surface. It's only visual effect, doesn't influence drive simulation,
// only taken into account when calculating damper animation.
// <Type>: float
// <Default>: 0.0
dampersBumpCoef = 0.05;
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// Differential parameters
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// <Description>: A number of differential types are supported: 4-wheel drive with open differential, 4-wheel drive with limited slip, front-wheel drive
// with open differential, front-wheel drive with limited slip, rear-wheel drive with open differential, rear-wheel drive with limited slip.
// <Type>: string; acceptable values: "all_open", "all_limited", "front_open", "front_limited", "rear_open", "rear_limited"
// <Default>: "all_limited"
differentialType = "all_limited";
// <Description>: Ratio of engine power that goes to front wheels out of total power for 4-wheel drive differentials.
// Choosing a value greater than 0.5 delivers more torque to the front wheels, while choosing a value less than 0.5
// delivers more torque to the rear wheels. This value is ignored for front-wheel drive and rear-wheel drive differentials.
// <Type>: float
// <Default>: 0.5
frontRearSplit = 0.5;
// <Description>: This is the largest possible relative difference between speed of front wheels. It helps to have outside wheels a bit faster
// during the turns, but it prevents the faster wheel to take all the power while sliding. The power is shifted to slower wheel once the value is reached.
// Locked differential has value of 1, the softer is the lock the greater should the value be.
// This value is ignored except for front-wheel drive or four wheel drive with limited slip.
// A good starting value is around 1.3.
// <Type>:
// <Default>:
frontBias = 1.5;
// <Description>: This is similar to frontBias except that it refers to the rear wheels.
// This value is ignored except for rear-wheel drive or four wheel drive with limited slip.
// A good starting value is around 1.3.
// <Type>: float
// <Default>: 1.3
rearBias = 1.3;
// <Description>: This value is similar to the frontBias and rearBias, except that it refers to the sum of the front wheel rotation speeds and the sum
// of the rear wheel rotation speeds.
// This value is ignored except for four wheel drive with limited slip.
// A good starting value is around 1.3.
// <Type>: float
// <Default>: 1.3
centreBias = 1.3;
// <Description>: How fast is engine power distributed to the wheels. Stronger values mean more aggressive drive performance inclining to
// slip a little while changing gears while weaker values are better for comfortable seamless ride.
// <Type>: float
// <Default>: 10.0
clutchStrength = 15.0;
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// Engine parameters
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// <Description>: Power of the engine in kW.
// <Type>: float
// <Default>: (required)
enginePower = 100;
// <Description>: This is the maximum rotational speed of the engine expressed in radians per second. It could be calculated from maximum
// engine RPM like this:
// maxOmega = (maxRpm*2*Pi)/60.
// <Type>: float
// <Default>: 600 which is cca 6000 rounds per minute.
maxOmega = 720;
// <Description>: This is the maximum torque that is ever available from the engine. This is expressed in Newton metres.
// <Type>: float
// <Default>: value calculated from enginePower according to http://en.wikipedia.org/wiki/Horsepower#Relationship_with_torque
peakTorque = 350;
// <Description>: These three values describe internal damping of the engine. Bigger values mean greater damping. Clutch disengaged value
// is used while shifting gears, engine interpolates between clutch engaged and full throttle values according to throttle input.
// We tend to use slightly lower clutch engaged values because it allows cars to turn more smoothly.
// Typical values in range (0.25,3). The simulation can become unstable with damping rates of 0.
// <Type>: float, float, float
// <Default>: 0.08, 2.0, 0.35
dampingRateFullThrottle = 0.08;
dampingRateZeroThrottleClutchEngaged = 0.35;
dampingRateZeroThrottleClutchDisengaged = 0.35;
// <Description>: This is a graph of peak torque versus engine rotational speed.
// The x-axis of the curve is the relative engine speed; that is, the engine speed divided by the maximum engine speed. The y-axis of the curve is a
// multiplier in range (0,1) that is used to scale the peak torque. It is good to keep the values in mind while setting changeGearMinEffectivity.
// <Type>: Array[i][2] where i = number of samples, maximum 8;
// <Default>: {{0.0, 0.8}, {0.33, 1.0}, {1.0, 0.8}}
torqueCurve[] = {{0.000, 0.000}, {0.178, 0.800}, {0.250, 1.0}, {0.461, 0.900}, {0.900, 0.800}, {1.000, 0.300}};
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// Gearbox parameters
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// <Description>: Value of minimal gear effectivity to hold current gear. If there is better gear and effectivity is below this value then change gear.
// <Range>: (0,1)
// <Type>: Array[i] where i = number of gears
// <Default>: 0.95 for every value (Neutral = 0.15 Not sure how important this is but we want to kick out of neutral very quickly)
changeGearMinEffectivity[] = {0.95, 0.15, 0.95, 0.95, 0.95, 0.95, 0.95};
// <Description>: The switch time describes how long it takes (in seconds) for a gear change to be completed. This needs to be set to aggresive shifting
// or it would cause issues while trying to run aggressively (mainly during evading the enemies).
// <Type>: float
// <Default>: 0.01
switchTime = 0.31;
// <Description>: Set the latency time of the gearbox, specified in s.
// This is used to prevent instant shifting after changing gears - there is some power loss during gear change and it could seem that
// previous gear is better for a brief time after shifting.
// <Type>: float
// <Default>: 2.0
latency = 1.0;
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// Wheels parameters
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
class Wheels
{
class LF
{
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// General parameters
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// <Description>: Name of the bone, used for wheel and suspension animations.
// <Type>: string
// <Default>: ""
boneName = "wheel_1_1_damper";
// <Description>: If true, wheel is steerable, false - wheel is fixed.
// <Type>: bool
// <Default>: (required)
steering = true;
// <Description>: Defines if wheel is on the right or left side of the vehicle
// <Type>: string
// <Default>: "right"
side = "left";
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// Wheel PX parameters
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// <Description>: Center of the wheel (axis)
// <Type>: memory point
// <Default>: (required)
center = "wheel_1_1_axis";
// <Description>: Point on the outside rim of the tire, used to calculate radius of the wheel (distance between center and boundary).
// <Type>: memory point
// <Default>: (required)
boundary = "wheel_1_1_bound";
// <Description>: This is the weight in kg of wheel including both rim and tyre.
// <Type>: float
// <Default>: 10.0
mass = 100;
// <Description>: This is the wheel's moment of inertia about the rolling axis. Smaller values result in more slips in aggresive driving
// while larger hamper the gain of speed. Good base to start with is this formula:
// MOI = 0.5 * Mass * Radius * Radius
// Some tweaking is needed after the computation, but it is still better than nothing.
// <Type>: float
// <Default>: 0.5 * WheelMass * WheelRadius * WheelRadius
MOI = 3.3;
// <Description>:The damping rate describes the rate at which a freely spinning wheel loses rotational speed.
// Values in range (0.25, 2) seem like sensible values. Experimentation is always a good idea, even outside this range.
// <Type>: float
// <Default>: 0.1
dampingRate = 0.5;
// <Description>: This is the value of the torque applied to the wheel when the brakes are maximally applied. Higher torques will lock the wheel
// quicker when braking, while lower torques will take longer to lock the wheel.
// A value of around 1500 is a good starting point for a vanilla wheel but a google search will reveal typical braking torques. One difficulty is
// that these are often expressed by manufacturers as braking horsepower or in "pounds inches". The values required here are in "Newton metres".
// <Type>: float
// <Default>: 2500
maxBrakeTorque = 2000;
// <Description>: This is the same as the max brake torque except for the handbrake rather than the brake. Typically, for a 4-wheeled car,
// the handbrake is stronger than the brake and is only applied to the rear wheels. A value of 4000 for the rear wheels is a good starting point,
// while a value of 0 is necessary for the front wheels to make sure they do not react to the handbrake.
// <Type>: float
// <Default>: 2*maxBrakeTorque
maxHandBrakeTorque = 4000;
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// Wheel simulation parameters
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// <Description>: This is the direction of the suspension in the downward direction in the rest configuration of the vehicle. A vector that
// points straight downwards is a good starting point.
// <Type>: Array[3]
// <Default>: {0, -1, 0}
suspTravelDirection[] = {0, -1, 0};
// <Description>: This is the application point of the suspension force.
// <Type>: memory point
// <Default>: center
suspForceAppPointOffset = "wheel_1_1_axis";
// <Description>: This is almost the same as the suspension force app point except for the lateral and longitudinal forces that develop on the tire.
// A good starting point is to duplicate the suspension force application point.
// <Type>: memory point
// <Default>: suspForceAppPointOffset
tireForceAppPointOffset = "wheel_1_1_axis";
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// Suspension parameters
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// <Description>: These values describe the maximum compression and elongation in metres that the spring can support.
// <Type>: float
// <Default>: 0.15
maxCompression = 0.15; //0.75*0.2
mMaxDroop = 0.15;
// <Description>: This is the mass in kg that is supported by the suspension spring.
// <Type>: float
// <Default>: vehicleMass/numberOfWheels
sprungMass = 475; // 1900/4
// <Description>: This is the strength of the suspension spring in Newtons per metre.
// springStrength = naturalFrequency * naturalFrequency * sprungMass
// <Type>: float
// <Default>: sprungMass*5,0*5,0
//springStrength = 9680;
//springStrength = 22600;
springStrength = 59375; // = 125 * sprungMass
// <Description>: This describes the rate at which the spring dissipates the energy stored in the spring.
// Basic equiation for this is
// springDamperRate = dampingRatio * 2 * sqrt(springStrength * sprungMass)
// where dampingRatio = 1 mean critical damping (critically damped pendulum should get back to start point in every swing)
// <Type>: float
// <Default>: 0,4*2*sqrt(springStrength*sprungMass)
//springDamperRate = 1936;
//springDamperRate = 8680;
springDamperRate = 10621;
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// Tire parameters
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// <Description>: Increasing this value will result in the tire attempting to generate more longitudinal force when the tire is slipping.
// Typically, increasing longitudinal stiffness will help the car accelerate and brake. The total tire force available is limited by the
// load on the tire so be aware that increases in this value might have no effect or even come at the expense of reduced lateral force.
// <Type>: float
// <Default>: 10000
longitudinalStiffnessPerUnitGravity = 100000;
// <Description>: These values together describe the lateral stiffness per unit lateral slip (in radians) of the tire.
// <Type>: float, float
// <Default>: 25, 180
latStiffX = 25;
latStiffY = 18000;
// <Description>: These six values describe a graph of friction as a function of longitudinal slip.
// A good starting point for this is a flat graph of friction vs slip with these values:
// frictionVsSlipGraph[0][0]=0.0
// frictionVsSlipGraph[0][1]=1.0
// frictionVsSlipGraph[1][0]=0.5
// frictionVsSlipGraph[1][1]=1.0
// frictionVsSlipGraph[2][0]=1.0
// frictionVsSlipGraph[2][1]=1.0
// <Type>: Array[3][2]
// <Default>: {{0, 1}, {0.5, 1}, {1,1}}
frictionVsSlipGraph[] = {{0, 1}, {0.5, 1}, {1,1}};
};
class LR: LF
{
boneName = "wheel_1_2_damper";
steering = false;
center = "wheel_1_2_axis";
boundary = "wheel_1_2_bound";
suspForceAppPointOffset = "wheel_1_2_axis";
tireForceAppPointOffset = "wheel_1_2_axis";
};
class RF: LF
{
boneName = "wheel_2_1_damper";
center = "wheel_2_1_axis";
boundary = "wheel_2_1_bound";
suspForceAppPointOffset = "wheel_2_1_axis";
tireForceAppPointOffset = "wheel_2_1_axis";
steering = true;
side = "right";
};
class RR: RF
{
boneName = "wheel_2_2_damper";
steering = false;
center = "wheel_2_2_axis";
boundary = "wheel_2_2_bound";
suspForceAppPointOffset = "wheel_2_2_axis";
tireForceAppPointOffset = "wheel_2_2_axis";
};
};

View File

@@ -0,0 +1,39 @@
class RenderTargets /// class for all Picture-in-Picture (PiP)
{
class LeftMirror
{
renderTarget = "rendertarget0"; /// what texture is going to be used, it should be mapped in model like #(argb,256,512,1)r2t(rendertarget0,1.0)
class CameraView1
{
pointPosition = "PIP0_pos"; /// memory point of PiP origin
pointDirection = "PIP0_dir"; /// memory point of PiP direction
renderQuality = 2; /// what quality should the PiP be
renderVisionMode = 0; /// zero means standard vision
fov = 0.7; /// what is the angle of the PiP field of view
};
};
class RightMirror /// rendering of PiPs is shared, it is best to have one for all sources, this is just an example
{
renderTarget = "rendertarget1";
class CameraView1
{
pointPosition = "PIP1_pos";
pointDirection = "PIP1_dir";
renderQuality = 2;
renderVisionMode = 0;
fov = 0.7;
};
};
class RearMirror
{
renderTarget = "rendertarget2";
class CameraView1
{
pointPosition = "PIP2_pos";
pointDirection = "PIP2_dir";
renderQuality = 2;
renderVisionMode = 0;
fov = 0.7;
};
};
};

View File

@@ -0,0 +1,475 @@
attenuationEffectType = "CarAttenuation"; //Attenuation in interior (Link to Attenuation.hpp in folder SOUNDS_F)
soundGetIn[]={"A3\Sounds_F\vehicles\soft\Hatchback_01\Hatchback_01_door",db-5,1};
soundGetOut[]={"A3\Sounds_F\vehicles\soft\Hatchback_01\Hatchback_01_door",db-5,1, 40};
soundDammage[]={"", db-5, 1};
soundEngineOnInt[] = {"A3\Sounds_F\vehicles\soft\Hatchback_01\Hatchback_01_int_start", db-8, 1.0};
soundEngineOnExt[] = {"A3\Sounds_F\vehicles\soft\Hatchback_01\Hatchback_01_ext_start", db-7, 1.0, 200};
soundEngineOffInt[] = {"A3\Sounds_F\vehicles\soft\Hatchback_01\Hatchback_01_int_stop", db-8, 1.0};
soundEngineOffExt[] = {"A3\Sounds_F\vehicles\soft\Hatchback_01\Hatchback_01_ext_stop", db-7, 1.0, 200};
/* ---- CRASHES START ---- */
buildCrash0[]={"A3\Sounds_F\vehicles\crashes\cars\cars_coll_big_default_ext_1", db0, 1,200};
buildCrash1[]={"A3\Sounds_F\vehicles\crashes\cars\cars_coll_big_default_ext_2", db0, 1,200};
buildCrash2[]={"A3\Sounds_F\vehicles\crashes\cars\cars_coll_big_default_ext_3", db0, 1,200};
buildCrash3[]={"A3\Sounds_F\vehicles\crashes\cars\cars_coll_big_default_ext_4", db0, 1,200};
soundBuildingCrash[]={buildCrash0, 0.25, buildCrash1, 0.25, buildCrash2, 0.25, buildCrash3, 0.25};
WoodCrash0[]={"A3\Sounds_F\vehicles\crashes\cars\cars_coll_big_wood_ext_1", db0, 1,200};
WoodCrash1[]={"A3\Sounds_F\vehicles\crashes\cars\cars_coll_big_wood_ext_1", db0, 1,200};
WoodCrash2[]={"A3\Sounds_F\vehicles\crashes\cars\cars_coll_big_wood_ext_1", db0, 1,200};
WoodCrash3[]={"A3\Sounds_F\vehicles\crashes\cars\cars_coll_big_wood_ext_1", db0, 1,200};
soundWoodCrash[]={woodCrash0, 0.25, woodCrash1, 0.25, woodCrash2, 0.25, woodCrash3, 0.25};
armorCrash0[]={"A3\Sounds_F\vehicles\crashes\cars\cars_coll_big_default_ext_1", db0, 1,200};
armorCrash1[]={"A3\Sounds_F\vehicles\crashes\cars\cars_coll_big_default_ext_2", db0, 1,200};
armorCrash2[]={"A3\Sounds_F\vehicles\crashes\cars\cars_coll_big_default_ext_3", db0, 1,200};
armorCrash3[]={"A3\Sounds_F\vehicles\crashes\cars\cars_coll_big_default_ext_4", db0, 1,200};
soundArmorCrash[]={ArmorCrash0, 0.25, ArmorCrash1, 0.25, ArmorCrash2, 0.25, ArmorCrash3, 0.25};
/* ---- CRASHES END ---- */
class Sounds
{
// warp factor
#define FACTOR(val,from,to) (val factor[from,to])
// RANGE(val, begin, band, end, band)
#define RANGE(val,from,band0,to,band1) FACTOR2(val,from,(from+band0),to,(to+band1))
// FACTOR2(val, 0, 400, 1200, 2000)
#define FACTOR2(val,from0,to0,from1,to1) (FACTOR(val,from0,to0) * FACTOR(val,to1,from1))
// redRpm
#define MAX_RPM 6900
// scaled rpm to 0 - 1
#define RPM(rpm) (rpm/MAX_RPM)
// specialized FACTOR for rpm
#define FACTOR_RPM(from,to) FACTOR(RPM(rpm),RPM(from),RPM(to))
// specialized peak for rpm
#define FACTOR2_RPM(from0,to0,from1,to1) (FACTOR_RPM(from0,to0) * FACTOR_RPM(to1,from1))
// specialized peak, different definition, version for rpm
#define RANGE_RPM(from,band0,to,band1) FACTOR2_RPM(from,(from+band0),to,(to+band1))
#define HZ_IDLE FACTOR_RPM(400,1150)
#define HZ_RPM1 FACTOR_RPM(900,2100)
#define HZ_RPM2 FACTOR_RPM(1300,3100)
#define HZ_RPM3 FACTOR_RPM(2200,4100)
#define HZ_RPM4 FACTOR_RPM(3300,4900)
#define HZ_RPM5 FACTOR_RPM(4200,6200)
#define HZ_RPM6 FACTOR_RPM(5100,6900)
#define VOLUME_IDLE FACTOR2_RPM(400,700,900,1100)
#define VOLUME_RPM1 FACTOR2_RPM(870,1100,1300,2100)
#define VOLUME_RPM2 FACTOR2_RPM(1250,2050,2300,3100)
#define VOLUME_RPM3 FACTOR2_RPM(2250,3050,3300,4100)
#define VOLUME_RPM4 FACTOR2_RPM(3250,4050,4200,4870)
#define VOLUME_RPM5 FACTOR2_RPM(4150,4800,5150,6150)
#define VOLUME_RPM6 FACTOR_RPM(5100,6100)
/* hatchback external sounds without gas */
class Idle_ext
{
sound[] = {"A3\Sounds_F\vehicles\soft\Hatchback_01\Hatchback_01_ext_idle", db-13, 1, 150};
frequency = 0.9 + HZ_IDLE*0.2;
volume = engineOn*camPos*VOLUME_IDLE;
};
class Engine
{
sound[] = {"A3\Sounds_F\vehicles\soft\Hatchback_01\Hatchback_01_ext_1400rpm", db-11,1, 200};
frequency = 0.8 + HZ_RPM1*0.2;
volume = engineOn*camPos*VOLUME_RPM1;
};
class Engine1_ext
{
sound[] = {"A3\Sounds_F\vehicles\soft\Hatchback_01\Hatchback_01_ext_2000rpm", db-9,1, 240};
frequency = 0.8 + HZ_RPM2*0.2;
volume = engineOn*camPos*VOLUME_RPM2;
};
class Engine2_ext
{
sound[] = {"A3\Sounds_F\vehicles\soft\Hatchback_01\Hatchback_01_ext_2600rpm", db-8,1, 280};
frequency = 0.8 + HZ_RPM3*0.2;
volume = engineOn*camPos*VOLUME_RPM3;
};
class Engine3_ext
{
sound[] = {"A3\Sounds_F\vehicles\soft\Hatchback_01\Hatchback_01_ext_3200rpm", db-7,1, 320};
frequency = 0.8 + HZ_RPM4*0.2;
volume = engineOn*camPos*VOLUME_RPM4;
};
class Engine4_ext
{
sound[] = {"A3\Sounds_F\vehicles\soft\Hatchback_01\Hatchback_01_ext_3600rpm", db-6,1, 360};
frequency = 0.8 + HZ_RPM5*0.2;
volume = engineOn*camPos*VOLUME_RPM5;
};
class Engine5_ext
{
sound[] = {"A3\Sounds_F\vehicles\soft\Hatchback_01\Hatchback_01_ext_4000rpm", db-5,1, 420};
frequency = 0.95 + HZ_RPM6*0.15;
volume = engineOn*camPos*VOLUME_RPM6;
};
/* hatchback external sounds with gas */
class IdleThrust
{
sound[] = {"A3\Sounds_F\vehicles\soft\Hatchback_01\Hatchback_01_ext_idle_exhaust", db-6,1, 200};
frequency = 0.9 + HZ_IDLE*0.2;
volume = engineOn*camPos*(0.4+(0.6*FACTOR(thrust,0.1,1)))*VOLUME_IDLE;
};
class EngineThrust
{
sound[] = {"A3\Sounds_F\vehicles\soft\Hatchback_01\Hatchback_01_ext_1400rpm_exhaust", db-5,1, 250};
frequency = 0.8 + HZ_RPM1*0.2;
volume = engineOn*camPos*(0.4+(0.6*FACTOR(thrust,0.1,1)))*VOLUME_RPM1;
};
class Engine1_Thrust_ext
{
sound[] = {"A3\Sounds_F\vehicles\soft\Hatchback_01\Hatchback_01_ext_2000rpm_exhaust", db-4,1, 280};
frequency = 0.8 + HZ_RPM2*0.2;
volume = engineOn*camPos*(0.4+(0.6*FACTOR(thrust,0.1,1)))*VOLUME_RPM2;
};
class Engine2_Thrust_ext
{
sound[] = {"A3\Sounds_F\vehicles\soft\Hatchback_01\Hatchback_01_ext_2600rpm_exhaust", db-3,1, 320};
frequency = 0.8 + HZ_RPM3*0.2;
volume = engineOn*camPos*(0.4+(0.6*FACTOR(thrust,0.1,1)))*VOLUME_RPM3;
};
class Engine3_Thrust_ext
{
sound[] = {"A3\Sounds_F\vehicles\soft\Hatchback_01\Hatchback_01_ext_3200rpm_exhaust", db-2,1, 360};
frequency = 0.8 + HZ_RPM4*0.2;
volume = engineOn*camPos*(0.4+(0.6*FACTOR(thrust,0.1,1)))*VOLUME_RPM4;
};
class Engine4_Thrust_ext
{
sound[] = {"A3\Sounds_F\vehicles\soft\Hatchback_01\Hatchback_01_ext_3600rpm_exhaust", db0,1, 400};
frequency = 0.8 + HZ_RPM5*0.3;
volume = engineOn*camPos*(0.4+(0.6*FACTOR(thrust,0.1,1)))*VOLUME_RPM5;
};
class Engine5_Thrust_ext
{
sound[] = {"A3\Sounds_F\vehicles\soft\Hatchback_01\Hatchback_01_ext_4000rpm_exhaust", db2,1, 450};
frequency = 0.9 + HZ_RPM6*0.2;
volume = engineOn*camPos*(0.4+(0.6*FACTOR(thrust,0.1,1)))*VOLUME_RPM6;
};
/* end external sounds with gas */
/* hatchback internal sounds without gas */
class Idle_int
{
sound[] = {"A3\Sounds_F\vehicles\soft\Hatchback_01\Hatchback_01_int_idle", db-15, 1};
frequency = 0.9 + HZ_IDLE*0.2;
volume = engineOn*(1-camPos)*VOLUME_IDLE;
};
class Engine_int
{
sound[] = {"A3\Sounds_F\vehicles\soft\Hatchback_01\Hatchback_01_int_1000rpm", db-14,1 };
frequency = 0.8 + HZ_RPM1*0.2;
volume = engineOn*(1-camPos)*VOLUME_RPM1;
};
class Engine1_int
{
sound[] = {"A3\Sounds_F\vehicles\soft\Hatchback_01\Hatchback_01_int_2000rpm", db-12,1 };
frequency = 0.8 + HZ_RPM2*0.2;
volume = engineOn*(1-camPos)*VOLUME_RPM2;
};
class Engine2_int
{
sound[] = {"A3\Sounds_F\vehicles\soft\Hatchback_01\Hatchback_01_int_2600rpm", db-11,1 };
frequency = 0.8 + HZ_RPM3*0.2;
volume = engineOn*(1-camPos)*VOLUME_RPM3;
};
class Engine3_int
{
sound[] = {"A3\Sounds_F\vehicles\soft\Hatchback_01\Hatchback_01_int_3200rpm", db-10,1 };
frequency = 0.8 + HZ_RPM4*0.2;
volume = engineOn*(1-camPos)*VOLUME_RPM4;
};
class Engine4_int
{
sound[] = {"A3\Sounds_F\vehicles\soft\Hatchback_01\Hatchback_01_int_4000rpm", db-9,1 };
frequency = 0.8 + HZ_RPM5*0.2;
volume = engineOn*(1-camPos)*VOLUME_RPM5;
};
class Engine5_int
{
sound[] = {"A3\Sounds_F\vehicles\soft\Hatchback_01\Hatchback_01_int_5000rpm", db-6,1 };
frequency = 0.95 + HZ_RPM6*0.15;
volume = engineOn*(1-camPos)*VOLUME_RPM6;
};
/* hatchback internal sounds with gas */
class IdleThrust_int
{
sound[] = {"A3\Sounds_F\vehicles\soft\Hatchback_01\Hatchback_01_int_idle_exhaust", db-10,1 };
frequency = 0.9 + HZ_IDLE*0.2;
volume = engineOn*(1-camPos)*(0.4+(0.6*FACTOR(thrust,0.1,1)))*VOLUME_IDLE;
};
class EngineThrust_int
{
sound[] = {"A3\Sounds_F\vehicles\soft\Hatchback_01\Hatchback_01_int_1000rpm_exhaust", db-9,1 };
frequency = 0.8 + HZ_RPM1*0.2;
volume = engineOn*(1-camPos)*(0.4+(0.6*FACTOR(thrust,0.1,1)))*VOLUME_RPM1;
};
class Engine1_Thrust_int
{
sound[] = {"A3\Sounds_F\vehicles\soft\Hatchback_01\Hatchback_01_int_2000rpm_exhaust", db-8,1 };
frequency = 0.8 + HZ_RPM2*0.2;
volume = engineOn*(1-camPos)*(0.4+(0.6*FACTOR(thrust,0.1,1)))*VOLUME_RPM2;
};
class Engine2_Thrust_int
{
sound[] = {"A3\Sounds_F\vehicles\soft\Hatchback_01\Hatchback_01_int_2600rpm_exhaust", db-7,1 };
frequency = 0.8 + HZ_RPM3*0.2;
volume = engineOn*(1-camPos)*(0.4+(0.6*FACTOR(thrust,0.1,1)))*VOLUME_RPM3;
};
class Engine3_Thrust_int
{
sound[] = {"A3\Sounds_F\vehicles\soft\Hatchback_01\Hatchback_01_int_3200rpm_exhaust", db-6,1 };
frequency = 0.8 + HZ_RPM4*0.2;
volume = engineOn*(1-camPos)*(0.4+(0.6*FACTOR(thrust,0.1,1)))*VOLUME_RPM4;
};
class Engine4_Thrust_int
{
sound[] = {"A3\Sounds_F\vehicles\soft\Hatchback_01\Hatchback_01_int_4000rpm_exhaust", db-5,1 };
frequency = 0.8 + HZ_RPM5*0.3;
volume = engineOn*(1-camPos)*(0.4+(0.6*FACTOR(thrust,0.1,1)))*VOLUME_RPM5;
};
class Engine5_Thrust_int
{
sound[] = {"A3\Sounds_F\vehicles\soft\Hatchback_01\Hatchback_01_int_5000rpm_exhaust", db-4,1 };
frequency = 0.9 + HZ_RPM6*0.2;
volume = engineOn*(1-camPos)*(0.4+(0.6*FACTOR(thrust,0.1,1)))*VOLUME_RPM6;
};
class Movement
{
sound = "soundEnviron";
frequency = "1";
volume = "0";
};
/* end internal sounds with gas */
/*----------------------------------*/
/*----------- TIRES EXT ---------*/
/*----------------------------------*/
class TiresRockOut
{
sound[] = {"A3\Sounds_F\vehicles\soft\tires\ext_tires_dirt_soft_1", db-6, 1.0, 60};
frequency = "1";
volume = "camPos*rock*(speed factor[2, 20])";
};
class TiresSandOut
{
sound[] = {"A3\Sounds_F\vehicles\soft\tires\ext-tires-sand1", db-6, 1.0, 60};
frequency = "1";
volume = "camPos*sand*(speed factor[2, 20])";
};
class TiresGrassOut
{
sound[] = {"A3\Sounds_F\vehicles\soft\tires\ext_tires_dirt_soft_2", db-6, 1.0, 60};
frequency = "1";
volume = "camPos*grass*(speed factor[2, 20])";
};
class TiresMudOut
{
sound[] = {"A3\Sounds_F\vehicles\soft\tires\ext-tires-mud2", db-6, 1.0, 60};
frequency = "1";
volume = "camPos*mud*(speed factor[2, 20])";
};
class TiresGravelOut
{
sound[] = {"A3\Sounds_F\vehicles\soft\tires\ext_tires_gravel_1", db-6, 1.0, 60};
frequency = "1";
volume = "camPos*gravel*(speed factor[2, 20])";
};
class TiresAsphaltOut
{
sound[] = {"A3\Sounds_F\vehicles\soft\tires\ext_tires_asfalt_2", db-6, 1.0, 60};
frequency = "1";
volume = "camPos*asphalt*(speed factor[2, 20])";
};
class NoiseOut
{
sound[] = {"A3\Sounds_F\vehicles\soft\noises\noise_ext_car_3", db-8, 1.0, 90};
frequency = "1";
volume = "camPos*(damper0 max 0.02)*(speed factor[0, 8])";
};
/*----------------------------------*/
/*----------- TIRES INT ---------*/
/*----------------------------------*/
class TiresRockIn
{
sound[] = {"A3\Sounds_F\vehicles\soft\tires\int_tires_dirt_soft_1", db-6, 1.0};
frequency = "1";
volume = "(1-camPos)*rock*(speed factor[2, 20])";
};
class TiresSandIn
{
sound[] = {"A3\Sounds_F\vehicles\soft\tires\int-tires-sand2", db-6, 1.0};
frequency = "1";
volume = "(1-camPos)*sand*(speed factor[2, 20])";
};
class TiresGrassIn
{
sound[] = {"A3\Sounds_F\vehicles\soft\tires\int_tires_dirt_soft_2", db-6, 1.0};
frequency = "1";
volume = "(1-camPos)*grass*(speed factor[2, 20])";
};
class TiresMudIn
{
sound[] = {"A3\Sounds_F\vehicles\soft\tires\int-tires-mud2", db-6, 1.0};
frequency = "1";
volume = "(1-camPos)*mud*(speed factor[2, 20])";
};
class TiresGravelIn
{
sound[] = {"A3\Sounds_F\vehicles\soft\tires\int_tires_gravel_1", db-6, 1.0};
frequency = "1";
volume = "(1-camPos)*gravel*(speed factor[2, 20])";
};
class TiresAsphaltIn
{
sound[] = {"A3\Sounds_F\vehicles\soft\tires\int_tires_asfalt_2", db-6, 1.0};
frequency = "1";
volume = "(1-camPos)*asphalt*(speed factor[2, 20])";
};
class NoiseIn
{
sound[] = {"A3\Sounds_F\vehicles\soft\noises\noise_int_car_3", db-12, 1.0};
frequency = "1";
volume = "(damper0 max 0.1)*(speed factor[0, 8])*(1-camPos)"; //Definition of inside sounds
};
/*------------------------------------------------------------------*/
/*-------------- external sounds for screeching tires on the road -------------*/
/*------------------------------------------------------------------*/
/* sounds on the road */
class breaking_ext_road
{
sound[] = {"A3\Sounds_F\vehicles\soft\noises\slipping_tires_loop_04", db-3, 1, 80};
frequency = 1;
volume = engineOn*camPos*asphalt*(LongSlipDrive Factor[-0.1, -0.4])*(Speed Factor[2, 15]);
};
class acceleration_ext_road
{
sound[] = {"A3\Sounds_F\vehicles\soft\noises\slipping_tires_loop_02", db-3, 1, 80};
frequency = 1;
volume = engineOn*camPos*asphalt*(LongSlipDrive Factor[0.1, 0.4])*(Speed Factor[15, 2]);
};
class turn_left_ext_road
{
sound[] = {"A3\Sounds_F\vehicles\soft\noises\slipping_tires_loop_02", db-3, 1, 80};
frequency = 1;
volume = engineOn*camPos*asphalt*(latSlipDrive Factor[0.1, 0.4])*(Speed Factor[2, 15]);
};
class turn_right_ext_road
{
sound[] = {"A3\Sounds_F\vehicles\soft\noises\slipping_tires_loop_02", db-3, 1, 80};
frequency = 1;
volume = engineOn*camPos*asphalt*(latSlipDrive Factor[-0.1, -0.4])*(Speed Factor[2, 15]);
};
/*-----------------------------------------------------------------*/
/* external sounds for screeching tires on other surfaces */
/*-----------------------------------------------------------------*/
class breaking_ext_dirt
{
sound[] = {"A3\Sounds_F\vehicles\soft\noises\slipping_tires_14_dirt_breaking", db-3, 1, 60};
frequency = 1;
volume = engineOn*camPos*(1-asphalt)*(LongSlipDrive Factor[-0.1, -0.4])*(Speed Factor[1, 15]);
};
class acceleration_ext_dirt
{
sound[] = {"A3\Sounds_F\vehicles\soft\noises\slipping_tires_16_dirt_acceleration", db-3, 1, 60};
frequency = 1;
volume = engineOn*camPos*(1-asphalt)*(LongSlipDrive Factor[0.1, 0.4])*(Speed Factor[15, 1]);
};
class turn_left_ext_dirt
{
sound[] = {"A3\Sounds_F\vehicles\soft\noises\slipping_tires_18_dirt", db-3, 1, 60};
frequency = 1;
volume = engineOn*camPos*(1-asphalt)*(latSlipDrive Factor[0.1, 0.4])*(Speed Factor[1, 15]);
};
class turn_right_ext_dirt
{
sound[] = {"A3\Sounds_F\vehicles\soft\noises\slipping_tires_18_dirt", db-3, 1, 60};
frequency = 1;
volume = engineOn*camPos*(1-asphalt)*(latSlipDrive Factor[-0.1, -0.4])*(Speed Factor[1, 15]);
};
/*---------------------------------------------------------------------------*/
/*-------------- internal sounds for screeching tires on the road --------------*/
/*---------------------------------------------------------------------------*/
class breaking_int_road
{
sound[] = {"A3\Sounds_F\vehicles\soft\noises\slipping_tires_loop_04_int", db-10, 1};
frequency = 1;
volume = engineOn*asphalt*(1-camPos)*(LongSlipDrive Factor[-0.1, -0.4])*(Speed Factor[2, 15]);
};
class acceleration_int_road
{
sound[] = {"A3\Sounds_F\vehicles\soft\noises\slipping_tires_loop_02_int", db-10, 1};
frequency = 1;
volume = engineOn*asphalt*(1-camPos)*(LongSlipDrive Factor[0.1, 0.4])*(Speed Factor[15, 2]);
};
class turn_left_int_road
{
sound[] = {"A3\Sounds_F\vehicles\soft\noises\slipping_tires_loop_02_int", db-10, 1};
frequency = 1;
volume = engineOn*asphalt*(1-camPos)*(latSlipDrive Factor[0.1, 0.4])*(Speed Factor[2, 15]);
};
class turn_right_int_road
{
sound[] = {"A3\Sounds_F\vehicles\soft\noises\slipping_tires_loop_02_int", db-10, 1};
frequency = 1;
volume = engineOn*asphalt*(1-camPos)*(latSlipDrive Factor[-0.1, -0.4])*(Speed Factor[2, 15]);
};
/*--------------------------------------------------------------------------------------------*/
/*-------------- internal sounds for screeching tires on other surfaces -------------*/
/*--------------------------------------------------------------------------------------------*/
class breaking_int_dirt
{
sound[] = {"A3\Sounds_F\vehicles\soft\noises\slipping_tires_14_dirt_breaking_int", db-10, 1};
frequency = 1;
volume = engineOn*(1-asphalt)*(1-camPos)*(LongSlipDrive Factor[-01, -0.4])*(Speed Factor[2, 15]);
};
class acceleration_int_dirt
{
sound[] = {"A3\Sounds_F\vehicles\soft\noises\slipping_tires_16_dirt_acceleration_int", db-10, 1};
frequency = 1;
volume = engineOn*(1-asphalt)*(1-camPos)*(LongSlipDrive Factor[0.1, 0.4])*(Speed Factor[15, 2]);
};
class turn_left_int_dirt
{
sound[] = {"A3\Sounds_F\vehicles\soft\noises\slipping_tires_18_dirt_int", db-10, 1};
frequency = 1;
volume = engineOn*(1-asphalt)*(1-camPos)*(latSlipDrive Factor[0.1, 0.4])*(Speed Factor[2, 15]);
};
class turn_right_int_dirt
{
sound[] = {"A3\Sounds_F\vehicles\soft\noises\slipping_tires_18_dirt_int", db-10, 1};
frequency = 1;
volume = engineOn*(1-asphalt)*(1-camPos)*(latSlipDrive Factor[-0.1, -0.4])*(Speed Factor[2, 15]);
};
};