diff --git a/description.ext b/description.ext
index 3bb5ba0..558a08f 100644
--- a/description.ext
+++ b/description.ext
@@ -17,6 +17,7 @@
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
#include "mission_settings.hpp"
+#include "framework\script_mod.hpp"
#include "defines\ApprovedAssets.hpp"
#include "defines\BattalionInfo.hpp"
#include "defines\DisallowedEquipment.hpp"
@@ -94,7 +95,7 @@ class Params
class cfgFunctions
{
- #include "functions\CfgFunctions.hpp"
+ #include "framework\CfgFunctions.hpp"
};
diff --git a/functions/CfgFunctions.hpp b/framework/CfgFunctions.hpp
similarity index 80%
rename from functions/CfgFunctions.hpp
rename to framework/CfgFunctions.hpp
index 4c4a8d1..d19b024 100644
--- a/functions/CfgFunctions.hpp
+++ b/framework/CfgFunctions.hpp
@@ -2,6 +2,7 @@ class milsim
{
class settings
{
+ file = "framework\settings";
class setDefaults { postInit = 1; };
class addCBASettings { postInit = 1; };
class addAARChatHandler { postInit = 1; };
@@ -10,11 +11,13 @@ class milsim
class init
{
+ file = "framework\init";
class initServer { postInit = 1;}; //needs refactor
class initPlayerLocal { postInit = 1;};
};
class fbcb2 {
+ file = "framework\fbcb2";
class initFBCB2 { postInit = 1; };
class processFBCB2RadioFrequencies {};
class processFBCB2SmokeColors {};
@@ -22,16 +25,17 @@ class milsim
class hintFBCB2AssetStatus {};
};
class fbcb2_util {
- file = "functions\fbcb2\util";
+ file = "framework\fbcb2\util";
class createOrUpdateDiaryRecord {};
};
class fbcb2_radioFrequencies {
- file = "functions\fbcb2\radioFrequencies";
+ file = "framework\fbcb2\radioFrequencies";
class formatRadioElementForDiary {};
class generateElementFrequencyRecordText {};
};
class client {
+ file = "framework\client";
class addZenModules { postInit = 1; };
class addDNI_PlayerFPS { postInit = 1; }; // needs refactor
class bindEventHandlers { postInit = 1; };
@@ -43,18 +47,21 @@ class milsim
};
class server {
+ file = "framework\server";
class addServerStatsPFH {};
class calculateServerStats {};
class logPlayerInventory {};
};
class ambience {
+ file = "framework\ambience";
class flakInitVehicle {};
class flakEH {};
};
class map
{
+ file = "framework\map";
class initMapCopy { postInit = 1; };
class copyMapFromPlayer {}; //needs refactor
class getPlayerMapMarkers {}; //needs refactor
@@ -62,9 +69,11 @@ class milsim
class mapMarkerToString {}; //needs refactor
class stringToMapMarker {}; //needs refactor
};
+};
- class util
- {
+class milsim_util {
+ class functions {
+ file = "framework\util";
class logMissionInfo { postInit = 1; };
class addPlayerInfoToArray {};
class log {};
@@ -78,14 +87,9 @@ class milsim
class milsim_resupply {
class functions {
- file = "functions\resupply";
- class createAmmoBox {};
+ file = "framework\resupply\functions";
+ class init {postInit=1;};
class createBox {};
- class createCSWBox {};
- class createLaunchersBox {};
- class createMedicalBox {};
- class createMortarBox {};
- class createWeaponsBox {};
class getSupplyCratesCfg {};
class addArsenalObjectSpawnBoxActions {};
class addCBASettings {postInit=1;};
@@ -94,7 +98,7 @@ class milsim_resupply {
class milsim_fbcb2_assets {
class functions {
- file = "functions\fbcb2\assets";
+ file = "framework\fbcb2\assets";
class updateAssetDiary {};
class removeAssetDiaryRecords {};
class getMagsForWeapon {};
@@ -103,21 +107,31 @@ class milsim_fbcb2_assets {
class getVehicleData {};
};
class assetsByBase {
- file = "functions\fbcb2\assets\byBase";
+ file = "framework\fbcb2\assets\byBase";
class getAssetsByBase {};
class getStartingAssetsByBase {};
class updateAssetsByBase {};
};
class markers {
- file = "functions\fbcb2\assets\markers";
+ file = "framework\fbcb2\assets\markers";
class showMarkersOnMap {};
class removeMarkersOnMap {};
- }
+ };
+};
+
+class milsim_vehicleFlags {
+ class functions {
+ file = "framework\vehicleFlags\functions";
+ class init {postInit=1;};
+ class getActionsFlagCategories {};
+ class getVehicleFlagsCfg {};
+ class isClassExcluded {};
+ };
};
class milsim_reinsert {
class server {
- file = "functions\reinsert\server";
+ file = "framework\reinsert\server";
class initServer { postInit = 1; };
class addToQueue {};
class globalShowQueue {};
@@ -126,20 +140,10 @@ class milsim_reinsert {
class validateQueue {};
};
class client {
- file = "functions\reinsert\client";
+ file = "framework\reinsert\client";
class initClient { postInit = 1; };
class addAceSelfActions {};
class addCheckQueueSelfAction {};
class requestShowQueue {};
};
-};
-
-class milsim_vehicleFlags {
- class functions {
- file = "functions\vehicleFlags";
- class initVehicleFlags {postInit = 1};
- class getActionsFlagCategories {};
- class getVehicleFlagsCfg {};
- class isClassExcluded{};
- };
};
\ No newline at end of file
diff --git a/functions/ambience/fn_flakEH.sqf b/framework/ambience/fn_flakEH.sqf
similarity index 100%
rename from functions/ambience/fn_flakEH.sqf
rename to framework/ambience/fn_flakEH.sqf
diff --git a/functions/ambience/fn_flakInitVehicle.sqf b/framework/ambience/fn_flakInitVehicle.sqf
similarity index 100%
rename from functions/ambience/fn_flakInitVehicle.sqf
rename to framework/ambience/fn_flakInitVehicle.sqf
diff --git a/functions/client/fn_addClientStatsPFH.sqf b/framework/client/fn_addClientStatsPFH.sqf
similarity index 100%
rename from functions/client/fn_addClientStatsPFH.sqf
rename to framework/client/fn_addClientStatsPFH.sqf
diff --git a/functions/client/fn_addDNI_PlayerFPS.sqf b/framework/client/fn_addDNI_PlayerFPS.sqf
similarity index 100%
rename from functions/client/fn_addDNI_PlayerFPS.sqf
rename to framework/client/fn_addDNI_PlayerFPS.sqf
diff --git a/functions/client/fn_addMedicalOverlayPFH.sqf b/framework/client/fn_addMedicalOverlayPFH.sqf
similarity index 100%
rename from functions/client/fn_addMedicalOverlayPFH.sqf
rename to framework/client/fn_addMedicalOverlayPFH.sqf
diff --git a/functions/client/fn_addZenModules.sqf b/framework/client/fn_addZenModules.sqf
similarity index 100%
rename from functions/client/fn_addZenModules.sqf
rename to framework/client/fn_addZenModules.sqf
diff --git a/functions/client/fn_bindEmptyGroupGarbageCleanup.sqf b/framework/client/fn_bindEmptyGroupGarbageCleanup.sqf
similarity index 100%
rename from functions/client/fn_bindEmptyGroupGarbageCleanup.sqf
rename to framework/client/fn_bindEmptyGroupGarbageCleanup.sqf
diff --git a/functions/client/fn_bindEventHandlers.sqf b/framework/client/fn_bindEventHandlers.sqf
similarity index 86%
rename from functions/client/fn_bindEventHandlers.sqf
rename to framework/client/fn_bindEventHandlers.sqf
index b4bcf8f..55d4781 100644
--- a/functions/client/fn_bindEventHandlers.sqf
+++ b/framework/client/fn_bindEventHandlers.sqf
@@ -8,8 +8,8 @@ player addEventHandler["Respawn",
[
"client",
"RESPAWNED WHILE UNCONSCIOUS",
- [_unit] call milsim_fnc_addPlayerInfoToArray
- ] remoteExec ["milsim_fnc_log", 2];
+ [_unit] call milsim_util_fnc_addPlayerInfoToArray
+ ] remoteExec ["milsim_util_fnc_log", 2];
// format["%1 was unconscious then clicked the respawn button", name _unit] remoteExec["systemChat", 0];
};
}
@@ -43,11 +43,11 @@ addMissionEventHandler ["HandleChatMessage",
["ace_arsenal_displayClosed", {
- [player] remoteExec ["milsim_fnc_logPlayerInventory", 2];
+ [player] remoteExec ["milsim_util_fnc_logPlayerInventory", 2];
}] call CBA_fnc_addEventHandler;
[missionNamespace, "arsenalClosed", {
- [player] remoteExec ["milsim_fnc_logPlayerInventory", 2];
+ [player] remoteExec ["milsim_util_fnc_logPlayerInventory", 2];
}] call BIS_fnc_addScriptedEventHandler;
diag_log text "[MILSIM] (client) event handlers bound";
diff --git a/functions/client/fn_bindVehicleActions.sqf b/framework/client/fn_bindVehicleActions.sqf
similarity index 100%
rename from functions/client/fn_bindVehicleActions.sqf
rename to framework/client/fn_bindVehicleActions.sqf
diff --git a/functions/client/fn_calculateClientStats.sqf b/framework/client/fn_calculateClientStats.sqf
similarity index 100%
rename from functions/client/fn_calculateClientStats.sqf
rename to framework/client/fn_calculateClientStats.sqf
diff --git a/functions/fbcb2/assets/byBase/fn_getAssetsByBase.sqf b/framework/fbcb2/assets/byBase/fn_getAssetsByBase.sqf
similarity index 100%
rename from functions/fbcb2/assets/byBase/fn_getAssetsByBase.sqf
rename to framework/fbcb2/assets/byBase/fn_getAssetsByBase.sqf
diff --git a/functions/fbcb2/assets/byBase/fn_getStartingAssetsByBase.sqf b/framework/fbcb2/assets/byBase/fn_getStartingAssetsByBase.sqf
similarity index 100%
rename from functions/fbcb2/assets/byBase/fn_getStartingAssetsByBase.sqf
rename to framework/fbcb2/assets/byBase/fn_getStartingAssetsByBase.sqf
diff --git a/functions/fbcb2/assets/byBase/fn_updateAssetsByBase.sqf b/framework/fbcb2/assets/byBase/fn_updateAssetsByBase.sqf
similarity index 92%
rename from functions/fbcb2/assets/byBase/fn_updateAssetsByBase.sqf
rename to framework/fbcb2/assets/byBase/fn_updateAssetsByBase.sqf
index e243526..d5f5ffb 100644
--- a/functions/fbcb2/assets/byBase/fn_updateAssetsByBase.sqf
+++ b/framework/fbcb2/assets/byBase/fn_updateAssetsByBase.sqf
@@ -23,7 +23,7 @@ private _assetsStartedAtThisBaseVar = "milsim_fbcb2_assets_assetsStartedAtThisBa
private _asset = _x;
// avoid duplicates
if (_asset in _allSaved) then {continue};
- private _closestBase = [_asset] call milsim_fnc_getNearestBase;
+ private _closestBase = [_asset] call milsim_util_fnc_getNearestBase;
if (isNull _closestBase) then {
// no base found
continue;
@@ -66,7 +66,7 @@ private _assetsStartedAtThisBaseVar = "milsim_fbcb2_assets_assetsStartedAtThisBa
// avoid duplicates
if (_asset in _allSaved) then {continue};
- private _closestBase = [_asset] call milsim_fnc_getNearestBase;
+ private _closestBase = [_asset] call milsim_util_fnc_getNearestBase;
if (isNull _closestBase) then {
// no base found
continue;
@@ -156,10 +156,10 @@ if !(_isInit || _logCurrentAssets) exitWith {};
"fbcb2_assets",
"CURRENT ASSETS",
[
- ["baseName", [[_base] call milsim_fnc_getNameOfBase]],
+ ["baseName", [[_base] call milsim_util_fnc_getNameOfBase]],
["asset", _x]
]
- ] call milsim_fnc_log;
+ ] call milsim_util_fnc_log;
} forEach _baseAssetsHashes;
};
@@ -170,10 +170,10 @@ if !(_isInit || _logCurrentAssets) exitWith {};
"fbcb2_assets",
"STARTING ASSETS",
[
- ["baseName", [[_base] call milsim_fnc_getNameOfBase]],
+ ["baseName", [[_base] call milsim_util_fnc_getNameOfBase]],
["asset", _x]
]
- ] call milsim_fnc_log;
+ ] call milsim_util_fnc_log;
} forEach _baseAssetsHashes;
};
} forEach milsim_baseObjects;
\ No newline at end of file
diff --git a/functions/fbcb2/assets/fn_getInventory.sqf b/framework/fbcb2/assets/fn_getInventory.sqf
similarity index 100%
rename from functions/fbcb2/assets/fn_getInventory.sqf
rename to framework/fbcb2/assets/fn_getInventory.sqf
diff --git a/functions/fbcb2/assets/fn_getMagsForWeapon.sqf b/framework/fbcb2/assets/fn_getMagsForWeapon.sqf
similarity index 100%
rename from functions/fbcb2/assets/fn_getMagsForWeapon.sqf
rename to framework/fbcb2/assets/fn_getMagsForWeapon.sqf
diff --git a/functions/fbcb2/assets/fn_getVehicleData.sqf b/framework/fbcb2/assets/fn_getVehicleData.sqf
similarity index 100%
rename from functions/fbcb2/assets/fn_getVehicleData.sqf
rename to framework/fbcb2/assets/fn_getVehicleData.sqf
diff --git a/functions/fbcb2/assets/fn_getWeaponry.sqf b/framework/fbcb2/assets/fn_getWeaponry.sqf
similarity index 100%
rename from functions/fbcb2/assets/fn_getWeaponry.sqf
rename to framework/fbcb2/assets/fn_getWeaponry.sqf
diff --git a/functions/fbcb2/assets/fn_removeAssetDiaryRecords.sqf b/framework/fbcb2/assets/fn_removeAssetDiaryRecords.sqf
similarity index 100%
rename from functions/fbcb2/assets/fn_removeAssetDiaryRecords.sqf
rename to framework/fbcb2/assets/fn_removeAssetDiaryRecords.sqf
diff --git a/functions/fbcb2/assets/fn_updateAssetDiary.sqf b/framework/fbcb2/assets/fn_updateAssetDiary.sqf
similarity index 99%
rename from functions/fbcb2/assets/fn_updateAssetDiary.sqf
rename to framework/fbcb2/assets/fn_updateAssetDiary.sqf
index 784242f..0f87ef2 100644
--- a/functions/fbcb2/assets/fn_updateAssetDiary.sqf
+++ b/framework/fbcb2/assets/fn_updateAssetDiary.sqf
@@ -180,6 +180,6 @@ private _distinctVehiclesClassNames = [];
["assetCount", count _vehicles],
["distinctAssetCount", count _distinctVehiclesClassNames]
]
-] call milsim_fnc_log;
+] call milsim_util_fnc_log;
true;
\ No newline at end of file
diff --git a/functions/fbcb2/assets/markers/fn_removeMarkersOnMap.sqf b/framework/fbcb2/assets/markers/fn_removeMarkersOnMap.sqf
similarity index 100%
rename from functions/fbcb2/assets/markers/fn_removeMarkersOnMap.sqf
rename to framework/fbcb2/assets/markers/fn_removeMarkersOnMap.sqf
diff --git a/functions/fbcb2/assets/markers/fn_showMarkersOnMap.sqf b/framework/fbcb2/assets/markers/fn_showMarkersOnMap.sqf
similarity index 97%
rename from functions/fbcb2/assets/markers/fn_showMarkersOnMap.sqf
rename to framework/fbcb2/assets/markers/fn_showMarkersOnMap.sqf
index c804d76..bb7bea4 100644
--- a/functions/fbcb2/assets/markers/fn_showMarkersOnMap.sqf
+++ b/framework/fbcb2/assets/markers/fn_showMarkersOnMap.sqf
@@ -61,7 +61,7 @@ if (not (count _baseMarkerStore > 0)) then {
_newMarker setMarkerTypeLocal "mil_flag";
_newMarker setMarkerColorLocal "ColorGreen";
_newMarker setMarkerSizeLocal [0.7, 0.7];
- _newMarker setMarkerTextLocal ([_base] call milsim_fnc_getNameOfBase);
+ _newMarker setMarkerTextLocal ([_base] call milsim_util_fnc_getNameOfBase);
_baseMarkerStore pushBack [
_base,
diff --git a/functions/fbcb2/fn_hintFBCB2AssetStatus.sqf b/framework/fbcb2/fn_hintFBCB2AssetStatus.sqf
similarity index 100%
rename from functions/fbcb2/fn_hintFBCB2AssetStatus.sqf
rename to framework/fbcb2/fn_hintFBCB2AssetStatus.sqf
diff --git a/functions/fbcb2/fn_initFBCB2.sqf b/framework/fbcb2/fn_initFBCB2.sqf
similarity index 100%
rename from functions/fbcb2/fn_initFBCB2.sqf
rename to framework/fbcb2/fn_initFBCB2.sqf
diff --git a/functions/fbcb2/fn_processFBCB2Environment.sqf b/framework/fbcb2/fn_processFBCB2Environment.sqf
similarity index 100%
rename from functions/fbcb2/fn_processFBCB2Environment.sqf
rename to framework/fbcb2/fn_processFBCB2Environment.sqf
diff --git a/functions/fbcb2/fn_processFBCB2RadioFrequencies.sqf b/framework/fbcb2/fn_processFBCB2RadioFrequencies.sqf
similarity index 96%
rename from functions/fbcb2/fn_processFBCB2RadioFrequencies.sqf
rename to framework/fbcb2/fn_processFBCB2RadioFrequencies.sqf
index 69270a8..15e26eb 100644
--- a/functions/fbcb2/fn_processFBCB2RadioFrequencies.sqf
+++ b/framework/fbcb2/fn_processFBCB2RadioFrequencies.sqf
@@ -4,7 +4,7 @@
////////////////////////////////////////
// Get info from missionConfigFile
////////////////////////////////////////
-private _battalionInfoCfg = call milsim_fnc_getBattalionCfg;
+private _battalionInfoCfg = call milsim_util_fnc_getBattalionCfg;
private _battalionElementCfgs = [_battalionInfoCfg >> "Command"] call BIS_fnc_returnChildren;
////////////////////////////////////////
diff --git a/functions/fbcb2/fn_processFBCB2SmokeColors.sqf b/framework/fbcb2/fn_processFBCB2SmokeColors.sqf
similarity index 100%
rename from functions/fbcb2/fn_processFBCB2SmokeColors.sqf
rename to framework/fbcb2/fn_processFBCB2SmokeColors.sqf
diff --git a/functions/fbcb2/radioFrequencies/fn_formatRadioElementForDiary.sqf b/framework/fbcb2/radioFrequencies/fn_formatRadioElementForDiary.sqf
similarity index 92%
rename from functions/fbcb2/radioFrequencies/fn_formatRadioElementForDiary.sqf
rename to framework/fbcb2/radioFrequencies/fn_formatRadioElementForDiary.sqf
index 8a4bdc0..fce0c35 100644
--- a/functions/fbcb2/radioFrequencies/fn_formatRadioElementForDiary.sqf
+++ b/framework/fbcb2/radioFrequencies/fn_formatRadioElementForDiary.sqf
@@ -62,8 +62,8 @@ _freqLeadingSpace = _freqLeadingSpace joinString "";
_ELEMENT_FREQ_SIZE,
_ELEMENT_FREQ_FONT,
_FREQ_TEXT_COLOR,
- [_role, "right", " ", _FREQ_PAD_LENGTH] call milsim_fnc_padString,
- [_srStr, "right", " ", _FREQ_PAD_LENGTH] call milsim_fnc_padString,
+ [_role, "right", " ", _FREQ_PAD_LENGTH] call milsim_util_fnc_padString,
+ [_srStr, "right", " ", _FREQ_PAD_LENGTH] call milsim_util_fnc_padString,
_lrStr
];
} forEach (getArray (_cfg >> "frequencies"));
diff --git a/functions/fbcb2/radioFrequencies/fn_generateElementFrequencyRecordText.sqf b/framework/fbcb2/radioFrequencies/fn_generateElementFrequencyRecordText.sqf
similarity index 92%
rename from functions/fbcb2/radioFrequencies/fn_generateElementFrequencyRecordText.sqf
rename to framework/fbcb2/radioFrequencies/fn_generateElementFrequencyRecordText.sqf
index 113ede7..b7a8986 100644
--- a/functions/fbcb2/radioFrequencies/fn_generateElementFrequencyRecordText.sqf
+++ b/framework/fbcb2/radioFrequencies/fn_generateElementFrequencyRecordText.sqf
@@ -51,8 +51,8 @@ private _headers = [
_ELEMENT_FREQ_SIZE,
_ELEMENT_FREQ_FONT,
_FREQ_TEXT_COLOR,
- ["ROLE", "right", " ", _FREQ_PAD_LENGTH] call milsim_fnc_padString,
- ["SR", "right", " ", _FREQ_PAD_LENGTH] call milsim_fnc_padString,
+ ["ROLE", "right", " ", _FREQ_PAD_LENGTH] call milsim_util_fnc_padString,
+ ["SR", "right", " ", _FREQ_PAD_LENGTH] call milsim_util_fnc_padString,
"LR"
]
];
@@ -71,7 +71,7 @@ if (_shouldProcessChildCfgs) then {
private _lines = [_cfg, _recurseCounter+1] call milsim_fnc_formatRadioElementForDiary;
// private _lines = [_cfg, _indentCount] call t;
_allText pushBack (_lines joinString "
");
- }] call milsim_fnc_recurseSubclasses;
+ }] call milsim_util_fnc_recurseSubclasses;
} else {
// or if the param was false, just add the battalion element
private _lines = [_battalionElement, 1] call milsim_fnc_formatRadioElementForDiary;
diff --git a/functions/fbcb2/util/fn_createOrUpdateDiaryRecord.sqf b/framework/fbcb2/util/fn_createOrUpdateDiaryRecord.sqf
similarity index 100%
rename from functions/fbcb2/util/fn_createOrUpdateDiaryRecord.sqf
rename to framework/fbcb2/util/fn_createOrUpdateDiaryRecord.sqf
diff --git a/functions/fbcb2/util/fn_removeDiaryRecord.sqf b/framework/fbcb2/util/fn_removeDiaryRecord.sqf
similarity index 100%
rename from functions/fbcb2/util/fn_removeDiaryRecord.sqf
rename to framework/fbcb2/util/fn_removeDiaryRecord.sqf
diff --git a/framework/init/fn_initPlayerLocal.sqf b/framework/init/fn_initPlayerLocal.sqf
new file mode 100644
index 0000000..d72495f
--- /dev/null
+++ b/framework/init/fn_initPlayerLocal.sqf
@@ -0,0 +1,14 @@
+if ( !hasInterface ) exitWith {};
+
+if (!isServer) then {
+ ["milsim_logText", {
+ params [["_strArray", [""], [[]]]];
+ {
+ diag_log text _x;
+ } forEach _strArray;
+ }] call CBA_fnc_addEventHandler;
+};
+
+["InitializePlayer", [player, true]] call BIS_fnc_dynamicGroups;
+
+nil;
\ No newline at end of file
diff --git a/functions/init/fn_initServer.sqf b/framework/init/fn_initServer.sqf
similarity index 100%
rename from functions/init/fn_initServer.sqf
rename to framework/init/fn_initServer.sqf
diff --git a/functions/map/fn_copyMapFromPlayer.sqf b/framework/map/fn_copyMapFromPlayer.sqf
similarity index 100%
rename from functions/map/fn_copyMapFromPlayer.sqf
rename to framework/map/fn_copyMapFromPlayer.sqf
diff --git a/functions/map/fn_getPlayerMapMarkers.sqf b/framework/map/fn_getPlayerMapMarkers.sqf
similarity index 100%
rename from functions/map/fn_getPlayerMapMarkers.sqf
rename to framework/map/fn_getPlayerMapMarkers.sqf
diff --git a/functions/map/fn_initMapCopy.sqf b/framework/map/fn_initMapCopy.sqf
similarity index 100%
rename from functions/map/fn_initMapCopy.sqf
rename to framework/map/fn_initMapCopy.sqf
diff --git a/functions/map/fn_loadMapMarkers.sqf b/framework/map/fn_loadMapMarkers.sqf
similarity index 100%
rename from functions/map/fn_loadMapMarkers.sqf
rename to framework/map/fn_loadMapMarkers.sqf
diff --git a/functions/map/fn_mapMarkerToString.sqf b/framework/map/fn_mapMarkerToString.sqf
similarity index 100%
rename from functions/map/fn_mapMarkerToString.sqf
rename to framework/map/fn_mapMarkerToString.sqf
diff --git a/functions/map/fn_stringToMapMarker.sqf b/framework/map/fn_stringToMapMarker.sqf
similarity index 100%
rename from functions/map/fn_stringToMapMarker.sqf
rename to framework/map/fn_stringToMapMarker.sqf
diff --git a/functions/reinsert/client/fn_addAceSelfActions.sqf b/framework/reinsert/client/fn_addAceSelfActions.sqf
similarity index 93%
rename from functions/reinsert/client/fn_addAceSelfActions.sqf
rename to framework/reinsert/client/fn_addAceSelfActions.sqf
index 137540d..f587af7 100644
--- a/functions/reinsert/client/fn_addAceSelfActions.sqf
+++ b/framework/reinsert/client/fn_addAceSelfActions.sqf
@@ -13,8 +13,8 @@ private _fileForReinsertAction = [
{ // statement
params ["_target", "_player", "_params"];
// find nearest base or location
- private _base = [_player] call milsim_fnc_getNearestBase;
- private _baseName = [_base] call milsim_fnc_getNameOfBase;
+ private _base = [_player] call milsim_util_fnc_getNearestBase;
+ private _baseName = [_base] call milsim_util_fnc_getNameOfBase;
// send event to server
["milsim_reinsert_fileReinsertRequest", [_player, _base]] call CBA_fnc_serverEvent;
// notify player their request was filed
@@ -23,7 +23,7 @@ private _fileForReinsertAction = [
{ // condition
params ["_target", "_player", "_params"];
// find nearest base or location
- private _base = [_player] call milsim_fnc_getNearestBase;
+ private _base = [_player] call milsim_util_fnc_getNearestBase;
private _baseDistance = _player distance _base;
private _maxRangeToReady = missionNamespace getVariable ["milsim_reinsert_setting_reinsertion_maxRangeToReady", 400];
diff --git a/functions/reinsert/client/fn_addCheckQueueSelfAction.sqf b/framework/reinsert/client/fn_addCheckQueueSelfAction.sqf
similarity index 100%
rename from functions/reinsert/client/fn_addCheckQueueSelfAction.sqf
rename to framework/reinsert/client/fn_addCheckQueueSelfAction.sqf
diff --git a/functions/reinsert/client/fn_initClient.sqf b/framework/reinsert/client/fn_initClient.sqf
similarity index 100%
rename from functions/reinsert/client/fn_initClient.sqf
rename to framework/reinsert/client/fn_initClient.sqf
diff --git a/functions/reinsert/client/fn_requestShowQueue.sqf b/framework/reinsert/client/fn_requestShowQueue.sqf
similarity index 100%
rename from functions/reinsert/client/fn_requestShowQueue.sqf
rename to framework/reinsert/client/fn_requestShowQueue.sqf
diff --git a/functions/reinsert/server/fn_addToQueue.sqf b/framework/reinsert/server/fn_addToQueue.sqf
similarity index 78%
rename from functions/reinsert/server/fn_addToQueue.sqf
rename to framework/reinsert/server/fn_addToQueue.sqf
index 55d14a3..1df3fc1 100644
--- a/functions/reinsert/server/fn_addToQueue.sqf
+++ b/framework/reinsert/server/fn_addToQueue.sqf
@@ -12,7 +12,7 @@ if (!isServer) exitWith {
["player", _player],
["base", _base]
]
- ] call milsim_fnc_log;
+ ] call milsim_util_fnc_log;
};
if (
isNull _player ||
@@ -25,7 +25,7 @@ if (
["player", _player],
["base", _base]
]
- ] call milsim_fnc_log;
+ ] call milsim_util_fnc_log;
};
@@ -41,16 +41,16 @@ publicVariable "milsim_reinsert_reinsertionQueue";
// log to rpt
private _logParams = [
- ["filedAtBase", [_base] call milsim_fnc_getNameOfBase],
+ ["filedAtBase", [_base] call milsim_util_fnc_getNameOfBase],
["filedAtBaseDistance", _player distance _base],
- ["closestBase", [_nearestBase] call milsim_fnc_getNameOfBase],
+ ["closestBase", [_nearestBase] call milsim_util_fnc_getNameOfBase],
["closestBaseDistance", _player distance _nearestBase],
["maxDistanceSetting", _maxRangeToReady],
["inQueueDuration", diag_tickTime - _timeFiled]
];
-_logParams = [_player, _logParams] call milsim_fnc_addPlayerInfoToArray;
+_logParams = [_player, _logParams] call milsim_util_fnc_addPlayerInfoToArray;
[
"respawn_reinsertion",
"PLAYER FILED REQUEST",
_logParams
-] call milsim_fnc_log;
\ No newline at end of file
+] call milsim_util_fnc_log;
\ No newline at end of file
diff --git a/functions/reinsert/server/fn_globalShowQueue.sqf b/framework/reinsert/server/fn_globalShowQueue.sqf
similarity index 85%
rename from functions/reinsert/server/fn_globalShowQueue.sqf
rename to framework/reinsert/server/fn_globalShowQueue.sqf
index ea7e80e..ac5eb7b 100644
--- a/functions/reinsert/server/fn_globalShowQueue.sqf
+++ b/framework/reinsert/server/fn_globalShowQueue.sqf
@@ -21,7 +21,7 @@ if (count _timeoutPlayers > 0) then {
private _thisBase = _x;
// Add line for base name
- _playerLines pushBack ([[_thisBase] call milsim_fnc_getNameOfBase, 1, [0,1,0,1]]);
+ _playerLines pushBack ([[_thisBase] call milsim_util_fnc_getNameOfBase, 1, [0,1,0,1]]);
// Get players under this base
private _thisBasePlayers = _timeoutPlayers select {_x#1 isEqualTo _thisBase};
@@ -35,7 +35,7 @@ if (count _timeoutPlayers > 0) then {
{ // for each player under this base, add a line
_x params ["_player", "_base", "_timeFiled"];
// get the closest base to the player
- private _nearestBase = [_player] call milsim_fnc_getNearestBase;
+ private _nearestBase = [_player] call milsim_util_fnc_getNearestBase;
// add player to array of players under bases
_playerLines pushBack ([format [
@@ -47,19 +47,19 @@ if (count _timeoutPlayers > 0) then {
// log to rpt
private _logParams = [
- ["filedAtBase", [_base] call milsim_fnc_getNameOfBase],
+ ["filedAtBase", [_base] call milsim_util_fnc_getNameOfBase],
["filedAtBaseDistance", _player distance _base],
- ["closestBase", [_nearestBase] call milsim_fnc_getNameOfBase],
+ ["closestBase", [_nearestBase] call milsim_util_fnc_getNameOfBase],
["closestBaseDistance", _player distance _nearestBase],
["maxDistanceSetting", _maxRangeToReady],
["inQueueDuration", diag_tickTime - _timeFiled]
];
- _logParams = [_player, _logParams] call milsim_fnc_addPlayerInfoToArray;
+ _logParams = [_player, _logParams] call milsim_util_fnc_addPlayerInfoToArray;
[
"respawn_reinsertion",
"PLAYER WAITING OVER TIMEOUT",
_logParams
- ] call milsim_fnc_log;
+ ] call milsim_util_fnc_log;
} forEach _thisBasePlayers;
} forEach _basesWithPeople;
diff --git a/functions/reinsert/server/fn_initServer.sqf b/framework/reinsert/server/fn_initServer.sqf
similarity index 100%
rename from functions/reinsert/server/fn_initServer.sqf
rename to framework/reinsert/server/fn_initServer.sqf
diff --git a/functions/reinsert/server/fn_removeFromQueue.sqf b/framework/reinsert/server/fn_removeFromQueue.sqf
similarity index 79%
rename from functions/reinsert/server/fn_removeFromQueue.sqf
rename to framework/reinsert/server/fn_removeFromQueue.sqf
index 7c131a1..5fc5bbd 100644
--- a/functions/reinsert/server/fn_removeFromQueue.sqf
+++ b/framework/reinsert/server/fn_removeFromQueue.sqf
@@ -7,7 +7,7 @@ if (!isServer) exitWith {
[
["player", _player]
]
- ] call milsim_fnc_log;
+ ] call milsim_util_fnc_log;
};
if (isNull _player) exitWith {
[
@@ -16,7 +16,7 @@ if (isNull _player) exitWith {
[
["player", _player]
]
- ] call milsim_fnc_log;
+ ] call milsim_util_fnc_log;
};
// get entries for this player from queue
@@ -39,19 +39,19 @@ publicVariable "milsim_reinsert_reinsertionQueue";
// get first entry (longest wait)
(_unitArrs#0) params ["_player", "_base", "_timeFiled"]; // _unitArr = [unit, base, timeInQueue]
// get the closest base to the player
-private _nearestBase = [_player] call milsim_fnc_getNearestBase;
+private _nearestBase = [_player] call milsim_util_fnc_getNearestBase;
// log to rpt
private _logParams = [
- ["filedAtBase", [_base] call milsim_fnc_getNameOfBase],
+ ["filedAtBase", [_base] call milsim_util_fnc_getNameOfBase],
["filedAtBaseDistance", _player distance _base],
- ["closestBase", [_nearestBase] call milsim_fnc_getNameOfBase],
+ ["closestBase", [_nearestBase] call milsim_util_fnc_getNameOfBase],
["closestBaseDistance", _player distance _nearestBase],
["maxDistanceSetting", _maxRangeToReady],
["inQueueDuration", diag_tickTime - _timeFiled]
];
-_logParams = [_player, _logParams] call milsim_fnc_addPlayerInfoToArray;
+_logParams = [_player, _logParams] call milsim_util_fnc_addPlayerInfoToArray;
[
"respawn_reinsertion",
"PLAYER RESCINDED REQUEST",
_logParams
-] call milsim_fnc_log;
\ No newline at end of file
+] call milsim_util_fnc_log;
\ No newline at end of file
diff --git a/functions/reinsert/server/fn_returnReinsertQueueNotification.sqf b/framework/reinsert/server/fn_returnReinsertQueueNotification.sqf
similarity index 93%
rename from functions/reinsert/server/fn_returnReinsertQueueNotification.sqf
rename to framework/reinsert/server/fn_returnReinsertQueueNotification.sqf
index ffe648b..fcda7b5 100644
--- a/functions/reinsert/server/fn_returnReinsertQueueNotification.sqf
+++ b/framework/reinsert/server/fn_returnReinsertQueueNotification.sqf
@@ -25,12 +25,12 @@ if (isNull _userObject) exitWith {
};
// log to rpt
-private _logParams = [_userObject, []] call milsim_fnc_addPlayerInfoToArray;
+private _logParams = [_userObject, []] call milsim_util_fnc_addPlayerInfoToArray;
[
"respawn_reinsertion",
"SHOW QUEUE REQUESTED",
_logParams
-] call milsim_fnc_log;
+] call milsim_util_fnc_log;
private _queue = missionNamespace getVariable ["milsim_reinsert_reinsertionQueue", []];
// get base objects from queue
@@ -48,7 +48,7 @@ if (count _basesWithPeople isEqualTo 0) then {
// forEach _basesWithPeople
{
private _thisBase = _x;
- private _baseName = [_thisBase] call milsim_fnc_getNameOfBase;
+ private _baseName = [_thisBase] call milsim_util_fnc_getNameOfBase;
// generate player lines for this base
private _playerLines = _queue select {
diff --git a/functions/reinsert/server/fn_validateQueue.sqf b/framework/reinsert/server/fn_validateQueue.sqf
similarity index 73%
rename from functions/reinsert/server/fn_validateQueue.sqf
rename to framework/reinsert/server/fn_validateQueue.sqf
index 5e27733..546768b 100644
--- a/functions/reinsert/server/fn_validateQueue.sqf
+++ b/framework/reinsert/server/fn_validateQueue.sqf
@@ -7,26 +7,26 @@ private _maxRangeToReady = missionNamespace getVariable ["milsim_reinsert_settin
private _distanceToOriginalBase = _player distance _base;
// get the closest base to the player
- private _nearestBase = [_player] call milsim_fnc_getNearestBase;
+ private _nearestBase = [_player] call milsim_util_fnc_getNearestBase;
private _isCloseEnoughToAnyBase = (_player distance _nearestBase) < _maxRangeToReady;
if (not _isCloseEnoughToAnyBase || not (alive _player)) then {
// don't include player in updated queue
// log to rpt
private _logParams = [
- ["filedAtBase", [_base] call milsim_fnc_getNameOfBase],
+ ["filedAtBase", [_base] call milsim_util_fnc_getNameOfBase],
["filedAtBaseDistance", _player distance _base],
- ["closestBase", [_nearestBase] call milsim_fnc_getNameOfBase],
+ ["closestBase", [_nearestBase] call milsim_util_fnc_getNameOfBase],
["closestBaseDistance", _player distance _nearestBase],
["maxDistanceSetting", _maxRangeToReady],
["inQueueDuration", diag_tickTime - _timeFiled]
];
- _logParams = [_player, _logParams] call milsim_fnc_addPlayerInfoToArray;
+ _logParams = [_player, _logParams] call milsim_util_fnc_addPlayerInfoToArray;
[
"respawn_reinsertion",
"PLAYER DEQUEUED AUTOMATICALLY",
_logParams
- ] call milsim_fnc_log;
+ ] call milsim_util_fnc_log;
// continue loop
continue
};
@@ -36,19 +36,19 @@ private _maxRangeToReady = missionNamespace getVariable ["milsim_reinsert_settin
// if player's base has changed, log to rpt
if (_base != _nearestBase) then {
private _logParams = [
- ["filedAtBase", [_base] call milsim_fnc_getNameOfBase],
+ ["filedAtBase", [_base] call milsim_util_fnc_getNameOfBase],
["filedAtBaseDistance", _player distance _base],
- ["closestBase", [_nearestBase] call milsim_fnc_getNameOfBase],
+ ["closestBase", [_nearestBase] call milsim_util_fnc_getNameOfBase],
["closestBaseDistance", _player distance _nearestBase],
["maxDistanceSetting", _maxRangeToReady],
["inQueueDuration", diag_tickTime - _timeFiled]
];
- _logParams = [_player, _logParams] call milsim_fnc_addPlayerInfoToArray;
+ _logParams = [_player, _logParams] call milsim_util_fnc_addPlayerInfoToArray;
[
"respawn_reinsertion",
"PLAYER BASE WAS UPDATED",
_logParams
- ] call milsim_fnc_log;
+ ] call milsim_util_fnc_log;
};
} forEach milsim_reinsert_reinsertionQueue;
diff --git a/functions/resupply/fn_addArsenalObjectSpawnBoxActions.sqf b/framework/resupply/functions/fn_addArsenalObjectSpawnBoxActions.sqf
similarity index 87%
rename from functions/resupply/fn_addArsenalObjectSpawnBoxActions.sqf
rename to framework/resupply/functions/fn_addArsenalObjectSpawnBoxActions.sqf
index 74963ac..1e9d62b 100644
--- a/functions/resupply/fn_addArsenalObjectSpawnBoxActions.sqf
+++ b/framework/resupply/functions/fn_addArsenalObjectSpawnBoxActions.sqf
@@ -1,3 +1,5 @@
+#include "..\script_component.hpp"
+
// adds a scroll wheel action to all arsenal boxes to spawn different supply crate types
private _arsenalBoxClassName = "Land_PaperBox_open_full_F";
@@ -8,7 +10,7 @@ private _arsenalBoxes = (allMissionObjects _arsenalBoxClassName) select {
count (actionIDs _x) > 0;
};
-private _supplyCratesCfg = call milsim_resupply_fnc_getSupplyCratesCfg;
+private _supplyCratesCfg = call FUNC(getSupplyCratesCfg);
private _supplyCrateTypesCfgs = _supplyCratesCfg call BIS_fnc_returnChildren;
{
@@ -25,7 +27,7 @@ private _supplyCrateTypesCfgs = _supplyCratesCfg call BIS_fnc_returnChildren;
objNull,
configName _supplyCrateCfg,
getPos _target
- ] call milsim_resupply_fnc_createBox;
+ ] call FUNC(createBox);
}, [_cfg], 0, false, true, "", ""];
} forEach _supplyCrateTypesCfgs;
} forEach _arsenalBoxes;
\ No newline at end of file
diff --git a/framework/resupply/functions/fn_addCBASettings.sqf b/framework/resupply/functions/fn_addCBASettings.sqf
new file mode 100644
index 0000000..ec8a7f1
--- /dev/null
+++ b/framework/resupply/functions/fn_addCBASettings.sqf
@@ -0,0 +1,25 @@
+#include "..\script_component.hpp"
+
+[
+ QGVAR(setting_allowSupplyBoxScrollWheelSpawning), // variable
+ "CHECKBOX", // type
+ ["Allow Spawning Boxes from Arsenal Box", "If true, adds scroll wheel options to arsenal boxes to spawn supply boxes"], // title
+ [QUOTE(SETTINGS_GROUP_NAME), QUOTE(COMPONENT_BEAUTIFIED)], // category
+ false, // default value
+ true, // global setting
+ {
+ params ["_value"];
+ [
+ QUOTE(COMPONENT),
+ "SETTING CHANGED",
+ [
+ [
+ "setting",
+ QGVAR(setting_allowSupplyBoxScrollWheelSpawning)
+ ],
+ ["newValue", _value]
+ ]
+ ] call EFUNC(util,log);
+ },
+ true // requires mission restart
+] call CBA_fnc_addSetting;
\ No newline at end of file
diff --git a/functions/resupply/fn_createBox.sqf b/framework/resupply/functions/fn_createBox.sqf
similarity index 98%
rename from functions/resupply/fn_createBox.sqf
rename to framework/resupply/functions/fn_createBox.sqf
index b4576ef..6bbfbb9 100644
--- a/functions/resupply/fn_createBox.sqf
+++ b/framework/resupply/functions/fn_createBox.sqf
@@ -27,7 +27,8 @@
["weapon", (weaponCargo cursorObject) call BIS_fnc_consolidateArray]
]];
*/
-
+
+#include "..\script_component.hpp"
params [
["_box", objNull, [objNull]],
@@ -36,7 +37,7 @@ params [
];
// get defs class
-private _supplyCratesCfg = call milsim_resupply_fnc_getSupplyCratesCfg;
+private _supplyCratesCfg = call FUNC(getSupplyCratesCfg);
if (!isClass _supplyCratesCfg) exitWith {
["Resupply Boxes: Failed to load crate definitions, possibly a bad edit?"] call BIS_fnc_error;
objNull;
diff --git a/framework/resupply/functions/fn_getSupplyCratesCfg.sqf b/framework/resupply/functions/fn_getSupplyCratesCfg.sqf
new file mode 100644
index 0000000..62c7a5e
--- /dev/null
+++ b/framework/resupply/functions/fn_getSupplyCratesCfg.sqf
@@ -0,0 +1,2 @@
+#include "..\script_component.hpp"
+(missionConfigFile >> "SupplyCrates");
\ No newline at end of file
diff --git a/framework/resupply/functions/fn_init.sqf b/framework/resupply/functions/fn_init.sqf
new file mode 100644
index 0000000..ddb55b6
--- /dev/null
+++ b/framework/resupply/functions/fn_init.sqf
@@ -0,0 +1,12 @@
+#include "..\script_component.hpp"
+
+// 5 seconds after the client is loaded, add the resupply action to all arsenal boxes
+[
+ {time > 5},
+ {
+ if (missionNamespace getVariable [
+ QGVAR(setting_allowSupplyBoxScrollWheelSpawning),
+ false
+ ]) then {call FUNC(addSpawnBoxActions)}
+ }
+] call CBA_fnc_waitUntilAndExecute;
\ No newline at end of file
diff --git a/framework/resupply/script_component.hpp b/framework/resupply/script_component.hpp
new file mode 100644
index 0000000..fd4aad0
--- /dev/null
+++ b/framework/resupply/script_component.hpp
@@ -0,0 +1,3 @@
+#define COMPONENT resupply
+#define COMPONENT_BEAUTIFIED Resupply
+#include "../script_mod.hpp"
\ No newline at end of file
diff --git a/framework/script_macros.hpp b/framework/script_macros.hpp
new file mode 100644
index 0000000..840c73f
--- /dev/null
+++ b/framework/script_macros.hpp
@@ -0,0 +1,5 @@
+// all text before cba include
+#define SETTINGS_GROUP_NAME 17th Battalion
+
+
+#include "\x\cba\addons\main\script_macros_mission.hpp"
\ No newline at end of file
diff --git a/framework/script_mod.hpp b/framework/script_mod.hpp
new file mode 100644
index 0000000..cdbf23f
--- /dev/null
+++ b/framework/script_mod.hpp
@@ -0,0 +1,10 @@
+#define PREFIX milsim
+
+#include "script_version.hpp"
+
+#define VERSION MAJOR.MINOR.PATCHLVL
+#define VERSION_STR MAJOR.MINOR.PATCHLVL
+#define VERSION_AR MAJOR,MINOR,PATCHLVL
+
+// should always be last
+#include "script_macros.hpp"
\ No newline at end of file
diff --git a/framework/script_version.hpp b/framework/script_version.hpp
new file mode 100644
index 0000000..5e3d29c
--- /dev/null
+++ b/framework/script_version.hpp
@@ -0,0 +1,4 @@
+#define MAJOR 3
+#define MINOR 2
+#define PATCHLVL 1
+#define BUILD 0
diff --git a/functions/server/fn_addServerStatsPFH.sqf b/framework/server/fn_addServerStatsPFH.sqf
similarity index 100%
rename from functions/server/fn_addServerStatsPFH.sqf
rename to framework/server/fn_addServerStatsPFH.sqf
diff --git a/functions/server/fn_calculateServerStats.sqf b/framework/server/fn_calculateServerStats.sqf
similarity index 100%
rename from functions/server/fn_calculateServerStats.sqf
rename to framework/server/fn_calculateServerStats.sqf
diff --git a/functions/server/fn_logPlayerInventory.sqf b/framework/server/fn_logPlayerInventory.sqf
similarity index 92%
rename from functions/server/fn_logPlayerInventory.sqf
rename to framework/server/fn_logPlayerInventory.sqf
index 835d529..105b286 100644
--- a/functions/server/fn_logPlayerInventory.sqf
+++ b/framework/server/fn_logPlayerInventory.sqf
@@ -1,5 +1,5 @@
/*
- Function: milsim_fnc_logPlayerInventory
+ Function: milsim_util_fnc_logPlayerInventory
Description:
Checks a player's inventory for non-compliant items and logs results to all machines.
@@ -22,7 +22,7 @@ if (!isPlayer _player) exitWith {
"logPlayerInventory",
"PARAM PLAYER IS NOT A PLAYER",
[["player", _player]]
- ] call milsim_fnc_log;
+ ] call milsim_util_fnc_log;
};
// testing
@@ -55,8 +55,8 @@ _playerItems pushBack (uniform _player);
[
"logPlayerInventory",
"CHECKING PLAYER INVENTORY",
- [_player] call milsim_fnc_addPlayerInfoToArray
-] call milsim_fnc_log;
+ [_player] call milsim_util_fnc_addPlayerInfoToArray
+] call milsim_util_fnc_log;
////////////////////////////////////////
// HARDCODED DISALLOWED ITEMS - see functions/definitions/DisallowedEquipment.hpp
@@ -117,8 +117,8 @@ if (count _allFoundItemsSoFar isEqualTo 0) exitWith {
[
"logPlayerInventory",
"PLAYER INVENTORY IS COMPLIANT",
- [_player] call milsim_fnc_addPlayerInfoToArray
- ] call milsim_fnc_log;
+ [_player] call milsim_util_fnc_addPlayerInfoToArray
+ ] call milsim_util_fnc_log;
};
// Log all non-compliant items
@@ -138,7 +138,7 @@ if (count _allFoundItemsSoFar isEqualTo 0) exitWith {
["category", _categoryLabel],
["className", _itemClassName],
["displayName", [_itemConfig] call BIS_fnc_displayName]
- ]] call milsim_fnc_addPlayerInfoToArray
- ] call milsim_fnc_log;
+ ]] call milsim_util_fnc_addPlayerInfoToArray
+ ] call milsim_util_fnc_log;
} forEach _items;
} forEach _foundItemsKeyValue;
\ No newline at end of file
diff --git a/functions/settings/fn_addAARChatHandler.sqf b/framework/settings/fn_addAARChatHandler.sqf
similarity index 100%
rename from functions/settings/fn_addAARChatHandler.sqf
rename to framework/settings/fn_addAARChatHandler.sqf
diff --git a/functions/settings/fn_addCBASettings.sqf b/framework/settings/fn_addCBASettings.sqf
similarity index 97%
rename from functions/settings/fn_addCBASettings.sqf
rename to framework/settings/fn_addCBASettings.sqf
index 703bab9..ce3a11a 100644
--- a/functions/settings/fn_addCBASettings.sqf
+++ b/framework/settings/fn_addCBASettings.sqf
@@ -146,7 +146,7 @@
],
["newValue", _value]
]
- ] call milsim_fnc_log;
+ ] call milsim_util_fnc_log;
}
] call CBA_fnc_addSetting;
@@ -169,7 +169,7 @@
],
["newValue", _value]
]
- ] call milsim_fnc_log;
+ ] call milsim_util_fnc_log;
}
] call CBA_fnc_addSetting;
@@ -192,7 +192,7 @@
],
["newValue", _value]
]
- ] call milsim_fnc_log;
+ ] call milsim_util_fnc_log;
}
] call CBA_fnc_addSetting;
@@ -215,7 +215,7 @@
],
["newValue", _value]
]
- ] call milsim_fnc_log;
+ ] call milsim_util_fnc_log;
}
] call CBA_fnc_addSetting;
@@ -238,7 +238,7 @@
],
["newValue", _value]
]
- ] call milsim_fnc_log;
+ ] call milsim_util_fnc_log;
}
] call CBA_fnc_addSetting;
@@ -264,7 +264,7 @@
],
["newValue", _value]
]
- ] call milsim_fnc_log;
+ ] call milsim_util_fnc_log;
}
] call CBA_fnc_addSetting;
diff --git a/functions/settings/fn_addRespawnChatHandler.sqf b/framework/settings/fn_addRespawnChatHandler.sqf
similarity index 81%
rename from functions/settings/fn_addRespawnChatHandler.sqf
rename to framework/settings/fn_addRespawnChatHandler.sqf
index fed6acb..9c9f8f6 100644
--- a/functions/settings/fn_addRespawnChatHandler.sqf
+++ b/framework/settings/fn_addRespawnChatHandler.sqf
@@ -8,8 +8,8 @@
[
"init",
"CHAT COMMAND RESPAWN",
- [player] call milsim_fnc_addPlayerInfoToArray
- ] remoteExec ["milsim_fnc_log", 2];
+ [player] call milsim_util_fnc_addPlayerInfoToArray
+ ] remoteExec ["milsim_util_fnc_log", 2];
// systemChat to all remote machines
format["%1 claims they were glitched and respawned (%2)", name player, netID player] remoteExec["systemChat", -_clientID];
diff --git a/functions/settings/fn_setDefaults.sqf b/framework/settings/fn_setDefaults.sqf
similarity index 100%
rename from functions/settings/fn_setDefaults.sqf
rename to framework/settings/fn_setDefaults.sqf
diff --git a/functions/util/fn_addPlayerInfoToArray.sqf b/framework/util/fn_addPlayerInfoToArray.sqf
similarity index 100%
rename from functions/util/fn_addPlayerInfoToArray.sqf
rename to framework/util/fn_addPlayerInfoToArray.sqf
diff --git a/functions/util/fn_getBattalionCfg.sqf b/framework/util/fn_getBattalionCfg.sqf
similarity index 100%
rename from functions/util/fn_getBattalionCfg.sqf
rename to framework/util/fn_getBattalionCfg.sqf
diff --git a/functions/util/fn_getNameOfBase.sqf b/framework/util/fn_getNameOfBase.sqf
similarity index 100%
rename from functions/util/fn_getNameOfBase.sqf
rename to framework/util/fn_getNameOfBase.sqf
diff --git a/functions/util/fn_getNearestBase.sqf b/framework/util/fn_getNearestBase.sqf
similarity index 100%
rename from functions/util/fn_getNearestBase.sqf
rename to framework/util/fn_getNearestBase.sqf
diff --git a/functions/util/fn_log.sqf b/framework/util/fn_log.sqf
similarity index 92%
rename from functions/util/fn_log.sqf
rename to framework/util/fn_log.sqf
index d80dbc2..2df2574 100644
--- a/functions/util/fn_log.sqf
+++ b/framework/util/fn_log.sqf
@@ -1,5 +1,5 @@
/*
- Function: milsim_fnc_log
+ Function: milsim_util_fnc_log
Description:
Used to log messages to the server RPT file.
diff --git a/functions/util/fn_logMissionInfo.sqf b/framework/util/fn_logMissionInfo.sqf
similarity index 97%
rename from functions/util/fn_logMissionInfo.sqf
rename to framework/util/fn_logMissionInfo.sqf
index 6286476..d2c1364 100644
--- a/functions/util/fn_logMissionInfo.sqf
+++ b/framework/util/fn_logMissionInfo.sqf
@@ -20,4 +20,4 @@
["LOGIC", playableSlotsNumber sideLogic] // 5 is LOGIC side
]]
]
-] call milsim_fnc_log;
\ No newline at end of file
+] call milsim_util_fnc_log;
\ No newline at end of file
diff --git a/functions/util/fn_padString.sqf b/framework/util/fn_padString.sqf
similarity index 100%
rename from functions/util/fn_padString.sqf
rename to framework/util/fn_padString.sqf
diff --git a/functions/util/fn_recurseSubclasses.sqf b/framework/util/fn_recurseSubclasses.sqf
similarity index 100%
rename from functions/util/fn_recurseSubclasses.sqf
rename to framework/util/fn_recurseSubclasses.sqf
diff --git a/functions/vehicleFlags/fn_getActionsFlagCategories.sqf b/framework/vehicleFlags/functions/fn_getActionsFlagCategories.sqf
similarity index 100%
rename from functions/vehicleFlags/fn_getActionsFlagCategories.sqf
rename to framework/vehicleFlags/functions/fn_getActionsFlagCategories.sqf
diff --git a/functions/vehicleFlags/fn_getVehicleFlagsCfg.sqf b/framework/vehicleFlags/functions/fn_getVehicleFlagsCfg.sqf
similarity index 100%
rename from functions/vehicleFlags/fn_getVehicleFlagsCfg.sqf
rename to framework/vehicleFlags/functions/fn_getVehicleFlagsCfg.sqf
diff --git a/functions/vehicleFlags/fn_initVehicleFlags.sqf b/framework/vehicleFlags/functions/fn_init.sqf
similarity index 93%
rename from functions/vehicleFlags/fn_initVehicleFlags.sqf
rename to framework/vehicleFlags/functions/fn_init.sqf
index 32f2952..061b456 100644
--- a/functions/vehicleFlags/fn_initVehicleFlags.sqf
+++ b/framework/vehicleFlags/functions/fn_init.sqf
@@ -1,6 +1,8 @@
if (!hasInterface) exitWith {};
-private _vehicleFlagsCfg = call milsim_vehicleFlags_fnc_getVehicleFlagsCfg;
+#include "..\script_component.hpp"
+
+private _vehicleFlagsCfg = call FUNC(getVehicleFlagsCfg);
if (!isClass _vehicleFlagsCfg) exitWith {
["WARNING: Vehicle Flags: Vehicle Flags config not found. Vehicle Flags will not be available."] call BIS_fnc_error;
@@ -34,7 +36,7 @@ private _flagCategoryCfgs = (_vehicleFlagsCfg >> "FlagCategories") call BIS_fnc_
// _params params ["_parentActionID", "_flagCategories"];
// check if vehicle is excluded
- private _excluded = [typeOf _target] call milsim_vehicleFlags_fnc_isClassExcluded;
+ private _excluded = [typeOf _target] call FUNC(isClassExcluded);
if (_excluded || !alive _target) exitWith {false};
true;
@@ -47,7 +49,7 @@ private _flagCategoryCfgs = (_vehicleFlagsCfg >> "FlagCategories") call BIS_fnc_
_params params ["_rootActionID", "_flagCategoryCfgs"];
// return category child actions with individual flag actions nested as children
- [_rootActionID, _flagCategoryCfgs] call milsim_vehicleFlags_fnc_getActionsFlagCategories;
+ [_rootActionID, _flagCategoryCfgs] call FUNC(getActionsFlagCategories);
}, // child code
[_rootActionID, _flagCategoryCfgs], // params
diff --git a/functions/vehicleFlags/fn_isClassExcluded.sqf b/framework/vehicleFlags/functions/fn_isClassExcluded.sqf
similarity index 100%
rename from functions/vehicleFlags/fn_isClassExcluded.sqf
rename to framework/vehicleFlags/functions/fn_isClassExcluded.sqf
diff --git a/framework/vehicleFlags/script_component.hpp b/framework/vehicleFlags/script_component.hpp
new file mode 100644
index 0000000..bba2e0d
--- /dev/null
+++ b/framework/vehicleFlags/script_component.hpp
@@ -0,0 +1,3 @@
+#define COMPONENT vehicleFlags
+#define COMPONENT_BEAUTIFIED Vehicle Flags
+#include "../script_mod.hpp"
\ No newline at end of file
diff --git a/functions/init/fn_initPlayerLocal.sqf b/functions/init/fn_initPlayerLocal.sqf
deleted file mode 100644
index 1ba5f10..0000000
--- a/functions/init/fn_initPlayerLocal.sqf
+++ /dev/null
@@ -1,25 +0,0 @@
-if ( !hasInterface ) exitWith {};
-
-if (!isServer) then {
- ["milsim_logText", {
- params [["_strArray", [""], [[]]]];
- {
- diag_log text _x;
- } forEach _strArray;
- }] call CBA_fnc_addEventHandler;
-};
-
-// 5 seconds after the client is loaded, add the resupply action to all arsenal boxes
-[
- {time > 5},
- {
- if (missionNamespace getVariable [
- "milsim_resupply_setting_allowSupplyBoxScrollWheelSpawning",
- false
- ]) then {call milsim_resupply_fnc_addSpawnBoxActions}
- }
-] call CBA_fnc_waitUntilAndExecute;
-
-["InitializePlayer", [player, true]] call BIS_fnc_dynamicGroups;
-
-nil;
\ No newline at end of file
diff --git a/functions/resupply/fn_addCBASettings.sqf b/functions/resupply/fn_addCBASettings.sqf
deleted file mode 100644
index 47d700a..0000000
--- a/functions/resupply/fn_addCBASettings.sqf
+++ /dev/null
@@ -1,22 +0,0 @@
-[
- "milsim_resupply_setting_allowSupplyBoxScrollWheelSpawning", // variable
- "CHECKBOX", // type
- ["Enabled", "If true, adds scroll wheel options to arsenal boxes to spawn supply boxes"], // title
- ["17th Battalion", "Resupply"], // category
- false, // default value
- true, // global setting
- {
- params ["_value"];
- [
- "resupply",
- "SETTING CHANGED",
- [
- [
- "setting",
- "milsim_resupply_setting_allowSupplyBoxScrollWheelSpawning"
- ],
- ["newValue", _value]
- ]
- ] call milsim_fnc_log;
- }
-] call CBA_fnc_addSetting;
\ No newline at end of file
diff --git a/functions/resupply/fn_createAmmoBox.sqf b/functions/resupply/fn_createAmmoBox.sqf
deleted file mode 100644
index 06da1f4..0000000
--- a/functions/resupply/fn_createAmmoBox.sqf
+++ /dev/null
@@ -1,36 +0,0 @@
-/*
- * Author: Hizumi
- *
- * Create Ammo resupply box for the 17th Battalion
- *
- * Arguments:
- * 0: Vehicle -