Skip to content

Commit

Permalink
Merge branch 'master' into surgicalKit-separate-stitching
Browse files Browse the repository at this point in the history
  • Loading branch information
johnb432 committed Jan 5, 2025
2 parents 22c247b + 7112556 commit da74608
Show file tree
Hide file tree
Showing 216 changed files with 4,426 additions and 579 deletions.
2 changes: 2 additions & 0 deletions .github/workflows/arma.yml
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,8 @@ jobs:
uses: actions/checkout@v4
- name: Setup HEMTT
uses: arma-actions/hemtt@v1
with:
annotate: false
- name: Run HEMTT build
run: hemtt build
- name: Rename build folder
Expand Down
3 changes: 3 additions & 0 deletions .hemtt/lints.toml
Original file line number Diff line number Diff line change
@@ -1,3 +1,6 @@
[config.file_type]
options.allow_no_extension = true

[sqf.banned_commands]
options.ignore = [
"addPublicVariableEventHandler", # Alt syntax is broken, we are using main syntax
Expand Down
4 changes: 3 additions & 1 deletion addons/advanced_throwing/stringtable.xml
Original file line number Diff line number Diff line change
Expand Up @@ -88,7 +88,7 @@
<Polish>Zezwól na podnoszenie przyczepionych obiektów miotanych</Polish>
<Portuguese>Permitir pegar arremessáveis fixados</Portuguese>
<Russian>Вкл. подбор прикрепленных гранат</Russian>
<German>Aktiviere erneute Aufnahme befestigter Wurfobjekte</German>
<German>Erlaube erneute Aufnahme befestigter Wurfobjekte</German>
<Korean>부착 투척물 줍기 활성화</Korean>
<Japanese>装着済の投擲物の拾い上げを有効化</Japanese>
<Chinese>啟用可撿取附著投擲物</Chinese>
Expand Down Expand Up @@ -133,6 +133,7 @@
<German>Zeige während des werfens Windinformationen an, um Rauchgranaten effektiver zu platzieren.</German>
<Korean>연막탄을 효과적으로 배치하는 데 도움이 되도록 투척하는 동안 일시적으로 바람 정보를 표시합니다.</Korean>
<Japanese>投擲行動中に風向きの情報を一時的に表示し、発煙手榴弾の煙幕を効果的に展開しやすくします。</Japanese>
<Chinesesimp>准备投掷时显示风速风向信息, 来帮助烟雾弹投掷</Chinesesimp>
</Key>
<Key ID="STR_ACE_Advanced_Throwing_EnableTempWindInfo_DisplayName">
<English>Show Temporary Wind Info</English>
Expand All @@ -143,6 +144,7 @@
<German>Zeige temporäre Windinformationen</German>
<Korean>바람 정보 임시로 표시</Korean>
<Japanese>一時的に風の情報を表示</Japanese>
<Chinesesimp>临时显示风场信息</Chinesesimp>
</Key>
<Key ID="STR_ACE_Advanced_Throwing_Enable_Description">
<English>Enables advanced throwing system.</English>
Expand Down
2 changes: 2 additions & 0 deletions addons/ai/stringtable.xml
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@
<German>Rüstet NVG nachts aus dem Inventar aus und entfernt es tagsüber.\nFügt keine NVGs zum Inventar hinzu!</German>
<Korean>야간에는 야투경을 소지품에 장착하고 주간에는 장착을 해제합니다.\n주의! 소지품에 야투경을 추가하는 것이 아닙니다!</Korean>
<Japanese>インベントリ内の暗視装置を夜間に装備し、日中は解除し収納します。\nこれはNVGをインベントリに追加しません。</Japanese>
<Chinesesimp>在夜晚自动佩戴夜视仪, 在白天自动摘下来\n不会将夜视仪添加进物品栏中!</Chinesesimp>
</Key>
<Key ID="STR_ACE_AI_AssignNVG_DisplayName">
<English>Auto-Equip NVGs</English>
Expand All @@ -24,6 +25,7 @@
<German>Automatisch NVGs ausrüsten</German>
<Korean>야투경 자동 창착</Korean>
<Japanese>暗視装置の自動装備</Japanese>
<Chinesesimp>自动佩戴夜视仪</Chinesesimp>
</Key>
<Key ID="STR_ACE_AI_DisplayName">
<English>AI</English>
Expand Down
2 changes: 2 additions & 0 deletions addons/aircraft/stringtable.xml
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,7 @@
<German>Folge-Entfernung</German>
<Korean>따라가는 거리</Korean>
<Japanese>追跡距離</Japanese>
<Chinesesimp>跟随距离</Chinesesimp>
</Key>
<Key ID="STR_ACE_Aircraft_DroneFollowHint">
<English>Following unit within %1m</English>
Expand All @@ -37,6 +38,7 @@
<German>Folgt Einheit bis zu %1m</German>
<Korean>%1m 이내로 유닛을 따라갑니다</Korean>
<Japanese>%1m 間隔で 目標を追跡します</Japanese>
<Chinesesimp>在%1m内跟随单位</Chinesesimp>
</Key>
<Key ID="STR_ACE_Aircraft_GatlingDescriptionAP">
<English>30mm DU Armor Piercing</English>
Expand Down
3 changes: 3 additions & 0 deletions addons/arsenal/XEH_PREP.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -93,6 +93,8 @@ PREP(sortStatement_mod);
PREP(sortStatement_protection);
PREP(sortStatement_rateOfFire);
PREP(sortStatement_scopeMag);
PREP(statCondition_existsAll);
PREP(statCondition_existsAny);
PREP(statBarStatement_accuracy);
PREP(statBarStatement_default);
PREP(statBarStatement_impact);
Expand All @@ -107,6 +109,7 @@ PREP(statTextStatement_rateOfFire);
PREP(statTextStatement_scopeMag);
PREP(statTextStatement_scopeVisionMode);
PREP(statTextStatement_smokeChemTTL);
PREP(statTextStatement_yesno);
PREP(updateCamPos);
PREP(updateRightPanel);
PREP(updateCurrentItemsList);
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
22 changes: 22 additions & 0 deletions addons/arsenal/functions/fnc_statCondition_existsAll.sqf
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
#include "..\script_component.hpp"
/*
* Author: LinkIsGrim
* Stat condition to only show stats if all exist.
*
* Arguments:
* 0: Stats <ARRAY>
* 1: Item config path <CONFIG>
*
* Return Value:
* Show stat <BOOL>
*
* Example:
* ["ACE_maxZeroing", _config] call ace_arsenal_fnc_statCondition_existsAll
*
* Public: Yes
*/

params ["_stats", "_config"];
TRACE_2("statCondition_existsAll",_stats,_config);

(_stats findIf {isNull (_config >> _x)}) == -1
22 changes: 22 additions & 0 deletions addons/arsenal/functions/fnc_statCondition_existsAny.sqf
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
#include "..\script_component.hpp"
/*
* Author: LinkIsGrim
* Stat condition to only show stats if at least one exists.
*
* Arguments:
* 0: Stats <ARRAY>
* 1: Item config path <CONFIG>
*
* Return Value:
* Show stat <BOOL>
*
* Example:
* ["ACE_maxZeroing", _config] call ace_arsenal_fnc_statCondition_existsAny
*
* Public: Yes
*/

params ["_stats", "_config"];
TRACE_2("statCondition_existsAny",_stats,_config);

(_stats findIf {!isNull (_config >> _x)}) != -1
25 changes: 25 additions & 0 deletions addons/arsenal/functions/fnc_statTextStatement_yesno.sqf
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
#include "..\script_component.hpp"
/*
* Author: LinkIsGrim
* Generic Yes/No/None Text statement for boolean stats.
*
* Arguments:
* 0: Stat <STRING>
* 1: Item config path <CONFIG>
*
* Return Value:
* Stat Text <STRING>
*
* Example:
* ["ACE_hasEHP", _config] call ace_arsenal_fnc_statTextStatement_yesno
*
* Public: Yes
*/

params ["_stat", "_config"];
TRACE_2("statTextStatement_yesno",_stat,_config);

private _statConfig = _config >> _stat;
if (isNull _statConfig) exitWith { LELSTRING(common,none) };

localize ([ELSTRING(common,No), ELSTRING(common,Yes)] select (getNumber _statConfig > 0))
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
29 changes: 28 additions & 1 deletion addons/arsenal/stringtable.xml
Original file line number Diff line number Diff line change
Expand Up @@ -463,6 +463,7 @@
<German>Wechseln Sie zwischen der Anzeige aller Elemente oder Ihrer Favoriten.\nDoppelklicken Sie bei gedrückter Umschalttaste, um ein Element hinzuzufügen oder zu entfernen.</German>
<Korean>모든 아이템을 표시하거나 즐겨찾기를 표시할 때 전환합니다\nShift 키를 누른 상태에서 두 번 클릭하여 아이템을 추가하거나 제거합니다.</Korean>
<Japanese>アイテムをすべて表示するかお気に入りのみを表示するかを切り替えます。\nアイテムをお気に入りに追加または削除するには、Shiftキーを押しながらダブルクリックします。</Japanese>
<Chinesesimp>切换显示所有物品或收藏物品\n按住shift双击左键可将某物品加入或移出收藏</Chinesesimp>
</Key>
<Key ID="STR_ACE_Arsenal_buttonHideText">
<English>Hide</English>
Expand Down Expand Up @@ -664,6 +665,7 @@
<German>Suche\nSTRG + Click für Live-Aktualisierung während des Schreibens</German>
<Korean>검색\nCtrl + 클릭으로 실시간 검색 결과를 활성화</Korean>
<Japanese>検索\nCTRL + クリックで検索結果の即時表示を有効化</Japanese>
<Chinesesimp>CTRL+左键启用即时显示搜索结果</Chinesesimp>
</Key>
<Key ID="STR_ACE_Arsenal_buttonSharePrivateText">
<English>Private</English>
Expand Down Expand Up @@ -740,6 +742,7 @@
<German>Standardmäßig auf Favoriten eingestellt</German>
<Korean>즐겨찾기 기본값</Korean>
<Japanese>お気に入りを標準に</Japanese>
<Chinesesimp>默认仅显示收藏物品</Chinesesimp>
</Key>
<Key ID="STR_ACE_Arsenal_defaultToFavoritesTooltip">
<English>Controls whether the ACE Arsenal defaults to showing all items or favorites.</English>
Expand All @@ -752,6 +755,7 @@
<German>Steuert, ob das ACE Arsenal standardmäßig alle Gegenstände oder nur Favoriten anzeigt.</German>
<Korean>ACE 아스널이 기본적으로 모든 아이템 또는 즐겨찾기를 표시할 지 여부를 조정합니다.</Korean>
<Japanese>ACE 武器庫が標準ですべてのアイテムを表示するか、お気に入りを表示するかを制御します。</Japanese>
<Chinesesimp>切换显示所有物品或仅显示收藏物品</Chinesesimp>
</Key>
<Key ID="STR_ACE_Arsenal_enableIdentityTabsSettings">
<English>Enable the faces / voices / insignias tabs</English>
Expand Down Expand Up @@ -843,6 +847,7 @@
<German>Favoritenfarbe</German>
<Korean>즐겨찾기 색상</Korean>
<Japanese>お気に入りの色</Japanese>
<Chinesesimp>收藏物品颜色</Chinesesimp>
</Key>
<Key ID="STR_ACE_Arsenal_favoritesColorTooltip">
<English>Highlight color for favorited items.</English>
Expand All @@ -855,6 +860,7 @@
<German>Hervorhebungsfarbe für Lieblingsgegenstände.</German>
<Korean>즐겨찾기한 아이템을 색상으로 강조합니다.</Korean>
<Japanese>お気に入りアイテムのハイライト色。</Japanese>
<Chinesesimp>高亮收藏物品的颜色</Chinesesimp>
</Key>
<Key ID="STR_ACE_Arsenal_fontHeightSetting">
<English>Panel font height</English>
Expand Down Expand Up @@ -952,6 +958,12 @@
<Chinesesimp>反转摄影机控制</Chinesesimp>
<Turkish>Kamera kontrollerini ters çevir</Turkish>
</Key>
<Key ID="STR_ACE_Arsenal_unavailableItemsSetting">
<English>Show missing / unavailable items</English>
</Key>
<Key ID="STR_ACE_Arsenal_unavailableItemsTooltip">
<English>Show missing / unavailable items when hovering over a loadout</English>
</Key>
<Key ID="STR_ACE_Arsenal_loadoutDeleted">
<English>The following loadout was deleted:</English>
<Czech>Tato sada vybavení byla smazána:</Czech>
Expand Down Expand Up @@ -1059,6 +1071,7 @@
<German>Gesicht Speichern</German>
<Korean>얼굴 저장</Korean>
<Japanese>顔の保存</Japanese>
<Chinesesimp>保存脸模</Chinesesimp>
</Key>
<Key ID="STR_ACE_Arsenal_loadoutsSaveInsigniaSetting">
<English>Save Insignia</English>
Expand All @@ -1071,6 +1084,7 @@
<German>Insignia Speichern</German>
<Korean>계급장 저장</Korean>
<Japanese>バッジ(記章)の保存</Japanese>
<Chinesesimp>保存徽章</Chinesesimp>
</Key>
<Key ID="STR_ACE_Arsenal_loadoutsSaveVoiceSetting">
<English>Save Voice</English>
Expand All @@ -1083,6 +1097,10 @@
<German>Stimme Speichern</German>
<Korean>목소리 저장</Korean>
<Japanese>声の保存</Japanese>
<Chinesesimp>保存声音</Chinesesimp>
</Key>
<Key ID="STR_ACE_Arsenal_missingItems">
<English>Missing items:\n%1</English>
</Key>
<Key ID="STR_ACE_Arsenal_modIconsSetting">
<English>Enable mod icons</English>
Expand Down Expand Up @@ -1116,6 +1134,9 @@
<Chinesesimp>在左面板中显示/隐藏模组图示</Chinesesimp>
<Turkish>Sol panel de mod ikonlarını göster/gizle</Turkish>
</Key>
<Key ID="STR_ACE_Arsenal_unavailableItems">
<English>Unavailable items:\n%1</English>
</Key>
<Key ID="STR_ACE_Arsenal_noVirtualItems">
<English>No virtual items available</English>
<Czech>Není dostupný žádný virtuální předmět</Czech>
Expand Down Expand Up @@ -1203,7 +1224,7 @@
<Polish>Rejestruj brakujące / niedostępne przedmioty</Polish>
<Portuguese>Registrar em log itens indisponíveis/não encontrados</Portuguese>
<Russian>Вести журнал недоступных предметов</Russian>
<German>Aktiviert die Aufzeichnung fehlender Gegenstände in der RPT</German>
<German>Aufzeichnung fehlender Gegenstände in der RPT</German>
<Korean>누락 된 항목 / 사용 할 수 없는 항목 기록</Korean>
<Japanese>欠落 / 利用不可アイテムを記録</Japanese>
<Chinese>記錄遺失/無法使用的項目</Chinese>
Expand Down Expand Up @@ -1317,6 +1338,7 @@
<German>Aufsteigend</German>
<Korean>오름차순</Korean>
<Japanese>昇順</Japanese>
<Chinesesimp>升序</Chinesesimp>
</Key>
<Key ID="STR_ACE_Arsenal_sortByAccuracyText">
<English>Sort by accuracy</English>
Expand Down Expand Up @@ -1455,6 +1477,7 @@
<German>Absteigend</German>
<Korean>내림차순</Korean>
<Japanese>降順</Japanese>
<Chinesesimp>降序</Chinesesimp>
</Key>
<Key ID="STR_ACE_Arsenal_statIlluminators">
<English>Illuminators</English>
Expand All @@ -1466,6 +1489,7 @@
<German>Leuchtmittel</German>
<Korean>조명</Korean>
<Japanese>イルミネーター</Japanese>
<Chinesesimp>照明</Chinesesimp>
</Key>
<Key ID="STR_ACE_Arsenal_statMagCount">
<English>Ammo count</English>
Expand All @@ -1478,6 +1502,7 @@
<German>Munitionszahl</German>
<Korean>장탄 수</Korean>
<Japanese>弾薬数</Japanese>
<Chinesesimp>弹药数量</Chinesesimp>
</Key>
<Key ID="STR_ACE_Arsenal_statMagnification">
<English>Magnification</English>
Expand Down Expand Up @@ -1599,6 +1624,7 @@
<German>Thermal und in Primärwaffe integriert</German>
<Korean>열화상과 주무기 내장</Korean>
<Japanese>熱画像装置内蔵・プライマリに内蔵</Japanese>
<Chinesesimp>热成像&amp;主镜内置</Chinesesimp>
</Key>
<Key ID="STR_ACE_Arsenal_statVisionMode_supPrim">
<English>Primary supported</English>
Expand Down Expand Up @@ -1639,6 +1665,7 @@
<German>Thermal integriert</German>
<Korean>열화상 내장</Korean>
<Japanese>熱画像装置内蔵</Japanese>
<Chinesesimp>内置热成像</Chinesesimp>
</Key>
<Key ID="STR_ACE_Arsenal_tabDefaultLoadoutsText">
<English>Default loadouts</English>
Expand Down
Loading

0 comments on commit da74608

Please sign in to comment.