Fix settings localization is done by the server instead of client #744

This commit is contained in:
Glowbal 2015-04-18 19:59:41 +02:00
parent d80d340eaf
commit 85e5293c37
2 changed files with 34 additions and 4 deletions

View File

@ -13,6 +13,29 @@
*/
#include "script_component.hpp"
private ["_parseConfigForDisplayNames", "_name", "_isClientSetable", "_isForced", "_profileValue"];
_parseConfigForDisplayNames = {
private "_optionEntry";
_optionEntry = _this select 0;
if !(isClass _optionEntry) exitwith {false};
_x set [3, getText (_optionEntry >> "displayName")];
_x set [4, getText (_optionEntry >> "description")];
private "_values";
_values = _x select 5;
{
private "_text";
_text = _x;
if (((typeName _text) == "STRING") && {(count _text) > 1} && {(_text select [0,1]) == "$"}) then {
_text = localize (_text select [1, ((count _text) - 1)]); //chop off the leading $
_values set [_forEachIndex, _text];
};
} forEach _values;
true;
};
// Iterate through settings
{
_name = _x select 0;
@ -34,4 +57,11 @@
};
};
};
if !([configFile >> "ACE_Settings" >> _name] call _parseConfigForDisplayNames) then {
if !([configFile >> "ACE_ServerSettings" >> _name] call _parseConfigForDisplayNames) then {
[missionConfigFile >> "ACE_Settings" >> _name] call _parseConfigForDisplayNames;
};
};
} forEach GVAR(settings);

View File

@ -75,9 +75,9 @@ if (isNil _name) then {
getNumber (_optionEntry >> "force") > 0,
_value
];
//Strings in the values array won't be localized from the config, so just do that now:
private "_values";
/*private "_values";
_values = _settingData select 5;
{
_text = _x;
@ -85,8 +85,8 @@ if (isNil _name) then {
_text = localize (_text select [1, ((count _text) - 1)]); //chop off the leading $
_values set [_forEachIndex, _text];
};
} forEach _values;
} forEach _values;*/
GVAR(settings) pushBack _settingData;