From 5c599877cac0149c53816b4c0de824e1da902b60 Mon Sep 17 00:00:00 2001 From: Valmo Trindade Date: Fri, 16 May 2025 03:34:51 -0300 Subject: [PATCH] Removed callback handler, added XEH stuff to main addon --- addons/main/CfgEventHandlers.hpp | 17 ++++++++++++ addons/main/CfgFunctions.hpp | 6 ---- addons/main/XEH_PREP.hpp | 1 + addons/main/XEH_postInit.sqf | 29 ++++++++++++++++++++ addons/main/XEH_preInit.sqf | 9 ++++++ addons/main/XEH_preStart.sqf | 3 ++ addons/main/config.cpp | 7 +---- addons/main/functions/fn_handleCallbacks.sqf | 19 ------------- addons/main/functions/fn_init.sqf | 2 -- addons/main/script_mod.hpp | 2 +- 10 files changed, 61 insertions(+), 34 deletions(-) create mode 100644 addons/main/CfgEventHandlers.hpp create mode 100644 addons/main/XEH_PREP.hpp create mode 100644 addons/main/XEH_postInit.sqf create mode 100644 addons/main/XEH_preInit.sqf create mode 100644 addons/main/XEH_preStart.sqf delete mode 100644 addons/main/functions/fn_handleCallbacks.sqf diff --git a/addons/main/CfgEventHandlers.hpp b/addons/main/CfgEventHandlers.hpp new file mode 100644 index 0000000..2ea4297 --- /dev/null +++ b/addons/main/CfgEventHandlers.hpp @@ -0,0 +1,17 @@ +class Extended_PreStart_EventHandlers { + class ADDON { + init = QUOTE(call COMPILE_SCRIPT(XEH_preStart)); + }; +}; + +class Extended_PreInit_EventHandlers { + class ADDON { + init = QUOTE(call COMPILE_SCRIPT(XEH_preInit)); + }; +}; + +class Extended_PostInit_EventHandlers { + class armatak_main { + init = QUOTE(call COMPILE_SCRIPT(XEH_postInit)); + }; +}; diff --git a/addons/main/CfgFunctions.hpp b/addons/main/CfgFunctions.hpp index cfde501..dfa2104 100644 --- a/addons/main/CfgFunctions.hpp +++ b/addons/main/CfgFunctions.hpp @@ -1,9 +1,6 @@ class CfgFunctions { class armatak { class functions { - class handleCallbacks { - file = "\armatak\armatak\addons\main\functions\fn_handleCallbacks.sqf"; - }; class init { file = "\armatak\armatak\addons\main\functions\fn_init.sqf"; }; @@ -13,9 +10,6 @@ class CfgFunctions { class video_init { file = "\armatak\armatak\addons\main\functions\fn_video_init.sqf"; }; - class notify { - file = "\armatak\armatak\addons\main\functions\fnc_notify.sqf"; - }; class send_digital_pointer_cot { file = "\armatak\armatak\addons\main\functions\api\fn_send_digital_pointer_cot.sqf"; }; diff --git a/addons/main/XEH_PREP.hpp b/addons/main/XEH_PREP.hpp new file mode 100644 index 0000000..863414c --- /dev/null +++ b/addons/main/XEH_PREP.hpp @@ -0,0 +1 @@ +PREP(notify) \ No newline at end of file diff --git a/addons/main/XEH_postInit.sqf b/addons/main/XEH_postInit.sqf new file mode 100644 index 0000000..792148f --- /dev/null +++ b/addons/main/XEH_postInit.sqf @@ -0,0 +1,29 @@ +waitUntil { !isNil "BIS_fnc_init" }; + +addMissionEventHandler ["ExtensionCallback", { + params ["_name", "_function", "_data"]; + + if (_name == "armatak_websocket") then { + [_function, "success", _name] call armatak_main_fnc_notify; + }; + + if (_name == "armatak_websocket_error") then { + [_function, "error", _name] call armatak_main_fnc_notify; + }; + + if (_name == "armatak_tcp_socket") then { + [_function, "success", _name] call armatak_main_fnc_notify; + }; + + if (_name == "armatak_tcp_socket_error") then { + [_function, "error", _name] call armatak_main_fnc_notify; + }; + + if (_name == "armatak_video") then { + [_function, "success", _name] call armatak_main_fnc_notify; + }; + + if (_name == "armatak_video_error") then { + [_function, "error", _name] call armatak_main_fnc_notify; + }; +}]; \ No newline at end of file diff --git a/addons/main/XEH_preInit.sqf b/addons/main/XEH_preInit.sqf new file mode 100644 index 0000000..1bf862a --- /dev/null +++ b/addons/main/XEH_preInit.sqf @@ -0,0 +1,9 @@ +#include "script_component.hpp" + +ADDON = false; + +PREP_RECOMPILE_START; +#include "XEH_PREP.hpp" +PREP_RECOMPILE_END; + +ADDON = true; \ No newline at end of file diff --git a/addons/main/XEH_preStart.sqf b/addons/main/XEH_preStart.sqf new file mode 100644 index 0000000..3880138 --- /dev/null +++ b/addons/main/XEH_preStart.sqf @@ -0,0 +1,3 @@ +#include "script_component.hpp" + +#include "XEH_PREP.hpp" \ No newline at end of file diff --git a/addons/main/config.cpp b/addons/main/config.cpp index 0d8ad42..ac9917c 100644 --- a/addons/main/config.cpp +++ b/addons/main/config.cpp @@ -37,12 +37,7 @@ class CfgMods { }; }; -class Extended_PostInit_EventHandlers { - class armatak_main { - init = "call compileScript ['\armatak\armatak\armatak_main\initPlayerLocal.sqf']"; - }; -}; - +#include "CfgEventHandlers.hpp" #include "CfgFunctions.hpp" #include "CfgVehicles.hpp" #include "Cfg3den.hpp" diff --git a/addons/main/functions/fn_handleCallbacks.sqf b/addons/main/functions/fn_handleCallbacks.sqf deleted file mode 100644 index 1f4f0ca..0000000 --- a/addons/main/functions/fn_handleCallbacks.sqf +++ /dev/null @@ -1,19 +0,0 @@ -addMissionEventHandler ["ExtensionCallback", { - params ["_name", "_function", "_data"]; - - if (_name == "armatak_tcp_socket") then { - [_function, "success", _name] call armatak_fnc_notify; - }; - - if (_name == "armatak_tcp_socket_error") then { - [_function, "error", _name] call armatak_fnc_notify; - }; - - if (_name == "armatak_video") then { - [_function, "success", _name] call armatak_fnc_notify; - }; - - if (_name == "armatak_video_error") then { - [_function, "error", _name] call armatak_fnc_notify; - }; -}]; \ No newline at end of file diff --git a/addons/main/functions/fn_init.sqf b/addons/main/functions/fn_init.sqf index b07d34a..7ec21c7 100644 --- a/addons/main/functions/fn_init.sqf +++ b/addons/main/functions/fn_init.sqf @@ -17,8 +17,6 @@ if (isServer) exitWith { missionNamespace setVariable ["armatak_tcp_socket_is_running", true]; missionNamespace setVariable ["armatak_group_colors", ["White", "Yellow", "Orange", "Magenta", "Red", "Maroon", "Purple", "DarkBlue", "Blue", "Cyan", "Teal", "Green", "DarkGreen", "Brown"]]; - call armatak_fnc_handleCallbacks; - "armatak" callExtension ["tcp_socket:start", [_tak_server_fulladdress]]; _syncUnits = synchronizedObjects _logic; diff --git a/addons/main/script_mod.hpp b/addons/main/script_mod.hpp index eba527a..fd452f5 100644 --- a/addons/main/script_mod.hpp +++ b/addons/main/script_mod.hpp @@ -28,5 +28,5 @@ #define EXTENSION_NAME QUOTE(armatak) -#define CALLEXT(var) EXTENSION_NAME callExtension [var] +#define CALLEXT(var) EXTENSION_NAME callExtension [QUOTE(var),[]] #define CALLEXTP(var1, var2) EXTENSION_NAME callExtension [QUOTE(var1), var2] select 0 \ No newline at end of file