Compare commits

...

4 Commits

Author SHA1 Message Date
rarantes 7d68aa4296 fix(caracal): removed duplicated proxy for MANSup operator and fixed compartment division for air crew; removed efs p3d placeholder
Deploy DEV Workshop / deploy-dev-workshop (push) Failing after 1m57s
2026-07-26 13:37:00 -03:00
rarantes 9bd9aae32d feat(A140): Implemented A140 as static object 2026-07-26 13:35:14 -03:00
rarantes 020aa20916 fix(caracal): transport soldiers count fixed for SAR and Heavy Cargo versions 2026-07-25 21:54:48 -03:00
rarantes e87648d063 feat(caracal): Started phase 1 of MANSUP integration on AH-15B Super Cougar:
- new p3d for Braf_Caracal main model;
- new p3d Braf_Caracal_ah15b with radar and missile hangers;
- new camo6 paas, for navy;
- Added BRAF_Caracal_10 class with MANSUP operator station turret with proxy index 3.
2026-07-25 20:45:25 -03:00
14 changed files with 266 additions and 107 deletions
Binary file not shown.
@@ -325,6 +325,18 @@ class BRAF_Caracal_Base: Helicopter_Base_H
animPeriod=0;
initPhase=0;
};
class AH15_Hide
{
source="user";
animPeriod=0;
initPhase=0;
};
class UH15_Hide
{
source="user";
animPeriod=0;
initPhase=0;
};
class Hoist_Hide
{
source="user";
@@ -1038,7 +1050,9 @@ class BRAF_Caracal_FFV: BRAF_Caracal_Base
"Hoist_Hide",0,
"SEAT_Hide",1,
"Flir_Hide",1,
"REVO_Hide",1
"REVO_Hide",1,
"UH15_Hide",0,
"AH15_Hide",1
};
class UserActions
{
@@ -1160,7 +1174,7 @@ class BRAF_Caracal_FFV: BRAF_Caracal_Base
gunnerGetOutAction="GetOutLow";
memoryPointsGetInGunner="pos_gunner_r";
memoryPointsGetInGunnerDir="dir_gunner_r";
gunnerCompartments="Compartment1";
gunnerCompartments="Compartment2";
proxyIndex=4;
commanding=3;
isPersonTurret=1;
@@ -1213,6 +1227,12 @@ class BRAF_Caracal_2: BRAF_Caracal_Base
scopeArsenal=2;
displayName="HM-4 Jaguar (SAR)";
editorPreview="\braf\braf_insignia\editorpreview\Air\BRAF_Caracal_2.jpg";
transportSoldier=0;
typicalCargo[]={};
cargoAction[]={};
cargoProxyIndexes[]={};
getInProxyOrder[]={};
class CargoTurret;
animationList[]=
{
"EFS_Hide",0,
@@ -1222,7 +1242,13 @@ class BRAF_Caracal_2: BRAF_Caracal_Base
"Hoist_Hide",1,
"SEAT_Hide",1,
"Flir_Hide",0,
"REVO_Hide",1
"REVO_Hide",1,
"UH15_Hide",0,
"AH15_Hide",1,
"Door_L_1",1,
"Door_L_2",1,
"Door_R_1",1,
"Door_R_2",1
};
class UserActions
{
@@ -1277,29 +1303,29 @@ class BRAF_Caracal_2: BRAF_Caracal_Base
{
displayname="Open Left Door";
position="window_pos";
showWindow=1;
showWindow=0;
radius=5;
priority=0;
onlyForPlayer=0;
condition="this animationphase 'Door_L_1' < 0.1 AND this animationphase 'Door_L_2' < 0.1 AND (player in crew this)";
condition="false";
statement="this animate ['Door_L_1',1], this animate ['Door_L_2',1], this say3d ""Doors""";
};
class Close_Door_Left: Open_Door_Left
{
displayname="Close Left Door";
condition="this animationphase 'Door_L_1' > 0.9 AND this animationphase 'Door_L_2' > 0.9 AND (player in crew this)";
condition="false";
statement="this animate ['Door_L_1',0], this animate ['Door_L_2',0], this say3d ""Doors""";
};
class Open_Door_Right: Open_Door_Left
{
displayname="Open Right Door";
condition="this animationphase 'Door_R_1' < 0.1 AND this animationphase 'Door_R_2' < 0.1 AND (player in crew this)";
condition="false";
statement="this animate ['Door_R_1',1], this animate ['Door_R_2',1], this say3d ""Doors""";
};
class Close_Door_Right: Open_Door_Left
{
displayname="Close Right Door";
condition="this animationphase 'Door_R_1' > 0.9 AND this animationphase 'Door_R_2' > 0.9 AND (player in crew this)";
condition="false";
statement="this animate ['Door_R_1',0], this animate ['Door_R_2',0], this say3d ""Doors""";
};
class Open_Window_Left
@@ -1350,7 +1376,7 @@ class BRAF_Caracal_2: BRAF_Caracal_Base
};
};
class Turrets: Turrets
{
{
class BRAF_CopilotTurret: BRAF_CopilotTurret
{
class Reflectors: Reflectors
@@ -1438,7 +1464,7 @@ class BRAF_Caracal_2: BRAF_Caracal_Base
gunnerRightHandAnimName="";
gunnerLeftFootAnimName="";
gunnerRightFootAnimName="";
gunnerCompartments="Compartment1";
gunnerCompartments="Compartment2";
class OpticsIn
{
class Wide
@@ -1565,7 +1591,44 @@ class BRAF_Caracal_2: BRAF_Caracal_Base
{
};
};
};
};
class BRAF_SAR_Medic_R_1: CargoTurret
{
gunnerAction="passenger_inside_2";
gunnerName="Medical Rescuer 1";
gunnerGetInAction="GetInLow";
gunnerGetOutAction="GetOutLow";
memoryPointsGetInGunner="pos_gunner_r";
memoryPointsGetInGunnerDir="dir_gunner_r";
gunnerCompartments="Compartment2";
proxyIndex=4;
commanding=3;
isPersonTurret=1;
minTurn=-60;
maxTurn=60;
initTurn=0;
minElev=-50;
maxElev=28;
initElev=0;
};
class BRAF_SAR_Medic_R_2: BRAF_SAR_Medic_R_1
{
gunnerName="Medical Rescuer 2";
proxyIndex=5;
};
class BRAF_SAR_Medic_L_1: BRAF_SAR_Medic_R_1
{
gunnerName="Medical Rescuer 3";
memoryPointsGetInGunner="pos_gunner_l";
memoryPointsGetInGunnerDir="dir_gunner_l";
proxyIndex=6;
};
class BRAF_SAR_Medic_L_2: BRAF_SAR_Medic_L_1
{
gunnerName="Medical Rescuer 4";
proxyIndex=7;
};
};
};
class BRAF_Caracal_3: BRAF_Caracal_Base
@@ -1576,41 +1639,13 @@ class BRAF_Caracal_3: BRAF_Caracal_Base
side=2;
scopeCurator=2;
scopeArsenal=2;
displayName="HM-4 Jaguar (Transport)";
displayName="HM-4 Jaguar (Heavy Cargo)";
editorPreview="\braf\braf_insignia\editorpreview\Air\BRAF_Caracal_3.jpg";
transportSoldier=23;
cargoProxyIndexes[]={1,2,3,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51};
getInProxyOrder[]={1,2,3,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51};
cargoAction[]=
{
"braf_fennec_cargo",
"braf_fennec_cargo",
"braf_fennec_cargo",
"braf_fennec_cargo",
"braf_fennec_cargo",
"braf_fennec_cargo",
"braf_fennec_cargo",
"braf_fennec_cargo",
"braf_fennec_cargo",
"braf_fennec_cargo",
"braf_fennec_cargo",
"braf_fennec_cargo",
"braf_fennec_cargo",
"braf_fennec_cargo",
"braf_fennec_cargo",
"braf_fennec_cargo",
"braf_fennec_cargo",
"braf_fennec_cargo",
"braf_fennec_cargo",
"braf_fennec_cargo",
"braf_fennec_cargo",
"braf_fennec_cargo",
"braf_fennec_cargo",
"braf_fennec_cargo",
"braf_fennec_cargo",
"braf_fennec_cargo",
"braf_fennec_cargo"
};
transportSoldier=0;
typicalCargo[]={};
cargoProxyIndexes[]={};
getInProxyOrder[]={};
cargoAction[]={};
animationList[]=
{
"EFS_Hide",0,
@@ -1620,7 +1655,9 @@ class BRAF_Caracal_3: BRAF_Caracal_Base
"Hoist_Hide",0,
"SEAT_Hide",0,
"Flir_Hide",1,
"REVO_Hide",1
"REVO_Hide",1,
"UH15_Hide",0,
"AH15_Hide",1
};
};
class BRAF_Caracal_4: BRAF_Caracal_1
@@ -1696,7 +1733,9 @@ class BRAF_Caracal_4: BRAF_Caracal_1
"Hoist_Hide",0,
"SEAT_Hide",1,
"Flir_Hide",1,
"REVO_Hide",1
"REVO_Hide",1,
"UH15_Hide",0,
"AH15_Hide",1
};
};
class BRAF_Caracal_5: BRAF_Caracal_2
@@ -1753,7 +1792,13 @@ class BRAF_Caracal_5: BRAF_Caracal_2
"Hoist_Hide",1,
"SEAT_Hide",1,
"Flir_Hide",0,
"REVO_Hide",1
"REVO_Hide",1,
"UH15_Hide",0,
"AH15_Hide",1,
"Door_L_1",1,
"Door_L_2",1,
"Door_R_1",1,
"Door_R_2",1
};
hiddenSelectionsTextures[]=
{
@@ -1775,7 +1820,7 @@ class BRAF_Caracal_6: BRAF_Caracal_3
{
author="BRAF TEAM";
_generalMacro="BRAF_Caracal_6";
displayName="UH-15 Super Cougar (Transport)";
displayName="UH-15 Super Cougar (Heavy Cargo)";
editorPreview="\braf\braf_insignia\editorpreview\air\BRAF_Caracal_6.jpg";
faction="BRAF_NAVY";
crew="braf_characters_aviation_navy_pilot";
@@ -1825,7 +1870,9 @@ class BRAF_Caracal_6: BRAF_Caracal_3
"Hoist_Hide",0,
"SEAT_Hide",0,
"Flir_Hide",1,
"REVO_Hide",1
"REVO_Hide",1,
"UH15_Hide",0,
"AH15_Hide",1
};
hiddenSelectionsTextures[]=
{
@@ -1843,32 +1890,10 @@ class BRAF_Caracal_6: BRAF_Caracal_3
"HU41",0.5
};
};
//class BRAF_Caracal_6a: BRAF_Caracal_2
//{
// author="BRAF TEAM";
// _generalMacro="BRAF_Caracal_6";
// displayName="AH-15B Super Cougar (ASW)";
// editorPreview="\braf\braf_insignia\editorpreview\air\BRAF_Caracal_6a.jpg";
// faction="BRAF_NAVY";
// textureList[]=
// {
// "HU2",1
// };
// animationList[]=
// {
// "EFS_Hide",0,
// "SAR_Hide",1,
// "Pole_Hide",1,
// "Hoist_Hide",0,
// "SEAT_Hide",1,
// "Flir_Hide",0,
// "REVO_Hide",1
// };
//};
class BRAF_Caracal_7: BRAF_Caracal_1
{
author="BRAF TEAM";
_generalMacro="BRAF_Caracal_4";
_generalMacro="BRAF_Caracal_7";
displayName="H-36 Caracal (Fast Rope)";
editorPreview="\braf\braf_insignia\editorpreview\air\BRAF_Caracal_7.jpg";
faction="BRAF_FAB";
@@ -1923,7 +1948,9 @@ class BRAF_Caracal_7: BRAF_Caracal_1
"Hoist_Hide",0,
"SEAT_Hide",1,
"Flir_Hide",1,
"REVO_Hide",0
"REVO_Hide",0,
"UH15_Hide",0,
"AH15_Hide",1
};
hiddenSelectionsTextures[]=
{
@@ -1945,7 +1972,7 @@ class BRAF_Caracal_7: BRAF_Caracal_1
class BRAF_Caracal_8: BRAF_Caracal_2
{
author="BRAF TEAM";
_generalMacro="BRAF_Caracal_5";
_generalMacro="BRAF_Caracal_8";
displayName="H-36 Caracal (SAR)";
editorPreview="\braf\braf_insignia\editorpreview\air\BRAF_Caracal_8.jpg";
faction="BRAF_FAB";
@@ -2012,14 +2039,20 @@ class BRAF_Caracal_8: BRAF_Caracal_2
"Hoist_Hide",1,
"SEAT_Hide",1,
"Flir_Hide",0,
"REVO_Hide",1
"REVO_Hide",1,
"UH15_Hide",0,
"AH15_Hide",1,
"Door_L_1",1,
"Door_L_2",1,
"Door_R_1",1,
"Door_R_2",1
};
};
class BRAF_Caracal_9: BRAF_Caracal_3
{
author="BRAF TEAM";
_generalMacro="BRAF_Caracal_6";
displayName="H-36 Caracal (Transport)";
_generalMacro="BRAF_Caracal_9";
displayName="H-36 Caracal (Heavy Cargo)";
editorPreview="\braf\braf_insignia\editorpreview\air\BRAF_Caracal_9.jpg";
faction="BRAF_FAB";
crew="braf_characters_aviation_air_force_pilot";
@@ -2085,6 +2118,103 @@ class BRAF_Caracal_9: BRAF_Caracal_3
"Hoist_Hide",0,
"SEAT_Hide",0,
"Flir_Hide",1,
"REVO_Hide",0
"REVO_Hide",0,
"UH15_Hide",0,
"AH15_Hide",1
};
};
class BRAF_Caracal_10: BRAF_Caracal_2
{
author="BRAF TEAM";
_generalMacro="BRAF_Caracal_10";
displayName="AH-15B Super Cougar (ASW)";
//editorPreview="\braf\braf_insignia\editorpreview\air\BRAF_Caracal_10.jpg";
faction="BRAF_NAVY";
canFloat=1;
waterDamageEngine=0.2;
waterEffect="HeliWater";
waterLeakiness=50;
waterPPInVehicle=1;
waterResistance=1;
waterResistanceCoef=0.5;
transportSoldier=0;
typicalCargo[]={};
cargoProxyIndexes[]={};
getInProxyOrder[]={};
class EventHandlers: EventHandlers
{
init="if (local (_this select 0)) then {[(_this select 0), """", [], false] call bis_fnc_initVehicle; [(_this select 0), ""Init""] call BRAF_fnc_efs;};";
};
class UserActions
{
class Arm_EFS
{
displayname="<t color='#ffaa00'> Arm EFS </t>";
position="window_pos";
showWindow=1;
radius=10;
priority=1;
onlyForPlayer=0;
condition="getNumber (configOf this >> 'canFloat') == 1 AND this animationphase 'EFS_Cover_Hide' > 0.9 AND (player in crew this) AND ((this getVariable ['braf_efs_state','SAFE']) == 'SAFE')";
statement="[this, ""arm""] call BRAF_fnc_efs";
};
class Disarm_EFS: Arm_EFS
{
displayname="<t color='#ffaa00'> Disarm EFS </t>";
condition="getNumber (configOf this >> 'canFloat') == 1 AND this animationphase 'EFS_Cover_Hide' > 0.9 AND (player in crew this) AND ((this getVariable ['braf_efs_state','ARMED']) == 'ARMED')";
statement="[this, ""disarm""] call BRAF_fnc_efs";
};
class Deploy_Floats: Arm_EFS
{
displayname="<t color='#b31d00'> Deploy Floats </t>";
condition="getNumber (configOf this >> 'canFloat') == 1 AND this animationphase 'EFS_Cover_Hide' > 0.9 AND (player in crew this) AND ((this getVariable ['braf_efs_state','ARMED']) == 'ARMED')";
statement="[this, ""deployfloats""] call BRAF_fnc_efs";
};
class NVG_ON
{
displayname="Turn NVG lights on";
position="window_pos";
showWindow=1;
radius=5;
priority=0;
onlyForPlayer=0;
condition="this animationphase 'NVG_Hide' > 0.9 AND (player in crew this)";
statement="this animate ['NVG_Hide',0]";
};
class NVG_OFF: NVG_ON
{
displayname="Turn NVG lights off";
condition="this animationphase 'NVG_Hide' < 0.1 AND (player in crew this)";
statement="this animate ['NVG_Hide',1]";
};
};
class CargoTurret;
class Turrets: Turrets
{
class BRAF_CopilotTurret: BRAF_CopilotTurret{};
class BRAF_Crew_Chief_Turret: BRAF_Crew_Chief_Turret{};
class BRAF_Mansup_Gunner_Turret: BRAF_Crew_Chief_Turret
{
gunnerName="MANSUP Operator";
gunnerCompartments="Compartment2";
proxyIndex=3;
};
};
textureList[]=
{
"HU2",1
};
animationList[]=
{
"EFS_Hide",0,
"EFS_Cover_Hide",1,
"SAR_Hide",1,
"Pole_Hide",1,
"Hoist_Hide",0,
"SEAT_Hide",1,
"Flir_Hide",0,
"REVO_Hide",1,
"UH15_Hide",1,
"AH15_Hide",0
};
};
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -80,6 +80,9 @@ class CfgSkeletons
"EFS_cover","",
"EFS","EFS_cover",
"UH15","",
"AH15","",
"SAR","damagehide",
"hoist_hook","SAR",
@@ -900,6 +903,32 @@ class CfgModels
memory=0;
hideValue=1;
};
class UH15_Hide
{
source="UH15_Hide";
selection="uh15";
type="hide";
sourceAddress="clamp";
minPhase=0;
maxPhase=1;
minValue=0;
maxValue=1;
memory=0;
hideValue=1;
};
class AH15_Hide
{
source="AH15_Hide";
selection="ah15";
type="hide";
sourceAddress="clamp";
minPhase=0;
maxPhase=1;
minValue=0;
maxValue=1;
memory=0;
hideValue=1;
};
class mainTurret
{
type="rotationy";
Binary file not shown.
Binary file not shown.
+1 -1
View File
@@ -31,7 +31,7 @@ class CfgVehicles
class StaticShip;
class BRAF_140: StaticShip
{
model="BRAF_SHIPS\BRAF_A140\BRAF_A140.p3d";
model="BRAF\BRAF_SHIPS\BRAF_A140\BRAF_A140.p3d";
displayName="NAM A-140 Atlântico";
destrType=0;
faction="BRAF_NAVY";
+4 -4
View File
@@ -1,6 +1,6 @@
//class StageTI
//{
// texture="BRAF_SHIPS\BRAF_A140\data\camo1_ti_ca.paa";
// texture="braf\braf_ships\BRAF_A140\data\camo1_ti_ca.paa";
//};
ambient[]={0.75,0.75,0.75,1.0};
diffuse[]={0.75,0.75,0.75,1.0};
@@ -12,7 +12,7 @@ PixelShaderID="Super";
VertexShaderID="Super";
class Stage1
{
texture="BRAF_SHIPS\BRAF_A140\data\camo1_nohq.paa";
texture="braf\braf_ships\BRAF_A140\data\camo1_nohq.paa";
uvSource="tex";
};
class Stage2
@@ -34,12 +34,12 @@ class Stage3
};
class Stage4
{
texture="BRAF_SHIPS\BRAF_A140\data\camo1_as.paa";
texture="braf\braf_ships\BRAF_A140\data\camo1_as.paa";
uvSource="tex";
};
class Stage5
{
texture="BRAF_SHIPS\BRAF_A140\data\camo1_smdi.paa";
texture="braf\braf_ships\BRAF_A140\data\camo1_smdi.paa";
uvSource="tex";
};
class Stage6
+4 -4
View File
@@ -1,6 +1,6 @@
//class StageTI
//{
// texture="BRAF_SHIPS\BRAF_A140\data\camo2_ti_ca.paa";
// texture="braf\braf_ships\BRAF_A140\data\camo2_ti_ca.paa";
//};
ambient[]={0.75,0.75,0.75,1.0};
diffuse[]={0.75,0.75,0.75,1.0};
@@ -12,7 +12,7 @@ PixelShaderID="Super";
VertexShaderID="Super";
class Stage1
{
texture="BRAF_SHIPS\BRAF_A140\data\camo2_nohq.paa";
texture="braf\braf_ships\BRAF_A140\data\camo2_nohq.paa";
uvSource="tex";
};
class Stage2
@@ -34,12 +34,12 @@ class Stage3
};
class Stage4
{
texture="BRAF_SHIPS\BRAF_A140\data\camo2_as.paa";
texture="braf\braf_ships\BRAF_A140\data\camo2_as.paa";
uvSource="tex";
};
class Stage5
{
texture="BRAF_SHIPS\BRAF_A140\data\camo2_smdi.paa";
texture="braf\braf_ships\BRAF_A140\data\camo2_smdi.paa";
uvSource="tex";
};
class Stage6
+4 -4
View File
@@ -1,6 +1,6 @@
//class StageTI
//{
// texture="BRAF_SHIPS\BRAF_A140\data\camo3_ti_ca.paa";
// texture="braf\braf_ships\BRAF_A140\data\camo3_ti_ca.paa";
//};
ambient[]={0.75,0.75,0.75,1.0};
diffuse[]={0.75,0.75,0.75,1.0};
@@ -12,7 +12,7 @@ PixelShaderID="Super";
VertexShaderID="Super";
class Stage1
{
texture="BRAF_SHIPS\BRAF_A140\data\camo3_nohq.paa";
texture="braf\braf_ships\BRAF_A140\data\camo3_nohq.paa";
uvSource="tex";
};
class Stage2
@@ -34,12 +34,12 @@ class Stage3
};
class Stage4
{
texture="BRAF_SHIPS\BRAF_A140\data\camo3_as.paa";
texture="braf\braf_ships\BRAF_A140\data\camo3_as.paa";
uvSource="tex";
};
class Stage5
{
texture="BRAF_SHIPS\BRAF_A140\data\camo3_smdi.paa";
texture="braf\braf_ships\BRAF_A140\data\camo3_smdi.paa";
uvSource="tex";
};
class Stage6