diff --git a/addons/repair/CfgVehicleClasses.hpp b/addons/repair/CfgVehicleClasses.hpp new file mode 100644 index 0000000000..1a5cafac0e --- /dev/null +++ b/addons/repair/CfgVehicleClasses.hpp @@ -0,0 +1,6 @@ + +class CfgVehicleClasses { + class GVAR(items) { + displayName = "ACE REPAIR ITEMS"; + }; +}; diff --git a/addons/repair/CfgVehicles.hpp b/addons/repair/CfgVehicles.hpp index 13706ef1f8..3eb7aef9aa 100644 --- a/addons/repair/CfgVehicles.hpp +++ b/addons/repair/CfgVehicles.hpp @@ -3,7 +3,7 @@ class ACE_Actions { \ class ACE_MainActions { \ class GVAR(Repair) { \ - displayName = "$STR_AGM_Repair_Repair"; \ + displayName = "$STR_ACE_Repair_Repair"; \ condition = QUOTE([ARR_2(_player, _target)] call DFUNC(actionCanRepair)); \ statement = QUOTE([ARR_2(_player, _target)] call DFUNC(actionRepair);); \ showDisabled = 0; \ @@ -37,4 +37,28 @@ class CfgVehicles { class Ship_F: Ship { MACRO_REPAIRVEHICLE }; + + class ThingX; + class ACE_RepairItem_Base: ThingX { + icon = "iconObject_circle"; + mapSize = 0.7; + accuracy = 0.2; + vehicleClass = QGVAR(items); + destrType = "DesturctNo"; + }; + + class ACE_Track: ACE_RepairItem_Base { + author = "Hawkins"; + scope = 2; + model = QUOTE(PATHTOF(ace_track.p3d)); + displayName = "$STR_ACE_Repair_SpareTrack"; + }; + + class ACE_Wheel: ACE_RepairItem_Base { + author = "Hawkins"; + scope = 2; + model = QUOTE(PATHTOF(ace_wheel.p3d)); + displayName = "$STR_ACE_Repair_SpareWheel"; + picture = QUOTE(PATHTOF(ui\tire_ca.paa)); + }; }; diff --git a/addons/repair/ace_track.p3d b/addons/repair/ace_track.p3d new file mode 100644 index 0000000000..c76b86895b Binary files /dev/null and b/addons/repair/ace_track.p3d differ diff --git a/addons/repair/ace_wheel.p3d b/addons/repair/ace_wheel.p3d new file mode 100644 index 0000000000..eaef5f50fd Binary files /dev/null and b/addons/repair/ace_wheel.p3d differ diff --git a/addons/repair/config.cpp b/addons/repair/config.cpp index 8c29167043..e8430b47f4 100644 --- a/addons/repair/config.cpp +++ b/addons/repair/config.cpp @@ -13,6 +13,8 @@ class CfgPatches { }; #include "CfgEventHandlers.hpp" + +#include "CfgVehicleClasses.hpp" #include "CfgVehicles.hpp" class ACE_Settings { diff --git a/addons/repair/data/default_as.paa b/addons/repair/data/default_as.paa new file mode 100644 index 0000000000..b7efce459b Binary files /dev/null and b/addons/repair/data/default_as.paa differ diff --git a/addons/repair/data/default_nohq.paa b/addons/repair/data/default_nohq.paa new file mode 100644 index 0000000000..fc53cf83b2 Binary files /dev/null and b/addons/repair/data/default_nohq.paa differ diff --git a/addons/repair/data/default_smdi.paa b/addons/repair/data/default_smdi.paa new file mode 100644 index 0000000000..22e365f422 Binary files /dev/null and b/addons/repair/data/default_smdi.paa differ diff --git a/addons/repair/data/track.rvmat b/addons/repair/data/track.rvmat new file mode 100644 index 0000000000..f3722ce694 --- /dev/null +++ b/addons/repair/data/track.rvmat @@ -0,0 +1,92 @@ +ambient[]={1,1,1,1}; +diffuse[]={1,1,1,1}; +forcedDiffuse[]={0,0,0,0}; +emmisive[]={0,0,0,1}; +specular[]={0.0099999998,0.0099999998,0.0099999998,1}; +specularPower=500; +PixelShaderID="Super"; +VertexShaderID="Super"; +class Stage1 +{ + texture="C:\dev\ace\addons\repair\data\default_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="#(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,0}; + 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,0}; + pos[]={0,0,0}; + }; +}; +class Stage4 +{ + texture="C:\dev\ace\addons\repair\data\default_as.paa"; + uvSource="tex"; + class uvTransform + { + aside[]={1,0,0}; + up[]={0,1,0}; + dir[]={0,0,1}; + pos[]={0,0,1}; + }; +}; +class Stage5 +{ + texture="C:\dev\ace\addons\repair\data\default_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(4.7,1.2)"; + uvSource="tex"; + class uvTransform + { + aside[]={1,0,0}; + up[]={0,1,0}; + dir[]={0,0,1}; + 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,1}; + pos[]={0,0,0}; + }; +}; diff --git a/addons/repair/data/track_co.paa b/addons/repair/data/track_co.paa new file mode 100644 index 0000000000..7a00514e0b Binary files /dev/null and b/addons/repair/data/track_co.paa differ diff --git a/addons/repair/data/wheel.rvmat b/addons/repair/data/wheel.rvmat new file mode 100644 index 0000000000..4b7d91015a --- /dev/null +++ b/addons/repair/data/wheel.rvmat @@ -0,0 +1,92 @@ +ambient[]={1,1,1,1}; +diffuse[]={1,1,1,1}; +forcedDiffuse[]={0,0,0,0}; +emmisive[]={0,0,0,1}; +specular[]={0.0099999998,0.0099999998,0.0099999998,1}; +specularPower=500; +PixelShaderID="Super"; +VertexShaderID="Super"; +class Stage1 +{ + texture="C:\dev\ace\addons\repair\data\wheel_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="#(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,0}; + 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,0}; + pos[]={0,0,0}; + }; +}; +class Stage4 +{ + texture="C:\dev\ace\addons\repair\data\default_as.paa"; + uvSource="tex"; + class uvTransform + { + aside[]={1,0,0}; + up[]={0,1,0}; + dir[]={0,0,1}; + pos[]={0,0,1}; + }; +}; +class Stage5 +{ + texture="C:\dev\ace\addons\repair\data\default_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(4.7,1.2)"; + uvSource="tex"; + class uvTransform + { + aside[]={1,0,0}; + up[]={0,1,0}; + dir[]={0,0,1}; + 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,1}; + pos[]={0,0,0}; + }; +}; diff --git a/addons/repair/data/wheel_co.paa b/addons/repair/data/wheel_co.paa new file mode 100644 index 0000000000..aec7556509 Binary files /dev/null and b/addons/repair/data/wheel_co.paa differ diff --git a/addons/repair/data/wheel_nohq.paa b/addons/repair/data/wheel_nohq.paa new file mode 100644 index 0000000000..4a8efb5720 Binary files /dev/null and b/addons/repair/data/wheel_nohq.paa differ diff --git a/addons/repair/stringtable.xml b/addons/repair/stringtable.xml index d50406c809..fe45df2c6a 100644 --- a/addons/repair/stringtable.xml +++ b/addons/repair/stringtable.xml @@ -2,7 +2,32 @@ - + + Spare Track + Ersatzkette + Cadena de repuesto + Chenille de réserve + Zapasowa gąsienica + Náhradní pásy + Lagarta Reserva + Cingolo di scorta + Pót lánctalp + Запасная гусеница + + + Spare Wheel + Ersatzreifen + Rueda de repuesto + Roue de secours + Zapasowe koło + Náhradní Kolo + Roda Reserva + Ruota di scorta + Pótkerék + Запасное колесо + + + Repair >> Reparieren >> Reparación >> diff --git a/addons/repair/ui/tire_ca.paa b/addons/repair/ui/tire_ca.paa new file mode 100644 index 0000000000..93ceb6bb6c Binary files /dev/null and b/addons/repair/ui/tire_ca.paa differ