mirror of
https://github.com/acemod/ACE3.git
synced 2024-08-30 18:23:18 +00:00
79 lines
2.2 KiB
Plaintext
79 lines
2.2 KiB
Plaintext
/*
|
|
* Author: Glowbal
|
|
* Export all config settings with their current values.
|
|
*
|
|
* Arguments:
|
|
* None
|
|
*
|
|
* Return Value:
|
|
* None
|
|
*
|
|
* Example:
|
|
* [] call ACE_optionsmenu_fnc_exportSettings
|
|
*
|
|
* Public: No
|
|
*/
|
|
|
|
#include "script_component.hpp"
|
|
|
|
private ["_compiledConfig", "_name", "_typeName", "_isClientSetable", "_localizedName", "_localizedDescription", "_possibleValues", "_defaultValue", "_value", "_compiledConfigEntry", "_formatedValue"];
|
|
|
|
{
|
|
/*_settingData = [
|
|
_name,
|
|
_typeName,
|
|
_isClientSetable,
|
|
_localizedName,
|
|
_localizedDescription,
|
|
_possibleValues,
|
|
_isForced,
|
|
_defaultValue
|
|
];*/
|
|
|
|
_name = _x select 0;
|
|
_typeName = _x select 1;
|
|
_isClientSetable = _x select 2;
|
|
_localizedName = _x select 3;
|
|
_localizedDescription = _x select 4;
|
|
_possibleValues = _x select 5;
|
|
_defaultValue = _x select 6;
|
|
|
|
if (GVAR(ClientSettingsExportIncluded) || !_isClientSetable) then {
|
|
_value = missionNamespace getVariable [_name, _defaultValue];
|
|
_formatedValue = switch (toLower _typeName) do {
|
|
case ("scalar"): {
|
|
format['value = %1;', _value];
|
|
};
|
|
case ("string"): {
|
|
format['value = "%1";', _value];
|
|
};
|
|
case ("bool"): {
|
|
if (!(_value isEqualType false)) then {ERROR("weird bool typename??");};
|
|
_value = if ((_value isEqualType false) && {_value}) then {1} else {0};
|
|
format ['value = %1;', _value];
|
|
};
|
|
case ("color"): {
|
|
_value params [["_r",1], ["_b",0], ["_g",1], ["_a",1]];
|
|
format ["value[] = {%1, %2, %3, %4};", _r, _b, _g, _a];
|
|
};
|
|
default {
|
|
ERROR("unknown typeName");
|
|
""
|
|
};
|
|
|
|
};
|
|
_compiledConfigEntry = format ["
|
|
class %1 {
|
|
%2
|
|
typeName = %3;
|
|
force = 1;
|
|
};", _name, _formatedValue, format['"%1"', _typeName]];
|
|
|
|
"ace_clipboard" callExtension _compiledConfigEntry;
|
|
};
|
|
} forEach EGVAR(common,settings);
|
|
|
|
"ace_clipboard" callExtension "--COMPLETE--";
|
|
|
|
[LSTRING(settingsExported)] call EFUNC(common,displayTextStructured);
|