diff --git a/addons/common/CfgVehicles.hpp b/addons/common/CfgVehicles.hpp index 45f384eaf8..8300adb0c1 100644 --- a/addons/common/CfgVehicles.hpp +++ b/addons/common/CfgVehicles.hpp @@ -100,7 +100,7 @@ class CfgVehicles { transportMaxWeapons = 9001; transportMaxMagazines = 9001; transportMaxItems = 9001; - maximumload = 2000; + maximumload = 9001; class TransportWeapons {}; class TransportMagazines {}; diff --git a/addons/optics/CfgRscTitles.hpp b/addons/optics/CfgRscTitles.hpp index ec92a9a3cc..f48749f09d 100644 --- a/addons/optics/CfgRscTitles.hpp +++ b/addons/optics/CfgRscTitles.hpp @@ -12,8 +12,6 @@ class RscInGameUI { class ACE_RscWeaponZeroing: RscWeaponZeroing { controls[] = {"CA_Zeroing","CA_FOVMode","ACE_DrawReticleHelper","ACE_ScriptedReticle"}; - class CA_Zeroing: CA_Zeroing {}; - class CA_FOVMode: RscOpticsValue { // idea by Taosenai. Apparently this can be used via isNil check to determine wheter the scope or the kolimator is used idc = 154; style = 2; @@ -42,11 +40,24 @@ class RscInGameUI { }; }; - class ACE_RscWeaponZeroingPIP: ACE_RscWeaponZeroing { + class ACE_RscWeapon_base: RscWeaponZeroing { controls[] = {"CA_Zeroing","CA_FOVMode","ACE_DrawReticleHelper","ReticleDay","ReticleNight","BodyNight","BodyDay"}; // don't change this order - class ACE_DrawReticleHelper: ACE_DrawReticleHelper { - onDraw = QUOTE([ctrlParent (_this select 0)] call DFUNC(onDrawScopePIP)); + class CA_FOVMode: RscOpticsValue { // idea by Taosenai. Apparently this can be used via isNil check to determine wheter the scope or the kolimator is used + idc = 154; + style = 2; + colorText[] = {0,0,0,0}; + x = 0; + y = 0; + w = 0; + h = 0; + }; + + class ACE_DrawReticleHelper: RscMapControl { + onDraw = QUOTE([ctrlParent (_this select 0)] call DFUNC(onDrawScope2D)); + idc = -1; + w = 0; + h = 0; }; #define SIZEX 0.76/(getResolution select 5) @@ -55,7 +66,7 @@ class RscInGameUI { style = 48; size = 0; sizeEx = 1; - text = QUOTE(PATHTOF(reticles\hamr-reticle65_ca.paa)); + text = ""; colorText[] = {1,1,1,0}; colorBackground[] = {0,0,0,0}; x = safezoneX+0.5*safezoneW-0.5*SIZEX; @@ -66,13 +77,13 @@ class RscInGameUI { class ReticleNight: ReticleDay { idc = 1713002; - text = QUOTE(PATHTOF(reticles\hamr-reticle65Illum_ca.paa)); + text = ""; }; #define SIZEX 2*0.76/(getResolution select 5) class BodyDay: ReticleDay { idc = 1713005; - text = QUOTE(PATHTOF(reticles\hamr-body_ca.paa)); + text = ""; x = safezoneX+0.5*safezoneW-0.5*SIZEX; y = safezoneY+0.5*safezoneH-0.5*SIZEX*safezoneW/safezoneH; w = SIZEX; @@ -81,9 +92,81 @@ class RscInGameUI { class BodyNight: BodyDay { idc = 1713006; + text = ""; + }; + }; + + class ACE_RscWeapon_Hamr: ACE_RscWeapon_base { + class ReticleDay: ReticleDay { + text = QUOTE(PATHTOF(reticles\hamr-reticle65_ca.paa)); + }; + + class ReticleNight: ReticleNight { + text = QUOTE(PATHTOF(reticles\hamr-reticle65Illum_ca.paa)); + }; + + class BodyDay: BodyDay { + text = QUOTE(PATHTOF(reticles\hamr-body_ca.paa)); + }; + + class BodyNight: BodyNight { text = QUOTE(PATHTOF(reticles\hamr-bodyNight_ca.paa)); }; }; + + class ACE_RscWeapon_Arco: ACE_RscWeapon_base { + class ReticleDay: ReticleDay { + text = QUOTE(PATHTOF(reticles\arco-reticle65_ca.paa)); + }; + + class ReticleNight: ReticleNight { + text = QUOTE(PATHTOF(reticles\arco-reticle65Illum_ca.paa)); + }; + + class BodyDay: BodyDay { + text = QUOTE(PATHTOF(reticles\arco-body_ca.paa)); + }; + + class BodyNight: BodyNight { + text = QUOTE(PATHTOF(reticles\arco-bodyNight_ca.paa)); + }; + }; + + class ACE_RscWeapon_MRCO: ACE_RscWeapon_base { + class ReticleDay: ReticleDay { + text = QUOTE(PATHTOF(reticles\mrco-reticle556_ca.paa)); + }; + + class ReticleNight: ReticleNight { + text = QUOTE(PATHTOF(reticles\mrco-reticle556Illum_ca.paa)); + }; + + class BodyDay: BodyDay { + text = QUOTE(PATHTOF(reticles\mrco-body_ca.paa)); + }; + + class BodyNight: BodyNight { + text = QUOTE(PATHTOF(reticles\mrco-bodyNight_ca.paa)); + }; + }; + + class ACE_RscWeapon_SOS: ACE_RscWeapon_base { + class ReticleDay: ReticleDay { + text = QUOTE(PATHTOF(reticles\sos-reticleMLR_ca.paa)); + }; + + class ReticleNight: ReticleNight { + text = QUOTE(PATHTOF(reticles\sos-reticleMLRIllum_ca.paa)); + }; + + class BodyDay: BodyDay { + text = QUOTE(PATHTOF(reticles\sos-body_ca.paa)); + }; + + class BodyNight: BodyNight { + text = QUOTE(PATHTOF(reticles\sos-bodyNight_ca.paa)); + }; + }; }; /* diff --git a/addons/optics/CfgVehicles.hpp b/addons/optics/CfgVehicles.hpp new file mode 100644 index 0000000000..745a6232cc --- /dev/null +++ b/addons/optics/CfgVehicles.hpp @@ -0,0 +1,19 @@ + +class CfgVehicles { + class Box_NATO_Support_F; + class ACE_Box_Misc: Box_NATO_Support_F { + class TransportItems { + MACRO_ADDITEM(ACE_optic_Hamr_2D,2); + MACRO_ADDITEM(ACE_optic_Hamr_PIP,2); + MACRO_ADDITEM(ACE_optic_Arco_2D,2); + MACRO_ADDITEM(ACE_optic_Arco_PIP,2); + MACRO_ADDITEM(ACE_optic_MRCO_2D,2); + MACRO_ADDITEM(ACE_optic_MRCO_PIP,2); + MACRO_ADDITEM(ACE_optic_SOS_2D,2); + MACRO_ADDITEM(ACE_optic_SOS_PIP,2); + MACRO_ADDITEM(ACE_optic_LRPS_2D,2); + MACRO_ADDITEM(ACE_optic_LRPS_PIP,2); + MACRO_ADDITEM(ACE_optic_DMS,2); + }; + }; +}; diff --git a/addons/optics/CfgWeapons.hpp b/addons/optics/CfgWeapons.hpp index ab4c2e76bb..8c2fd737bb 100644 --- a/addons/optics/CfgWeapons.hpp +++ b/addons/optics/CfgWeapons.hpp @@ -47,24 +47,20 @@ class CfgWeapons { }; }; - class ACE_optic_Hamr_PIP: optic_Hamr { + class ACE_optic_Hamr_2D: optic_Hamr { author = "$STR_ACE_Common_ACETeam"; - _generalMacro = "ACE_optic_Hamr_PIP"; + _generalMacro = "ACE_optic_Hamr_2D"; displayName = "$STR_A3_cfgWeapons_optic_Hamr0"; //@todo - picture = "\A3\weapons_F\Data\UI\gear_acco_hamr_CA.paa"; //@todo - model = "\A3\weapons_f_beta\acc\acco_hamr_F"; //@todo descriptionShort = "$STR_A3_cfgWeapons_optic_Hamr1"; //@todo - weaponInfoType = "ACE_RscWeaponZeroingPIP"; + weaponInfoType = "ACE_RscWeapon_Hamr"; class ItemInfo: ItemInfo { - modelOptics = QUOTE(PATHTOF(models\ace_optics_pip.p3d)); + modelOptics = QUOTE(PATHTOF(models\ace_optics_reticle90.p3d)); class OpticsModes: OpticsModes { class Hamr2Collimator: Hamr2Collimator {}; class Hamr2Scope: Hamr2Scope { - opticsDisplayName = "IHAMR"; // test?? - modelOptics = QUOTE(PATHTOF(models\ace_optics_pip.p3d)); useModelOptics = 1; opticsZoomInit = 0.0872664626; opticsZoomMax = 0.0872664626; @@ -77,9 +73,201 @@ class CfgWeapons { }; }; + class ACE_optic_Hamr_PIP: ACE_optic_Hamr_2D { + author = "$STR_ACE_Common_ACETeam"; + _generalMacro = "ACE_optic_Hamr_PIP"; + + class ItemInfo: ItemInfo { + modelOptics = QUOTE(PATHTOF(models\ace_optics_pip.p3d)); + }; + }; + + class optic_Arco: ItemCore { + class ItemInfo: InventoryOpticsItem_Base_F { + class OpticsModes { + class ARCO2collimator; + class ARCO2scope: ARCO2collimator {}; + }; + }; + }; + + class ACE_optic_Arco_2D: optic_Arco { + author = "$STR_ACE_Common_ACETeam"; + _generalMacro = "ACE_optic_Arco_2D"; + displayName = "$STR_A3_cfgWeapons_optic_Arco0"; //@todo + descriptionShort = "$STR_A3_cfgWeapons_optic_Arco1"; //@todo + weaponInfoType = "ACE_RscWeapon_Arco"; + + class ItemInfo: ItemInfo { + modelOptics = QUOTE(PATHTOF(models\ace_optics_reticle90.p3d)); + + class OpticsModes: OpticsModes { + class ARCO2collimator: ARCO2collimator {}; + class ARCO2scope: ARCO2scope { + useModelOptics = 1; + opticsZoomInit = 0.0872664626; + opticsZoomMax = 0.0872664626; + opticsZoomMin = 0.0872664626; + opticsPPEffects[] += {"ACE_OpticsRadBlur1"}; + opticsDisablePeripherialVision = 0; + visionMode[] = {"Normal"}; + }; + }; + }; + }; + + class ACE_optic_Arco_PIP: ACE_optic_Arco_2D { + author = "$STR_ACE_Common_ACETeam"; + _generalMacro = "ACE_optic_Arco_PIP"; + + class ItemInfo: ItemInfo { + modelOptics = QUOTE(PATHTOF(models\ace_optics_pip.p3d)); + }; + }; + + class optic_MRCO: ItemCore { + class ItemInfo: InventoryOpticsItem_Base_F { + class OpticsModes { + class MRCOcq; + class MRCOscope; + }; + }; + }; + + class ACE_optic_MRCO_2D: optic_MRCO { + author = "$STR_ACE_Common_ACETeam"; + _generalMacro = "ACE_optic_MRCO_2D"; + displayName = "$STR_A3_cfgWeapons_optic_Valdada0"; //@todo + descriptionShort = "$STR_A3_cfgWeapons_optic_Valdada1"; + weaponInfoType = "ACE_RscWeapon_MRCO"; + + class ItemInfo: ItemInfo { + modelOptics = QUOTE(PATHTOF(models\ace_optics_reticle90.p3d)); + + class OpticsModes: OpticsModes { + class MRCOcq: MRCOcq {}; + class MRCOscope: MRCOscope { + useModelOptics = 1; + opticsZoomInit = 0.0872664626; + opticsZoomMax = 0.0872664626; + opticsZoomMin = 0.0872664626; + opticsPPEffects[] += {"ACE_OpticsRadBlur1"}; + opticsDisablePeripherialVision = 0; + visionMode[] = {"Normal"}; + }; + }; + }; + }; + + class ACE_optic_MRCO_PIP: ACE_optic_MRCO_2D { + author = "$STR_ACE_Common_ACETeam"; + _generalMacro = "ACE_optic_MRCO_PIP"; + + class ItemInfo: ItemInfo { + modelOptics = QUOTE(PATHTOF(models\ace_optics_pip.p3d)); + }; + }; + + class optic_SOS: ItemCore { + class ItemInfo: InventoryOpticsItem_Base_F { + class OpticsModes { + class Snip; + class Iron; + }; + }; + }; + + class ACE_optic_SOS_2D: optic_SOS { + author = "$STR_ACE_Common_ACETeam"; + _generalMacro = "ACE_optic_SOS_2D"; + displayName = "$STR_A3_cfgWeapons_optic_SOS0"; // @todo + descriptionShort = "$STR_A3_cfgWeapons_optic_SOS1"; + weaponInfoType = "ACE_RscWeapon_SOS"; + + class ItemInfo: ItemInfo { + class OpticsModes: OpticsModes { + class Snip: Snip { + modelOptics[] = {QUOTE(PATHTOF(models\ace_optics_reticle90.p3d)),QUOTE(PATHTOF(models\ace_optics_reticle90.p3d))}; + opticsDisablePeripherialVision = 0; + }; + class Iron: Iron {}; + }; + }; + }; + + class ACE_optic_SOS_PIP: ACE_optic_SOS_2D { + author = "$STR_ACE_Common_ACETeam"; + _generalMacro = "ACE_optic_SOS_PIP"; + + class ItemInfo: ItemInfo { + class OpticsModes: OpticsModes { + class Snip: Snip { + modelOptics[] = {QUOTE(PATHTOF(models\ace_optics_pip.p3d)),QUOTE(PATHTOF(models\ace_optics_pip.p3d))}; + }; + }; + }; + }; + + class optic_LRPS: ItemCore { + class ItemInfo: InventoryOpticsItem_Base_F { + class OpticsModes { + class Snip; + }; + }; + }; + + class ACE_optic_LRPS_2D: optic_LRPS { + author = "$STR_ACE_Common_ACETeam"; + _generalMacro = "ACE_optic_LRPS_2D"; + displayName = "$STR_A3_cfgWeapons_optic_LRPS0"; //@todo + picture = "\A3\Weapons_F_EPB\Acc\Data\UI\gear_acco_sniper02_CA.paa"; + model = "\A3\Weapons_F_EPB\Acc\acco_sniper02_F.p3d"; + descriptionShort = "$STR_A3_cfgWeapons_optic_LRPS1"; + weaponInfoType = "ACE_RscWeapon_SOS"; + + class ItemInfo: ItemInfo { + class OpticsModes: OpticsModes { + class Snip: Snip { + modelOptics[] = {QUOTE(PATHTOF(models\ace_optics_reticle90.p3d)),QUOTE(PATHTOF(models\ace_optics_reticle90.p3d))}; + useModelOptics = 1; + opticsZoomInit = 0.01234; + opticsZoomMax = 0.04673; + opticsZoomMin = 0.01234; + discreteFOV[] = {}; + opticsPPEffects[] += {"ACE_OpticsRadBlur1"}; + opticsDisablePeripherialVision = 0; + }; + }; + }; + }; + + class ACE_optic_LRPS_PIP: ACE_optic_LRPS_2D { + author = "$STR_ACE_Common_ACETeam"; + _generalMacro = "ACE_optic_LRPS_PIP"; + + class ItemInfo: ItemInfo { + class OpticsModes: OpticsModes { + class Snip: Snip { + modelOptics[] = {QUOTE(PATHTOF(models\ace_optics_pip.p3d)),QUOTE(PATHTOF(models\ace_optics_pip.p3d))}; + }; + }; + }; + }; }; class SlotInfo; class CowsSlot: SlotInfo { - compatibleItems[] += {"ACE_optic_DMS","ACE_optic_Hamr_PIP"}; + compatibleItems[] += { + "ACE_optic_Hamr_2D", + "ACE_optic_Hamr_PIP", + "ACE_optic_Arco_2D", + "ACE_optic_Arco_PIP", + "ACE_optic_MRCO_2D", + "ACE_optic_MRCO_PIP", + "ACE_optic_SOS_2D", + "ACE_optic_SOS_PIP", + "ACE_optic_LRPS_2D", + "ACE_optic_LRPS_PIP", + "ACE_optic_DMS" + }; }; diff --git a/addons/optics/XEH_preInit.sqf b/addons/optics/XEH_preInit.sqf index a681bfe04f..9616b7158a 100644 --- a/addons/optics/XEH_preInit.sqf +++ b/addons/optics/XEH_preInit.sqf @@ -4,6 +4,6 @@ ADDON = false; PREP(handleFired); PREP(onDrawScope); -PREP(onDrawScopePIP); +PREP(onDrawScope2D); ADDON = true; diff --git a/addons/optics/config.cpp b/addons/optics/config.cpp index 40814fd1d0..80d3af32a9 100644 --- a/addons/optics/config.cpp +++ b/addons/optics/config.cpp @@ -3,11 +3,23 @@ class CfgPatches { class ADDON { units[] = {}; - weapons[] = {"ACE_optic_DMS","ACE_optic_Hamr_PIP"}; + weapons[] = { + "ACE_optic_Hamr_2D", + "ACE_optic_Hamr_PIP", + "ACE_optic_Arco_2D", + "ACE_optic_Arco_PIP", + "ACE_optic_MRCO_2D", + "ACE_optic_MRCO_PIP", + "ACE_optic_SOS_2D", + "ACE_optic_SOS_PIP", + "ACE_optic_LRPS_2D", + "ACE_optic_LRPS_PIP", + "ACE_optic_DMS" + }; requiredVersion = REQUIRED_VERSION; requiredAddons[] = {"ace_common"}; - author[] = {""}; - authorUrl = ""; + author[] = {"Taosenai","KoffeinFlummi","commy2"}; + authorUrl = "http://www.ryanschultz.org/tmr/"; VERSION_CONFIG; }; }; @@ -16,4 +28,5 @@ class CfgPatches { #include "CfgOpticsEffect.hpp" #include "CfgRscTitles.hpp" +#include "CfgVehicles.hpp" #include "CfgWeapons.hpp" diff --git a/addons/optics/functions/fnc_onDrawScopePIP.sqf b/addons/optics/functions/fnc_onDrawScope2D.sqf similarity index 100% rename from addons/optics/functions/fnc_onDrawScopePIP.sqf rename to addons/optics/functions/fnc_onDrawScope2D.sqf diff --git a/addons/optics/models/ace_optics_reticle100.p3d b/addons/optics/models/ace_optics_reticle100.p3d new file mode 100644 index 0000000000..b5f58cfd1c Binary files /dev/null and b/addons/optics/models/ace_optics_reticle100.p3d differ diff --git a/addons/optics/models/ace_optics_reticle70.p3d b/addons/optics/models/ace_optics_reticle70.p3d new file mode 100644 index 0000000000..5aa9e8613a Binary files /dev/null and b/addons/optics/models/ace_optics_reticle70.p3d differ diff --git a/addons/optics/models/ace_optics_reticle80.p3d b/addons/optics/models/ace_optics_reticle80.p3d new file mode 100644 index 0000000000..55cf233032 Binary files /dev/null and b/addons/optics/models/ace_optics_reticle80.p3d differ diff --git a/addons/optics/models/ace_optics_reticle90.p3d b/addons/optics/models/ace_optics_reticle90.p3d new file mode 100644 index 0000000000..30dc511df9 Binary files /dev/null and b/addons/optics/models/ace_optics_reticle90.p3d differ diff --git a/addons/optics/reticles/arco-bodyNight_ca.paa b/addons/optics/reticles/arco-bodyNight_ca.paa new file mode 100644 index 0000000000..9b186b56f4 Binary files /dev/null and b/addons/optics/reticles/arco-bodyNight_ca.paa differ diff --git a/addons/optics/reticles/arco-body_ca.paa b/addons/optics/reticles/arco-body_ca.paa new file mode 100644 index 0000000000..193b14a92c Binary files /dev/null and b/addons/optics/reticles/arco-body_ca.paa differ diff --git a/addons/optics/reticles/arco-reticle65Illum_ca.paa b/addons/optics/reticles/arco-reticle65Illum_ca.paa new file mode 100644 index 0000000000..d193051e81 Binary files /dev/null and b/addons/optics/reticles/arco-reticle65Illum_ca.paa differ diff --git a/addons/optics/reticles/arco-reticle65_ca.paa b/addons/optics/reticles/arco-reticle65_ca.paa new file mode 100644 index 0000000000..671417fd4b Binary files /dev/null and b/addons/optics/reticles/arco-reticle65_ca.paa differ diff --git a/addons/optics/reticles/black.rvmat b/addons/optics/reticles/black.rvmat new file mode 100644 index 0000000000..431d76689f --- /dev/null +++ b/addons/optics/reticles/black.rvmat @@ -0,0 +1,8 @@ +ambient[]={0,0,0,0.89999998}; +diffuse[]={0,0,0,0.89999998}; +forcedDiffuse[]={0,0,0,1}; +emmisive[]={0,0,0,1}; +specular[]={0,0,0,0}; +specularPower=1; +PixelShaderID="Normal"; +VertexShaderID="Basic"; diff --git a/addons/optics/reticles/mrco-bodyNight_ca.paa b/addons/optics/reticles/mrco-bodyNight_ca.paa new file mode 100644 index 0000000000..381fdd3e97 Binary files /dev/null and b/addons/optics/reticles/mrco-bodyNight_ca.paa differ diff --git a/addons/optics/reticles/mrco-body_ca.paa b/addons/optics/reticles/mrco-body_ca.paa new file mode 100644 index 0000000000..bfcaa9828f Binary files /dev/null and b/addons/optics/reticles/mrco-body_ca.paa differ diff --git a/addons/optics/reticles/mrco-reticle556Illum_ca.paa b/addons/optics/reticles/mrco-reticle556Illum_ca.paa new file mode 100644 index 0000000000..5bf836d593 Binary files /dev/null and b/addons/optics/reticles/mrco-reticle556Illum_ca.paa differ diff --git a/addons/optics/reticles/mrco-reticle556_ca.paa b/addons/optics/reticles/mrco-reticle556_ca.paa new file mode 100644 index 0000000000..e7b8599f83 Binary files /dev/null and b/addons/optics/reticles/mrco-reticle556_ca.paa differ diff --git a/addons/optics/reticles/scopeblack-100_ca.paa b/addons/optics/reticles/scopeblack-100_ca.paa new file mode 100644 index 0000000000..d0232dc0cc Binary files /dev/null and b/addons/optics/reticles/scopeblack-100_ca.paa differ diff --git a/addons/optics/reticles/scopeblack-70_ca.paa b/addons/optics/reticles/scopeblack-70_ca.paa new file mode 100644 index 0000000000..62b06d7f84 Binary files /dev/null and b/addons/optics/reticles/scopeblack-70_ca.paa differ diff --git a/addons/optics/reticles/scopeblack-80_ca.paa b/addons/optics/reticles/scopeblack-80_ca.paa new file mode 100644 index 0000000000..f74e3e41f1 Binary files /dev/null and b/addons/optics/reticles/scopeblack-80_ca.paa differ diff --git a/addons/optics/reticles/scopeblack-90_ca.paa b/addons/optics/reticles/scopeblack-90_ca.paa new file mode 100644 index 0000000000..2240dcc5fe Binary files /dev/null and b/addons/optics/reticles/scopeblack-90_ca.paa differ diff --git a/addons/optics/reticles/sos-bodyNight_ca.paa b/addons/optics/reticles/sos-bodyNight_ca.paa new file mode 100644 index 0000000000..22f008b17a Binary files /dev/null and b/addons/optics/reticles/sos-bodyNight_ca.paa differ diff --git a/addons/optics/reticles/sos-body_ca.paa b/addons/optics/reticles/sos-body_ca.paa new file mode 100644 index 0000000000..37c6d47d63 Binary files /dev/null and b/addons/optics/reticles/sos-body_ca.paa differ diff --git a/addons/optics/reticles/sos-reticleMLRIllum_ca.paa b/addons/optics/reticles/sos-reticleMLRIllum_ca.paa new file mode 100644 index 0000000000..65d0afb2e2 Binary files /dev/null and b/addons/optics/reticles/sos-reticleMLRIllum_ca.paa differ diff --git a/addons/optics/reticles/sos-reticleMLR_ca.paa b/addons/optics/reticles/sos-reticleMLR_ca.paa new file mode 100644 index 0000000000..48bc7f4e00 Binary files /dev/null and b/addons/optics/reticles/sos-reticleMLR_ca.paa differ