Friday, September 20, 2024 6:47:33 AM
> settings

Customize


Authenticate

> fn_preInit.sqf
/* ----------------------------------------------------------------------------
Function:
    ESM_fnc_preInit

Description:
    Compiles all the required functions and calls the preInit. Functions can be overwritten by using CfgExileCustomCode.

    ESM's functions are broken into two categories, ESMs and ESMc for server and client respectfully.
    The reason why this doesn't follow Exile's format of <thing>Server and <thing>Client is because ESMServer and ESMClient look weird to me. That's all.

Parameters:
    _this - [Nothing]

Returns:
    Nothing

Examples:
    (begin example)

        [] call ESM_fnc_preInit;

    (end)

Author:
    Exile Mod
    www.exilemod.com
    © 2015-current_year!() Exile Mod Team

    This work is licensed under the Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License.
    To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/.

Co-author:
    Exile Server Manager
    www.esmbot.com
    © 2018-current_year!() Bryan "WolfkillArcadia"

    This work is licensed under the Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License.
    To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/.
---------------------------------------------------------------------------- */

{
    private _function = _x select 0;
    private _file = _x select 1;

    if (isText (missionConfigFile >> "CfgExileCustomCode" >> _function)) then
    {
        _file = getText (missionConfigFile >> "CfgExileCustomCode" >> _function);
    };

    private _fileContent = preprocessFileLineNumbers _file;

    if (_fileContent isEqualTo "") then
    {
        diag_log (
            format [
                "ERROR | Override of %1 in CfgExileCustomCode points to a non-existent file: %2. Defaulting to vanilla Exile Server Manager code!",
                _function,
                _file
            ]
        );

        _fileContent = preprocessFileLineNumbers (_x select 1);
    };

    missionNamespace setVariable [_function, compileFinal _fileContent];
}
forEach
[
    define_fn!("ESMs_command_add"),
    define_fn!("ESMs_command_demote"),
    define_fn!("ESMs_command_pay"),
    define_fn!("ESMs_command_promote"),
    define_fn!("ESMs_command_remove"),
    define_fn!("ESMs_command_sqf"),
    define_fn!("ESMs_command_upgrade"),
    define_fn!("ESMs_system_account_isKnown"),
    define_fn!("ESMs_system_extension_call"),
    define_fn!("ESMs_system_extension_callback"),
    define_fn!("ESMs_system_extension_processResult"),
    define_fn!("ESMs_system_message_respond_to"),
    define_fn!("ESMs_system_message_respond_withError"),
    define_fn!("ESMs_system_network_discord_log"),
    define_fn!("ESMs_system_network_discord_send_to"),
	define_fn!("ESMs_system_process_preInit"),
    define_fn!("ESMs_system_process_postInit"),
    define_fn!("ESMs_system_territory_checkAccess"),
    define_fn!("ESMs_system_territory_get"),
    define_fn!("ESMs_system_territory_incrementPaymentCounter"),
    define_fn!("ESMs_system_territory_resetPaymentCounter"),
    define_fn!("ESMs_util_array_all"),
    define_fn!("ESMs_util_array_isValidHashmap"),
    define_fn!("ESMs_util_array_map"),
    define_fn!("ESMs_util_command_handleFailure"),
    define_fn!("ESMs_util_command_handleSuccess"),
    define_fn!("ESMs_util_embed_addField"),
    define_fn!("ESMs_util_embed_create"),
    define_fn!("ESMs_util_embed_setColor"),
    define_fn!("ESMs_util_embed_setDescription"),
    define_fn!("ESMs_util_embed_setTitle"),
    define_fn!("ESMs_util_extension_formatArmaError"),
    define_fn!("ESMs_util_extension_formatError"),
    define_fn!("ESMs_util_hashmap_dig"),
    define_fn!("ESMs_util_hashmap_fromArray"),
    define_fn!("ESMs_util_hashmap_key"),
    define_fn!("ESMs_util_hashmap_toArray"),
    define_fn!("ESMs_util_log"),
    define_fn!("ESMs_util_number_toString")
];

[] call ESMs_system_process_preInit;
All opinions represented herein are my own
- © 2024 itsthedevman
- build 340fbb8