From 0af6a74a411dd0ca19f6c57da164060237d8dfbf Mon Sep 17 00:00:00 2001 From: lambdatiger Date: Wed, 10 Jan 2024 00:55:33 -0600 Subject: [PATCH] Updated debug settings and staged localization strings --- addons/frag/README.md | 3 +- addons/frag/XEH_postInit.sqf | 1 - addons/frag/functions/fnc_dev_trackHitBox.sqf | 2 +- addons/frag/functions/fnc_doFrag.sqf | 4 +- addons/frag/functions/fnc_doFragRandom.sqf | 20 +++--- addons/frag/functions/fnc_doFragTargeted.sqf | 4 +- addons/frag/functions/fnc_doSpall.sqf | 6 +- addons/frag/functions/fnc_submunition.sqf | 2 +- addons/frag/initSettings.inc.sqf | 9 ++- addons/frag/initSettingsDebug.inc.sqf | 68 +++++++++---------- 10 files changed, 63 insertions(+), 56 deletions(-) diff --git a/addons/frag/README.md b/addons/frag/README.md index f431279f1f..69ed9111e4 100644 --- a/addons/frag/README.md +++ b/addons/frag/README.md @@ -4,9 +4,8 @@ ace_frag Explosive fragmentation, round spalling, and explosive reflection TODO: -- More extensive MP testing -- remove submunition EHs in frag - Finish stringtable expansion with additional normal & debug settings +- More extensive MP testing - performance optimization - cDLC, RHS, CUP compats - look at / try to understand explosion reflections \ No newline at end of file diff --git a/addons/frag/XEH_postInit.sqf b/addons/frag/XEH_postInit.sqf index 5aa9fc9d51..094164db10 100644 --- a/addons/frag/XEH_postInit.sqf +++ b/addons/frag/XEH_postInit.sqf @@ -15,7 +15,6 @@ ["ace_firedNonPlayer", LINKFUNC(fired)] call CBA_fnc_addEventHandler; ["ace_firedNonPlayerVehicle", LINKFUNC(fired)] call CBA_fnc_addEventHandler;*/ - // Debug info #ifdef DEBUG_MODE_DRAW if (hasInterface && GVAR(debugOptions)) then { private _h = [LINKFUNC(dev_drawTrace), 0] call CBA_fnc_addPerFrameHandler; diff --git a/addons/frag/functions/fnc_dev_trackHitBox.sqf b/addons/frag/functions/fnc_dev_trackHitBox.sqf index 54705f3935..2d42657b57 100644 --- a/addons/frag/functions/fnc_dev_trackHitBox.sqf +++ b/addons/frag/functions/fnc_dev_trackHitBox.sqf @@ -42,7 +42,7 @@ switch (true) do { }; private _centerPoint = ASLToAGL getPosASL _obj; -if (_addSphere && vehicle _obj isEqualTo _obj) then { +if (GVAR(dbgSphere) && {_addSphere && {vehicle _obj isEqualTo _obj}}) then { private _centerSphere = [getPosASL _obj, "yellow"] call FUNC(dev_sphereDraw); _centerSphere disableCollisionWith vehicle _obj; _centerSphere attachTo [_obj, _obj worldToModel _centerPoint]; diff --git a/addons/frag/functions/fnc_doFrag.sqf b/addons/frag/functions/fnc_doFrag.sqf index 38fc261f88..b8cdc72d2a 100644 --- a/addons/frag/functions/fnc_doFrag.sqf +++ b/addons/frag/functions/fnc_doFrag.sqf @@ -54,11 +54,11 @@ if (_heightAGL < 0.25) then { // !*! make timesince a gvar? TRACE_4("fnc_doFragTargeted IF", _fragRange, _timeSince, GVAR(fragSimComplexity)); -if (_fragRange > 3 && _timeSince > 0.3 && {GVAR(fragSimComplexity) == 2}) then { +if (_fragRange > 3 && _timeSince > 0.3 && {GVAR(fragSimComplexity) != 1}) then { _maxFrags = _maxFrags - ([_posASL, _fragVel, _fragRange, _maxFrags, _fragTypes, _modFragCount, _shotParents] call FUNC(doFragTargeted)); }; -if (_timeSince > 0.2 && {GVAR(fragSimComplexity) != 0}) then { +if (_timeSince > 0.2 && {GVAR(fragSimComplexity) > 0}) then { [_posASL, _vel, _heightAGL, _fragTypes, _maxFrags, _shotParents] call FUNC(doFragRandom); }; diff --git a/addons/frag/functions/fnc_doFragRandom.sqf b/addons/frag/functions/fnc_doFragRandom.sqf index 145926fd00..8a31bf6787 100644 --- a/addons/frag/functions/fnc_doFragRandom.sqf +++ b/addons/frag/functions/fnc_doFragRandom.sqf @@ -58,15 +58,17 @@ _fragSpawner setVelocity _projVel; _fragSpawner setShotParents _shotParents; #ifdef DEBUG_MODE_FULL - systemChat ("fragging, id: " + getObjectID _proj); +systemChat ("fragging, id: " + getObjectID _proj); #endif #ifdef DEBUG_MODE_DRAW - _fragSpawner addEventHandler [ - "SubmunitionCreated", - { - params ["","_subProj"]; - [_subProj, "green", true] call FUNC(dev_trackObj); - } - ]; - [_posASL] call FUNC(dev_sphereDraw); +_fragSpawner addEventHandler [ + "SubmunitionCreated", + { + params ["","_subProj"]; + [_subProj, "green", true] call FUNC(dev_trackObj); + } +]; +if (GVAR(dbgSphere)) then { + [_posASL] call FUNC(dev_sphereDraw); +}; #endif \ No newline at end of file diff --git a/addons/frag/functions/fnc_doFragTargeted.sqf b/addons/frag/functions/fnc_doFragTargeted.sqf index fd3865c1a9..d969ee98c6 100644 --- a/addons/frag/functions/fnc_doFragTargeted.sqf +++ b/addons/frag/functions/fnc_doFragTargeted.sqf @@ -158,7 +158,9 @@ private _fragCount = 0; // limit of # of fragments to _maxFrags _fragObj setShotParents _shotPrnt; #ifdef DEBUG_MODE_DRAW [_fragObj, "purple", true] call FUNC(dev_trackObj); - [_targetPos, "orange"] call FUNC(dev_sphereDraw); + if (GVAR(dbgSphere)) then { + [_targetPos, "orange"] call FUNC(dev_sphereDraw); + }; #endif _fragCount = _fragCount + _count; diff --git a/addons/frag/functions/fnc_doSpall.sqf b/addons/frag/functions/fnc_doSpall.sqf index a3dbb19d83..b1281404f2 100644 --- a/addons/frag/functions/fnc_doSpall.sqf +++ b/addons/frag/functions/fnc_doSpall.sqf @@ -51,8 +51,10 @@ for "_i" from 1 to 20 do _spallPos = +_nPos; }; #ifdef DEBUG_MODE_DRAW -[_spallPos, "orange"] call FUNC(dev_sphereDraw); -[_lPosASL, "orange"] call FUNC(dev_sphereDraw); +if (GVAR(dbgSphere)) then { + [_spallPos, "orange"] call FUNC(dev_sphereDraw); + [_lPosASL, "orange"] call FUNC(dev_sphereDraw); +}; #endif // find last intersect with the object diff --git a/addons/frag/functions/fnc_submunition.sqf b/addons/frag/functions/fnc_submunition.sqf index 613154b26c..ed046151e3 100644 --- a/addons/frag/functions/fnc_submunition.sqf +++ b/addons/frag/functions/fnc_submunition.sqf @@ -19,7 +19,7 @@ * Public: No */ -if (!GVAR(enabled) || {GVAR(fragSimComplexity) == 0}) exitWith {}; +if !GVAR(enabled) exitWith {}; // params ["_projectile", "_submunitionProjectile", "_pos", "_velocity"]; params ["", "_submunitionProjectile"]; diff --git a/addons/frag/initSettings.inc.sqf b/addons/frag/initSettings.inc.sqf index 4e41999f5c..4c5c51849f 100644 --- a/addons/frag/initSettings.inc.sqf +++ b/addons/frag/initSettings.inc.sqf @@ -29,20 +29,23 @@ private _category = format ["ACE %1", localize LSTRING(Module_DisplayName)]; /// !*! TODO: add stringtable entries [ QGVAR(fragSimComplexity), "LIST", - ["Enable submunition fragmentation", "Enables submunition fragmentation when fragmentation is enabled"], + // [LSTRING(FragMode), LSTRING(FragMode_Desc)] + ["Fragmentation mode", "Sets how fragments are generated"], [_category, LSTRING(Frag)], - [[2, 1, 0], ["complex fragementation","simple fragmentation","no fragmentation"], 2] + [[2, 1, 0], ["Targeted & random fragmentation ","Random fragmentation","Unit targeted fragmentation"], 2] ] call CBA_fnc_addSetting; [ QGVAR(atLeastOne), "CHECKBOX", - "At least one round hit", + // [LSTRING(MinFrag), LSTRING(MinFrag_Desc)] + ["At least one round hit", "Spawn at least one fragment for units in fragmentation range, up to maximum fragments"], [_category, LSTRING(Frag)], true ] call CBA_fnc_addSetting; [ QGVAR(BlackList), "EDITBOX", + // [LSTRING(DefBlackList), LSTRING(DefBlackList_Desc)] ["Default BlackList", "Array of ammo classnames strings to blackist fragmentation for."], [_category, LSTRING(Frag)], QUOTE(['B_556x45_Ball']) diff --git a/addons/frag/initSettingsDebug.inc.sqf b/addons/frag/initSettingsDebug.inc.sqf index c6b9ce495d..dfcb14f064 100644 --- a/addons/frag/initSettingsDebug.inc.sqf +++ b/addons/frag/initSettingsDebug.inc.sqf @@ -1,54 +1,54 @@ private _category = format ["ACE %1", localize LSTRING(Module_DisplayName)]; [ - QGVAR(debugOptions), - "CHECKBOX", - "Enable debug mode", - [_category, LSTRING(Debug)], - true // [min, max, default, trailing decimals] + QGVAR(debugOptions), "CHECKBOX", + // [LSTRING(DebugEnable), LSTRING(DebugEnable_Desc)] + ["Enable debug mode", "Enable debug tracing and spheres"], + [_category, LSTRING(Debug)], + true ] call CBA_fnc_addSetting; // debug options [ - QGVAR(dbgSphere), - "CHECKBOX", - "Enable debug impact spheres", - [_category, LSTRING(Debug)], - false, + QGVAR(dbgSphere), "CHECKBOX", + // [LSTRING(DebugEnable), LSTRING(DebugEnable_Desc)] + "Create color coded spheres at ", + [_category, LSTRING(Debug)], + false, 0, {}, true ] call CBA_fnc_addSetting; [ - QGVAR(frameHint), - "CHECKBOX", - "Show framerate hint", - [_category, LSTRING(Debug)], - true -] call CBA_fnc_addSetting; - -[ - QGVAR(fadeRounds), - "CHECKBOX", - "Fade round traces over time", - [_category, LSTRING(Debug)], - true -] call CBA_fnc_addSetting; - -[ - QGVAR(dltTrace), - "CHECKBOX", - "Delete fire trace on fade", - [_category, LSTRING(Debug)], + QGVAR(frameHint), "CHECKBOX", + // [LSTRING(FrameHint), LSTRING(FrameHint_Desc)] + ["Show framerate hint", "Show 1/diag_frameTime as a hint"], + [_category, LSTRING(Debug)], true ] call CBA_fnc_addSetting; [ - QGVAR(drawHitBox), - "CHECKBOX", - "Draw unit hitboxes", - [_category, LSTRING(Debug)], + QGVAR(fadeRounds), "CHECKBOX", + // [LSTRING(FadeRounds), LSTRING(FadeRounds_Desc)] + ["Fade round traces over time", "Fade round traces for added round over time"], + [_category, LSTRING(Debug)], + true +] call CBA_fnc_addSetting; + +[ + QGVAR(dltTrace), "CHECKBOX", + // [LSTRING(FadeRounds), LSTRING(FadeRounds_Desc)] + ["Delete fire trace on fade", "Delete faded traces"], + [_category, LSTRING(Debug)], + true +] call CBA_fnc_addSetting; + +[ + QGVAR(drawHitBox),"CHECKBOX", + // [LSTRING(DrawHitBox), LSTRING(DrawHitBox_Desc)] + ["Draw unit hitboxes", "Draw added hitboxes each frame"], + [_category, LSTRING(Debug)], true ] call CBA_fnc_addSetting;