mirror of
https://github.com/acemod/ACE3.git
synced 2024-08-30 18:23:18 +00:00
81e02a7336
* Everything * Fixed missing ; * Fix missing ; and double private * Fixed cannot isNull on number * Turn _temparture back to isNil * Fix error from merge
70 lines
1.9 KiB
Plaintext
70 lines
1.9 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"
|
|
|
|
{
|
|
/*_settingData = [
|
|
_name,
|
|
_typeName,
|
|
_isClientSetable,
|
|
_localizedName,
|
|
_localizedDescription,
|
|
_possibleValues,
|
|
_isForced,
|
|
_defaultValue
|
|
];*/
|
|
_x params ["_name", "_typeName", "_isClientSetable", "_localizedName", "_localizedDescription", "_possibleValues", "_defaultValue"];
|
|
|
|
if (GVAR(ClientSettingsExportIncluded) || !_isClientSetable) then {
|
|
private _value = missionNamespace getVariable [_name, _defaultValue];
|
|
private _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");
|
|
""
|
|
};
|
|
|
|
};
|
|
private _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);
|