mirror of
https://github.com/valmojr/armatak.git
synced 2026-06-13 12:33:29 +00:00
added CBA and ACE Macros for better coding xp
This commit is contained in:
1
include/x/cba/addons/main/$PBOPREFIX$
Normal file
1
include/x/cba/addons/main/$PBOPREFIX$
Normal file
@@ -0,0 +1 @@
|
||||
x\cba\addons\main
|
||||
1834
include/x/cba/addons/main/script_macros_common.hpp
Normal file
1834
include/x/cba/addons/main/script_macros_common.hpp
Normal file
File diff suppressed because it is too large
Load Diff
1
include/x/cba/addons/xeh/$PBOPREFIX$
Normal file
1
include/x/cba/addons/xeh/$PBOPREFIX$
Normal file
@@ -0,0 +1 @@
|
||||
x\cba\addons\xeh
|
||||
146
include/x/cba/addons/xeh/script_xeh.hpp
Normal file
146
include/x/cba/addons/xeh/script_xeh.hpp
Normal file
@@ -0,0 +1,146 @@
|
||||
/*
|
||||
Header: script_xeh.hpp
|
||||
|
||||
Description:
|
||||
Used internally.
|
||||
*/
|
||||
/////////////////////////////////////////////////////////////////////////////////
|
||||
// MACRO: EXTENDED_EVENTHANDLERS
|
||||
// Add all XEH event handlers
|
||||
/////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
#define EXTENDED_EVENTHANDLERS init = "call cba_xeh_fnc_init"; \
|
||||
fired = "call cba_xeh_fnc_fired"; \
|
||||
animChanged = "call cba_xeh_fnc_animChanged"; \
|
||||
animDone = "call cba_xeh_fnc_animDone"; \
|
||||
animStateChanged = "call cba_xeh_fnc_animStateChanged"; \
|
||||
assembled = "call cba_xeh_fnc_assembled"; \
|
||||
attached = "call cba_xeh_fnc_attached"; \
|
||||
cargoLoaded = "call cba_xeh_fnc_cargoLoaded"; \
|
||||
cargoUnloaded = "call cba_xeh_fnc_cargoUnloaded"; \
|
||||
containerClosed = "call cba_xeh_fnc_containerClosed"; \
|
||||
containerOpened = "call cba_xeh_fnc_containerOpened"; \
|
||||
controlsShifted = "call cba_xeh_fnc_controlsShifted"; \
|
||||
dammaged = "call cba_xeh_fnc_dammaged"; \
|
||||
deleted = "call cba_xeh_fnc_deleted"; \
|
||||
detached = "call cba_xeh_fnc_detached"; \
|
||||
disassembled = "call cba_xeh_fnc_disassembled"; \
|
||||
engine = "call cba_xeh_fnc_engine"; \
|
||||
epeContact = "call cba_xeh_fnc_epeContact"; \
|
||||
epeContactEnd = "call cba_xeh_fnc_epeContactEnd"; \
|
||||
epeContactStart = "call cba_xeh_fnc_epeContactStart"; \
|
||||
explosion = "call cba_xeh_fnc_explosion"; \
|
||||
firedMan = "call cba_xeh_fnc_firedMan"; \
|
||||
firedNear = "call cba_xeh_fnc_firedNear"; \
|
||||
fuel = "call cba_xeh_fnc_cba_xeh_fuel"; \
|
||||
gear = "call cba_xeh_fnc_gear"; \
|
||||
gestureChanged = "call cba_xeh_fnc_gestureChanged"; \
|
||||
gestureDone = "call cba_xeh_fnc_gestureDone"; \
|
||||
getIn = "call cba_xeh_fnc_getIn"; \
|
||||
getInMan = "call cba_xeh_fnc_getInMan"; \
|
||||
getOut = "call cba_xeh_fnc_getOut"; \
|
||||
getOutMan = "call cba_xeh_fnc_getOutMan"; \
|
||||
handleHeal = "call cba_xeh_fnc_handleHeal"; \
|
||||
hit = "call cba_xeh_fnc_hit"; \
|
||||
hitPart = "call cba_xeh_fnc_hitPart"; \
|
||||
incomingMissile = "call cba_xeh_fnc_incomingMissile"; \
|
||||
inventoryClosed = "call cba_xeh_fnc_inventoryClosed"; \
|
||||
inventoryOpened = "call cba_xeh_fnc_inventoryOpened"; \
|
||||
killed = "call cba_xeh_fnc_killed"; \
|
||||
landedTouchDown = "call cba_xeh_fnc_landedTouchDown"; \
|
||||
landedStopped = "call cba_xeh_fnc_landedStopped"; \
|
||||
leaningChanged = "call cba_xeh_fnc_leaningChanged"; \
|
||||
local = "call cba_xeh_fnc_local"; \
|
||||
magazineReloading = "call cba_xeh_fnc_magazineReloading"; \
|
||||
opticsModeChanged = "call cba_xeh_fnc_opticsModeChanged"; \
|
||||
opticsSwitch = "call cba_xeh_fnc_opticsSwitch"; \
|
||||
put = "call cba_xeh_fnc_put"; \
|
||||
reloaded = "call cba_xeh_fnc_reloaded"; \
|
||||
respawn = "call cba_xeh_fnc_respawn"; \
|
||||
ropeAttach = "call cba_xeh_fnc_ropeAttach"; \
|
||||
ropeBreak = "call cba_xeh_fnc_ropeBreak"; \
|
||||
seatSwitched = "call cba_xeh_fnc_seatSwitched"; \
|
||||
seatSwitchedMan = "call cba_xeh_fnc_seatSwitchedMan"; \
|
||||
slotItemChanged = "call cba_xeh_fnc_slotItemChanged"; \
|
||||
suppressed = "call cba_xeh_fnc_suppressed"; \
|
||||
soundPlayed = "call cba_xeh_fnc_soundPlayed"; \
|
||||
take = "call cba_xeh_fnc_take"; \
|
||||
turnIn = "call cba_xeh_fnc_turnIn"; \
|
||||
turnOut = "call cba_xeh_fnc_turnOut"; \
|
||||
visionModeChanged = "call cba_xeh_fnc_visionModeChanged"; \
|
||||
weaponAssembled = "call cba_xeh_fnc_weaponAssembled"; \
|
||||
weaponChanged = "call cba_xeh_fnc_weaponChanged"; \
|
||||
weaponDisassembled = "call cba_xeh_fnc_weaponDisassembled"; \
|
||||
weaponDeployed = "call cba_xeh_fnc_weaponDeployed"; \
|
||||
weaponRested = "call cba_xeh_fnc_weaponRested";
|
||||
|
||||
|
||||
/*
|
||||
MACRO: DELETE_EVENTHANDLERS
|
||||
|
||||
Removes all event handlers.
|
||||
*/
|
||||
|
||||
#define DELETE_EVENTHANDLERS init = ""; \
|
||||
fired = ""; \
|
||||
animChanged = ""; \
|
||||
animDone = ""; \
|
||||
animStateChanged = ""; \
|
||||
assembled = ""; \
|
||||
attached = ""; \
|
||||
cargoLoaded = ""; \
|
||||
cargoUnloaded = ""; \
|
||||
containerClosed = ""; \
|
||||
containerOpened = ""; \
|
||||
controlsShifted = ""; \
|
||||
dammaged = ""; \
|
||||
deleted = ""; \
|
||||
detached = ""; \
|
||||
disassembled = ""; \
|
||||
engine = ""; \
|
||||
epeContact = ""; \
|
||||
epeContactEnd = ""; \
|
||||
epeContactStart = ""; \
|
||||
explosion = ""; \
|
||||
firedMan = ""; \
|
||||
firedNear = ""; \
|
||||
fuel = ""; \
|
||||
gear = ""; \
|
||||
gestureChanged = ""; \
|
||||
gestureDone = "" \
|
||||
getIn = ""; \
|
||||
getInMan = ""; \
|
||||
getOut = ""; \
|
||||
getOutMan = ""; \
|
||||
handleHeal = ""; \
|
||||
hit = ""; \
|
||||
hitPart = ""; \
|
||||
incomingMissile = ""; \
|
||||
inventoryClosed = ""; \
|
||||
inventoryOpened = ""; \
|
||||
killed = ""; \
|
||||
landedTouchDown = ""; \
|
||||
landedStopped = ""; \
|
||||
leaningChanged = ""; \
|
||||
local = ""; \
|
||||
magazineReloading = ""; \
|
||||
opticsModeChanged = ""; \
|
||||
opticsSwitch = ""; \
|
||||
put = ""; \
|
||||
reloaded = ""; \
|
||||
respawn = ""; \
|
||||
ropeAttach = ""; \
|
||||
ropeBreak = ""; \
|
||||
seatSwitched = ""; \
|
||||
seatSwitchedMan = ""; \
|
||||
soundPlayed = ""; \
|
||||
suppressed = ""; \
|
||||
take = ""; \
|
||||
turnIn = ""; \
|
||||
turnOut = ""; \
|
||||
visionModeChanged = ""; \
|
||||
weaponAssembled = ""; \
|
||||
weaponChanged = ""; \
|
||||
weaponDisassembled = ""; \
|
||||
weaponDeployed = ""; \
|
||||
weaponRested = "";
|
||||
58
include/z/ace/addons/main/script_debug.hpp
Normal file
58
include/z/ace/addons/main/script_debug.hpp
Normal file
@@ -0,0 +1,58 @@
|
||||
/**
|
||||
Fast Recompiling via function
|
||||
**/
|
||||
// #define DISABLE_COMPILE_CACHE
|
||||
// To Use: [] call ACE_PREP_RECOMPILE;
|
||||
|
||||
#ifdef DISABLE_COMPILE_CACHE
|
||||
#define LINKFUNC(x) {call FUNC(x)}
|
||||
#define PREP_RECOMPILE_START if (isNil "ACE_PREP_RECOMPILE") then {ACE_RECOMPILES = []; ACE_PREP_RECOMPILE = {{call _x} forEach ACE_RECOMPILES;}}; private _recomp = {
|
||||
#define PREP_RECOMPILE_END }; call _recomp; ACE_RECOMPILES pushBack _recomp;
|
||||
#else
|
||||
#define LINKFUNC(x) FUNC(x)
|
||||
#define PREP_RECOMPILE_START ; /* disabled */
|
||||
#define PREP_RECOMPILE_END ; /* disabled */
|
||||
#endif
|
||||
|
||||
|
||||
/**
|
||||
STACK TRACING
|
||||
**/
|
||||
//#define ENABLE_CALLSTACK
|
||||
//#define ENABLE_PERFORMANCE_COUNTERS
|
||||
//#define DEBUG_EVENTS
|
||||
|
||||
#ifdef ENABLE_CALLSTACK
|
||||
#define CALLSTACK(function) {if(ACE_IS_ERRORED) then { ['AUTO','AUTO'] call ACE_DUMPSTACK_FNC; ACE_IS_ERRORED = false; }; ACE_IS_ERRORED = true; ACE_STACK_TRACE set [ACE_STACK_DEPTH, [diag_tickTime, __FILE__, __LINE__, ACE_CURRENT_FUNCTION, 'ANON', _this]]; ACE_STACK_DEPTH = ACE_STACK_DEPTH + 1; ACE_CURRENT_FUNCTION = 'ANON'; private _ret = _this call ##function; ACE_STACK_DEPTH = ACE_STACK_DEPTH - 1; ACE_IS_ERRORED = false; _ret;}
|
||||
#define CALLSTACK_NAMED(function, functionName) {if(ACE_IS_ERRORED) then { ['AUTO','AUTO'] call ACE_DUMPSTACK_FNC; ACE_IS_ERRORED = false; }; ACE_IS_ERRORED = true; ACE_STACK_TRACE set [ACE_STACK_DEPTH, [diag_tickTime, __FILE__, __LINE__, ACE_CURRENT_FUNCTION, functionName, _this]]; ACE_STACK_DEPTH = ACE_STACK_DEPTH + 1; ACE_CURRENT_FUNCTION = functionName; private _ret = _this call ##function; ACE_STACK_DEPTH = ACE_STACK_DEPTH - 1; ACE_IS_ERRORED = false; _ret;}
|
||||
#define DUMPSTACK ([__FILE__, __LINE__] call ACE_DUMPSTACK_FNC)
|
||||
|
||||
#define FUNC(var1) {if(ACE_IS_ERRORED) then { ['AUTO','AUTO'] call ACE_DUMPSTACK_FNC; ACE_IS_ERRORED = false; }; ACE_IS_ERRORED = true; ACE_STACK_TRACE set [ACE_STACK_DEPTH, [diag_tickTime, __FILE__, __LINE__, ACE_CURRENT_FUNCTION, 'TRIPLES(ADDON,fnc,var1)', _this]]; ACE_STACK_DEPTH = ACE_STACK_DEPTH + 1; ACE_CURRENT_FUNCTION = 'TRIPLES(ADDON,fnc,var1)'; private _ret = _this call TRIPLES(ADDON,fnc,var1); ACE_STACK_DEPTH = ACE_STACK_DEPTH - 1; ACE_IS_ERRORED = false; _ret;}
|
||||
#define EFUNC(var1,var2) {if(ACE_IS_ERRORED) then { ['AUTO','AUTO'] call ACE_DUMPSTACK_FNC; ACE_IS_ERRORED = false; }; ACE_IS_ERRORED = true; ACE_STACK_TRACE set [ACE_STACK_DEPTH, [diag_tickTime, __FILE__, __LINE__, ACE_CURRENT_FUNCTION, 'TRIPLES(DOUBLES(PREFIX,var1),fnc,var2)', _this]]; ACE_STACK_DEPTH = ACE_STACK_DEPTH + 1; ACE_CURRENT_FUNCTION = 'TRIPLES(DOUBLES(PREFIX,var1),fnc,var2)'; private _ret = _this call TRIPLES(DOUBLES(PREFIX,var1),fnc,var2); ACE_STACK_DEPTH = ACE_STACK_DEPTH - 1; ACE_IS_ERRORED = false; _ret;}
|
||||
#else
|
||||
#define CALLSTACK(function) function
|
||||
#define CALLSTACK_NAMED(function, functionName) function
|
||||
#define DUMPSTACK ; /* disabled */
|
||||
#endif
|
||||
|
||||
|
||||
/**
|
||||
PERFORMANCE COUNTERS SECTION
|
||||
**/
|
||||
//#define ENABLE_PERFORMANCE_COUNTERS
|
||||
// To Use: [] call ace_common_fnc_dumpPerformanceCounters;
|
||||
|
||||
#ifdef ENABLE_PERFORMANCE_COUNTERS
|
||||
#define CBA_fnc_addPerFrameHandler { private _ret = call CBA_fnc_addPerFrameHandler; if(isNil "ACE_PFH_COUNTER" ) then { ACE_PFH_COUNTER=[]; }; ACE_PFH_COUNTER pushBack [[_ret, __FILE__, __LINE__], _this]; _ret }
|
||||
|
||||
#define CREATE_COUNTER(x) if(isNil "ACE_COUNTERS" ) then { ACE_COUNTERS=[]; }; GVAR(DOUBLES(x,counter))=[]; GVAR(DOUBLES(x,counter)) set[0, QUOTE(GVAR(DOUBLES(x,counter)))]; GVAR(DOUBLES(x,counter)) set[1, diag_tickTime]; ACE_COUNTERS pushBack GVAR(DOUBLES(x,counter));
|
||||
#define BEGIN_COUNTER(x) if(isNil QUOTE(GVAR(DOUBLES(x,counter)))) then { CREATE_COUNTER(x) }; GVAR(DOUBLES(x,counter)) set[2, diag_tickTime];
|
||||
#define END_COUNTER(x) GVAR(DOUBLES(x,counter)) pushBack [(GVAR(DOUBLES(x,counter)) select 2), diag_tickTime];
|
||||
|
||||
#define DUMP_COUNTERS ([__FILE__, __LINE__] call ACE_DUMPCOUNTERS_FNC)
|
||||
#else
|
||||
#define CREATE_COUNTER(x) ; /* disabled */
|
||||
#define BEGIN_COUNTER(x) ; /* disabled */
|
||||
#define END_COUNTER(x) ; /* disabled */
|
||||
#define DUMP_COUNTERS ; /* disabled */
|
||||
#endif
|
||||
179
include/z/ace/addons/main/script_macros.hpp
Normal file
179
include/z/ace/addons/main/script_macros.hpp
Normal file
@@ -0,0 +1,179 @@
|
||||
#define DEBUG_SYNCHRONOUS
|
||||
#include "\x\cba\addons\main\script_macros_common.hpp"
|
||||
#include "\x\cba\addons\xeh\script_xeh.hpp"
|
||||
|
||||
// Default versioning level
|
||||
#define DEFAULT_VERSIONING_LEVEL 2
|
||||
|
||||
#define DGVAR(varName) if(isNil "ACE_DEBUG_NAMESPACE") then { ACE_DEBUG_NAMESPACE = []; }; if(!(QUOTE(GVAR(varName)) in ACE_DEBUG_NAMESPACE)) then { PUSH(ACE_DEBUG_NAMESPACE, QUOTE(GVAR(varName))); }; GVAR(varName)
|
||||
#define DVAR(varName) if(isNil "ACE_DEBUG_NAMESPACE") then { ACE_DEBUG_NAMESPACE = []; }; if(!(QUOTE(varName) in ACE_DEBUG_NAMESPACE)) then { PUSH(ACE_DEBUG_NAMESPACE, QUOTE(varName)); }; varName
|
||||
#define DFUNC(var1) TRIPLES(ADDON,fnc,var1)
|
||||
#define DEFUNC(var1,var2) TRIPLES(DOUBLES(PREFIX,var1),fnc,var2)
|
||||
|
||||
#undef QFUNC
|
||||
#undef QEFUNC
|
||||
#define QFUNC(var1) QUOTE(DFUNC(var1))
|
||||
#define QEFUNC(var1,var2) QUOTE(DEFUNC(var1,var2))
|
||||
|
||||
#define GETVAR_SYS(var1,var2) getVariable [ARR_2(QUOTE(var1),var2)]
|
||||
#define SETVAR_SYS(var1,var2) setVariable [ARR_2(QUOTE(var1),var2)]
|
||||
#define SETPVAR_SYS(var1,var2) setVariable [ARR_3(QUOTE(var1),var2,true)]
|
||||
|
||||
#undef GETVAR
|
||||
#define GETVAR(var1,var2,var3) (var1 GETVAR_SYS(var2,var3))
|
||||
#define GETMVAR(var1,var2) (missionNamespace GETVAR_SYS(var1,var2))
|
||||
#define GETUVAR(var1,var2) (uiNamespace GETVAR_SYS(var1,var2))
|
||||
#define GETPRVAR(var1,var2) (profileNamespace GETVAR_SYS(var1,var2))
|
||||
#define GETPAVAR(var1,var2) (parsingNamespace GETVAR_SYS(var1,var2))
|
||||
|
||||
#undef SETVAR
|
||||
#define SETVAR(var1,var2,var3) var1 SETVAR_SYS(var2,var3)
|
||||
#define SETPVAR(var1,var2,var3) var1 SETPVAR_SYS(var2,var3)
|
||||
#define SETMVAR(var1,var2) missionNamespace SETVAR_SYS(var1,var2)
|
||||
#define SETUVAR(var1,var2) uiNamespace SETVAR_SYS(var1,var2)
|
||||
#define SETPRVAR(var1,var2) profileNamespace SETVAR_SYS(var1,var2)
|
||||
#define SETPAVAR(var1,var2) parsingNamespace SETVAR_SYS(var1,var2)
|
||||
|
||||
#define GETGVAR(var1,var2) GETMVAR(GVAR(var1),var2)
|
||||
#define GETEGVAR(var1,var2,var3) GETMVAR(EGVAR(var1,var2),var3)
|
||||
|
||||
#define ARR_SELECT(ARRAY,INDEX,DEFAULT) (if (count ARRAY > INDEX) then {ARRAY select INDEX} else {DEFAULT})
|
||||
#define ANY_OF(ARRAY,CONDITION) (ARRAY findIf {CONDITION} != -1)
|
||||
|
||||
// ACEX Merge
|
||||
#define ACEX_PREFIX acex
|
||||
#define XADDON DOUBLES(ACEX_PREFIX,COMPONENT)
|
||||
#define XGVAR(var) DOUBLES(XADDON,var)
|
||||
#define EXGVAR(var1,var2) TRIPLES(ACEX_PREFIX,var1,var2)
|
||||
#define QXGVAR(var) QUOTE(XGVAR(var))
|
||||
#define QEXGVAR(var1,var2) QUOTE(EXGVAR(var1,var2))
|
||||
#define QQXGVAR(var) QUOTE(QXGVAR(var))
|
||||
#define QQEXGVAR(var1,var2) QUOTE(QEXGVAR(var1,var2))
|
||||
#define ACEX_PREP(func) PREP(func); TRIPLES(XADDON,fnc,func) = DFUNC(func)
|
||||
|
||||
|
||||
#define MACRO_ADDWEAPON(WEAPON,COUNT) class _xx_##WEAPON { \
|
||||
weapon = #WEAPON; \
|
||||
count = COUNT; \
|
||||
}
|
||||
|
||||
#define MACRO_ADDITEM(ITEM,COUNT) class _xx_##ITEM { \
|
||||
name = #ITEM; \
|
||||
count = COUNT; \
|
||||
}
|
||||
|
||||
#define MACRO_ADDMAGAZINE(MAGAZINE,COUNT) class _xx_##MAGAZINE { \
|
||||
magazine = #MAGAZINE; \
|
||||
count = COUNT; \
|
||||
}
|
||||
|
||||
#define MACRO_ADDBACKPACK(BACKPACK,COUNT) class _xx_##BACKPACK { \
|
||||
backpack = #BACKPACK; \
|
||||
count = COUNT; \
|
||||
}
|
||||
|
||||
// weapon types
|
||||
#define TYPE_WEAPON_PRIMARY 1
|
||||
#define TYPE_WEAPON_HANDGUN 2
|
||||
#define TYPE_WEAPON_SECONDARY 4
|
||||
// magazine types
|
||||
#define TYPE_MAGAZINE_HANDGUN_AND_GL 16 // mainly
|
||||
#define TYPE_MAGAZINE_PRIMARY_AND_THROW 256
|
||||
#define TYPE_MAGAZINE_SECONDARY_AND_PUT 512 // mainly
|
||||
#define TYPE_MAGAZINE_MISSILE 768
|
||||
// more types
|
||||
#define TYPE_BINOCULAR_AND_NVG 4096
|
||||
#define TYPE_WEAPON_VEHICLE 65536
|
||||
#define TYPE_ITEM 131072
|
||||
// item types
|
||||
#define TYPE_DEFAULT 0
|
||||
#define TYPE_MUZZLE 101
|
||||
#define TYPE_OPTICS 201
|
||||
#define TYPE_FLASHLIGHT 301
|
||||
#define TYPE_BIPOD 302
|
||||
#define TYPE_FIRST_AID_KIT 401
|
||||
#define TYPE_FINS 501 // not implemented
|
||||
#define TYPE_BREATHING_BOMB 601 // not implemented
|
||||
#define TYPE_NVG 602
|
||||
#define TYPE_GOGGLE 603
|
||||
#define TYPE_SCUBA 604 // not implemented
|
||||
#define TYPE_HEADGEAR 605
|
||||
#define TYPE_FACTOR 607
|
||||
#define TYPE_MAP 608
|
||||
#define TYPE_COMPASS 609
|
||||
#define TYPE_WATCH 610
|
||||
#define TYPE_RADIO 611
|
||||
#define TYPE_GPS 612
|
||||
#define TYPE_HMD 616
|
||||
#define TYPE_BINOCULAR 617
|
||||
#define TYPE_MEDIKIT 619
|
||||
#define TYPE_TOOLKIT 620
|
||||
#define TYPE_UAV_TERMINAL 621
|
||||
#define TYPE_VEST 701
|
||||
#define TYPE_UNIFORM 801
|
||||
#define TYPE_BACKPACK 901
|
||||
|
||||
#ifdef DISABLE_COMPILE_CACHE
|
||||
#undef PREP
|
||||
#define PREP(fncName) DFUNC(fncName) = compile preprocessFileLineNumbers QPATHTOF(functions\DOUBLES(fnc,fncName).sqf)
|
||||
#else
|
||||
#undef PREP
|
||||
#define PREP(fncName) [QPATHTOF(functions\DOUBLES(fnc,fncName).sqf), QFUNC(fncName)] call CBA_fnc_compileFunction
|
||||
#endif
|
||||
|
||||
#define PREP_MODULE(folder) [] call compile preprocessFileLineNumbers QPATHTOF(folder\__PREP__.sqf)
|
||||
|
||||
#define ACE_isHC (!hasInterface && !isDedicated)
|
||||
|
||||
#define IDC_STAMINA_BAR 193
|
||||
|
||||
#define ACE_DEPRECATED(arg1,arg2,arg3) WARNING_3("%1 is deprecated. Support will be dropped in version %2. Replaced by: %3",arg1,arg2,arg3)
|
||||
|
||||
#define PFORMAT_10(MESSAGE,A,B,C,D,E,F,G,H,I,J) \
|
||||
format ['%1: A=%2, B=%3, C=%4, D=%5, E=%6, F=%7, G=%8, H=%9, I=%10 J=%11', MESSAGE, RETNIL(A), RETNIL(B), RETNIL(C), RETNIL(D), RETNIL(E), RETNIL(F), RETNIL(G), RETNIL(H), RETNIL(I), RETNIL(J)]
|
||||
#ifdef DEBUG_MODE_FULL
|
||||
#define TRACE_10(MESSAGE,A,B,C,D,E,F,G,H,I,J) LOG_SYS_FILELINENUMBERS('TRACE',PFORMAT_10(str diag_frameNo + ' ' + (MESSAGE),A,B,C,D,E,F,G,H,I,J))
|
||||
#else
|
||||
#define TRACE_10(MESSAGE,A,B,C,D,E,F,G,H,I,J) /* disabled */
|
||||
#endif
|
||||
|
||||
#define GRAVITY 9.8066
|
||||
|
||||
#define SD_TO_MIN_MAX(d) ((d) * 3.371) // Standard deviation -> min / max of random [min, mid, max]
|
||||
|
||||
// Angular unit conversion
|
||||
// Conversion factor: 54 / (5 * PI)
|
||||
#define MRAD_TO_MOA(d) ((d) * 3.43774677)
|
||||
// Conversion factor: (5 * PI) / 54
|
||||
#define MOA_TO_MRAD(d) ((d) * 0.29088821)
|
||||
// Conversion factor: 60
|
||||
#define DEG_TO_MOA(d) ((d) * 60)
|
||||
// Conversion factor: 1 / 60
|
||||
#define MOA_TO_DEG(d) ((d) / 60)
|
||||
// Conversion factor: (50 * PI) / 9
|
||||
#define DEG_TO_MRAD(d) ((d) * 17.45329252)
|
||||
// Conversion factor: 9 / (50 * PI)
|
||||
#define MRAD_TO_DEG(d) ((d) / 17.45329252)
|
||||
// Conversion factor: PI / 10800
|
||||
#define MOA_TO_RAD(d) ((d) * 0.00029088)
|
||||
|
||||
#define ZEUS_ACTION_CONDITION ([_target, {QUOTE(QUOTE(ADDON)) in curatorAddons _this}, missionNamespace, QUOTE(QGVAR(zeusCheck)), 1E11, 'ace_interactMenuClosed'] call EFUNC(common,cachedCall))
|
||||
|
||||
#define SUBSKILLS ["aimingAccuracy", "aimingShake", "aimingSpeed", "spotDistance", "spotTime", "courage", "reloadSpeed", "commanding", "general"]
|
||||
|
||||
// macro add a dummy cfgPatch and notLoaded entry
|
||||
#define ACE_PATCH_NOT_LOADED(NAME,CAUSE) \
|
||||
class CfgPatches { \
|
||||
class DOUBLES(NAME,notLoaded) { \
|
||||
units[] = {}; \
|
||||
weapons[] = {}; \
|
||||
requiredVersion = REQUIRED_VERSION; \
|
||||
requiredAddons[] = {"ace_main"}; \
|
||||
VERSION_CONFIG; \
|
||||
}; \
|
||||
}; \
|
||||
class ace_notLoaded { \
|
||||
NAME = CAUSE; \
|
||||
};
|
||||
|
||||
#include "\z\ace\addons\main\script_debug.hpp"
|
||||
Reference in New Issue
Block a user