mirror of
https://github.com/acemod/ACE3.git
synced 2024-08-30 18:23:18 +00:00
Merge pull request #753 from acemod/fixSettingsLocalization
Fix settings localization is done by the server instead of client
This commit is contained in:
commit
dccc869a6a
@ -4,6 +4,7 @@
|
||||
// Load settings from profile
|
||||
if (hasInterface) then {
|
||||
call FUNC(loadSettingsFromProfile);
|
||||
call FUNC(loadSettingsLocalizedText);
|
||||
};
|
||||
|
||||
// Listens for global "SettingChanged" events, to update the force status locally
|
||||
|
@ -119,6 +119,7 @@ PREP(loadPerson);
|
||||
PREP(loadPersonLocal);
|
||||
PREP(loadSettingsFromProfile);
|
||||
PREP(loadSettingsOnServer);
|
||||
PREP(loadSettingsLocalizedText);
|
||||
PREP(map);
|
||||
PREP(moduleCheckPBOs);
|
||||
PREP(moduleLSDVehicles);
|
||||
|
@ -13,6 +13,8 @@
|
||||
*/
|
||||
#include "script_component.hpp"
|
||||
|
||||
private ["_name", "_isClientSetable", "_isForced", "_profileValue"];
|
||||
|
||||
// Iterate through settings
|
||||
{
|
||||
_name = _x select 0;
|
||||
@ -34,4 +36,5 @@
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
} forEach GVAR(settings);
|
||||
|
48
addons/common/functions/fnc_loadSettingsLocalizedText.sqf
Normal file
48
addons/common/functions/fnc_loadSettingsLocalizedText.sqf
Normal file
@ -0,0 +1,48 @@
|
||||
/*
|
||||
* Author: Glowbal
|
||||
* Parse all settings and load the localized displayName and description for all text
|
||||
*
|
||||
* Arguments:
|
||||
* None
|
||||
*
|
||||
* Return Value:
|
||||
* None
|
||||
*
|
||||
* Public: No
|
||||
*/
|
||||
#include "script_component.hpp"
|
||||
|
||||
private ["_parseConfigForDisplayNames", "_name"];
|
||||
|
||||
_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;
|
||||
|
||||
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);
|
@ -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;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user