// updated 2024-02-01 by IndigoFox // now reads from the battalion config structure private _formatElementForDiary = { params ["_cfg", "_indentCount"]; private _leadingSpace = [ format["| ", _ELEMENT_NAME_SIZE] ]; for "_i" from 1 to _indentCount do { _leadingSpace pushBack "-"; }; _leadingSpace pushBack " | "; // make header line private _lines = [ format[ "%3%4", _ELEMENT_NAME_SIZE, getText(_cfg >> "textColor"), _leadingSpace joinString "", getText (_cfg >> "callsign") ] ]; // make frequency lines private _freqLeadingSpace = [ format["| ", _ELEMENT_NAME_SIZE] ]; for "_i" from 1 to _indentCount + 4 do { _freqLeadingSpace pushBack " "; }; _freqLeadingSpace pushBack ""; _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- %4%5%6 -", _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
", _allText, _lines joinString "
" ]; }; 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 = " =======------ Mission Data Set ------=======

"; 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
", _allText]; player createDiaryRecord ["Status", ["MDS - INTEL - RADIO FREQS", _allText]];