add dmg materials to spare tracks and wheel (#4450)

* add dmg materials to spare tracks and wheel

* attempt to fix damage rvmats by making FIRE GEO components convex

* get materials to work
This commit is contained in:
commy2 2016-09-24 22:08:56 +02:00 committed by GitHub
parent c1ead851cb
commit bc520c7fe7
11 changed files with 553 additions and 102 deletions

View File

@ -314,8 +314,6 @@ class CfgVehicles {
class CBA_Extended_EventHandlers: CBA_Extended_EventHandlers_base {};
};
icon = "iconObject_circle";
mapSize = 0.7;
accuracy = 0.2;
vehicleClass = "ACE_Logistics_Items";
destrType = "DesturctNo"; // scripted delayed destruction
@ -328,6 +326,25 @@ class CfgVehicles {
scope = 2;
model = QPATHTOF(data\ace_track.p3d);
displayName = CSTRING(SpareTrack);
icon = "iconObject_2x1";
mapSize = 0.5;
// damage handling
armor = 0.6;
armorStructural = 1;
minTotalDamageThreshold = 0.01;
explosionShielding = 1;
replaceDamagedLimit = 0.9;
selectionDamage = "mat_track";
class Damage {
tex[] = {};
mat[] = {
QPATHTO_R(data\trailObjects_steel.rvmat),
QPATHTO_R(data\trailObjects_steel_damage.rvmat),
QPATHTO_R(data\trailObjects_steel_destruct.rvmat)
};
};
};
class ACE_Wheel: ACE_RepairItem_Base {
@ -338,6 +355,41 @@ class CfgVehicles {
model = QPATHTOF(data\ace_wheel.p3d);
displayName = CSTRING(SpareWheel);
picture = QPATHTOF(ui\tire_ca.paa);
icon = "iconObject_circle";
mapSize = 0.7;
// damage handling
armor = 0.05;
armorStructural = 1;
minTotalDamageThreshold = 0.01;
explosionShielding = 1;
replaceDamagedLimit = 0.9;
selectionDamage = "mat_tyre"; //"mat_rim"
// necessary because only one "selectionDamage" (== "visual") is allowed for simple damage objects
// can not take damage individually though, because of limitations of the thingX simulation type
class HitPoints {
class HitBody {
armor = 0.6;
material = -1;
name = "zbytek";
visual = "mat_rim";
passThrough = 1;
explosionShielding = 1;
};
};
class Damage {
tex[] = {};
mat[] = {
QPATHTO_R(data\trailObjects_tyre.rvmat),
QPATHTO_R(data\trailObjects_tyre_damage.rvmat),
QPATHTO_R(data\trailObjects_tyre_damage.rvmat),
QPATHTO_R(data\trailObjects_steel.rvmat),
QPATHTO_R(data\trailObjects_steel_damage.rvmat),
QPATHTO_R(data\trailObjects_steel_destruct.rvmat)
};
};
};
// disable vanilla repair

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -0,0 +1,44 @@
class CfgSkeletons {
class Default {
isDiscrete = 1;
skeletonInherit = "";
skeletonBones[] = {};
};
class ace_wheel: Default {
skeletonBones[] = {
"zbytek", ""
};
};
class ace_track: Default {
skeletonBones[] = {
"zbytek", ""
};
};
};
class CfgModels {
class Default {
skeletonName = "";
sectionsInherit = "";
sections[] = {};
};
class ace_wheel: Default {
skeletonName = "ace_wheel";
sectionsInherit = "";
sections[] = {
"mat_tyre",
"mat_rim"
};
};
class ace_track: Default {
skeletonName = "ace_track";
sectionsInherit = "";
sections[] = {
"mat_track"
};
};
};

View File

@ -1,100 +0,0 @@
#define _ARMA_
class StageTI
{
texture = "a3\data_f\default_ti_ca.paa";
};
ambient[] = {1,1,1,1};
diffuse[] = {1,1,1,1};
forcedDiffuse[] = {0,0,0,0};
emmisive[] = {0,0,0,0};
specular[] = {0.0099999998,0.0099999998,0.0099999998,0.0099999998};
specularPower = 500;
surfaceInfo="a3\data_f\penetration\metal.bisurf";
PixelShaderID = "Super";
VertexShaderID = "Super";
class Stage1
{
texture = "z\ace\addons\repair\data\trailObjects_nohq.paa";
uvSource = "tex";
class uvTransform
{
aside[] = {1,0,0};
up[] = {0,1,0};
dir[] = {0,0,1};
pos[] = {0,0,0};
};
};
class Stage2
{
texture = "#(argb,8,8,3)color(0.5,0.5,0.5,1,DT)";
uvSource = "tex";
class uvTransform
{
aside[] = {1,0,0};
up[] = {0,1,0};
dir[] = {0,0,1};
pos[] = {0,0,0};
};
};
class Stage3
{
texture = "#(argb,8,8,3)color(0,0,0,0,MC)";
uvSource = "tex";
class uvTransform
{
aside[] = {1,0,0};
up[] = {0,1,0};
dir[] = {0,0,1};
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,0};
};
};
class Stage5
{
texture = "#(argb,8,8,3)color(0,0.6,1,1,SMDI)";
uvSource = "tex";
class uvTransform
{
aside[] = {1,0,0};
up[] = {0,1,0};
dir[] = {0,0,1};
pos[] = {0,0,0};
};
};
class Stage6
{
texture = "#(ai,64,64,1)fresnelGlass(2)";
uvSource = "tex";
class uvTransform
{
aside[] = {1,0,0};
up[] = {0,1,0};
dir[] = {0,0,1};
pos[] = {0,0,0};
};
};
class Stage7
{
useWorldEnvMap = "true";
texture = "a3\data_f\env_land_ca.paa";
uvSource = "tex";
class uvTransform
{
aside[] = {1,0,0};
up[] = {0,1,0};
dir[] = {0,0,1};
pos[] = {0,0,0};
};
};

View File

@ -0,0 +1,91 @@
class StageTI {
texture = "a3\data_f\default_ti_ca.paa";
};
ambient[] = {1,1,1,1};
diffuse[] = {1,1,1,1};
forcedDiffuse[] = {0,0,0,0};
emmisive[] = {0,0,0,0};
specular[] = {0.01,0.01,0.01,0.01};
specularPower = 500;
surfaceInfo = "a3\data_f\penetration\metal.bisurf";
PixelShaderID = "Super";
VertexShaderID = "Super";
class Stage1 {
texture = "z\ace\addons\repair\data\trailObjects_nohq.paa";
uvSource = "tex";
class uvTransform {
aside[] = {1,0,0};
up[] = {0,1,0};
dir[] = {0,0,1};
pos[] = {0,0,0};
};
};
class Stage2 {
texture = "#(argb,8,8,3)color(0.5,0.5,0.5,1,DT)";
uvSource = "tex";
class uvTransform {
aside[] = {1,0,0};
up[] = {0,1,0};
dir[] = {0,0,1};
pos[] = {0,0,0};
};
};
class Stage3 {
texture = "#(argb,8,8,3)color(0,0,0,0,MC)";
uvSource = "tex";
class uvTransform {
aside[] = {1,0,0};
up[] = {0,1,0};
dir[] = {0,0,1};
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,0};
};
};
class Stage5 {
texture = "#(argb,8,8,3)color(0,0.6,1,1,SMDI)";
uvSource = "tex";
class uvTransform {
aside[] = {1,0,0};
up[] = {0,1,0};
dir[] = {0,0,1};
pos[] = {0,0,0};
};
};
class Stage6 {
texture = "#(ai,64,64,1)fresnelGlass(2)";
uvSource = "tex";
class uvTransform {
aside[] = {1,0,0};
up[] = {0,1,0};
dir[] = {0,0,1};
pos[] = {0,0,0};
};
};
class Stage7 {
useWorldEnvMap = "true";
texture = "a3\data_f\env_land_ca.paa";
uvSource = "tex";
class uvTransform {
aside[] = {1,0,0};
up[] = {0,1,0};
dir[] = {0,0,1};
pos[] = {0,0,0};
};
};

View File

@ -0,0 +1,91 @@
class StageTI {
texture = "a3\data_f\default_ti_ca.paa";
};
ambient[] = {1,1,1,1};
diffuse[] = {1,1,1,1};
forcedDiffuse[] = {0,0,0,0};
emmisive[] = {0,0,0,0};
specular[] = {0.01,0.01,0.01,0.01};
specularPower = 500;
surfaceInfo = "a3\data_f\penetration\metal.bisurf";
PixelShaderID = "Super";
VertexShaderID = "Super";
class Stage1 {
texture = "z\ace\addons\repair\data\trailObjects_nohq.paa";
uvSource = "tex";
class uvTransform {
aside[] = {1,0,0};
up[] = {0,1,0};
dir[] = {0,0,1};
pos[] = {0,0,0};
};
};
class Stage2 {
texture = "a3\data_f\destruct\damage_metal_cdt.paa";
uvSource = "tex";
class uvTransform {
aside[] = {5,0,0};
up[] = {0,5,0};
dir[] = {0,0,0};
pos[] = {0,0,0};
};
};
class Stage3 {
texture = "a3\data_f\destruct\damage_metal_mc.paa";
uvSource = "tex";
class uvTransform {
aside[] = {3,0,0};
up[] = {0,3,0};
dir[] = {0,0,0};
pos[] = {0.1,0.23,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,0};
};
};
class Stage5 {
texture = "#(argb,8,8,3)color(0,0.6,1,1,SMDI)";
uvSource = "tex";
class uvTransform {
aside[] = {1,0,0};
up[] = {0,1,0};
dir[] = {0,0,1};
pos[] = {0,0,0};
};
};
class Stage6 {
texture = "#(ai,64,64,1)fresnelGlass(2)";
uvSource = "tex";
class uvTransform {
aside[] = {1,0,0};
up[] = {0,1,0};
dir[] = {0,0,1};
pos[] = {0,0,0};
};
};
class Stage7 {
useWorldEnvMap = "true";
texture = "a3\data_f\env_land_ca.paa";
uvSource = "tex";
class uvTransform {
aside[] = {1,0,0};
up[] = {0,1,0};
dir[] = {0,0,1};
pos[] = {0,0,0};
};
};

View File

@ -0,0 +1,91 @@
class StageTI {
texture = "a3\data_f\default_ti_ca.paa";
};
ambient[] = {1,1,1,1};
diffuse[] = {1,1,1,1};
forcedDiffuse[] = {0,0,0,0};
emmisive[] = {0,0,0,0};
specular[] = {0.01,0.01,0.01,0.01};
specularPower = 500;
surfaceInfo = "a3\data_f\penetration\metal.bisurf";
PixelShaderID = "Super";
VertexShaderID = "Super";
class Stage1 {
texture = "z\ace\addons\repair\data\trailObjects_nohq.paa";
uvSource = "tex";
class uvTransform {
aside[] = {1,0,0};
up[] = {0,1,0};
dir[] = {0,0,1};
pos[] = {0,0,0};
};
};
class Stage2 {
texture = "a3\data_f\destruct\destruct_rust_cdt.paa";
uvSource = "tex";
class uvTransform {
aside[] = {8,8,0};
up[] = {-8,8,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[] = {2,0,0};
up[] = {0,2,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,0};
};
};
class Stage5 {
texture = "#(argb,8,8,3)color(0,0.6,1,1,SMDI)";
uvSource = "tex";
class uvTransform {
aside[] = {1,0,0};
up[] = {0,1,0};
dir[] = {0,0,1};
pos[] = {0,0,0};
};
};
class Stage6 {
texture = "#(ai,64,64,1)fresnelGlass(2)";
uvSource = "tex";
class uvTransform {
aside[] = {1,0,0};
up[] = {0,1,0};
dir[] = {0,0,1};
pos[] = {0,0,0};
};
};
class Stage7 {
useWorldEnvMap = "true";
texture = "a3\data_f\env_land_ca.paa";
uvSource = "tex";
class uvTransform {
aside[] = {1,0,0};
up[] = {0,1,0};
dir[] = {0,0,1};
pos[] = {0,0,0};
};
};

View File

@ -0,0 +1,91 @@
class StageTI {
texture = "a3\data_f\default_ti_ca.paa";
};
ambient[] = {1,1,1,1};
diffuse[] = {1,1,1,1};
forcedDiffuse[] = {0,0,0,0};
emmisive[] = {0,0,0,0};
specular[] = {0.01,0.01,0.01,0.01};
specularPower = 500;
surfaceInfo = "a3\data_f\penetration\metal.bisurf";
PixelShaderID = "Super";
VertexShaderID = "Super";
class Stage1 {
texture = "z\ace\addons\repair\data\trailObjects_nohq.paa";
uvSource = "tex";
class uvTransform {
aside[] = {1,0,0};
up[] = {0,1,0};
dir[] = {0,0,1};
pos[] = {0,0,0};
};
};
class Stage2 {
texture = "#(argb,8,8,3)color(0.5,0.5,0.5,1,DT)";
uvSource = "tex";
class uvTransform {
aside[] = {1,0,0};
up[] = {0,1,0};
dir[] = {0,0,1};
pos[] = {0,0,0};
};
};
class Stage3 {
texture = "#(argb,8,8,3)color(0,0,0,0,MC)";
uvSource = "tex";
class uvTransform {
aside[] = {1,0,0};
up[] = {0,1,0};
dir[] = {0,0,1};
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,0};
};
};
class Stage5 {
texture = "#(argb,8,8,3)color(0,0.6,1,1,SMDI)";
uvSource = "tex";
class uvTransform {
aside[] = {1,0,0};
up[] = {0,1,0};
dir[] = {0,0,1};
pos[] = {0,0,0};
};
};
class Stage6 {
texture = "#(ai,64,64,1)fresnelGlass(2)";
uvSource = "tex";
class uvTransform {
aside[] = {1,0,0};
up[] = {0,1,0};
dir[] = {0,0,1};
pos[] = {0,0,0};
};
};
class Stage7 {
useWorldEnvMap = "true";
texture = "a3\data_f\env_land_ca.paa";
uvSource = "tex";
class uvTransform {
aside[] = {1,0,0};
up[] = {0,1,0};
dir[] = {0,0,1};
pos[] = {0,0,0};
};
};

View File

@ -0,0 +1,91 @@
class StageTI {
texture = "a3\data_f\default_ti_ca.paa";
};
ambient[] = {1,1,1,1};
diffuse[] = {1,1,1,1};
forcedDiffuse[] = {0,0,0,0};
emmisive[] = {0,0,0,0};
specular[] = {0.01,0.01,0.01,0.01};
specularPower = 500;
surfaceInfo = "a3\data_f\penetration\metal.bisurf";
PixelShaderID = "Super";
VertexShaderID = "Super";
class Stage1 {
texture = "z\ace\addons\repair\data\trailObjects_nohq.paa";
uvSource = "tex";
class uvTransform {
aside[] = {1,0,0};
up[] = {0,1,0};
dir[] = {0,0,1};
pos[] = {0,0,0};
};
};
class Stage2 {
texture = "a3\data_f\destruct\destr_rubber_half_dt.paa";
uvSource = "tex";
class uvTransform {
aside[] = {5,0,0};
up[] = {0,5,0};
dir[] = {0,0,0};
pos[] = {0,0,0};
};
};
class Stage3 {
texture = "#(argb,8,8,3)color(0,0,0,0,MC)";
uvSource = "tex";
class uvTransform {
aside[] = {3,0,0};
up[] = {0,3,0};
dir[] = {0,0,0};
pos[] = {0.1,0.23,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,0};
};
};
class Stage5 {
texture = "#(argb,8,8,3)color(0,0.6,1,1,SMDI)";
uvSource = "tex";
class uvTransform {
aside[] = {1,0,0};
up[] = {0,1,0};
dir[] = {0,0,1};
pos[] = {0,0,0};
};
};
class Stage6 {
texture = "#(ai,64,64,1)fresnelGlass(2)";
uvSource = "tex";
class uvTransform {
aside[] = {1,0,0};
up[] = {0,1,0};
dir[] = {0,0,1};
pos[] = {0,0,0};
};
};
class Stage7 {
useWorldEnvMap = "true";
texture = "a3\data_f\env_land_ca.paa";
uvSource = "tex";
class uvTransform {
aside[] = {1,0,0};
up[] = {0,1,0};
dir[] = {0,0,1};
pos[] = {0,0,0};
};
};