Cleanup options menu (#5746)

This commit is contained in:
PabstMirror 2017-11-12 11:34:23 -06:00 committed by GitHub
parent 3c8d5d6052
commit f9b89cd07a
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
26 changed files with 0 additions and 1683 deletions

View File

@ -1,11 +1,4 @@
class ACE_Settings { class ACE_Settings {
class GVAR(optionMenuDisplaySize) {
value = 0;
typeName = "SCALAR";
isClientSettable = 1;
displayName = CSTRING(uiScaing);
values[] = {"$str_medium", "$str_large", "$str_very_large"};
};
class GVAR(showNewsOnMainMenu) { class GVAR(showNewsOnMainMenu) {
value = 1; value = 1;
typeName = "BOOL"; typeName = "BOOL";

View File

@ -11,12 +11,6 @@ class Extended_PreInit_EventHandlers {
}; };
}; };
class Extended_PostInit_EventHandlers {
class ADDON {
init = QUOTE(call COMPILE_FILE(XEH_postInit));
};
};
class Extended_DisplayLoad_EventHandlers { class Extended_DisplayLoad_EventHandlers {
class RscDisplayMain { class RscDisplayMain {
GVAR(loadMainMenuBox) = QUOTE(_this call COMPILE_FILE(init_loadMainMenuBox)); GVAR(loadMainMenuBox) = QUOTE(_this call COMPILE_FILE(init_loadMainMenuBox));

View File

@ -1,22 +1,2 @@
PREP(debugDumpToClipboard); PREP(debugDumpToClipboard);
PREP(onListBoxSettingsChanged);
PREP(onListBoxShowSelectionChanged);
PREP(onSettingsMenuOpen);
PREP(onSliderPosChanged);
PREP(onServerSaveInputField);
PREP(onServerSettingsMenuOpen);
PREP(onServerListBoxShowSelectionChanged);
PREP(onCategorySelectChanged);
PREP(resetSettings);
PREP(serverResetSettings);
PREP(settingsMenuUpdateKeyView);
PREP(settingsMenuUpdateList);
PREP(serverSettingsMenuUpdateKeyView);
PREP(serverSettingsMenuUpdateList);
PREP(onServerCategorySelectChanged);
PREP(updateSetting);
PREP(exportSettings);
PREP(toggleIncludeClientSettings);
PREP(moduleAllowConfigExport);
PREP(stringEscape);

View File

@ -1,11 +0,0 @@
#include "script_component.hpp"
["ace_settingsInitialized", {
GVAR(categories) pushBack ""; //Ensure All Catagories is at top
{
if !(_x select 8 in GVAR(categories)) then {
GVAR(categories) pushBack (_x select 8);
};
}forEach EGVAR(common,settings);
}] call CBA_fnc_addEventHandler;

View File

@ -6,17 +6,6 @@ PREP_RECOMPILE_START;
#include "XEH_PREP.hpp" #include "XEH_PREP.hpp"
PREP_RECOMPILE_END; PREP_RECOMPILE_END;
GVAR(clientSideOptions) = [];
GVAR(clientSideColors) = [];
GVAR(serverConfigGeneration) = 0;
GVAR(ClientSettingsExportIncluded) = false;
GVAR(serverSideOptions) = [];
GVAR(serverSideColors) = [];
GVAR(serverSideValues) = [];
GVAR(categories) = [];
GVAR(currentCategorySelection) = 0;
if (hasInterface) then { if (hasInterface) then {
[[format ["ACE3 %1", localize LSTRING(DumpDebug)], localize LSTRING(DumpDebugTooltip)], QGVAR(MainMenuHelperDumpDebug)] call CBA_fnc_addPauseMenuOption; [[format ["ACE3 %1", localize LSTRING(DumpDebug)], localize LSTRING(DumpDebugTooltip)], QGVAR(MainMenuHelperDumpDebug)] call CBA_fnc_addPauseMenuOption;
[[format ["ACE3 %1", localize LSTRING(headBugFix)], localize LSTRING(headBugFixTooltip)], QGVAR(MainMenuHelperHeadBugFix)] call CBA_fnc_addPauseMenuOption; [[format ["ACE3 %1", localize LSTRING(headBugFix)], localize LSTRING(headBugFixTooltip)], QGVAR(MainMenuHelperHeadBugFix)] call CBA_fnc_addPauseMenuOption;

View File

@ -1,69 +0,0 @@
/*
* 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);

View File

@ -1,27 +0,0 @@
/*
* Author: Glowbal
*
*
* Arguments:
* None
*
* Return Value:
* None
*
* Example:
* call ace_optionsmenu_fnc_moduleAllowConfigExport
*
* Public: No
*/
#include "script_component.hpp"
params ["_logic"];
if (isMultiplayer) exitWith {};
if (_logic getVariable ["allowconfigurationExport", false]) then {
GVAR(serverConfigGeneration) = 1;
} else {
GVAR(serverConfigGeneration) = 0;
};

View File

@ -1,25 +0,0 @@
/*
* Author: Glowbal
* Changes which category is selected
*
* Arguments:
* None
*
* Return Value:
* None
*
* Example:
* [] call ACE_optionsmenu_fnc_onCategorySelectChanged
*
* Public: No
*/
#include "script_component.hpp"
disableSerialization;
private _settingsMenu = uiNamespace getVariable 'ACE_settingsMenu';
private _ctrlComboBox = (_settingsMenu displayCtrl 14);
GVAR(currentCategorySelection) = _ctrlComboBox lbValue (lbCurSel _ctrlComboBox);
[true] call FUNC(settingsMenuUpdateList);

View File

@ -1,43 +0,0 @@
/*
* Author: Glowbal
* Called when the listbox selection is changed for an options (eg: chaning a setting from false to true)
*
* Arguments:
* None
*
* Return Value:
* None
*
* Example:
* [] call ACE_optionsmenu_fnc_onListBoxSettingsChanged
*
* Public: No
*/
#include "script_component.hpp"
private _rightDropDownIndex = lbCurSel 400; //Index of right drop down
if (_rightDropDownIndex < 0) then {_rightDropDownIndex = 0;};
private _settingIndex = -1;
if (((lnbCurSelRow 200) >= 0) && {(lnbCurSelRow 200) < ((lnbSize 200) select 0)}) then {
_settingIndex = lnbValue [200, [(lnbCurSelRow 200), 0]];
};
if (_settingIndex == -1) exitWith {};
switch (GVAR(optionMenu_openTab)) do {
case (MENU_TAB_OPTIONS): {
if ((_settingIndex >= 0) && (_settingIndex < (count GVAR(clientSideOptions)))) then {
_settingIndex = (GVAR(clientSideOptions) select _settingIndex) select 0;
[MENU_TAB_OPTIONS, _settingIndex, _rightDropDownIndex] call FUNC(updateSetting);
};
[false] call FUNC(settingsMenuUpdateList);
};
case (MENU_TAB_SERVER_OPTIONS): {
if ((_settingIndex >= 0) && (_settingIndex < (count GVAR(serverSideOptions)))) then {
_settingIndex = (GVAR(serverSideOptions) select _settingIndex) select 0;
[MENU_TAB_SERVER_OPTIONS, _settingIndex, _rightDropDownIndex] call FUNC(updateSetting);
};
[false] call FUNC(serverSettingsMenuUpdateList);
};
};

View File

@ -1,60 +0,0 @@
/*
* Author: Glowbal
* Changes which tab is open (options or colors)
*
* Arguments:
* The tab to open (defined in script_component) <NUMBER>
*
* Return Value:
* None
*
* Example:
* [MENU_TAB_COLORS] call ACE_optionsmenu_fnc_onListBoxShowSelectionChanged
*
* Public: No
*/
#include "script_component.hpp"
params ["_openTab"];
GVAR(optionMenu_openTab) = _openTab;
disableSerialization;
private _settingsMenu = uiNamespace getVariable 'ACE_settingsMenu';
switch (GVAR(optionMenu_openTab)) do {
case (MENU_TAB_OPTIONS): {
private _localizedHeader = format ["%1: %2", (localize LSTRING(OpenConfigMenu)), (localize LSTRING(TabOptions))];
ctrlSetText [13, _localizedHeader];
lbClear 400;
(_settingsMenu displayCtrl 301) ctrlShow true;
(_settingsMenu displayCtrl 400) ctrlShow true;
(_settingsMenu displayCtrl 410) ctrlShow false;
(_settingsMenu displayCtrl 411) ctrlShow false;
(_settingsMenu displayCtrl 412) ctrlShow false;
(_settingsMenu displayCtrl 413) ctrlShow false;
};
case (MENU_TAB_COLORS): {
private _localizedHeader = format ["%1: %2", (localize LSTRING(OpenConfigMenu)), (localize LSTRING(TabColors))];
ctrlSetText [13, _localizedHeader];
lbClear 400;
(_settingsMenu displayCtrl 301) ctrlShow false;
(_settingsMenu displayCtrl 400) ctrlShow false;
(_settingsMenu displayCtrl 410) ctrlShow true;
(_settingsMenu displayCtrl 411) ctrlShow true;
(_settingsMenu displayCtrl 412) ctrlShow true;
(_settingsMenu displayCtrl 413) ctrlShow true;
(_settingsMenu displayCtrl 410) sliderSetRange [0, 255];
(_settingsMenu displayCtrl 411) sliderSetRange [0, 255];
(_settingsMenu displayCtrl 412) sliderSetRange [0, 255];
(_settingsMenu displayCtrl 413) sliderSetRange [0, 255];
};
};
[true] call FUNC(settingsMenuUpdateList);

View File

@ -1,25 +0,0 @@
/*
* Author: Glowbal
* Changes which category is selected
*
* Arguments:
* None
*
* Return Value:
* None
*
* Example:
* [] call ACE_optionsmenu_fnc_onCategorySelectChanged
*
* Public: No
*/
#include "script_component.hpp"
disableSerialization;
private _settingsMenu = uiNamespace getVariable 'ACE_serverSettingsMenu';
private _ctrlComboBox = (_settingsMenu displayCtrl 14);
GVAR(currentCategorySelection) = lbCurSel _ctrlComboBox;
[true] call FUNC(serverSettingsMenuUpdateList);

View File

@ -1,86 +0,0 @@
/*
* Author: Glowbal
* Changes which tab is open (options or colors)
*
* Arguments:
* The tab to open (defined in script_component) <NUMBER>
*
* Return Value:
* None
*
* Example:
* [MENU_TAB_COLORS] call ACE_optionsmenu_fnc_onListBoxShowSelectionChanged
*
* Public: No
*/
#include "script_component.hpp"
params ["_openTab"];
GVAR(optionMenu_openTab) = _openTab;
disableSerialization;
private _settingsMenu = uiNamespace getVariable 'ACE_serverSettingsMenu';
switch (GVAR(optionMenu_openTab)) do {
case (MENU_TAB_SERVER_OPTIONS): {
private _localizedHeader = format ["%1: %2", (localize LSTRING(OpenConfigMenu)), (localize LSTRING(TabOptions))];
ctrlSetText [13, _localizedHeader];
lbClear 400;
(_settingsMenu displayCtrl 301) ctrlShow true;
(_settingsMenu displayCtrl 400) ctrlShow true;
(_settingsMenu displayCtrl 410) ctrlShow false;
(_settingsMenu displayCtrl 411) ctrlShow false;
(_settingsMenu displayCtrl 412) ctrlShow false;
(_settingsMenu displayCtrl 413) ctrlShow false;
(_settingsMenu displayCtrl 414) ctrlShow false;
(_settingsMenu displayCtrl 415) ctrlShow false;
(_settingsMenu displayCtrl 416) ctrlShow false;
(_settingsMenu displayCtrl 416) ctrlEnable false;
};
case (MENU_TAB_SERVER_COLORS): {
private _localizedHeader = format ["%1: %2", (localize LSTRING(OpenConfigMenu)), (localize LSTRING(TabColors))];
ctrlSetText [13, _localizedHeader];
lbClear 400;
(_settingsMenu displayCtrl 301) ctrlShow false;
(_settingsMenu displayCtrl 400) ctrlShow false;
(_settingsMenu displayCtrl 410) ctrlShow true;
(_settingsMenu displayCtrl 411) ctrlShow true;
(_settingsMenu displayCtrl 412) ctrlShow true;
(_settingsMenu displayCtrl 413) ctrlShow true;
(_settingsMenu displayCtrl 410) sliderSetRange [0, 255];
(_settingsMenu displayCtrl 411) sliderSetRange [0, 255];
(_settingsMenu displayCtrl 412) sliderSetRange [0, 255];
(_settingsMenu displayCtrl 413) sliderSetRange [0, 255];
(_settingsMenu displayCtrl 414) ctrlShow false;
(_settingsMenu displayCtrl 415) ctrlShow false;
(_settingsMenu displayCtrl 416) ctrlShow false;
(_settingsMenu displayCtrl 416) ctrlEnable false;
};
case (MENU_TAB_SERVER_VALUES): {
private _localizedHeader = format ["%1: %2", (localize LSTRING(OpenConfigMenu)), (localize LSTRING(TabValues))];
ctrlSetText [13, _localizedHeader];
lbClear 400;
(_settingsMenu displayCtrl 301) ctrlShow false;
(_settingsMenu displayCtrl 400) ctrlShow false;
(_settingsMenu displayCtrl 410) ctrlShow false;
(_settingsMenu displayCtrl 411) ctrlShow false;
(_settingsMenu displayCtrl 412) ctrlShow false;
(_settingsMenu displayCtrl 413) ctrlShow false;
(_settingsMenu displayCtrl 414) ctrlShow true;
(_settingsMenu displayCtrl 415) ctrlShow true;
(_settingsMenu displayCtrl 416) ctrlShow true;
(_settingsMenu displayCtrl 416) ctrlEnable true;
};
};
[true] call FUNC(serverSettingsMenuUpdateList);

View File

@ -1,48 +0,0 @@
/*
* Author: Glowbal
* Called when the listbox selection is changed for an options (eg: chaning a setting from false to true)
*
* Arguments:
* None
*
* Return Value:
* None
*
* Example:
* [] call ACE_optionsmenu_fnc_onListBoxSettingsChanged
*
* Public: No
*/
#include "script_component.hpp"
private _inputText = ctrlText 414; //Index of right drop down
private _settingIndex = -1;
if (((lnbCurSelRow 200) >= 0) && {(lnbCurSelRow 200) < ((lnbSize 200) select 0)}) then {
_settingIndex = lnbValue [200, [(lnbCurSelRow 200), 0]];
};
switch (GVAR(optionMenu_openTab)) do {
case (MENU_TAB_SERVER_VALUES): {
if ((_settingIndex >= 0) && (_settingIndex < (count GVAR(serverSideValues)))) then {
try {
private _setting = (GVAR(serverSideValues) select _settingIndex);
private _settingName = _setting select 0;
private _convertedValue = switch (toUpper (_setting select 1)) do {
case "STRING": {
ctrlSetText [414, _inputText call FUNC(stringEscape)];
format ['%1', _inputText call FUNC(stringEscape)];
};
case "ARRAY": {format [call compile "[%1]", _inputText]};
case "SCALAR": {parseNumber _inputText;};
default {throw "Error"};
};
[MENU_TAB_SERVER_VALUES, _settingName, _convertedValue] call FUNC(updateSetting);
} catch {
};
};
[false] call FUNC(serverSettingsMenuUpdateList);
};
};

View File

@ -1,70 +0,0 @@
/*
* Author: Glowbal
* Called from the onLoad of ACE_settingsMenu dialog.
*
* Arguments:
* None
*
* Return Value:
* None
*
* Example:
* [onLoadEvent] call ACE_optionsmenu_fnc_onSettingsMenuOpen
*
* Public: No
*/
#include "script_component.hpp"
if (GVAR(serverConfigGeneration) == 0 || isMultiplayer) exitWith {closeDialog 145246;};
// Filter only user setable setting
GVAR(serverSideOptions) = [];
GVAR(serverSideColors) = [];
GVAR(serverSideValues) = [];
{
_x params ["_name", "_typeName", "_isClientSetable", "_localizedName", "_localizedDescription", "_possibleValues", "_defaultValue"];
// Exclude client side options if they are not included for the export
if (!(_isClientSetable) || GVAR(ClientSettingsExportIncluded)) then {
// Append the current value to the setting metadata
private _setting = + _x;
_setting pushBack (missionNamespace getVariable (_x select 0));
// Categorize the setting according to types
// @todo: allow the user to modify other types of parameters?
if ((_typeName == "SCALAR" && count _possibleValues > 0) || (_x select 1) == "BOOL") then {
GVAR(serverSideOptions) pushBack _setting;
};
if (_typeName == "COLOR") then {
GVAR(serverSideColors) pushBack _setting;
};
if ((_typeName == "SCALAR" && count _possibleValues == 0) || _typeName == "ARRAY" || _typeName == "STRING") then {
GVAR(serverSideValues) pushBack _setting;
};
};
} forEach EGVAR(common,settings);
//Delay a frame
[{ [MENU_TAB_SERVER_OPTIONS] call FUNC(onServerListBoxShowSelectionChanged) }, []] call CBA_fnc_execNextFrame;
disableSerialization;
private _menu = uiNamespace getVariable "ACE_serverSettingsMenu";
(_menu displayCtrl 1003) ctrlEnable false;
if (GVAR(ClientSettingsExportIncluded)) then {
(_settingsMenu displayCtrl 1102) ctrlSetText localize (LSTRING(exClientSettings));
} else {
(_settingsMenu displayCtrl 1102) ctrlSetText localize (LSTRING(inClientSettings));
};
lbClear (_menu displayCtrl 14);
{
if (_x == "") then {
_x = localize (LSTRING(category_all));
};
(_menu displayCtrl 14) lbAdd _x;
} forEach GVAR(categories);
(_menu displayCtrl 14) lbSetCurSel GVAR(currentCategorySelection); //All Catagoies

View File

@ -1,67 +0,0 @@
/*
* Author: Glowbal
* Called from the onLoad of ACE_settingsMenu dialog.
*
* Arguments:
* None
*
* Return Value:
* None
*
* Example:
* [onLoadEvent] call ACE_optionsmenu_fnc_onSettingsMenuOpen
*
* Public: No
*/
#include "script_component.hpp"
// Filter only user setable setting
GVAR(clientSideOptions) = [];
GVAR(clientSideColors) = [];
private _clientSettableCategories = [""];
{
// If the setting is user setable and not forced
if ((_x select 2) && !(_x select 6)) then {
// Append the current value to the setting metadata
private _setting = + _x;
_setting pushBack (missionNamespace getVariable (_x select 0));
// Categorize the setting according to types
// @todo: allow the user to modify other types of parameters?
if ((_x select 1) == "SCALAR" || (_x select 1) == "BOOL") then {
GVAR(clientSideOptions) pushBack _setting;
};
if ((_x select 1) == "COLOR") then {
GVAR(clientSideColors) pushBack _setting;
};
_clientSettableCategories pushBackUnique (_x select 8); //Add to list of user-settable categories
};
} forEach EGVAR(common,settings);
//Delay a frame
[{ [MENU_TAB_OPTIONS] call FUNC(onListBoxShowSelectionChanged) }, []] call CBA_fnc_execNextFrame;
disableSerialization;
private _menu = uiNamespace getVariable "ACE_settingsMenu";
(_menu displayCtrl 1002) ctrlEnable false;
(_menu displayCtrl 1003) ctrlEnable false;
if (GVAR(serverConfigGeneration) == 0) then {
(_menu displayCtrl 1102) ctrlEnable false;
(_menu displayCtrl 1102) ctrlShow false;
};
lbClear (_menu displayCtrl 14);
{
if (_x in _clientSettableCategories) then { //only show category if it has user-settable options
if (_x == "") then {
_x = localize LSTRING(category_all);
};
private _Index = (_menu displayCtrl 14) lbAdd _x;
(_menu displayCtrl 14) lbSetValue [_Index, _forEachIndex];
};
} forEach GVAR(categories);
(_menu displayCtrl 14) lbSetCurSel GVAR(currentCategorySelection); //All Catagoies

View File

@ -1,53 +0,0 @@
/*
* Author: PabstMirror
* Called when one of the color sliders is moved.
*
* Arguments:
* None
*
* Return Value:
* None
*
* Example:
* [] call ACE_optionsmenu_fnc_onSliderPosChanged
*
* Public: No
*/
#include "script_component.hpp"
private _settingIndex = -1;
if (((lnbCurSelRow 200) >= 0) && {(lnbCurSelRow 200) < ((lnbSize 200) select 0)}) then {
_settingIndex = lnbValue [200, [(lnbCurSelRow 200), 0]];
};
if (_settingIndex == -1) exitWith {};
switch (GVAR(optionMenu_openTab)) do {
case (MENU_TAB_COLORS): {
private _newColor = [];
{
_newColor pushBack ((sliderPosition _x) / 255);
} forEach [410, 411, 412, 413];
if ((_settingIndex >= 0) && (_settingIndex < (count GVAR(clientSideColors)))) then {
_settingIndex = (GVAR(clientSideColors) select _settingIndex) select 0;
[MENU_TAB_COLORS, _settingIndex, _newColor] call FUNC(updateSetting);
};
[false] call FUNC(settingsMenuUpdateList);
};
case (MENU_TAB_SERVER_COLORS): {
private _newColor = [];
{
_newColor pushBack ((sliderPosition _x) / 255);
} forEach [410, 411, 412, 413];
if ((_settingIndex >= 0) && (_settingIndex < (count GVAR(clientSideColors)))) then {
_settingIndex = (GVAR(clientSideColors) select _settingIndex) select 0;
[MENU_TAB_SERVER_COLORS, _settingIndex, _newColor] call FUNC(updateSetting);
};
[false] call FUNC(serverSettingsMenuUpdateList);
};
default {};
};

View File

@ -1,35 +0,0 @@
/*
* Author: Glowbal
* Resets all settings to default.
*
* Arguments:
* None
*
* Return Value:
* None
*
* Example:
* [] call ACE_optionsmenu_fnc_onListBoxSettingsChanged
*
* Public: No
*/
#include "script_component.hpp"
{
private _name = _x select 0;
private _default = _x select 7;
[MENU_TAB_OPTIONS, _name, _default] call FUNC(updateSetting);
} forEach GVAR(clientSideOptions);
{
private _name = _x select 0;
private _default = _x select 7;
[MENU_TAB_COLORS, _name, _default] call FUNC(updateSetting);
} forEach GVAR(clientSideColors);
private _lastSelected = lnbCurSelRow 200;
[GVAR(optionMenu_openTab)] call FUNC(onListBoxShowSelectionChanged);
if (_lastSelected != -1) then {
lnbSetCurSelRow [200, _lastSelected];
};

View File

@ -1,41 +0,0 @@
/*
* Author: Glowbal
* Resets all server settings to default.
*
* Arguments:
* None
*
* Return Value:
* None
*
* Example:
* [] call ACE_optionsmenu_fnc_onListBoxSettingsChanged
*
* Public: No
*/
#include "script_component.hpp"
{
private _name = _x select 0;
private _default = _x select 7;
[MENU_TAB_SERVER_OPTIONS, _name, _default] call FUNC(updateSetting);
} forEach GVAR(serverSideOptions);
{
private _name = _x select 0;
private _default = _x select 7;
[MENU_TAB_SERVER_COLORS, _name, _default] call FUNC(updateSetting);
} forEach GVAR(serverSideColors);
{
private _name = _x select 0;
private _default = _x select 7;
[MENU_TAB_SERVER_VALUES, _name, _default] call FUNC(updateSetting);
} forEach GVAR(serverSideVakyes);
private _lastSelected = lnbCurSelRow 200;
[GVAR(optionMenu_openTab)] call FUNC(onserverListBoxShowSelectionChanged);
if (_lastSelected != -1) then {
lbSetCurSel [200, _lastSelected];
};

View File

@ -1,89 +0,0 @@
/*
* Author: Glowbal
* Updates the right half of the option menu for the currently selected option.
*
* Arguments:
* None
*
* Return Value:
* None
*
* Example:
* [] call ACE_optionsmenu_fnc_settingsMenuUpdateKeyView
*
* Public: No
*/
#include "script_component.hpp"
disableSerialization;
private _settingsMenu = uiNamespace getVariable 'ACE_serverSettingsMenu';
private _collection = switch (GVAR(optionMenu_openTab)) do {
case MENU_TAB_SERVER_OPTIONS: {GVAR(serverSideOptions)};
case MENU_TAB_SERVER_COLORS: {GVAR(serverSideColors)};
case MENU_TAB_SERVER_VALUES: {GVAR(serverSideValues)};
default {[]};
};
private _settingIndex = -1;
if (((lnbCurSelRow 200) >= 0) && {(lnbCurSelRow 200) < ((lnbSize 200) select 0)}) then {
_settingIndex = lnbValue [200, [(lnbCurSelRow 200), 0]];
};
if ((_settingIndex >= 0) && {_settingIndex <= (count _collection)}) then {
private _setting = _collection select _settingIndex;
private _entryName = _setting select 0;
private _localizedName = _setting select 3;
private _localizedDescription = _setting select 4;
if (_localizedName == "") then {_localizedName = _entryName;};
(_settingsMenu displayCtrl 250) ctrlSetText _localizedName;
(_settingsMenu displayCtrl 251) ctrlSetText _localizedDescription;
(_settingsMenu displayCtrl 300) ctrlSetText _entryName;
switch (GVAR(optionMenu_openTab)) do {
case (MENU_TAB_SERVER_OPTIONS): {
private _possibleValues = _setting select 5;
private _settingsValue = _setting select 9;
// Created disable/enable options for bools
if ((_setting select 1) == "BOOL") then {
lbClear 400;
lbAdd [400, (localize ELSTRING(common,No))];
lbAdd [400, (localize ELSTRING(common,Yes))];
_settingsValue = [0, 1] select _settingsValue;
} else {
lbClear 400;
{ lbAdd [400, _x]; } forEach _possibleValues;
};
(_settingsMenu displayCtrl 400) lbSetCurSel _settingsValue;
};
case (MENU_TAB_SERVER_COLORS): {
private _currentColor = _setting select 9;
{
sliderSetPosition [_x, (255 * (_currentColor select _forEachIndex))];
} forEach [410, 411, 412, 413];
};
case (MENU_TAB_SERVER_VALUES): {
// TODO implement
private _settingsValue = _setting select 9;
// Created disable/enable options for bools
private _expectedType = switch (_setting select 1) do {
case "STRING": {LSTRING(stringType)};
case "ARRAY": {LSTRING(arrayType)};
case "SCALAR": {LSTRING(scalarType)};
default {LSTRING(unknownType)};
};
(_settingsMenu displayCtrl 414) ctrlSetText format["%1", _settingsValue];
(_settingsMenu displayCtrl 415) ctrlSetText format[localize _expectedType];
};
};
} else { //no settings in list:
lbClear 400;
(_settingsMenu displayCtrl 250) ctrlSetText "No settings available";
(_settingsMenu displayCtrl 251) ctrlSetText "No settings available";
(_settingsMenu displayCtrl 300) ctrlSetText "No settings available";
};

View File

@ -1,93 +0,0 @@
/*
* Author: Glowbal
* Updates the setting when the client has selected a new value. Saves to profilenamespace.
*
* Arguments:
* 0: Update the keylist as well <BOOL>
*
* Return Value:
* None
*
* Example:
* [false] call ACE_optionsmenu_fnc_settingsMenuUpdateList
*
* Public: No
*/
#include "script_component.hpp"
params [["_updateKeyView", true, [true]]];
disableSerialization;
private _settingsMenu = uiNamespace getVariable 'ACE_serverSettingsMenu';
private _ctrlList = _settingsMenu displayCtrl 200;
lnbClear _ctrlList;
private _selectedCategory = GVAR(categories) select GVAR(currentCategorySelection);
switch (GVAR(optionMenu_openTab)) do {
case (MENU_TAB_SERVER_OPTIONS): {
{
if (_selectedCategory == "" || {_selectedCategory == (_x select 8)}) then {
private _settingName = if ((_x select 3) != "") then {
(_x select 3);
} else {
(_x select 0);
};
private _settingsValue = _x select 9;
// Created disable/enable options for bools
private _settingsText = if ((_x select 1) == "BOOL") then {
[(localize ELSTRING(common,No)), (localize ELSTRING(common,Yes))] select _settingsValue;
} else {
(_x select 5) select _settingsValue;
};
private _added = _ctrlList lnbAddRow [_settingName, _settingsText];
_ctrlList lnbSetValue [[_added, 0], _forEachIndex];
};
}forEach GVAR(serverSideOptions);
};
case (MENU_TAB_SERVER_COLORS): {
{
if (_selectedCategory == "" || {_selectedCategory == (_x select 8)}) then {
private _color = +(_x select 9);
{
_color set [_forEachIndex, ((round (_x * 100))/100)];
} forEach _color;
private _settingsColor = str _color;
private _settingName = if ((_x select 3) != "") then {
(_x select 3);
} else {
(_x select 0);
};
private _added = _ctrlList lnbAddRow [_settingName, _settingsColor];
_ctrlList lnbSetColor [[_added, 1], (_x select 9)];
_ctrlList lnbSetValue [[_added, 0], _forEachIndex];
};
}forEach GVAR(serverSideColors);
};
case (MENU_TAB_SERVER_VALUES): {
{
if (_selectedCategory == "" || {_selectedCategory == (_x select 8)}) then {
private _settingName = if ((_x select 3) != "") then {
(_x select 3);
} else {
(_x select 0);
};
private _settingsValue = _x select 9;
if (!(_settingsValue isEqualType "")) then {
_settingsValue = format["%1", _settingsValue];
};
private _added = _ctrlList lnbAddRow [_settingName, _settingsValue];
_ctrlList lnbSetValue [[_added, 0], _forEachIndex];
};
}forEach GVAR(serverSideValues);
};
};
if (_updateKeyView) then {
[] call FUNC(serverSettingsMenuUpdateKeyView);
};

View File

@ -1,76 +0,0 @@
/*
* Author: Glowbal
* Updates the right half of the option menu for the currently selected option.
*
* Arguments:
* None
*
* Return Value:
* None
*
* Example:
* [] call ACE_optionsmenu_fnc_settingsMenuUpdateKeyView
*
* Public: No
*/
#include "script_component.hpp"
disableSerialization;
private _settingsMenu = uiNamespace getVariable 'ACE_settingsMenu';
private _ctrlList = _settingsMenu displayCtrl 200;
private _collection = switch (GVAR(optionMenu_openTab)) do {
case MENU_TAB_OPTIONS: {GVAR(clientSideOptions)};
case MENU_TAB_COLORS: {GVAR(clientSideColors)};
default {[]};
};
private _settingIndex = -1;
if (((lnbCurSelRow 200) >= 0) && {(lnbCurSelRow 200) < ((lnbSize 200) select 0)}) then {
_settingIndex = lnbValue [200, [(lnbCurSelRow 200), 0]];
};
if ((_settingIndex >= 0) && {_settingIndex <= (count _collection)}) then {
private _setting = _collection select _settingIndex;
private _entryName = _setting select 0;
private _localizedName = _setting select 3;
private _localizedDescription = _setting select 4;
if (_localizedName == "") then {_localizedName = _entryName;};
(_settingsMenu displayCtrl 250) ctrlSetText _localizedName;
(_settingsMenu displayCtrl 251) ctrlSetText _localizedDescription;
(_settingsMenu displayCtrl 300) ctrlSetText _entryName;
switch (GVAR(optionMenu_openTab)) do {
case (MENU_TAB_OPTIONS): {
private _possibleValues = _setting select 5;
private _settingsValue = _setting select 9;
// Created disable/enable options for bools
if ((_setting select 1) == "BOOL") then {
lbClear 400;
lbAdd [400, (localize ELSTRING(common,No))];
lbAdd [400, (localize ELSTRING(common,Yes))];
_settingsValue = [0, 1] select _settingsValue;
} else {
lbClear 400;
{ lbAdd [400, _x]; } forEach _possibleValues;
};
(_settingsMenu displayCtrl 400) lbSetCurSel _settingsValue;
};
case (MENU_TAB_COLORS): {
private _currentColor = _setting select 9;
{
sliderSetPosition [_x, (255 * (_currentColor select _forEachIndex))];
} forEach [410, 411, 412, 413];
};
};
} else { //no settings in list:
lbClear 400;
(_settingsMenu displayCtrl 250) ctrlSetText "No settings available";
(_settingsMenu displayCtrl 251) ctrlSetText "No settings available";
(_settingsMenu displayCtrl 300) ctrlSetText "No settings available";
};

View File

@ -1,71 +0,0 @@
/*
* Author: Glowbal
* Updates the setting when the client has selected a new value. Saves to profilenamespace.
*
* Arguments:
* 0: Update the keylist as well <BOOL>
*
* Return Value:
* None
*
* Example:
* [false] call ACE_optionsmenu_fnc_settingsMenuUpdateList
*
* Public: No
*/
#include "script_component.hpp"
params [["_updateKeyView", true, [true]]];
disableSerialization;
private _settingsMenu = uiNamespace getVariable 'ACE_settingsMenu';
private _ctrlList = _settingsMenu displayCtrl 200;
lnbClear _ctrlList;
private _selectedCategory = GVAR(categories) select GVAR(currentCategorySelection);
switch (GVAR(optionMenu_openTab)) do {
case (MENU_TAB_OPTIONS): {
{
if (_selectedCategory == "" || {_selectedCategory == (_x select 8)}) then {
private _settingName = (_x select 3);
private _settingsValue = _x select 9;
// Created disable/enable options for bools
private _settingsText = if ((_x select 1) == "BOOL") then {
[(localize ELSTRING(common,No)), (localize ELSTRING(common,Yes))] select _settingsValue;
} else {
private _values = _x select 5;
if !((!isNil "_values") && {_values isEqualType []} && {_settingsValue >= 0} && {_settingsValue < (count _values)}) exitWith {
ERROR_3("Setting (%1) has bad values (%2) for index (%3)", _settingName, _values, _settingsValue);
"ERROR"
};
_values select _settingsValue;
};
private _added = _ctrlList lnbAddRow [_settingName, _settingsText];
_ctrlList lnbSetValue [[_added, 0], _forEachIndex];
};
} forEach GVAR(clientSideOptions);
};
case (MENU_TAB_COLORS): {
{
if (_selectedCategory == "" || {_selectedCategory == (_x select 8)}) then {
private _color = +(_x select 9);
{
_color set [_forEachIndex, ((round (_x * 100))/100)];
} forEach _color;
private _settingsColor = str _color;
private _settingName = (_x select 3);
private _added = _ctrlList lnbAddRow [_settingName, _settingsColor];
_ctrlList lnbSetColor [[_added, 1], (_x select 9)];
_ctrlList lnbSetValue [[_added, 0], _forEachIndex];
};
}forEach GVAR(clientSideColors);
};
};
if (_updateKeyView) then {
[] call FUNC(settingsMenuUpdateKeyView);
};

View File

@ -1,57 +0,0 @@
/*
* Author: Glowbal
* Parse the string for quotation marks, so it can be used for config export.
*
* Arguments:
* 0: string <STRING>
*
* Return Value:
* parsed string <STRING>
*
* Example:
* [] call ACE_optionsmenu_fnc_stringEscape
*
* Public: No
*/
private _str = _this;
private _isEven = {
params ["_array", "_index"];
private _count = 0;
{
if (_forEachIndex <= _index && {_x == 39}) then {
_count = _count + 1;
};
}forEach _array;
_count %2 == 0;
};
// reg: 34
// single: 39
private _array = toArray _str;
{
if (_x == 34) then {
_array set [_forEachIndex, 39];
};
}forEach _array;
private _maxIndex = count _array;
for "_i" from 0 to _maxIndex /* step +1 */ do {
if (((_i + 1) < _maxIndex - 1) && {_array select _i == 39 && (_array select (_i + 1)) == 39}) then {
if ([_array, _i] call _isEven) then {
_array deleteAt _i;
_i = _i - 1;
_maxIndex = _maxIndex - 1;
};
};
};
{
if (_x == 34) then {
_array set [_forEachIndex, 39];
};
}forEach _array;
toString _array;

View File

@ -1,21 +0,0 @@
/*
* Author: Glowbal
*
*
* Arguments:
* none
*
* Return Value:
* None
*
* Example:
* call ace_optionsmenu_fnc_toggleIncludeClientSettings
*
* Public: No
*/
#include "script_component.hpp"
GVAR(ClientSettingsExportIncluded) = !(GVAR(ClientSettingsExportIncluded));
[] call FUNC(onServerSettingsMenuOpen);

View File

@ -1,93 +0,0 @@
/*
* Author: Glowbal
* Updates the setting when the client has selected a new value. Saves to profilenamespace and calls setSetting.
*
* Arguments:
* 0: The Tab Open <NUMBER>
* 1: The setting's name <STRING>
* 2: The new value either an index or a color <NUMBER>OR<ARRAY>
*
* Return Value:
* None
*
* Example:
* [MENU_TAB_COLORS, "ace_fireTruckColor", [1,0,0,1]] call ACE_optionsmenu_fnc_updateSetting
*
* Public: No
*/
#include "script_component.hpp"
params ["_type", "_name", "_newValue"];
private _changed = false;
switch (_type) do {
case (MENU_TAB_OPTIONS): {
{
if ((_x select 0) == _name) then {
if ((_x select 1) == "BOOL") then {
_newValue = [false, true] select _newValue;
};
if !((_x select 9) isEqualTo _newValue) then {
_changed = true;
_x set [9, _newValue];
} ;
};
} forEach GVAR(clientSideOptions);
};
case (MENU_TAB_COLORS): {
{
if (((_x select 0) == _name) && {!((_x select 9) isEqualTo _newValue)}) then {
_changed = true;
_x set [9, _newValue];
};
} forEach GVAR(clientSideColors);
};
case (MENU_TAB_SERVER_OPTIONS): {
{
if ((_x select 0) == _name) then {
if ((_x select 1) == "BOOL") then {
_newValue = [false, true] select _newValue;
};
if !((_x select 9) isEqualTo _newValue) then {
_changed = true;
_x set [9, _newValue];
} ;
};
} forEach GVAR(serverSideOptions);
};
case (MENU_TAB_SERVER_COLORS): {
{
if (((_x select 0) == _name) && {!((_x select 9) isEqualTo _newValue)}) then {
_changed = true;
_x set [9, _newValue];
};
} forEach GVAR(serverSideColors);
};
case (MENU_TAB_SERVER_VALUES): {
{
if (((_x select 0) == _name) && {!((_x select 9) isEqualTo _newValue)}) then {
_changed = true;
_x set [9, _newValue];
};
} forEach GVAR(serverSideValues);
};
};
if (_changed) then {
if (GVAR(serverConfigGeneration) > 0) then {
if !(isMultiplayer) then {
missionNamespace setVariable [_name, _newValue];
};
} else {
profileNamespace setVariable [_name, _newValue];
[_name, _newValue] call EFUNC(common,setSetting);
};
};

View File

@ -1,470 +1,6 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<Project name="ACE"> <Project name="ACE">
<Package name="OptionsMenu"> <Package name="OptionsMenu">
<Key ID="STR_ACE_OptionsMenu_OpenConfigMenu">
<English>ACE Options</English>
<German>ACE-Optionen</German>
<Spanish>Opciones ACE</Spanish>
<Polish>Ustawienia ACE</Polish>
<Czech>ACE Nastavení</Czech>
<French>Options ACE</French>
<Russian>ACE Настройки</Russian>
<Portuguese>Opções do ACE</Portuguese>
<Hungarian>ACE Beállítások</Hungarian>
<Italian>Opzioni ACE</Italian>
<Japanese>ACE オプション</Japanese>
<Korean>ACE 옵션</Korean>
<Chinesesimp>ACE 设定 </Chinesesimp>
<Chinese>ACE 設定 </Chinese>
</Key>
<Key ID="STR_ACE_OptionsMenu_FixAnimation">
<English>Fix Animation</English>
<German>Behebe Animation</German>
<Spanish>Arreglar animación</Spanish>
<Russian>Фикс анимации</Russian>
<Czech>Opravit animace</Czech>
<Polish>Napraw animację</Polish>
<French>Corriger animation</French>
<Hungarian>Animációk kijavítása</Hungarian>
<Italian>Sistema l'animazione</Italian>
<Portuguese>Arrumar Animação</Portuguese>
<Japanese>アニメーションを修正</Japanese>
<Korean>동작 고정</Korean>
<Chinesesimp>修复动作BUG</Chinesesimp>
<Chinese>修復動作BUG</Chinese>
</Key>
<Key ID="STR_ACE_OptionsMenu_ResetAll">
<English>Reset All</English>
<German>Alles zurücksetzen</German>
<Spanish>Reiniciar todo</Spanish>
<Russian>Полный сброс</Russian>
<Czech>Vyresetovat vše</Czech>
<Polish>Resetuj wszystko</Polish>
<French>Défaut</French>
<Hungarian>Minden visszaállítása</Hungarian>
<Italian>Resetta tutto</Italian>
<Portuguese>Resetar Tudo</Portuguese>
<Japanese>すべて初期化</Japanese>
<Korean>모두 초기화</Korean>
<Chinesesimp>重置为预设值</Chinesesimp>
<Chinese>重置為預設值</Chinese>
</Key>
<Key ID="STR_ACE_OptionsMenu_TabColors">
<English>Colors</English>
<French>Couleurs</French>
<German>Farben</German>
<Spanish>Colores</Spanish>
<Russian>Цвета</Russian>
<Czech>Barvy</Czech>
<Polish>Kolory</Polish>
<Hungarian>Színek</Hungarian>
<Italian>Colori</Italian>
<Portuguese>Cores</Portuguese>
<Japanese></Japanese>
<Korean>색상</Korean>
<Chinesesimp>颜色</Chinesesimp>
<Chinese>顏色</Chinese>
</Key>
<Key ID="STR_ACE_OptionsMenu_TabOptions">
<English>Options</English>
<German>Optionen</German>
<Spanish>Opciones</Spanish>
<Polish>Opcje</Polish>
<Czech>Nastavení</Czech>
<French>Options</French>
<Russian>Настройки</Russian>
<Portuguese>Opções</Portuguese>
<Hungarian>Beállítások</Hungarian>
<Italian>Opzioni</Italian>
<Japanese>オプション</Japanese>
<Korean>옵션</Korean>
<Chinesesimp>设定</Chinesesimp>
<Chinese>設定</Chinese>
</Key>
<Key ID="STR_ACE_OptionsMenu_TabValues">
<English>Values</English>
<Spanish>Valores</Spanish>
<Russian>Значения</Russian>
<Czech>Hodnoty</Czech>
<Polish>Wartości</Polish>
<French>Valeurs</French>
<German>Werte</German>
<Hungarian>Értékek</Hungarian>
<Italian>Valori</Italian>
<Portuguese>Valores</Portuguese>
<Japanese></Japanese>
<Korean></Korean>
<Chinesesimp>数值</Chinesesimp>
<Chinese>數值</Chinese>
</Key>
<Key ID="STR_ACE_OptionsMenu_Setting">
<English>Setting:</English>
<Czech>Nastavení:</Czech>
<German>Einstellung:</German>
<Russian>Установки:</Russian>
<Spanish>Ajuste:</Spanish>
<Polish>Ustaw:</Polish>
<French>Paramètres</French>
<Hungarian>Opció:</Hungarian>
<Italian>Parametri:</Italian>
<Portuguese>Opção:</Portuguese>
<Japanese>設定:</Japanese>
<Korean>설정:</Korean>
<Chinesesimp>设定:</Chinesesimp>
<Chinese>設定:</Chinese>
</Key>
<Key ID="STR_ACE_OptionsMenu_Export">
<English>Export</English>
<German>Exportieren</German>
<Spanish>Exportar</Spanish>
<Russian>Экспорт</Russian>
<Czech>Exportovat</Czech>
<Polish>Eksport</Polish>
<French>Exporter</French>
<Hungarian>Exportálás</Hungarian>
<Italian>Esporta</Italian>
<Portuguese>Exportar</Portuguese>
<Japanese>出力</Japanese>
<Korean>내보내기</Korean>
<Chinesesimp>输出</Chinesesimp>
<Chinese>輸出</Chinese>
</Key>
<Key ID="STR_ACE_OptionsMenu_OpenExport">
<English>Open Export Menu</English>
<German>Öffne Exportmenü</German>
<Spanish>Abrir menú de exportación</Spanish>
<Russian>Открыть меню экспорта</Russian>
<Czech>Otevřít exportovací menu</Czech>
<Polish>Eksport ustawień</Polish>
<French>Ouvrir le menu d'exportation</French>
<Hungarian>Exportálási menü megnyitása</Hungarian>
<Italian>Apri menù esportazione</Italian>
<Portuguese>Abrir menu de exportação</Portuguese>
<Japanese>出力メニューを開く</Japanese>
<Korean>내보내기 메뉴 열기</Korean>
<Chinesesimp>开启输出选单</Chinesesimp>
<Chinese>開啟輸出選單</Chinese>
</Key>
<Key ID="STR_ACE_OptionsMenu_stringType">
<English>String input.</English>
<German>Zeichenketteneingabe</German>
<Spanish>Introducir cadena de texto.</Spanish>
<Russian>Строчный ввод.</Russian>
<Polish>Wpisywanie tekstu.</Polish>
<Czech>Vkládání textu.</Czech>
<French>Entrée</French>
<Hungarian>String bevitel.</Hungarian>
<Italian>Stringa di unput.</Italian>
<Portuguese>Input de String</Portuguese>
<Japanese>文字列の入力</Japanese>
<Korean>문자열 입력</Korean>
<Chinesesimp>输入数值</Chinesesimp>
<Chinese>輸入數值</Chinese>
</Key>
<Key ID="STR_ACE_OptionsMenu_arrayType">
<English>Array. Seperate elements by using ,.</English>
<German>Array. Teile unterschiedliche Elemente mit ,.</German>
<Spanish>Matriz. Separa elementos usando ,.</Spanish>
<Russian>Массив. Разделяйте элемены, используя запятую.</Russian>
<Polish>Tablica. Oddziel elementy używając ,.</Polish>
<French>Tableau. Séparation par ,.</French>
<Czech>Tabulka. Odděl elementy použitím ,.</Czech>
<Hungarian>Array. Válasszad el az elemeket vesszővel.</Hungarian>
<Italian>Vettor. Separa gli elementi usando ,.</Italian>
<Portuguese>Vetor. Separe elementos usando *,*.</Portuguese>
<Japanese>アレイ。,を使うことで区切れます。</Japanese>
<Korean>배열. 요소를 ,. 로 나눔</Korean>
<Chinesesimp>阵列。使用','来做每个值的区隔</Chinesesimp>
<Chinese>陣列。使用','來做每個值的區隔</Chinese>
</Key>
<Key ID="STR_ACE_OptionsMenu_scalarType">
<English>Number</English>
<German>Zahl</German>
<Spanish>Número</Spanish>
<Russian>Число</Russian>
<Czech>Číslo</Czech>
<Polish>Cyfra</Polish>
<French>Nombre</French>
<Hungarian>Szám</Hungarian>
<Italian>Numero</Italian>
<Portuguese>Número</Portuguese>
<Japanese></Japanese>
<Korean>숫자</Korean>
<Chinesesimp>数字</Chinesesimp>
<Chinese>數字</Chinese>
</Key>
<Key ID="STR_ACE_OptionsMenu_unknownType">
<English>Uknown input type</English>
<German>Unbekannter Eingabetyp</German>
<Spanish>Tipo de entrada desconocida</Spanish>
<Russian>Неизвестный тип ввода</Russian>
<Czech>Neznámý vstup</Czech>
<Polish>Nieznany rodzaj danych</Polish>
<French>Type d'entrée inconnue</French>
<Hungarian>Ismeretlen beviteli típus</Hungarian>
<Italian>Input inserito sconosciuto</Italian>
<Portuguese>Tipo desonhecido de input</Portuguese>
<Japanese>不明な入力です</Japanese>
<Korean>불분명한 입력입니다</Korean>
<Chinesesimp>未知输入类型</Chinesesimp>
<Chinese>未知輸入類型</Chinese>
</Key>
<Key ID="STR_ACE_OptionsMenu_SaveInput">
<English>Save input</English>
<German>Speichere Eingabe</German>
<Spanish>Guardar entrada</Spanish>
<Russian>Сохранить ввод</Russian>
<Czech>Uložit vstup</Czech>
<Polish>Zapisz dane</Polish>
<French>Sauvegarder</French>
<Hungarian>Bevitel elmentése</Hungarian>
<Italian>Salva input</Italian>
<Portuguese>Salvar input</Portuguese>
<Japanese>入力を保存</Japanese>
<Korean>입력 저장</Korean>
<Chinesesimp>储存输入</Chinesesimp>
<Chinese>儲存輸入</Chinese>
</Key>
<Key ID="STR_ACE_OptionsMenu_inClientSettings">
<English>Include Client Settings</English>
<German>Schließe Client-Einstellungen ein</German>
<Spanish>Incluir configuración de cliente</Spanish>
<Russian>Включить настройки клиента</Russian>
<Czech>Zahrnout nastavení klienta</Czech>
<Polish>Zaw. ustaw. klienta</Polish>
<French>Inclure paramètres client</French>
<Hungarian>Kliens-beállítások melléklése</Hungarian>
<Italian>Includi i parametri del client</Italian>
<Portuguese>Incluir opções do cliente</Portuguese>
<Japanese>クライアント設定を含む</Japanese>
<Korean>클라이언트 설정 포함</Korean>
<Chinesesimp>包含客户端设定</Chinesesimp>
<Chinese>包含客戶端設定</Chinese>
</Key>
<Key ID="STR_ACE_OptionsMenu_exClientSettings">
<English>Exclude Client Settings</English>
<German>Schließe Client-Einstellungen aus</German>
<Spanish>Excluir configuración de cliente</Spanish>
<Russian>Исключить настройки клиента</Russian>
<Czech>Nezahrnout nastavení klienta</Czech>
<Polish>Wyklucz ustawienia klienta</Polish>
<French>Exclure paramètres client</French>
<Hungarian>Kliens-beállítások elhagyása</Hungarian>
<Italian>Escludi i parametri del client</Italian>
<Portuguese>Excluir opções do cliente</Portuguese>
<Japanese>クライアント設定を実行する</Japanese>
<Korean>클라이언트 설정 제외</Korean>
<Chinesesimp>不包含客户端设定</Chinesesimp>
<Chinese>不包含客戶端設定</Chinese>
</Key>
<Key ID="STR_ACE_OptionsMenu_settingsExported">
<English>Settings exported to clipboard</English>
<German>Einstellungen in die Zwischenablage exportiert</German>
<Spanish>Configuración exportada al portapapeles</Spanish>
<Russian>Настройки экспортированы в буфер обмена</Russian>
<Czech>Nastevení exportována do schránky</Czech>
<Polish>Ustawienia wyeksportowano do schowka</Polish>
<French>Paramètres exportés dans le presse papier</French>
<Hungarian>Beállítások exportálva a vágólapba</Hungarian>
<Italian>Parametri esportati alla clipboard</Italian>
<Portuguese>Opções exportadas para o clipboard.</Portuguese>
<Japanese>クリップボードに設定を出力する</Japanese>
<Korean>클립보드로 설정 내보내기</Korean>
<Chinesesimp>设定输出至剪贴簿</Chinesesimp>
<Chinese>設定輸出至剪貼簿</Chinese>
</Key>
<Key ID="STR_ACE_OptionsMenu_uiScaing">
<English>Option Menu UI Scaling</English>
<French>Menu option: taille de l'UI</French>
<Polish>Skalowanie UI menu ustawień</Polish>
<Czech>Měřítko UI v menu nastavení</Czech>
<Russian>Размер интерфейса меню настройки</Russian>
<Spanish>Opción de escalado del menú IU</Spanish>
<German>Nutzeroberflächen-Skalierung</German>
<Hungarian>Beállításmenü kezelőfelületének skálázása</Hungarian>
<Portuguese>Escalar o menu de opções</Portuguese>
<Italian>Proporzioni della interfaccia utente</Italian>
<Japanese>オプション メニューにあるユーザ インタフェイスの大きさ</Japanese>
<Korean>옵션메뉴 UI 비례도</Korean>
<Chinesesimp>调整设定选单视窗大小</Chinesesimp>
<Chinese>調整設定選單視窗大小</Chinese>
</Key>
<Key ID="STR_ACE_OptionsMenu_AllowConfigExport_Module_DisplayName">
<English>Allow Config Export [ACE]</English>
<Polish>Pozwól na eksport ustawień</Polish>
<Spanish>[ACE] Permitir exportar configuración</Spanish>
<German>Erlaube Config-Export [ACE]</German>
<Czech>Povolit export natavení [ACE]</Czech>
<Portuguese>[ACE] Permitir exportação de configurações</Portuguese>
<French>Autoriser l'exportation de la configuration [ACE]</French>
<Hungarian>Konfiguráció-exportálás engedélyezése [ACE]</Hungarian>
<Russian>Разрешить экспорт настроек [ACE]</Russian>
<Italian>Consenti Esportazione del Config [ACE]</Italian>
<Japanese>設定の出力を許可 [ACE]</Japanese>
<Korean>설정 내보내기 허가 [ACE]</Korean>
<Chinesesimp>允许配置导出 [ACE]</Chinesesimp>
<Chinese>允許配置導出 [ACE]</Chinese>
</Key>
<Key ID="STR_ACE_OptionsMenu_AllowConfigExport_allowconfigurationExport_DisplayName">
<English>Allow</English>
<Polish>Zezwól</Polish>
<Spanish>Permitir</Spanish>
<German>Erlaube</German>
<Czech>Povolit</Czech>
<Portuguese>Permitir</Portuguese>
<French>Autoriser</French>
<Hungarian>Engedélyezés</Hungarian>
<Russian>Разрешить</Russian>
<Italian>Consenti</Italian>
<Japanese>許可</Japanese>
<Korean>허가</Korean>
<Chinesesimp>允许</Chinesesimp>
<Chinese>允許</Chinese>
</Key>
<Key ID="STR_ACE_OptionsMenu_AllowConfigExport_allowconfigurationExport_Description">
<English>Allow export of all settings to a server config formatted.</English>
<Polish>Zezwól na eksport wszystkich ustawień do formatu konfiguracji serwera.</Polish>
<Spanish>Permitir la exportación de todos los ajustes de configuración a un servidor con formato.</Spanish>
<German>Erlaube alle Einstellungen in einer Server-Config zu exportieren.</German>
<Czech>Povolit exportovat všechna nastavení do formátu server configu.</Czech>
<Portuguese>Permitir exportação de todas as configurações para uma configuração formatada de servidor.</Portuguese>
<French>Autorise l'exportation des toutes les options vers un fichier de configuration</French>
<Hungarian>Az összes beállítás szerver-konfigurációba való exportálásának engedélyezése.</Hungarian>
<Russian>Разрешить экспорт всех настроек в формате серверного конфига.</Russian>
<Italian>Consenti esportazione di tutti i parametri ad config formato per server.</Italian>
<Japanese>全ての設定をサーバ用設定の形式へと出力できるようにします。</Japanese>
<Korean>모든 설정을 서버 설정 형식으로 내보내는것을 허락합니다.</Korean>
<Chinesesimp>允许导出所有设定成伺服器配置格式的档案。</Chinesesimp>
<Chinese>允許導出所有設定成伺服器配置格式的檔案。</Chinese>
</Key>
<Key ID="STR_ACE_OptionsMenu_AllowConfigExport_Module_Description">
<English>When allowed, you have access to the settings modification and export in SP. Clicking export will place the formated config on your clipboard.</English>
<Polish>Jeżeli ustawione na zezwól, wtedy będziesz mieć dostęp do ekranu modyfikacji wszystich ustawień i zmiennych ACE, a także będziesz mieć możliwość eksportu tychże ustawień do formatu rozpoznawalnego przez userconfig serwera. Kliknięcie opcji Eksportuj skopiuje wszystkie ustawienia do schowka. Działa tylko w trybie SP.</Polish>
<Spanish>Cuando esta permitido, se tiene acceso a los ajustes de modificación y exportación en SP. Pulsar en exportar copiara la configuración al portapapeles.</Spanish>
<German>Wenn erlaubt, können die Einstellungsmodifikationen angezeigt und im SP exportiert werden. Wenn auf "Exportieren" geklickt wird, wird eine formatierte Config-Datei in der Zwischenablage abgespeichert.</German>
<Czech>Pokud je povoleno, budete mít přístup k modifikaci nastavení a exportování v SP. Kliknutím na export umístníte formátovaný config do vaší schránky.</Czech>
<Portuguese>Quando permitido, você tem acesso à modificação de definições e exportação em SP. Clicando em exportação colocará a configuração formatada em sua área de transferência.</Portuguese>
<French>Quand autorisé, vous pouvez accéder aux modifications et à l'exporation en solo. Cliquer sur exporter placera la configuration dans le presse-papier</French>
<Hungarian>Engedélyezéskor hozzáférést kapsz a beállítások módosításához és exportálásához egyjátékos módban. Exportáláskor a formázott konfiguráció a vágólapra kerül.</Hungarian>
<Russian>Когда разршен, у вас появляется доступ к модификации настроек и экспорту их в одинночном режиме. Нажатие на кнопку Экспорт поместит форматированные настройки в буфер обмена.</Russian>
<Italian>Quando consentito, hai accesso alle modifiche delle impostazioni ed esportazione in SP. Cliccando Esporta piazzera il config formattato sul tuo Blocco Note.</Italian>
<Japanese>許可の場合、あなたは設定の変更と出力をシングルプレイで可能です。出力をクリックすると、サーバ用設定の形式となっている設定がクリップボードに保存されます。</Japanese>
<Korean>허락하는 경우 싱글플레이에서 설정의 변경과 내보내기가 가능해집니다. 내보내기를 눌러서 서버 형성의 설정을 클립보드로 보냅니다.</Korean>
<Chinesesimp>当本功能开启时,你将能在单人模式中调整并输出设定。点击输出按钮后将会让相关设定参数复制到剪贴簿上。</Chinesesimp>
<Chinese>當本功能開啟時,你將能在單人模式中調整並輸出設定。點擊輸出按鈕後將會讓相關設定參數複製到剪貼簿上。</Chinese>
</Key>
<Key ID="STR_ACE_OptionsMenu_Hide">
<English>Hide</English>
<Polish>Ukryj</Polish>
<Spanish>Ocultar</Spanish>
<German>Verstecken</German>
<Czech>Skrýt</Czech>
<Portuguese>Ocultar</Portuguese>
<French>Cacher</French>
<Hungarian>Elrejtés</Hungarian>
<Russian>Скрыть</Russian>
<Italian>Nascondi</Italian>
<Japanese>非表示</Japanese>
<Korean>숨기기</Korean>
<Chinesesimp>隐藏</Chinesesimp>
<Chinese>隱藏</Chinese>
</Key>
<Key ID="STR_ACE_OptionsMenu_TopRightDown">
<English>Top right, downwards</English>
<Polish>Po prawej u góry, w dół</Polish>
<Spanish>Arriba a la derecha, hacia abajo</Spanish>
<German>Oben rechts, nach unten</German>
<Czech>Vpravo nahoře, dolů</Czech>
<Portuguese>Superior direito, para baixo</Portuguese>
<French>Haut droit, vers le bas</French>
<Hungarian>Jobb felül, lefele</Hungarian>
<Russian>Справа — сверху вниз</Russian>
<Italian>In Alto a Destra, verso il Basso</Italian>
<Japanese>右上、下側</Japanese>
<Korean>오른쪽 위에서 아래로</Korean>
<Chinesesimp>右上角,向下</Chinesesimp>
<Chinese>右上角,向下</Chinese>
</Key>
<Key ID="STR_ACE_OptionsMenu_TopRightLeft">
<English>Top right, to the left</English>
<Polish>Po prawej u góry, do lewej</Polish>
<Spanish>Arriba a la derecha, hacia la izquierda</Spanish>
<German>Von rechts nach links</German>
<Czech>Vpravo nahoře, do leva</Czech>
<Portuguese>Superior direito, à esquerda</Portuguese>
<French>Haut droit, vers la gauche</French>
<Hungarian>Jobb felül, balra</Hungarian>
<Russian>Сверху — справа налево</Russian>
<Italian>In Alto a Destra, verso Sinistra</Italian>
<Japanese>右上、左詰</Japanese>
<Korean>오른쪽 위에서 왼쪽으로</Korean>
<Chinesesimp>右上角,向左</Chinesesimp>
<Chinese>右上角,向左</Chinese>
</Key>
<Key ID="STR_ACE_OptionsMenu_TopLeftDown">
<English>Top left, downwards</English>
<Polish>Po lewej u góry, w dół</Polish>
<Spanish>Arriba a la izquierda, hacia abajo</Spanish>
<German>Von links, nach unten</German>
<Czech>Vlevo nahoře, dolů</Czech>
<Portuguese>Superior esquerdo, para baixo</Portuguese>
<French>Haut gauche, vers le bas</French>
<Hungarian>Bal felül, lefele</Hungarian>
<Russian>Слева - сверху вниз</Russian>
<Italian>In Alto a Sinistra, verso il Basso</Italian>
<Japanese>左上、下側</Japanese>
<Korean>왼쪽 위에서 아래로</Korean>
<Chinesesimp>左上角,向下</Chinesesimp>
<Chinese>左上角,向下</Chinese>
</Key>
<Key ID="STR_ACE_OptionsMenu_TopLeftRight">
<English>Top left, to the right</English>
<Polish>Po lewej u góry, do prawej</Polish>
<Spanish>Arriba a la izquierda, hacia la derecha</Spanish>
<German>Oben links nach rechts</German>
<Czech>Vlevo nahoře, do prava</Czech>
<Portuguese>Superior esquerdo, para a direita</Portuguese>
<French>Haut gauche, vers la droite</French>
<Hungarian>Bal felül, jobbra</Hungarian>
<Russian>Сверху — слева направо</Russian>
<Italian>In Alto a Sinistra, verso Destra</Italian>
<Japanese>右上、右詰</Japanese>
<Korean>왼쪽 위에서 오른쪽으로</Korean>
<Chinesesimp>左上角,向右</Chinesesimp>
<Chinese>左上角,向右</Chinese>
</Key>
<Key ID="STR_ACE_OptionsMenu_Top">
<English>Top</English>
<Polish>Góra</Polish>
<Spanish>Arriba</Spanish>
<German>Oben</German>
<Czech>Nahoře</Czech>
<Portuguese>Acima</Portuguese>
<French>Haut</French>
<Hungarian>Fent</Hungarian>
<Russian>Сверху</Russian>
<Italian>Alto</Italian>
<Japanese>上側</Japanese>
<Korean>상단</Korean>
<Chinesesimp>上方</Chinesesimp>
<Chinese>上方</Chinese>
</Key>
<Key ID="STR_ACE_OptionsMenu_Bottom">
<English>Bottom</English>
<Polish>Dół</Polish>
<Spanish>Abajo</Spanish>
<German>Unten</German>
<Czech>Dole</Czech>
<Portuguese>Abaixo</Portuguese>
<French>Bas</French>
<Hungarian>Alul</Hungarian>
<Russian>Снизу</Russian>
<Italian>Basso</Italian>
<Japanese>下側</Japanese>
<Korean>하단</Korean>
<Chinesesimp>下方</Chinesesimp>
<Chinese>下方</Chinese>
</Key>
<Key ID="STR_ACE_OptionsMenu_DumpDebug"> <Key ID="STR_ACE_OptionsMenu_DumpDebug">
<English>Debug To Clipboard</English> <English>Debug To Clipboard</English>
<Polish>Debug do schowka</Polish> <Polish>Debug do schowka</Polish>
@ -561,21 +97,6 @@
<Chinesesimp>显示新闻消息于主选单</Chinesesimp> <Chinesesimp>显示新闻消息于主选单</Chinesesimp>
<Chinese>顯示新聞消息於主選單</Chinese> <Chinese>顯示新聞消息於主選單</Chinese>
</Key> </Key>
<Key ID="STR_ACE_OptionsMenu_category_all">
<English>All Categories</English>
<German>Alle Kategorien</German>
<Polish>Wszystkie kategorie</Polish>
<Portuguese>Todas categorias</Portuguese>
<Russian>Все категории</Russian>
<Czech>Všechny Kategorie</Czech>
<Spanish>Todas las categorías</Spanish>
<Italian>Tutte le Categorie</Italian>
<French>Toutes les catégories</French>
<Japanese>全カテゴリ</Japanese>
<Korean>모든 카테고리</Korean>
<Chinesesimp>全局设定</Chinesesimp>
<Chinese>全局設定</Chinese>
</Key>
<Key ID="STR_ACE_OptionsMenu_CategoryLogistics"> <Key ID="STR_ACE_OptionsMenu_CategoryLogistics">
<English>Logistics</English> <English>Logistics</English>
<German>Logistik</German> <German>Logistik</German>