Skip to content

Commit

Permalink
Merge remote-tracking branch 'upstream/master' into ace-wardrobe
Browse files Browse the repository at this point in the history
  • Loading branch information
OverlordZorn committed Jan 19, 2025
2 parents 945191b + 5cf6250 commit b56dd5d
Show file tree
Hide file tree
Showing 192 changed files with 3,104 additions and 1,319 deletions.
6 changes: 6 additions & 0 deletions .hemtt/launch.toml
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,12 @@ dlc = [
"Reaction Forces"
]

[gm]
extends = "default"
dlc = [
"Global Mobilization - Cold War Germany"
]

[rhs]
extends = "default"
workshop = [
Expand Down
24 changes: 24 additions & 0 deletions addons/arsenal/functions/fnc_fillLoadoutsList.sqf
Original file line number Diff line number Diff line change
Expand Up @@ -101,9 +101,21 @@ if (GVAR(currentLoadoutsTab) != IDC_buttonSharedLoadouts) then {
// Change color on loadout lines that have items that aren't available or don't exist
if (_nullItemsList isNotEqualTo []) then {
_contentPanelCtrl lnbSetColor [[_newRow, 1], [1, 0, 0, 0.8]]; // Red

if (GVAR(showUnavailableItems) == 2) then {
_contentPanelCtrl lnbSetTooltip [[_newRow, 0], format [LLSTRING(missingItems), (_nullItemsList arrayIntersect _nullItemsList) joinString endl]];
};
} else {
if (_unavailableItemsList isNotEqualTo []) then {
_contentPanelCtrl lnbSetColor [[_newRow, 1], [1, 1, 1, 0.25]]; // Gray

if (GVAR(showUnavailableItems) > 0) then {
private _itemDisplayNames = _unavailableItemsList arrayIntersect _unavailableItemsList;
if (GVAR(showUnavailableItems) != 2) then { // Prettify
_itemDisplayNames = _itemDisplayNames apply {getText (_x call CBA_fnc_getItemConfig >> "displayName")};
};
_contentPanelCtrl lnbSetTooltip [[_newRow, 0], format [LLSTRING(unavailableItems), _itemDisplayNames joinString endl]];
};
};
};

Expand Down Expand Up @@ -148,9 +160,21 @@ if (GVAR(currentLoadoutsTab) != IDC_buttonSharedLoadouts) then {
// Change color on loadout lines that have items that aren't available or don't exist
if (_nullItemsList isNotEqualTo []) then {
_contentPanelCtrl lnbSetColor [[_newRow, 1], [1, 0, 0, 0.8]]; // Red

if (GVAR(showUnavailableItems) == 2) then {
_contentPanelCtrl lnbSetTooltip [[_newRow, 0], format [LLSTRING(missingItems), (_nullItemsList arrayIntersect _nullItemsList) joinString endl]];
};
} else {
if (_unavailableItemsList isNotEqualTo []) then {
_contentPanelCtrl lnbSetColor [[_newRow, 1], [1, 1, 1, 0.25]]; // Gray

if (GVAR(showUnavailableItems) > 0) then {
private _itemDisplayNames = _unavailableItemsList arrayIntersect _unavailableItemsList;
if (GVAR(showUnavailableItems) != 2) then { // Prettify
_itemDisplayNames = _itemDisplayNames apply {getText (_x call CBA_fnc_getItemConfig >> "displayName")};
};
_contentPanelCtrl lnbSetTooltip [[_newRow, 0], format [LLSTRING(unavailableItems), _itemDisplayNames joinString endl]];
};
};
};
};
Expand Down
14 changes: 12 additions & 2 deletions addons/arsenal/initSettings.inc.sqf
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,8 @@ private _category = LLSTRING(settingCategory);
"LIST",
[LSTRING(modIconsSetting), LSTRING(modIconsTooltip)],
_category,
[[0, 1, 2], [ELSTRING(common,Disabled), ELSTRING(common,Enabled), LSTRING(DLCRequirement)], 1]
[[0, 1, 2], [ELSTRING(common,Disabled), ELSTRING(common,Enabled), LSTRING(DLCRequirement)], 1],
false
] call CBA_fnc_addSetting;

[
Expand Down Expand Up @@ -72,14 +73,23 @@ private _loadoutCategory = LLSTRING(loadoutSubcategory);
true
] call CBA_fnc_addSetting;

[
QGVAR(showUnavailableItems),
"LIST",
[LSTRING(unavailableItemsSetting), LSTRING(unavailableItemsTooltip)],
[_category, _loadoutCategory],
[[0, 1, 2], [ELSTRING(common,Disabled), ELSTRING(common,Enabled), ELSTRING(common,Debug)], 0],
2 // never overwrite the client
] call CBA_fnc_addSetting;

[
QGVAR(EnableRPTLog),
"CHECKBOX",
[LSTRING(printToRPTSetting),
LSTRING(printToRPTTooltip)],
[_category, _loadoutCategory],
false,
false
2 // never overwrite the client
] call CBA_fnc_addSetting;

[
Expand Down
34 changes: 33 additions & 1 deletion addons/arsenal/stringtable.xml
Original file line number Diff line number Diff line change
Expand Up @@ -1093,6 +1093,14 @@
<Japanese>声の保存</Japanese>
<Chinesesimp>保存声音</Chinesesimp>
</Key>
<Key ID="STR_ACE_Arsenal_missingItems">
<English>Missing items:\n%1</English>
<Korean>누락 아이템:\n%1</Korean>
<Japanese>存在しないアイテム:\n%1</Japanese>
<Chinesesimp>缺失物品:\n%1</Chinesesimp>
<French>Éléments manquants:\n%1</French>
<Russian>Недостающие предметы:\n%1</Russian>
</Key>
<Key ID="STR_ACE_Arsenal_modIconsSetting">
<English>Enable mod icons</English>
<Czech>Zapnout ikony modů</Czech>
Expand Down Expand Up @@ -1746,7 +1754,7 @@
<Russian>Комплекты экипировки, опубликованные вами и другими игроками</Russian>
<German>Ausrüstungen, die von dir und anderen Spielern geteilt wurden</German>
<Korean>플레이어들이 공유하는 로드아웃</Korean>
<Japanese>自分か他人によって共有された装備です</Japanese>
<Japanese>自分や他人によって共有された装備です</Japanese>
<Chinese>由你與其他玩家分享的裝備配置</Chinese>
<Chinesesimp>你和其他玩家分享的负载配置</Chinesesimp>
<Turkish>Senin veya diğer kişiler tarafından paylaşılan kıyafetler</Turkish>
Expand All @@ -1767,5 +1775,29 @@
<Chinesesimp>工具</Chinesesimp>
<Turkish>Araçlar</Turkish>
</Key>
<Key ID="STR_ACE_Arsenal_unavailableItems">
<English>Unavailable items:\n%1</English>
<Korean>사용 불가 아이템:\n%1</Korean>
<Japanese>利用できないアイテム:\n%1</Japanese>
<Chinesesimp>不可用物品:\n%1</Chinesesimp>
<French>Articles indisponibles:\n%1</French>
<Russian>Недоступные предметы:\n%1</Russian>
</Key>
<Key ID="STR_ACE_Arsenal_unavailableItemsSetting">
<English>Show missing / unavailable items</English>
<Korean>누락/사용 불가 아이템 표시</Korean>
<Japanese>存在しない/利用できないアイテムを表示</Japanese>
<Chinesesimp>显示缺失/不可用物品</Chinesesimp>
<French>Afficher les éléments manquants ou indisponibles</French>
<Russian>Показать отсутствующие / недоступные предметы</Russian>
</Key>
<Key ID="STR_ACE_Arsenal_unavailableItemsTooltip">
<English>Show missing / unavailable items when hovering over a loadout</English>
<Korean>로드아웃 위에 마우스 커서를 올리면 누락되거나 사용할 수 없는 아이템을 표시합니다.</Korean>
<Japanese>装備にカーソルを重ねた時に存在しない/利用できないアイテムを表示します</Japanese>
<Chinesesimp>鼠标悬停在负载上时显示缺失/不可用物品</Chinesesimp>
<French>Afficher les éléments manquants / indisponibles au survol d'un chargement</French>
<Russian>Показать отсутствующие / недоступные предметы при наведении курсора мыши на комплект</Russian>
</Key>
</Package>
</Project>
3 changes: 3 additions & 0 deletions addons/artillerytables/functions/fnc_firedEH.sqf
Original file line number Diff line number Diff line change
Expand Up @@ -62,6 +62,9 @@ if (_newMuzzleVelocityCoefficent != 1) then {

if (_airFriction > 0) exitWith {}; // positive value indicates it has vanilla airFriction, so we can just exit

// For compatiblity with other addons
_projectile setVariable [QGVAR(kFactor), _kFactor];

[{
params ["_projectile", "_kFactor", "_time"];

Expand Down
6 changes: 3 additions & 3 deletions addons/cargo/stringtable.xml
Original file line number Diff line number Diff line change
Expand Up @@ -281,12 +281,12 @@
</Key>
<Key ID="STR_ACE_Cargo_checkSizeInteraction">
<English>Show Check Cargo Size Interaction</English>
<French>Afficher l'interaction de confirmation de la taille de la cargaison</French>
<Italian>Mostra interazione di controllo dello spazio del carico</Italian>
<Russian>Вкл. проверку размера груза</Russian>
<German>Zeige Interaktion zum Prüfen der Frachtgröße</German>
<Japanese>貨物の大きさを確認のインタラクションを表示</Japanese>
<Korean>화물 크기 확인 상호작용 표시</Korean>
<French>Afficher l'interaction de confirmation de la taille de la cargaison</French>
<Italian>Mostra interazione di controllo dello spazio del carico</Italian>
<Japanese>貨物の大きさを確認のインタラクションを表示</Japanese>
<Chinesesimp>显示检查货物尺寸选项</Chinesesimp>
</Key>
<Key ID="STR_ACE_Cargo_clearedCustomName">
Expand Down
6 changes: 6 additions & 0 deletions addons/common/ACE_ExtensionsHashes.hpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
class ACE_ExtensionsHashes {
class ace {
dll = "b83c2c9c7c989eaf888c885d13a2fdf4a61d1c5f";
dll_x64 = "356a61c4bd2aa13556a8ba0b467c819b3b438d6c";
};
};
2 changes: 1 addition & 1 deletion addons/common/XEH_preInit.sqf
Original file line number Diff line number Diff line change
Expand Up @@ -73,7 +73,7 @@ GVAR(canDigSurfaces) = createHashMapFromArray [
["wavymetal_exp",false],["int_metal",false],["asphalt_exp",false],["pavement_exp",false],["gridmetal_exp",false],
["rooftiles_exp",false],["rock",false],["int_mat_exp",false],["wood_int",false],["concrete_int",false],["tarmac",false],["wood",false],
["roof_tin",false],["lino_exp",false],["concrete",false],["int_softwood_exp",false], ["concrete_exp",false],["stones_exp",false],
["forest_exp",true],["snow",true],["grasstall_exp",true],["grass",true]
["forest_exp",true],["snow",true],["grasstall_exp",true],["grass",true],["forest",true],["drygrass",true]
];

isHC = !hasInterface && !isDedicated; // deprecated because no tag
Expand Down
2 changes: 2 additions & 0 deletions addons/common/config.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -75,3 +75,5 @@ class ACE_Tests {
mapConfigs = QPATHTOF(dev\test_mapConfigs.sqf);
cfgPatches = QPATHTOF(dev\test_cfgPatches.sqf);
};

#include "ACE_ExtensionsHashes.hpp"
45 changes: 33 additions & 12 deletions addons/common/functions/fnc_checkFiles.sqf
Original file line number Diff line number Diff line change
Expand Up @@ -116,31 +116,52 @@ if (_oldCompats isNotEqualTo []) then {
///////////////
// Check extensions
///////////////
private _platform = toLowerANSI (productVersion select 6);
if (hasInterface) then {
private _platform = toLowerANSI (productVersion select 6);

if (_platform in ["linux", "osx"]) then {
// Linux and OSX client ports do not support extensions at all
if (hasInterface) then {
// Check for presence
if (_platform in ["linux", "osx"]) exitWith {
// Linux and OSX client ports do not support extensions at all
WARNING("Operating system does not support extensions");
} else {
INFO("Operating system does not support extensions");
};
} else {

("ace" callExtension ["version", []]) params [["_versionEx", "", [""]], ["_returnCode", -1, [-1]]];

if (_returnCode != 0 || {_versionEx == ""}) then {
private _errorMsg = format ["Extension not found. [Return Code: %1]", _returnCode];
ERROR(_errorMsg);

if (hasInterface) then {
["[ACE] ERROR", _errorMsg] call FUNC(errorMessage);
};
["[ACE] ERROR", _errorMsg] call FUNC(errorMessage);
} else {
_versionEx = _versionEx select [0, 8]; // git hash
INFO_1("Extension [Version: %1]",_versionEx);
};
};

// Check for correct hash
if (GVAR(checkExtensions)) then {
private _allExtensions = allExtensions;

{
private _extName = configName _x;
private _extensionType = "dll";
if (productVersion select 7 == "x64") then { _extensionType = format ["%1_x64", _extensionType]; };
private _expectedHash = getText (_x >> _extensionType);

private _extensionHash = "";
{
if ((_x getOrDefault ["name", ""]) == _extName) exitWith {
_extensionHash = _x getOrDefault ["hash", ""];
};
} forEach _allExtensions;
TRACE_3("",_extName,_expectedHash,_extensionHash);

if (_extensionHash != _expectedHash) then {
private _errorMsg = format ["Extension %1 wrong version [%2 vs %3].", _extName, _extensionHash, _expectedHash];
ERROR(_errorMsg);
["[ACE] ERROR", _errorMsg] call FUNC(errorMessage);
};
} forEach ("true" configClasses (configFile >> "ACE_ExtensionsHashes"));
};
};

///////////////
// Check server version/addons
Expand Down
2 changes: 1 addition & 1 deletion addons/common/functions/fnc_displayTextStructured.sqf
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ if (typeName _text != "TEXT") then {
if (count _text > 0) then {
{
if (_x isEqualType "" && {isLocalized _x}) then {
_text set [_foreachIndex, localize _x];
_text set [_forEachIndex, localize _x];
};
} forEach _text;
_text = format _text;
Expand Down
4 changes: 4 additions & 0 deletions addons/common/functions/fnc_getDLC.sqf
Original file line number Diff line number Diff line change
Expand Up @@ -65,4 +65,8 @@ private _name = switch (_id) do {
default { "" };
};

if !(_id isEqualType 0) then {
_id = parseNumber _id;
};

[_name, _id]
9 changes: 9 additions & 0 deletions addons/common/initSettings.inc.sqf
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,15 @@ private _categorySway = [_category, LSTRING(subcategory_sway)];
1
] call CBA_fnc_addSetting;

[
QGVAR(checkExtensions),
"CHECKBOX",
[LSTRING(checkExtensions_DisplayName)],
_category,
false,
1
] call CBA_fnc_addSetting;

[
QGVAR(settingFeedbackIcons),
"LIST",
Expand Down
31 changes: 25 additions & 6 deletions addons/common/stringtable.xml
Original file line number Diff line number Diff line change
Expand Up @@ -404,11 +404,19 @@
<Russian>Проверка аддонов</Russian>
<German>Überprüfe PBOs</German>
<Korean>PBO 검사</Korean>
<Japanese>PBOを検査</Japanese>
<Japanese>PBO(アドオン)を検査</Japanese>
<Chinese>檢查PBO檔</Chinese>
<Chinesesimp>检查 PBO</Chinesesimp>
<Hungarian>PBO-k ellenőrzése</Hungarian>
</Key>
<Key ID="STR_ACE_Common_checkExtensions_DisplayName">
<English>Check Extensions</English>
<Japanese>拡張(DLL)を検査</Japanese>
<Chinesesimp>检查DLL扩展文件</Chinesesimp>
<Korean>확장 프로그램 검사</Korean>
<French>Vérifier les extensions</French>
<Russian>Проверка расширений (библиотек DLL)</Russian>
</Key>
<Key ID="STR_ACE_Common_CheckPBO_Whitelist_Description">
<English>What addons are allowed regardless?</English>
<Czech>Jaké addony jsou povoleny?</Czech>
Expand Down Expand Up @@ -452,7 +460,7 @@
<Portuguese>Ação de Checar PBO</Portuguese>
<Russian>Действие при проверке PBO</Russian>
<German>PBO Überprüfung</German>
<Korean>PBO 검사</Korean>
<Korean>PBO 검사 행동</Korean>
<Japanese>PBO検査の挙動</Japanese>
<Chinese>檢查PBO動作</Chinese>
<Chinesesimp>检查 PBO 动作</Chinesesimp>
Expand Down Expand Up @@ -548,6 +556,17 @@
<Chinesesimp>确认</Chinesesimp>
<Turkish>Onayla</Turkish>
</Key>
<Key ID="STR_ACE_Common_Debug">
<English>Debug</English>
<French>Debug</French>
<Spanish>Debug</Spanish>
<Italian>Debug</Italian>
<Russian>Отладка</Russian>
<German>Debug</German>
<Korean>디버그</Korean>
<Japanese>デバッグ</Japanese>
<Chinesesimp>开发者模式</Chinesesimp>
</Key>
<Key ID="STR_ACE_Common_DeployedSwayFactor">
<English>Deployed sway factor</English>
<French>Facteur de balancement déployé</French>
Expand Down Expand Up @@ -1803,20 +1822,20 @@
<English>Realistic Compass Declination</English>
<French>Déclinaison réaliste de la boussole</French>
<Italian>Declinazione magnetica realistica</Italian>
<German>Realistische Missweisung des Kompasses</German>
<Japanese>現実的なコンパス偏角</Japanese>
<Russian>Реалистичный компасса</Russian>
<German>Realistische Missweisung des Kompasses</German>
<Korean>현실적인 나침반 편각</Korean>
<Japanese>現実的なコンパス偏角</Japanese>
<Chinesesimp>真实的指南针偏角</Chinesesimp>
</Key>
<Key ID="STR_ACE_Common_magneticDeclinationooltip">
<English>Compass will point to magnetic north</English>
<French>La boussole indique le nord magnétique</French>
<Italian>La bussola indicherà il nord magnetico</Italian>
<German>Der Kompass zeigt nach missweisend Nord</German>
<Japanese>コンパスが磁北を指すようになります</Japanese>
<Russian>Компас будет указывать на северный магнитный полюс</Russian>
<German>Der Kompass zeigt nach missweisend Nord</German>
<Korean>나침반이 자북을 가리키게 됩니다.</Korean>
<Japanese>コンパスが磁北を指すようになります</Japanese>
<Chinesesimp>指南针指向磁北极</Chinesesimp>
</Key>
<Key ID="STR_ACE_Common_playerOnly">
Expand Down
Loading

0 comments on commit b56dd5d

Please sign in to comment.