123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254 |
- //---Basic Definitions---
- //I learned all of this from this weeb mod lol https://steamcommunity.com/sharedfiles/filedetails/?id=1620525773
- #define StabilizedInAxesNone 0
- #define StabilizedInAxisX 1
- #define StabilizedInAxisY 2
- #define StabilizedInAxesBoth 3
- #define MACRO_AUTHOR "RD501"
- #define MACRO_AUTHOR_PPL "Namenai"
- #define MODNAME RD501
- //---Basic Functions---
- #define ADDON UNDERSCORE_CONCAT(MODNAME,COMPONENT)
- #define UNDERSCORE_CONCAT(var1,var2) ##var1##_##var2
- // #define CONCAT(var1,var2) ##var1##var2
- #define ADDON_NICE Research & Development 501
- #define DANKAUTHORS RD501
- //Adds the mod prefix to watever, used for classnames and such
- #define ADD_PREFIX(NAME)UNDERSCORE_CONCAT(MODNAME,NAME)
- #define concat_function(var) UNDERSCORE_CONCAT(ADDON,var)
- // #define quote_this(thing) #thing
- #define macro_single_quote(thing) '##thing##'
- #define macro_quote(thing) #thing
- #define macro_new_config_prop(name) MODNAME##_##name
- //Faction names,classes,and catagories
- #define macro_republic_faction MODNAME##_Republic_Faction
- #define macro_rebel_faction MODNAME##_Rebel_Faction
- #define macro_resistance_faction MODNAME##_Resistance_Faction
- #define macro_cis_faction MODNAME##_CIS_Faction
- #define macro_empire_faction MODNAME##_Empire_Faction
-
- #define macro_first_order_faction MODNAME##_First_Order
- #define macro_ind_faction MODNAME##_Independent_Faction
- #define macro_civ_faction MODNAME##_Civ_Faction
- #define macro_editor_cat(name) MODNAME##_Editor_Category_##name
- #define macro_editor_cat_air(name) MODNAME##_Editor_Category_Air_##name
- #define macro_editor_vehicle_type(name) MODNAME##_Vehicle_Class_##name
- #define macro_editor_vehicle_type_air(name) MODNAME##_Air_Vehicle_Class_##name
- //---Functions---
- #define macro_mod_script_path RD501_Main\functions
- #define post_init_fnc(name)\
- class name\
- {\
- postInit = 1;\
- file = function_path(name) \
- };
- #define normal_fnc(name)\
- class name\
- {\
- file = function_path(name) \
- };
- #define function_path(scriptname) quote_this(ADDON\scripts\scriptname.sqf)
- #define hud_changer_interaction_icons MODNAME##_Main\textures\interaction_Icons
- #define macro_fnc_name(title) MODNAME##_fnc_##title
- #define macro_grp_fnc_name(grp,title) MODNAME##_##grp##_fnc_##title
- #define macro_preprocess_fnc(file)\
- call compileFinal preprocessFileLineNumbers 'COMPONENT##\##file'
-
- //---Patches---
- #define macro_patch_name(component) MODNAME##_patch_##component
- #define macro_A3_patch "A3_Data_F_Tank_Loadorder"
- #define macro_root_req macro_patch_name(main)
- #define macro_lvl2_req macro_patch_name(weapons),macro_patch_name(jumppack),macro_patch_name(helmets),macro_patch_name(vehicle_weapons)
- #define macro_lvl3_req macro_patch_name(units),macro_patch_name(vehicles),macro_patch_name(zeus)
- #define macro_lvl1_req macro_patch_name(particle_effects),RD501_patch_Airborne_Helmet_Model,RD501_patch_VenatorMK2,macro_patch_name(emp)
- #define macro_lvl4_req macro_patch_name(droids_config),macro_patch_name(laat_variants)
- #define macro_lvl5_req macro_patch_name(legacy_classnames)
- #define macro_end_patches macro_lvl5_req
-
- //---Weapons, Mags, and Ammo
-
- #define macro_scope_magnification(zoom) 0.25/zoom
- #define macro_new_scope(scopename) macro_modname##_weapon_scope_##scopename
- #define macro_new_weapon(family,name) MODNAME##_##family##_##name
- #define macro_new_weapon_nofam(name) MODNAME##_##name
- #define macro_new_ammo(name) MODNAME##_##name##_ammo
- #define macro_new_mag(name,count) MODNAME##_##name##_x##count##_mag
- #define macro_new_magwell(name) MODNAME##_##name##_magwell
- #define macro_new_magwell_array(name) MODNAME##_##name##_magwell[]
- #define macro_no_muzzle_impulse muzzleImpulseFactor[] = {0.00, 0.00};
- #define macro_new_recoil(name) MODNAME##_##name##_recoil
- //---Vehicles---
- #define macro_basic_air_weapons "Laserdesignator_pilotCamera","CMFlareLauncher"
- #define macro_basic_air_mags "Laserbatteries","300Rnd_CMFlare_Chaff_Magazine","300Rnd_CMFlare_Chaff_Magazine"
- #define macro_new_vehicle(group,name) MODNAME##_##group##_##name
- //----uniforms,units,vests
- //wat we see in arsenal,weapon
- #define macro_new_uniform_class(side,name) MODNAME##_##side##_uniform_##name
- //vests
- #define macro_new_vest_class(side,name) MODNAME##_##side##_vest_##name
- //actualyt skin of uniforms,vehicle
- #define macro_new_uniform_skin_class(side,name) MODNAME##_##side##_uniform_skin_##name
- //wat we see in zeus,vehicle
- #define macro_new_unit_class(side,name) MODNAME##_##side##_unit_##name
- //backpak
- #define macro_new_backpack_class(side,name)MODNAME##_##side##_##name##_backpack
- //compositions
- #define macro_new_composition(side,name) MODNAME##_##side##_composition_##name
- //backpack presets
- #define macro_b1_at_backpack_inv \
- class _xx_MAAWS_HE \
- {\
- magazine = "MRAWS_HE_F";\
- count = 3;\
- };\
- class _xx_MAAWS_HEAT\
- {\
- magazine = "MRAWS_HEAT_F";\
- count = 2;\
- };
- #define macro_b1_aa_backpack_inv \
- class _xx_Titan_AA\
- {\
- magazine = "Titan_AA";\
- count = 6;\
- };
- //---Ordanance---
- #define macro_new_ordnance(name) MODNAME##_Ordnance_##name
- #define macro_new_ordnance_ammo(name) MODNAME##_Ordnance_Ammo_##name
- //---helmets
- #define macro_custom_helmet_textures \RD501_Helmets\_textures
- #define macro_new_helmet(group,name) MODNAME##_##group##_helmet_##name
- #define macro_new_helmet_jlts(group,name) MODNAME##_##group##_helmet_##name
- #define macro_clone_helmet_hitpoints\
- class HitpointsProtectionInfo\
- {\
- class Head\
- {\
- hitpointName = "HitHead";\
- armor = 50;\
- passThrough = 0.6;\
- };\
- };
- #define macro_clone_other_armor_values\
- explosionShielding = 2.2;\
- minimalHit = 0.01;\
- passThrough = 0.01;
- #define macro_ace_hearing_helmet_setting\
- ace_hearing_protection = 0.85; \
- ace_hearing_lowerVolume = 0.6;
- #define macro_rebreather_armor_stuff\
- containerClass = "Supply100";\
- mass = 20;\
- vestType = "Rebreather";
- #define macro_clone_armor_hitpoints \
- class HitpointsProtectionInfo\
- {\
- class Neck\
- {\
- hitpointName = "HitNeck";\
- armor = 8;\
- passThrough = 0.6;\
- };\
- class Arms\
- {\
- hitpointName = "HitArms";\
- armor = 16;\
- passThrough = 0.6;\
- };\
- class Chest\
- {\
- hitpointName = "HitChest";\
- armor = 32;\
- passThrough = 0.6;\
- };\
- class Diaphragm\
- {\
- hitpointName = "HitDiaphragm";\
- armor = 32;\
- passThrough = 0.6;\
- };\
- class Abdomen\
- {\
- hitpointName = "HitAbdomen";\
- armor = 16;\
- passThrough = 0.6;\
- };\
- class Pelvis\
- {\
- hitpointName = "HitPelvis";\
- armor = 16;\
- passThrough = 0.6;\
- };\
- class Body\
- {\
- hitpointName = "HitBody";\
- passThrough = 0.6;\
- };\
- };
- //---textures
- #define macro_unit_skin_textures RD501_Units\textures
- #define macro_vehicle_textures RD501_Vehicles\textures
- #define macro_b1_textures MRC\JLTS\characters\DroidArmor\data
- //---XEH prep---
- #define macro_prep_xeh(SCRIPT,name)\
- [macro_quote(macro_mod_script_path\SCRIPT),macro_quote(macro_fnc_name(name))] call CBA_fnc_compileFunction;
- //---particle efffects---
- #define macro_new_cloudlet(name) MODNAME##_cloudlet_##name
- #define macro_new_complex_effect(name) MODNAME##_particle_effect_##name
- #define macro_new_light(name) MODNAME##_light_##name
- //---NVG----
- #define macro_thermal_nvg_default \
- thermalMode[] = {8};
|