feat(air): integrate standalone FLIR optics into Fennec and Caracal SAR
This commit is contained in:
@@ -0,0 +1,24 @@
|
|||||||
|
# Changelog
|
||||||
|
|
||||||
|
## 2026-06-24
|
||||||
|
|
||||||
|
### braf_air
|
||||||
|
|
||||||
|
- Adicionada dependência de `BRAF_Optics_Air` em `braf_air/config.cpp`.
|
||||||
|
- Integrado o FLIR standalone nas duas variantes do Fennec com torreta (`BRAF_Fennec_dynamicLoadout_base` e `BRAF_Fennec_SAR_base`).
|
||||||
|
- Integrado o FLIR standalone no Caracal SAR pela base `BRAF_Caracal_2`, propagando para as variantes herdadas `BRAF_Caracal_5` e `BRAF_Caracal_8`.
|
||||||
|
- Padronizados os limites de câmera usados no optics para o mesmo conjunto adotado no A-29 e no Fennec: `minElev=-120`, `maxElev=30`, `initElev=0`, `minTurn=-180`, `maxTurn=180`, `initTurn=0`.
|
||||||
|
- Substituído o optics vanilla `RscOptics_Heli_Attack_01_gunner` por `BRAF_RscOptics_Air_FLIR`.
|
||||||
|
- Substituídos os modelos vanilla de optics pelos modelos standalone `StarSaphire` em `WFOV`, `MFOV`, `NFOV`, `NFOV 2X` e `NFOV 4X`.
|
||||||
|
|
||||||
|
### braf_air2
|
||||||
|
|
||||||
|
- O A-29 deixou de usar o optics como módulo interno e passou a consumir o addon standalone `braf_optics_air`.
|
||||||
|
- Removidos de `braf_air2` os scripts, funções, assets, `p3d`, `paa`, include de config e referências legadas do optics interno.
|
||||||
|
- Atualizada a torreta do A-29 para usar `BRAF_RscOptics_Air_FLIR` e os modelos externos de `braf_optics_air`.
|
||||||
|
- Resultado: `braf_air2` deixou de ser dono do runtime de optics e passou a depender do módulo independente, facilitando o reuso por outras aeronaves.
|
||||||
|
|
||||||
|
### Referências
|
||||||
|
|
||||||
|
- `5df0649` `refactor(air2): move A-29 optics to standalone addon`
|
||||||
|
- `4da55a1` `fix(optics): keep standalone air FLIR module independent`
|
||||||
@@ -1390,14 +1390,14 @@ class BRAF_Caracal_2: BRAF_Caracal_Base
|
|||||||
LODTurnedIn=1100;
|
LODTurnedIn=1100;
|
||||||
LODTurnedOut=1100;
|
LODTurnedOut=1100;
|
||||||
minElev=-120;
|
minElev=-120;
|
||||||
maxElev=20;
|
maxElev=30;
|
||||||
initElev=0;
|
initElev=0;
|
||||||
minTurn=-180;
|
minTurn=-180;
|
||||||
maxTurn=180;
|
maxTurn=180;
|
||||||
initTurn=0;
|
initTurn=0;
|
||||||
gunnerName="Crew Chief";
|
gunnerName="Crew Chief";
|
||||||
isCopilot=0;
|
isCopilot=0;
|
||||||
turretInfoType="RscOptics_Heli_Attack_01_gunner";
|
turretInfoType="BRAF_RscOptics_Air_FLIR";
|
||||||
weapons[]=
|
weapons[]=
|
||||||
{
|
{
|
||||||
"Laserdesignator_mounted"
|
"Laserdesignator_mounted"
|
||||||
@@ -1431,40 +1431,66 @@ class BRAF_Caracal_2: BRAF_Caracal_Base
|
|||||||
{
|
{
|
||||||
class Wide
|
class Wide
|
||||||
{
|
{
|
||||||
opticsDisplayName="W";
|
opticsDisplayName="WFOV";
|
||||||
initAngleX=0;
|
initAngleX=0;
|
||||||
minAngleX=-30;
|
minAngleX=-120;
|
||||||
maxAngleX=30;
|
maxAngleX=30;
|
||||||
initAngleY=0;
|
initAngleY=0;
|
||||||
minAngleY=-100;
|
minAngleY=-180;
|
||||||
maxAngleY=100;
|
maxAngleY=180;
|
||||||
initFov=0.46599999;
|
initFov=0.5236;
|
||||||
minFov=0.46599999;
|
minFov=0.5236;
|
||||||
maxFov=0.46599999;
|
maxFov=0.5236;
|
||||||
visionMode[]=
|
visionMode[]=
|
||||||
{
|
{
|
||||||
"Normal",
|
"Normal",
|
||||||
"NVG",
|
|
||||||
"Ti"
|
"Ti"
|
||||||
};
|
};
|
||||||
thermalMode[]={0,1};
|
thermalMode[]={0,1};
|
||||||
gunnerOpticsModel="\A3\Weapons_F_Beta\Reticle\Heli_Attack_01_Optics_Gunner_wide_F";
|
thermalNoise[]=
|
||||||
|
{
|
||||||
|
0.5,
|
||||||
|
1.25,
|
||||||
|
2.5,
|
||||||
|
0.75,
|
||||||
|
1,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0.95
|
||||||
|
};
|
||||||
|
gunnerOpticsModel="\braf\braf_optics_air\StarSaphire\braf_StarSaphire_w.p3d";
|
||||||
|
gunnerOpticsEffect[]={};
|
||||||
|
directionStabilized=1;
|
||||||
};
|
};
|
||||||
class Medium: Wide
|
class Medium: Wide
|
||||||
{
|
{
|
||||||
opticsDisplayName="M";
|
opticsDisplayName="MFOV";
|
||||||
initFov=0.093000002;
|
initFov=0.0593;
|
||||||
minFov=0.093000002;
|
minFov=0.0593;
|
||||||
maxFov=0.093000002;
|
maxFov=0.0593;
|
||||||
gunnerOpticsModel="\A3\Weapons_F_Beta\Reticle\Heli_Attack_01_Optics_Gunner_medium_F";
|
gunnerOpticsModel="\braf\braf_optics_air\StarSaphire\braf_StarSaphire_m.p3d";
|
||||||
};
|
};
|
||||||
class Narrow: Wide
|
class Narrow: Wide
|
||||||
{
|
{
|
||||||
opticsDisplayName="N";
|
opticsDisplayName="NFOV";
|
||||||
gunnerOpticsModel="\A3\Weapons_F_Beta\Reticle\Heli_Attack_01_Optics_Gunner_narrow_F";
|
gunnerOpticsModel="\braf\braf_optics_air\StarSaphire\braf_StarSaphire_n.p3d";
|
||||||
initFov=0.028999999;
|
initFov=0.0140;
|
||||||
minFov=0.028999999;
|
minFov=0.0140;
|
||||||
maxFov=0.028999999;
|
maxFov=0.0140;
|
||||||
|
};
|
||||||
|
class Narrower: Narrow
|
||||||
|
{
|
||||||
|
opticsDisplayName="NFOV 2X";
|
||||||
|
initFov=0.0070;
|
||||||
|
minFov=0.0070;
|
||||||
|
maxFov=0.0070;
|
||||||
|
};
|
||||||
|
class UltraNarrow: Narrow
|
||||||
|
{
|
||||||
|
opticsDisplayName="NFOV 4X";
|
||||||
|
initFov=0.0035;
|
||||||
|
minFov=0.0035;
|
||||||
|
maxFov=0.0035;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
class OpticsOut
|
class OpticsOut
|
||||||
|
|||||||
@@ -1142,7 +1142,7 @@ class BRAF_Fennec_dynamicLoadout_base: BRAF_Fennec_Base
|
|||||||
initTurn=0;
|
initTurn=0;
|
||||||
gunnerName="$STR_A3_COPILOT";
|
gunnerName="$STR_A3_COPILOT";
|
||||||
isCopilot=1;
|
isCopilot=1;
|
||||||
turretInfoType="RscOptics_Heli_Attack_01_gunner";
|
turretInfoType="BRAF_RscOptics_Air_FLIR";
|
||||||
weapons[]=
|
weapons[]=
|
||||||
{
|
{
|
||||||
"Laserdesignator_mounted"
|
"Laserdesignator_mounted"
|
||||||
@@ -1178,20 +1178,19 @@ class BRAF_Fennec_dynamicLoadout_base: BRAF_Fennec_Base
|
|||||||
{
|
{
|
||||||
class Wide
|
class Wide
|
||||||
{
|
{
|
||||||
opticsDisplayName="W";
|
opticsDisplayName="WFOV";
|
||||||
initAngleX=0;
|
initAngleX=0;
|
||||||
minAngleX=-30;
|
minAngleX=-120;
|
||||||
maxAngleX=30;
|
maxAngleX=30;
|
||||||
initAngleY=0;
|
initAngleY=0;
|
||||||
minAngleY=-100;
|
minAngleY=-180;
|
||||||
maxAngleY=100;
|
maxAngleY=180;
|
||||||
initFov=0.46599999;
|
initFov=0.5236;
|
||||||
minFov=0.46599999;
|
minFov=0.5236;
|
||||||
maxFov=0.46599999;
|
maxFov=0.5236;
|
||||||
visionMode[]=
|
visionMode[]=
|
||||||
{
|
{
|
||||||
"Normal",
|
"Normal",
|
||||||
"NVG",
|
|
||||||
"Ti"
|
"Ti"
|
||||||
};
|
};
|
||||||
thermalMode[]={0,1};
|
thermalMode[]={0,1};
|
||||||
@@ -1206,23 +1205,39 @@ class BRAF_Fennec_dynamicLoadout_base: BRAF_Fennec_Base
|
|||||||
0, //static,
|
0, //static,
|
||||||
0.95 //blurCoef
|
0.95 //blurCoef
|
||||||
};
|
};
|
||||||
gunnerOpticsModel="\A3\Weapons_F_Beta\Reticle\Heli_Attack_01_Optics_Gunner_wide_F";
|
gunnerOpticsModel="\braf\braf_optics_air\StarSaphire\braf_StarSaphire_w.p3d";
|
||||||
|
gunnerOpticsEffect[]={};
|
||||||
|
directionStabilized=1;
|
||||||
};
|
};
|
||||||
class Medium: Wide
|
class Medium: Wide
|
||||||
{
|
{
|
||||||
opticsDisplayName="M";
|
opticsDisplayName="MFOV";
|
||||||
initFov=0.093000002;
|
initFov=0.0593;
|
||||||
minFov=0.093000002;
|
minFov=0.0593;
|
||||||
maxFov=0.093000002;
|
maxFov=0.0593;
|
||||||
gunnerOpticsModel="\A3\Weapons_F_Beta\Reticle\Heli_Attack_01_Optics_Gunner_medium_F";
|
gunnerOpticsModel="\braf\braf_optics_air\StarSaphire\braf_StarSaphire_m.p3d";
|
||||||
};
|
};
|
||||||
class Narrow: Wide
|
class Narrow: Wide
|
||||||
{
|
{
|
||||||
opticsDisplayName="N";
|
opticsDisplayName="NFOV";
|
||||||
gunnerOpticsModel="\A3\Weapons_F_Beta\Reticle\Heli_Attack_01_Optics_Gunner_narrow_F";
|
gunnerOpticsModel="\braf\braf_optics_air\StarSaphire\braf_StarSaphire_n.p3d";
|
||||||
initFov=0.028999999;
|
initFov=0.0140;
|
||||||
minFov=0.028999999;
|
minFov=0.0140;
|
||||||
maxFov=0.028999999;
|
maxFov=0.0140;
|
||||||
|
};
|
||||||
|
class Narrower: Narrow
|
||||||
|
{
|
||||||
|
opticsDisplayName="NFOV 2X";
|
||||||
|
initFov=0.0070;
|
||||||
|
minFov=0.0070;
|
||||||
|
maxFov=0.0070;
|
||||||
|
};
|
||||||
|
class UltraNarrow: Narrow
|
||||||
|
{
|
||||||
|
opticsDisplayName="NFOV 4X";
|
||||||
|
initFov=0.0035;
|
||||||
|
minFov=0.0035;
|
||||||
|
maxFov=0.0035;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
class OpticsOut
|
class OpticsOut
|
||||||
@@ -1462,7 +1477,7 @@ class BRAF_Fennec_SAR_base: BRAF_Fennec_Base
|
|||||||
initTurn=0;
|
initTurn=0;
|
||||||
gunnerName="$STR_A3_COPILOT";
|
gunnerName="$STR_A3_COPILOT";
|
||||||
isCopilot=1;
|
isCopilot=1;
|
||||||
turretInfoType="RscOptics_Heli_Attack_01_gunner";
|
turretInfoType="BRAF_RscOptics_Air_FLIR";
|
||||||
weapons[]=
|
weapons[]=
|
||||||
{
|
{
|
||||||
"Laserdesignator_mounted"
|
"Laserdesignator_mounted"
|
||||||
@@ -1497,40 +1512,66 @@ class BRAF_Fennec_SAR_base: BRAF_Fennec_Base
|
|||||||
{
|
{
|
||||||
class Wide
|
class Wide
|
||||||
{
|
{
|
||||||
opticsDisplayName="W";
|
opticsDisplayName="WFOV";
|
||||||
initAngleX=0;
|
initAngleX=0;
|
||||||
minAngleX=-30;
|
minAngleX=-120;
|
||||||
maxAngleX=30;
|
maxAngleX=30;
|
||||||
initAngleY=0;
|
initAngleY=0;
|
||||||
minAngleY=-100;
|
minAngleY=-180;
|
||||||
maxAngleY=100;
|
maxAngleY=180;
|
||||||
initFov=0.46599999;
|
initFov=0.5236;
|
||||||
minFov=0.46599999;
|
minFov=0.5236;
|
||||||
maxFov=0.46599999;
|
maxFov=0.5236;
|
||||||
visionMode[]=
|
visionMode[]=
|
||||||
{
|
{
|
||||||
"Normal",
|
"Normal",
|
||||||
"NVG",
|
|
||||||
"Ti"
|
"Ti"
|
||||||
};
|
};
|
||||||
thermalMode[]={0,1};
|
thermalMode[]={0,1};
|
||||||
gunnerOpticsModel="\A3\Weapons_F_Beta\Reticle\Heli_Attack_01_Optics_Gunner_wide_F";
|
thermalNoise[]=
|
||||||
|
{
|
||||||
|
0.5,
|
||||||
|
1.25,
|
||||||
|
2.5,
|
||||||
|
0.75,
|
||||||
|
1,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0.95
|
||||||
|
};
|
||||||
|
gunnerOpticsModel="\braf\braf_optics_air\StarSaphire\braf_StarSaphire_w.p3d";
|
||||||
|
gunnerOpticsEffect[]={};
|
||||||
|
directionStabilized=1;
|
||||||
};
|
};
|
||||||
class Medium: Wide
|
class Medium: Wide
|
||||||
{
|
{
|
||||||
opticsDisplayName="M";
|
opticsDisplayName="MFOV";
|
||||||
initFov=0.093000002;
|
initFov=0.0593;
|
||||||
minFov=0.093000002;
|
minFov=0.0593;
|
||||||
maxFov=0.093000002;
|
maxFov=0.0593;
|
||||||
gunnerOpticsModel="\A3\Weapons_F_Beta\Reticle\Heli_Attack_01_Optics_Gunner_medium_F";
|
gunnerOpticsModel="\braf\braf_optics_air\StarSaphire\braf_StarSaphire_m.p3d";
|
||||||
};
|
};
|
||||||
class Narrow: Wide
|
class Narrow: Wide
|
||||||
{
|
{
|
||||||
opticsDisplayName="N";
|
opticsDisplayName="NFOV";
|
||||||
gunnerOpticsModel="\A3\Weapons_F_Beta\Reticle\Heli_Attack_01_Optics_Gunner_narrow_F";
|
gunnerOpticsModel="\braf\braf_optics_air\StarSaphire\braf_StarSaphire_n.p3d";
|
||||||
initFov=0.028999999;
|
initFov=0.0140;
|
||||||
minFov=0.028999999;
|
minFov=0.0140;
|
||||||
maxFov=0.028999999;
|
maxFov=0.0140;
|
||||||
|
};
|
||||||
|
class Narrower: Narrow
|
||||||
|
{
|
||||||
|
opticsDisplayName="NFOV 2X";
|
||||||
|
initFov=0.0070;
|
||||||
|
minFov=0.0070;
|
||||||
|
maxFov=0.0070;
|
||||||
|
};
|
||||||
|
class UltraNarrow: Narrow
|
||||||
|
{
|
||||||
|
opticsDisplayName="NFOV 4X";
|
||||||
|
initFov=0.0035;
|
||||||
|
minFov=0.0035;
|
||||||
|
maxFov=0.0035;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
class OpticsOut
|
class OpticsOut
|
||||||
@@ -2120,4 +2161,4 @@ class BRAF_Fennec_SAR_FAB: BRAF_Fennec_SAR_base
|
|||||||
{
|
{
|
||||||
"FAB",1
|
"FAB",1
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -10,6 +10,7 @@ class CfgPatches {
|
|||||||
"braf_characters_army",
|
"braf_characters_army",
|
||||||
"BRAF_Insignia",
|
"BRAF_Insignia",
|
||||||
"BRAF_Soft",
|
"BRAF_Soft",
|
||||||
|
"BRAF_Optics_Air",
|
||||||
};
|
};
|
||||||
requiredVersion = 0.1;
|
requiredVersion = 0.1;
|
||||||
units[] = {
|
units[] = {
|
||||||
|
|||||||
Reference in New Issue
Block a user