Skip to content

Commit

Permalink
Missile Guidance Compats - CUP, GM, ARF
Browse files Browse the repository at this point in the history
  • Loading branch information
PabstMirror committed Feb 28, 2025
1 parent b860312 commit bd68904
Show file tree
Hide file tree
Showing 11 changed files with 837 additions and 0 deletions.
148 changes: 148 additions & 0 deletions addons/compat_cup_weapons/compat_cup_missileguidance/CfgAmmo.hpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,148 @@

#define ACE_MISSILE(MISSILE) class ace_missileguidance: EGVAR(missileguidance,DOUBLES(type,MISSILE)) { enabled = 1; }

class CfgAmmo {
class M_Titan_AA;
class MissileBase;
class M_Titan_AT;
class Bo_GBU12_LGB;

class CUP_M_9K32_Strela_2_AA: M_Titan_AA {
maneuvrability = 0;
ACE_MISSILE(Strela);
};

class CUP_M_9K38_Igla_AA: M_Titan_AA {
maneuvrability = 0;
ACE_MISSILE(Igla);
};

class CUP_M_9M17P_AT2_Falanga_AT: MissileBase {
maneuvrability = 0;
ACE_MISSILE(Falanga);
};

class CUP_M_9M17P_AT3_Sagger_AT: MissileBase {
maneuvrability = 0;
ACE_MISSILE(Fleyta);
};

class CUP_M_9M113_AT5_Spandrel_AT: M_Titan_AT {
maneuvrability = 0;
ACE_MISSILE(Konkurs);
};

class CUP_M_Shturm_9M114_AT6_Spiral_AT: MissileBase {
maneuvrability = 0;
ACE_MISSILE(Shturm);
};

class CUP_M_Ataka_V_9M120_AT9_Spiral_2_AT: MissileBase {
maneuvrability = 0;
ACE_MISSILE(Ataka);
};

class CUP_M_9K116_1_Bastion_AT10_Stabber_AT: MissileBase {
maneuvrability = 0;
ACE_MISSILE(Bastion);
};

class CUP_M_9M119M_Refleks_AT11_Sniper_AT: MissileBase {
maneuvrability = 0;
ACE_MISSILE(Refleks);
};

class CUP_M_9K115_2_AT13_Saxhorn_2_AT: MissileBase {
maneuvrability = 0;
ACE_MISSILE(Metis);
};

class CUP_M_9M133_1_AT14_Spriggan_AT: MissileBase {
maneuvrability = 0;
ACE_MISSILE(Kornet);
};

class CUP_M_9M133_1_AT14_Spriggan_HE: CUP_M_9M133_1_AT14_Spriggan_AT {
maneuvrability = 0;
ACE_MISSILE(Kornet);
};

class CUP_M_9K121_Vikhr_AT16_Scallion_AT: MissileBase {
maneuvrability = 0;
ACE_MISSILE(Vikhr);
};

class CUP_M_KH29L_AT: MissileBase {
maneuvrability = 0;
ACE_MISSILE(KH29);
};

class CUP_M_AGM_114K_Hellfire_II_AT: MissileBase {
maneuvrability = 0;
ACE_MISSILE(Hellfire);
};

class CUP_M_AGM_114L_Hellfire_II_AT: MissileBase {
class ace_missileguidance: EGVAR(missileguidance,type_Hellfire) {
enabled = 1;
// Guidance type for munitions
defaultSeekerType = "MillimeterWaveRadar";
seekerTypes[] = { "MillimeterWaveRadar" };

seekLastTargetPos = 0; // seek last target position [if seeker loses LOS of target, continue to last known pos]
seekerAngle = 70; // Angle in front of the missile which can be searched
seekerAccuracy = 1; // seeker accuracy multiplier

seekerMinRange = 1;
activeRadarEngageDistance = 1000;
seekerMaxRange = 2000; // distance that the hellfire internal radar can scan
};
};

class CUP_M_AIM_9L_Sidewinder_AA: MissileBase {
maneuvrability = 0;
ACE_MISSILE(Sidewinder);
};

class CUP_M_AIM_9L_Sidewinder_AA_INTERNAL:CUP_M_AIM_9L_Sidewinder_AA {
class ace_missileguidance: ace_missileguidance { enabled = 1; };
};

class CUP_M_Stinger_AA: MissileBase {
maneuvrability = 0;
ACE_MISSILE(Stinger);
};

class CUP_M_RBS70_AA: MissileBase {
maneuvrability = 0;
ACE_MISSILE(RBS70);
};

class CUP_AGM65pod_AT: MissileBase {
maneuvrability = 0;
ACE_MISSILE(Maverick);
};
class CUP_AGM65_AT: CUP_AGM65pod_AT {
class ace_missileguidance: ace_missileguidance { enabled = 1; };
};

class CUP_R_TOW_AT: M_Titan_AT {
maneuvrability = 0;
ACE_MISSILE(TOW);
};

class CUP_R_TOW2_AT: CUP_R_TOW_AT {
maneuvrability = 0;
ACE_MISSILE(TOW);
};

class CUP_Bo_GBU12_LGB: Bo_GBU12_LGB {
maneuvrability = 0; // no maneuvrability so that default guidance doesnt work
ACE_MISSILE(Paveway);
};

class CUP_Bo_KAB250_LGB: Bo_GBU12_LGB {
maneuvrability = 0; // no maneuvrability so that default guidance doesnt work
ACE_MISSILE(KAB);
};
};
22 changes: 22 additions & 0 deletions addons/compat_cup_weapons/compat_cup_missileguidance/config.cpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
#include "script_component.hpp"

class CfgPatches {
class SUBADDON {
name = COMPONENT_NAME;
units[] = {};
weapons[] = {};
requiredVersion = REQUIRED_VERSION;
requiredAddons[] = {
"ace_missileguidance",
"CUP_Weapons_LoadOrder"
};
skipWhenMissingDependencies = 1;
author = ECSTRING(common,ACETeam);
url = ECSTRING(main,URL);
VERSION_CONFIG;
addonRootClass = QUOTE(ADDON);
};
};

#include "\z\ace\addons\missileguidance\script_missileBases.hpp"
#include "CfgAmmo.hpp"
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
#define SUBCOMPONENT missileguidance
#define SUBCOMPONENT_BEAUTIFIED Missile Guidance
#include "..\script_component.hpp"
117 changes: 117 additions & 0 deletions addons/compat_gm/compat_gm_missileguidance/CfgAmmo.hpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,117 @@

#define ACE_MISSILE(MISSILE) class ace_missileguidance: EGVAR(missileguidance,DOUBLES(type,MISSILE)) { enabled = 1; }

class CfgAmmo {
class gm_missile_saclos_base;
// Bastion
class gm_missile_bastion_base: gm_missile_saclos_base {
maneuvrability = 0;
ACE_MISSILE(Bastion);
};
class gm_missile_bastion_heat_9M117: gm_missile_bastion_base {
class ace_missileguidance: ace_missileguidance {
enabled = 1;
pitchRate = 25;
yawRate = 25;
lineGainP = 6;
lineGainD = 5;
showTrail = 0;
};
};
class gm_missile_bastion_heat_9M117M: gm_missile_bastion_base {
class ace_missileguidance: ace_missileguidance {
enabled = 1;
pitchRate = 25;
yawRate = 25;
lineGainP = 6;
lineGainD = 5;
showTrail = 0;
};
};
class gm_missile_bastion_heat_9M117M1: gm_missile_bastion_base {
class ace_missileguidance: ace_missileguidance {
enabled = 1;
pitchRate = 25;
yawRate = 25;
lineGainP = 6;
lineGainD = 5;
showTrail = 0;
};
};
// 9K111 missile
class gm_missile_fagot_base: gm_missile_saclos_base {
maneuvrability = 0;
ACE_MISSILE(Fagot);
};
class gm_missile_fagot_heat_9m111: gm_missile_fagot_base {
class ace_missileguidance: ace_missileguidance {
enabled = 1;
showTrail = 0;
pitchRate = 25;
yawRate = 25;
lineGainP = 7;
lineGainD = 4;
};
};
// HOT missile
class gm_missile_hot_base: gm_missile_saclos_base {
maneuvrability = 0;
ACE_MISSILE(Hot);
};
class gm_missile_hot_heat_dm72: gm_missile_hot_base {
class ace_missileguidance: ace_missileguidance {
enabled = 1;
pitchRate = 40;
yawRate = 40;
};
};
class gm_missile_hot_heat_dm102: gm_missile_hot_base {
class ace_missileguidance: ace_missileguidance {
enabled = 1;
};
};
// Malyutka
class gm_missile_maljutka_base: gm_missile_saclos_base {
maneuvrability = 0;
ACE_MISSILE(Malyutka);
};
class gm_missile_maljutka_heat_9m14: gm_missile_maljutka_base {
class ace_missileguidance: ace_missileguidance {
enabled = 1;
showTrail = 1;
};
};
class gm_missile_maljutka_heat_9m14m: gm_missile_maljutka_base {
class ace_missileguidance: ace_missileguidance {
enabled = 1;
showTrail = 1;
};
};
// Milan - problem with SCALOS aiming
/* class gm_missile_milan_base: gm_missile_saclos_base {
maneuvrability = 0;
ACE_MISSILE(Milan);
};
class gm_missile_milan_heat_dm82: gm_missile_milan_base {
class ace_missileguidance: ace_missileguidance {
enabled = 0;
initialPitch = 0.4;
};
};
class gm_missile_milan_heat_dm92: gm_missile_milan_base {
class ace_missileguidance: ace_missileguidance {
enabled = 0;
initialPitch = 0.4;
};
};*/
// AA Missiles
class gm_rocket_72mm_HE_9m32m_base;
class gm_rocket_72mm_HE_9m32m: gm_rocket_72mm_HE_9m32m_base {
maneuvrability = 0;
ACE_MISSILE(Strela);
};
class gm_rocket_70mm_HE_m585_base;
class gm_rocket_70mm_HE_m585: gm_rocket_70mm_HE_m585_base {
ACE_MISSILE(Redeye);
};
};
26 changes: 26 additions & 0 deletions addons/compat_gm/compat_gm_missileguidance/config.cpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
#include "script_component.hpp"

class CfgPatches {
class SUBADDON {
name = COMPONENT_NAME;
units[] = {};
weapons[] = {};
requiredVersion = REQUIRED_VERSION;
requiredAddons[] = {
"ace_missileguidance",
"gm_weapons_ammo",
"gm_weapons_launchers_fagot",
"gm_weapons_launchers_hot",
"gm_weapons_launchers_maljutka",
"gm_weapons_launchers_milan"
};
skipWhenMissingDependencies = 1;
author = ECSTRING(common,ACETeam);
url = ECSTRING(main,URL);
VERSION_CONFIG;
addonRootClass = QUOTE(ADDON);
};
};

#include "\z\ace\addons\missileguidance\script_missileBases.hpp"
#include "CfgAmmo.hpp"
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
#define SUBCOMPONENT missileguidance
#define SUBCOMPONENT_BEAUTIFIED Missile Guidance
#include "..\script_component.hpp"
Loading

0 comments on commit bd68904

Please sign in to comment.