defines battalion info, integrates FBCB2 freqs and callsigns
This commit is contained in:
@@ -17,6 +17,7 @@
|
|||||||
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
#include "mission_settings.hpp"
|
#include "mission_settings.hpp"
|
||||||
|
#include "functions\definitions\BattalionInfo.hpp"
|
||||||
|
|
||||||
//-------------------------------------------MISSION INFO--------------------------------------------------------------------
|
//-------------------------------------------MISSION INFO--------------------------------------------------------------------
|
||||||
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||||
|
|||||||
@@ -75,6 +75,9 @@ class milsim
|
|||||||
class logMissionInfo { postInit = 1; };
|
class logMissionInfo { postInit = 1; };
|
||||||
class addPlayerInfoToArray {};
|
class addPlayerInfoToArray {};
|
||||||
class log {};
|
class log {};
|
||||||
|
class padString {};
|
||||||
|
class recurseSubclasses {};
|
||||||
|
class getBattalionCfg {};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
243
functions/definitions/BattalionInfo.hpp
Normal file
243
functions/definitions/BattalionInfo.hpp
Normal file
@@ -0,0 +1,243 @@
|
|||||||
|
// BattalionInfo.hpp
|
||||||
|
// Defines the structure of the Battalion, allowing properties to be easily changed and updated
|
||||||
|
// This file is included in description.ext
|
||||||
|
|
||||||
|
|
||||||
|
// Define the callsigns for the Battalion
|
||||||
|
#define COMMAND_CALLSIGN SPARTAN
|
||||||
|
#define RRC_CALLSIGN TIGER
|
||||||
|
#define MEDIC_CALLSIGN LIFELINE
|
||||||
|
#define ALPHA_CALLSIGN BLACKJACK
|
||||||
|
#define ECHO_CALLSIGN ZOOMER
|
||||||
|
#define WPN_CALLSIGN BLACKFOOT
|
||||||
|
|
||||||
|
// Define the frequencies for the Battalion
|
||||||
|
#define FREQ_BATTALION 45
|
||||||
|
#define FREQ_BATTALION_MEDICAL_INTERCOM 91.1
|
||||||
|
#define FREQ_ALL_MEDICAL_SR 121.5
|
||||||
|
|
||||||
|
#define FREQ_ALPHA_COMPANY 40
|
||||||
|
|
||||||
|
#define FREQ_PLATOON1_SR 100
|
||||||
|
#define FREQ_PLATOON1_LR 41
|
||||||
|
#define FREQ_PLATOON1_RTO 101
|
||||||
|
|
||||||
|
#define FREQ_PLATOON2_SR 200
|
||||||
|
#define FREQ_PLATOON2_LR 42
|
||||||
|
#define FREQ_PLATOON2_RTO 201
|
||||||
|
|
||||||
|
#define FREQ_ECHO_FLIGHT_INTERCOM 30
|
||||||
|
#define FREQ_ECHO_FLIGHT_CAS 35
|
||||||
|
#define FREQ_ECHO_FLIGHT_LOGISTICS 35.1
|
||||||
|
|
||||||
|
#define FREQ_ECHO_GROUND 80
|
||||||
|
#define FREQ_ECHO_GROUND_LOGISTICS 81
|
||||||
|
#define FREQ_ECHO_ARTY 82
|
||||||
|
#define FREQ_ECHO_ARTY_INTERCOM 155
|
||||||
|
|
||||||
|
#define FREQ_CONVOY 50
|
||||||
|
|
||||||
|
// Define the text colors to appear in diary entries
|
||||||
|
#define LVL1_TEXT_COLOR "#7c887e"
|
||||||
|
#define LVL2_TEXT_COLOR "#bab79f"
|
||||||
|
#define LVL3_TEXT_COLOR "#91967f"
|
||||||
|
#define LVL4_TEXT_COLOR "#d3d2cd"
|
||||||
|
|
||||||
|
|
||||||
|
// All elements and subclasses should have the following properties:
|
||||||
|
// callsign: the callsign of the element
|
||||||
|
// textColor: the color of the text for the element
|
||||||
|
// frequencies: an array of frequencies for the element in the format:
|
||||||
|
// {roleWithinElement, {primarySR, additionalSR}, {primaryLR, additionalLR}}
|
||||||
|
|
||||||
|
// Battalion-level elements under Command should have the following additional properties:
|
||||||
|
// shortDescription: a short description of the element's place in the Battalion
|
||||||
|
|
||||||
|
|
||||||
|
// System macros
|
||||||
|
#define CALLSIGN_ELEMENT(callsign,element) callsign##element
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
class BattalionInfo {
|
||||||
|
class Command {
|
||||||
|
callsign = COMMAND_CALLSIGN;
|
||||||
|
shortDescription = "Battalion Command";
|
||||||
|
textColor = LVL1_TEXT_COLOR;
|
||||||
|
// frequencies are in format:
|
||||||
|
// {roleWithinElement, {primarySR, additionalSR}, {primaryLR, additionalLR}}
|
||||||
|
frequencies[] = {
|
||||||
|
{"Actual", {}, {FREQ_BATTALION}},
|
||||||
|
{"Romeo", {}, {FREQ_BATTALION, FREQ_ECHO_FLIGHT_CAS}}
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
class RRC { // WIP
|
||||||
|
callsign = RRC_CALLSIGN;
|
||||||
|
shortDescription = "RRC";
|
||||||
|
textColor = LVL2_TEXT_COLOR;
|
||||||
|
frequencies[] = {
|
||||||
|
{"Actual", {}, {FREQ_BATTALION, FREQ_ECHO_FLIGHT_CAS}}
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
class BattalionMedical { // WIP
|
||||||
|
callsign = MEDIC_CALLSIGN;
|
||||||
|
shortDescription = "Battalion Medical";
|
||||||
|
textColor = LVL2_TEXT_COLOR;
|
||||||
|
frequencies[] = {
|
||||||
|
{"Actual", {FREQ_BATTALION_MEDICAL_INTERCOM, FREQ_ALL_MEDICAL_SR}, {FREQ_BATTALION, FREQ_ECHO_FLIGHT_LOGISTICS}},
|
||||||
|
{"General", {FREQ_BATTALION_MEDICAL_INTERCOM, FREQ_ALL_MEDICAL_SR}, {}}
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
// class WeaponsPlatoon { // WIP
|
||||||
|
// callsign = WPN_CALLSIGN;
|
||||||
|
// textColor = LVL2_TEXT_COLOR;
|
||||||
|
// frequencies[] = {
|
||||||
|
// {"Actual", {}, {FREQ_BATTALION, FREQ_ECHO_FLIGHT_CAS}}
|
||||||
|
// };
|
||||||
|
// };
|
||||||
|
|
||||||
|
|
||||||
|
class AlphaCompany {
|
||||||
|
callsign = ALPHA_CALLSIGN;
|
||||||
|
shortDescription = "Alpha Company";
|
||||||
|
textColor = LVL2_TEXT_COLOR;
|
||||||
|
frequencies[] = {
|
||||||
|
{"Actual", {}, {FREQ_COMPANY, FREQ_BATTALION}},
|
||||||
|
{"Romeo", {}, {FREQ_BATTALION, FREQ_ECHO_FLIGHT_CAS, FREQ_ECHO_FLIGHT_LOGISTICS}}
|
||||||
|
};
|
||||||
|
|
||||||
|
class Platoon1 {
|
||||||
|
callsign = CALLSIGN_ELEMENT(ALPHA_CALLSIGN, 1-6);
|
||||||
|
textColor = LVL3_TEXT_COLOR;
|
||||||
|
frequencies[] = {
|
||||||
|
{"Actual", {FREQ_PLATOON1_SR, FREQ_PLATOON1_RTO}, {FREQ_PLATOON1_LR, FREQ_COMPANY}}
|
||||||
|
};
|
||||||
|
class Squad1 {
|
||||||
|
callsign = CALLSIGN_ELEMENT(ALPHA_CALLSIGN, 1-1);
|
||||||
|
textColor = LVL4_TEXT_COLOR;
|
||||||
|
frequencies[] = {
|
||||||
|
{"Actual", {110, FREQ_PLATOON1_SR}, {FREQ_PLATOON1_LR}},
|
||||||
|
{"Alpha Team", {111, 110}, {}},
|
||||||
|
{"Bravo Team", {112, 110}, {}},
|
||||||
|
{"Medic", {110, FREQ_ALL_MEDICAL_SR}, {}}
|
||||||
|
};
|
||||||
|
};
|
||||||
|
class Squad2 {
|
||||||
|
callsign = CALLSIGN_ELEMENT(ALPHA_CALLSIGN, 1-2);
|
||||||
|
textColor = LVL4_TEXT_COLOR;
|
||||||
|
frequencies[] = {
|
||||||
|
{"Actual", {120, FREQ_PLATOON1_SR}, {FREQ_PLATOON1_LR}},
|
||||||
|
{"Alpha Team", {121, 120}, {}},
|
||||||
|
{"Bravo Team", {122, 120}, {}},
|
||||||
|
{"Medic", {120, FREQ_ALL_MEDICAL_SR}, {}}
|
||||||
|
};
|
||||||
|
};
|
||||||
|
class Squad3 {
|
||||||
|
callsign = CALLSIGN_ELEMENT(ALPHA_CALLSIGN, 1-3);
|
||||||
|
textColor = LVL4_TEXT_COLOR;
|
||||||
|
frequencies[] = {
|
||||||
|
{"Actual", {130, FREQ_PLATOON1_SR}, {FREQ_PLATOON1_LR}},
|
||||||
|
{"Alpha Team", {131, 130}, {}},
|
||||||
|
{"Bravo Team", {132, 130}, {}},
|
||||||
|
{"Medic", {130, FREQ_ALL_MEDICAL_SR}, {}}
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
class Platoon2 {
|
||||||
|
callsign = CALLSIGN_ELEMENT(ALPHA_CALLSIGN, 2-6);
|
||||||
|
textColor = LVL3_TEXT_COLOR;
|
||||||
|
frequencies[] = {
|
||||||
|
{"Actual", {FREQ_PLATOON2_SR, FREQ_PLATOON2_RTO}, {FREQ_PLATOON2, FREQ_COMPANY}}
|
||||||
|
};
|
||||||
|
class Squad1 {
|
||||||
|
callsign = CALLSIGN_ELEMENT(ALPHA_CALLSIGN, 2-1);
|
||||||
|
textColor = LVL4_TEXT_COLOR;
|
||||||
|
frequencies[] = {
|
||||||
|
{"Actual", {210, FREQ_PLATOON2_SR}, {FREQ_PLATOON2_LR}},
|
||||||
|
{"Alpha Team", {211, 210}, {}},
|
||||||
|
{"Bravo Team", {212, 210}, {}},
|
||||||
|
{"Medic", {210, FREQ_ALL_MEDICAL_SR}, {}}
|
||||||
|
};
|
||||||
|
};
|
||||||
|
class Squad2 {
|
||||||
|
callsign = CALLSIGN_ELEMENT(ALPHA_CALLSIGN, 2-2);
|
||||||
|
textColor = LVL4_TEXT_COLOR;
|
||||||
|
frequencies[] = {
|
||||||
|
{"Actual", {220, FREQ_PLATOON2_SR}, {FREQ_PLATOON2_LR}},
|
||||||
|
{"Alpha Team", {221, 220}, {}},
|
||||||
|
{"Bravo Team", {222, 220}, {}},
|
||||||
|
{"Medic", {220, FREQ_ALL_MEDICAL_SR}, {}}
|
||||||
|
};
|
||||||
|
};
|
||||||
|
class Squad3 {
|
||||||
|
callsign = CALLSIGN_ELEMENT(ALPHA_CALLSIGN, 2-3);
|
||||||
|
textColor = LVL4_TEXT_COLOR;
|
||||||
|
frequencies[] = {
|
||||||
|
{"Actual", {230, FREQ_PLATOON2_SR}, {FREQ_PLATOON2_LR}},
|
||||||
|
{"Alpha Team", {231, 230}, {}},
|
||||||
|
{"Bravo Team", {232, 230}, {}},
|
||||||
|
{"Medic", {230, FREQ_ALL_MEDICAL_SR}, {}}
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
class EchoCompany {
|
||||||
|
callsign = ECHO_CALLSIGN;
|
||||||
|
shortDescription = "Echo Company";
|
||||||
|
textColor = LVL2_TEXT_COLOR;
|
||||||
|
frequencies[] = {
|
||||||
|
{"Actual", {}, {FREQ_BATTALION}}
|
||||||
|
};
|
||||||
|
|
||||||
|
class Flight {
|
||||||
|
callsign = CALLSIGN_ELEMENT(ECHO_CALLSIGN, FLIGHT);
|
||||||
|
textColor = LVL3_TEXT_COLOR;
|
||||||
|
frequencies[] = {
|
||||||
|
{"Actual", {}, {FREQ_ECHO_FLIGHT_INTERCOM, FREQ_BATTALION}},
|
||||||
|
{"CAS Support", {}, {FREQ_ECHO_FLIGHT_INTERCOM, FREQ_ECHO_FLIGHT_CAS}},
|
||||||
|
{"Logistics", {}, {FREQ_ECHO_FLIGHT_INTERCOM, FREQ_ECHO_FLIGHT_LOGISTICS}}
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
class Ground {
|
||||||
|
callsign = CALLSIGN_ELEMENT(ECHO_CALLSIGN, GROUND);
|
||||||
|
textColor = LVL3_TEXT_COLOR;
|
||||||
|
frequencies[] = {
|
||||||
|
{"Actual", {}, {FREQ_ECHO_GROUND, FREQ_BATTALION}}
|
||||||
|
};
|
||||||
|
|
||||||
|
class Logistics {
|
||||||
|
callsign = CALLSIGN_ELEMENT(ECHO_CALLSIGN, LOGISTICS);
|
||||||
|
textColor = LVL4_TEXT_COLOR;
|
||||||
|
frequencies[] = {
|
||||||
|
{"Actual", {}, {FREQ_ECHO_GROUND_LOGISTICS, FREQ_ECHO_GROUND}},
|
||||||
|
{"General", {}, {FREQ_ECHO_GROUND_LOGISTICS}},
|
||||||
|
{"Convoy", {}, {FREQ_CONVOY}}
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
class Attack {
|
||||||
|
callsign = CALLSIGN_ELEMENT(ECHO_CALLSIGN, ATTACK);
|
||||||
|
textColor = LVL4_TEXT_COLOR;
|
||||||
|
frequencies[] = {
|
||||||
|
{"General", {}, {FREQ_ECHO_GROUND}},
|
||||||
|
{"Convoy", {}, {FREQ_CONVOY}}
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
class Artillery {
|
||||||
|
callsign = CALLSIGN_ELEMENT(ECHO_CALLSIGN, ARTILLERY);
|
||||||
|
textColor = LVL4_TEXT_COLOR;
|
||||||
|
frequencies[] = {
|
||||||
|
{"General", {FREQ_ECHO_ARTY_INTERCOM}, {FREQ_ECHO_GROUND, FREQ_ECHO_ARTY}}
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
@@ -19,4 +19,20 @@ Weapons Squad
|
|||||||
<br/><br/>
|
<br/><br/>
|
||||||
";
|
";
|
||||||
|
|
||||||
|
|
||||||
|
private _text = [];
|
||||||
|
|
||||||
|
private _battalionCfg = call milsim_fnc_getBattalionCfg;
|
||||||
|
private _commandCfg = _battalionCfg >> "Command";
|
||||||
|
private _battalionLevelElements = [_commandCfg] call BIS_fnc_returnChildren;
|
||||||
|
|
||||||
|
{
|
||||||
|
private _cfg = _x;
|
||||||
|
private _callsign = getText (_cfg >> "callsign");
|
||||||
|
private _desc = getText (_cfg >> "shortDescription");
|
||||||
|
_text pushBack format ["<font color='#00FF00' size='16'>%1</font><br/>%2", _callsign, _desc];
|
||||||
|
} forEach _battalionLevelElements;
|
||||||
|
|
||||||
|
_text = _text joinString "<br/><br/>";
|
||||||
|
|
||||||
player createDiaryRecord ["Status", ["MDS - COMMAND - CALLSIGNS", _text]];
|
player createDiaryRecord ["Status", ["MDS - COMMAND - CALLSIGNS", _text]];
|
||||||
@@ -1,35 +1,108 @@
|
|||||||
|
// updated 2024-02-01 by IndigoFox
|
||||||
|
// now reads from the battalion config structure
|
||||||
|
|
||||||
_text = "
|
private _formatElementForDiary = {
|
||||||
<font size='24' color='#ff0000'>=======------ Mission Data Set ------=======</font>
|
params ["_cfg", "_indentCount"];
|
||||||
<br/><br/>
|
|
||||||
<font size='16' color='#4A86E8'>EXODUS</font>
|
|
||||||
<br/>
|
|
||||||
<font color='#FF0000'>6 - 45</font>
|
|
||||||
<br/>
|
|
||||||
<font color='#FF0000'>RTO - 45 / 35</font>
|
|
||||||
<br/><br/>
|
|
||||||
<font size='16' color='#6AA84F'>RIPTIDE</font>
|
|
||||||
<br/>
|
|
||||||
<font color='#FF0000'>Actual - 45 / 100</font>
|
|
||||||
<br/>
|
|
||||||
<font color='#FF0000'>Romeo - 45 / 35</font>
|
|
||||||
<br/>
|
|
||||||
<font color='#FF0000'>1 - 110 / 100</font>
|
|
||||||
<br/>
|
|
||||||
<font color='#FF0000'>2 - 120 / 100</font>
|
|
||||||
<br/>
|
|
||||||
<font color='#FF0000'>3 - 130 / 110</font>
|
|
||||||
<br/>
|
|
||||||
<font color='#FF0000'>Blackfoot - 150 / 100</font>
|
|
||||||
<br/><br/>
|
|
||||||
<font size='16' color='#F1C232'>ECHO</font>
|
|
||||||
<br/>
|
|
||||||
<font color='#FF0000'>Impaler - 45 / 35</font>
|
|
||||||
<br/>
|
|
||||||
<font color='#FF0000'>JTAC - 35 / 82</font>
|
|
||||||
<br/>
|
|
||||||
<font color='#FF0000'>IDF - 82 / 100</font>
|
|
||||||
<br/><br/>
|
|
||||||
";
|
|
||||||
|
|
||||||
player createDiaryRecord ["Status", ["MDS - INTEL - RADIO FREQS", _text]];
|
private _leadingSpace = [
|
||||||
|
format["<font size='%1'>| ", _ELEMENT_NAME_SIZE]
|
||||||
|
];
|
||||||
|
for "_i" from 1 to _indentCount do {
|
||||||
|
_leadingSpace pushBack "-";
|
||||||
|
};
|
||||||
|
_leadingSpace pushBack " | </font>";
|
||||||
|
|
||||||
|
// make header line
|
||||||
|
private _lines = [
|
||||||
|
format[
|
||||||
|
"<font size='%1' face='EtelkaMonospaceProBold' color='%2'>%3%4</font>",
|
||||||
|
_ELEMENT_NAME_SIZE,
|
||||||
|
getText(_cfg >> "textColor"),
|
||||||
|
_leadingSpace joinString "",
|
||||||
|
getText (_cfg >> "callsign")
|
||||||
|
]
|
||||||
|
];
|
||||||
|
|
||||||
|
// make frequency lines
|
||||||
|
private _freqLeadingSpace = [
|
||||||
|
format["<font size='%1'>| ", _ELEMENT_NAME_SIZE]
|
||||||
|
];
|
||||||
|
for "_i" from 1 to _indentCount + 4 do {
|
||||||
|
_freqLeadingSpace pushBack " ";
|
||||||
|
};
|
||||||
|
_freqLeadingSpace pushBack "</font>";
|
||||||
|
_freqLeadingSpace = _freqLeadingSpace joinString "";
|
||||||
|
|
||||||
|
{
|
||||||
|
_x params ["_role", "_sr", "_lr"];
|
||||||
|
|
||||||
|
|
||||||
|
private ["_srStr", "_lrStr"];
|
||||||
|
if (count _sr > 0) then {
|
||||||
|
_srStr = format["SR [%1]", _sr joinString "/"];
|
||||||
|
} else {
|
||||||
|
_srStr = "----";
|
||||||
|
};
|
||||||
|
if (count _lr > 0) then {
|
||||||
|
_lrStr = format["LR [%1]", _lr joinString "/"];
|
||||||
|
} else {
|
||||||
|
_lrStr = "----";
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
_lines pushBack format[
|
||||||
|
"%1<font size='%2' color='%3'>- %4%5%6 -</font>",
|
||||||
|
_freqLeadingSpace,
|
||||||
|
_ELEMENT_FREQ_SIZE,
|
||||||
|
_FREQ_TEXT_COLOR,
|
||||||
|
[_role, "right", " ", _FREQ_PAD_LENGTH] call milsim_fnc_padString,
|
||||||
|
[_srStr, "right", " ", _FREQ_PAD_LENGTH] call milsim_fnc_padString,
|
||||||
|
[_lrStr, "right", " ", 8] call milsim_fnc_padString
|
||||||
|
];
|
||||||
|
} forEach (getArray (_cfg >> "frequencies"));
|
||||||
|
|
||||||
|
_lines;
|
||||||
|
};
|
||||||
|
|
||||||
|
private _addToAllText = {
|
||||||
|
params [["_lines", []]];
|
||||||
|
|
||||||
|
_allText = format[
|
||||||
|
"%1%2<br/>",
|
||||||
|
_allText,
|
||||||
|
_lines joinString "<br/>"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
private _recurseAddElements = {
|
||||||
|
params ["_cfg", ["_indentCount", 1]];
|
||||||
|
|
||||||
|
// add config
|
||||||
|
private _lines = [_cfg, _indentCount] call _formatElementForDiary;
|
||||||
|
[_lines] call _addToAllText;
|
||||||
|
|
||||||
|
// get children and recurse
|
||||||
|
_childCfgs = _cfg call BIS_fnc_returnChildren;
|
||||||
|
{
|
||||||
|
[_x, _indentCount+1] call _recurseAddElements;
|
||||||
|
} forEach _childCfgs;
|
||||||
|
};
|
||||||
|
|
||||||
|
////////////////////////////////////////
|
||||||
|
_allText = "
|
||||||
|
<font size='16' color='#ff0000'>=======------ Mission Data Set ------=======</font>
|
||||||
|
<font face='EtelkaMonospacePro'><br/><br/>";
|
||||||
|
|
||||||
|
private _battalionInfoCfgs = [call milsim_fnc_getBattalionCfg] call BIS_fnc_returnChildren;
|
||||||
|
private _ELEMENT_NAME_SIZE = 10;
|
||||||
|
private _ELEMENT_FREQ_SIZE = 8;
|
||||||
|
private _FREQ_PAD_LENGTH = 14;
|
||||||
|
private _FREQ_TEXT_COLOR = "#CCCCCC";
|
||||||
|
|
||||||
|
{
|
||||||
|
_x call _recurseAddElements;
|
||||||
|
} forEach _battalionInfoCfgs;
|
||||||
|
|
||||||
|
_allText = format["%1</font>", _allText];
|
||||||
|
|
||||||
|
player createDiaryRecord ["Status", ["MDS - INTEL - RADIO FREQS", _allText]];
|
||||||
1
functions/util/fn_getBattalionCfg.sqf
Normal file
1
functions/util/fn_getBattalionCfg.sqf
Normal file
@@ -0,0 +1 @@
|
|||||||
|
(missionConfigFile >> "BattalionInfo")
|
||||||
20
functions/util/fn_padString.sqf
Normal file
20
functions/util/fn_padString.sqf
Normal file
@@ -0,0 +1,20 @@
|
|||||||
|
params [
|
||||||
|
["_text", "", [""]],
|
||||||
|
["_padSide", "left", ["left", "right"]],
|
||||||
|
["_padChar", " ", [" "]],
|
||||||
|
["_padLength", 4, [4]]
|
||||||
|
];
|
||||||
|
|
||||||
|
// pad a string with a character to a certain length
|
||||||
|
if (_padSide == "left") then {
|
||||||
|
for "_i" from 1 to _padLength - count _text do {
|
||||||
|
_text = _padChar + _text;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
if (_padSide == "right") then {
|
||||||
|
for "_i" from 1 to _padLength - count _text do {
|
||||||
|
_text = _text + _padChar;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
_text
|
||||||
14
functions/util/fn_recurseSubclasses.sqf
Normal file
14
functions/util/fn_recurseSubclasses.sqf
Normal file
@@ -0,0 +1,14 @@
|
|||||||
|
params [
|
||||||
|
["_cfg", configNull, [configNull]],
|
||||||
|
["_code", {}, [{}]]
|
||||||
|
];
|
||||||
|
|
||||||
|
if (isNull _cfg) exitWith {["Provided config is null!"] call BIS_fnc_error};
|
||||||
|
|
||||||
|
[_cfg] call _code;
|
||||||
|
|
||||||
|
// get children and recurse
|
||||||
|
private _childCfgs = _cfg call BIS_fnc_returnChildren;
|
||||||
|
{
|
||||||
|
[_x, _code] call milsim_fnc_recurseSubclasses;
|
||||||
|
} forEach _childCfgs;
|
||||||
Reference in New Issue
Block a user