Files
MissionTemplate/functions/fbcb2/fn_processFBCB2RadioFrequencies.sqf

53 lines
1.7 KiB
Plaintext

// updated 2024-02-01 by IndigoFox
// now reads from the battalion config structure
private _addToAllText = {
params [["_lines", []]];
_allText pushBack (_lines joinString "<br/>");
};
////////////////////////////////////////
private _battalionInfoCfg = call milsim_fnc_getBattalionCfg;
private _battalionElementCfgs = [_battalionInfoCfg >> "Command"] call BIS_fnc_returnChildren;
private _ELEMENT_NAME_SIZE = 10;
private _ELEMENT_NAME_FONT = "EtelkaMonospaceProBold";
private _ELEMENT_FREQ_SIZE = 9;
private _ELEMENT_FREQ_FONT = "EtelkaMonospacePro";
private _FREQ_INDENT_CONSTANT = 6;
private _FREQ_PAD_LENGTH = 17;
private _FREQ_TEXT_COLOR = "#CCCCCC";
private _freqLeadingSpace = [
format["<font size='%1' face='%2'>| ", _ELEMENT_NAME_SIZE, _ELEMENT_NAME_FONT]
];
for "_i" from 1 to _FREQ_INDENT_CONSTANT do {
_freqLeadingSpace pushBack " ";
};
_freqLeadingSpace pushBack "</font>";
_freqLeadingSpace = _freqLeadingSpace joinString "";
// reverse the list so diary records are filed in the correct order
reverse _battalionElementCfgs;
{
// recursively generate diary text for all child elements of battalion-level elements
private _diaryTitleText = [_x, true] call milsim_fnc_generateElementFrequencyRecordText;
[
milsim_fbcb2_subjectFrequenciesID,
_diaryTitleText#0,
_diaryTitleText#1
] call milsim_fnc_createOrUpdateDiaryRecord;
} forEach _battalionElementCfgs;
// add the battalion command to the top of the list
// don't process child elements
private _diaryTitleText = [_battalionInfoCfg >> "Command", false] call milsim_fnc_generateElementFrequencyRecordText;
[
milsim_fbcb2_subjectFrequenciesID,
_diaryTitleText#0,
_diaryTitleText#1
] call milsim_fnc_createOrUpdateDiaryRecord;