From f2ab296b499a4874adb45a20db940c37cd6e932b Mon Sep 17 00:00:00 2001 From: Asdow <20314541+Asdow@users.noreply.github.com> Date: Fri, 26 May 2023 08:12:55 +0300 Subject: [PATCH] Display icon and tooltip for belt fed weapons (#155) --- Tactical/Interface Enhanced.cpp | 17 +++++++++++++++-- Utils/_ChineseText.cpp | 2 ++ Utils/_DutchText.cpp | 2 ++ Utils/_EnglishText.cpp | 2 ++ Utils/_FrenchText.cpp | 2 ++ Utils/_GermanText.cpp | 2 ++ Utils/_ItalianText.cpp | 2 ++ Utils/_PolishText.cpp | 2 ++ Utils/_RussianText.cpp | 2 ++ 9 files changed, 31 insertions(+), 2 deletions(-) diff --git a/Tactical/Interface Enhanced.cpp b/Tactical/Interface Enhanced.cpp index 11def4c42..4425fcb3a 100644 --- a/Tactical/Interface Enhanced.cpp +++ b/Tactical/Interface Enhanced.cpp @@ -2640,7 +2640,14 @@ void InternalInitEDBTooltipRegion( OBJECTTYPE * gpItemDescObject, UINT32 guiCurr //////////////////// EXTERNAL FEEDING if ( gGameExternalOptions.ubExternalFeeding ) { - if ( HasItemFlag(gpItemDescObject->usItem, AMMO_BELT) ) + if (HasItemFlag(gpItemDescObject->usItem, BELT_FED)) + { + swprintf(pStr, L"%s%s", szUDBGenSecondaryStatsTooltipText[51], szUDBGenSecondaryStatsExplanationsTooltipText[51]); + SetRegionFastHelpText(&(gUDBFasthelpRegions[iFirstDataRegion + cnt]), pStr); + MSYS_EnableRegion(&gUDBFasthelpRegions[iFirstDataRegion + cnt]); + cnt++; + } + else if ( HasItemFlag(gpItemDescObject->usItem, AMMO_BELT) ) { swprintf( pStr, L"%s%s", szUDBGenSecondaryStatsTooltipText[ 28 ], szUDBGenSecondaryStatsExplanationsTooltipText[ 28 ]); SetRegionFastHelpText( &(gUDBFasthelpRegions[ iFirstDataRegion + cnt ]), pStr ); @@ -6340,7 +6347,13 @@ void DrawSecondaryStats( OBJECTTYPE * gpItemDescObject ) //////////////////// EXTERNAL FEEDING if ( gGameExternalOptions.ubExternalFeeding ) { - if ( ( HasItemFlag(gpItemDescObject->usItem, AMMO_BELT) && !fComparisonMode ) || + if ((HasItemFlag(gpItemDescObject->usItem, BELT_FED) && !fComparisonMode) || + (fComparisonMode && HasItemFlag(gpComparedItemDescObject->usItem, BELT_FED))) + { + BltVideoObjectFromIndex(guiSAVEBUFFER, guiItemInfoSecondaryIcon, 28, gItemDescGenSecondaryRegions[cnt].sLeft + sOffsetX, gItemDescGenSecondaryRegions[cnt].sTop + sOffsetY, VO_BLT_SRCTRANSPARENCY, NULL); + cnt++; + } + else if ( ( HasItemFlag(gpItemDescObject->usItem, AMMO_BELT) && !fComparisonMode ) || ( fComparisonMode && HasItemFlag(gpComparedItemDescObject->usItem, AMMO_BELT) ) ) { BltVideoObjectFromIndex( guiSAVEBUFFER, guiItemInfoSecondaryIcon, 28, gItemDescGenSecondaryRegions[cnt].sLeft+sOffsetX, gItemDescGenSecondaryRegions[cnt].sTop+sOffsetY, VO_BLT_SRCTRANSPARENCY, NULL ); diff --git a/Utils/_ChineseText.cpp b/Utils/_ChineseText.cpp index a36aa426c..49f8ee18e 100644 --- a/Utils/_ChineseText.cpp +++ b/Utils/_ChineseText.cpp @@ -8688,6 +8688,7 @@ STR16 szUDBGenSecondaryStatsTooltipText[]= L"|医|用|夹|板", //L"|M|e|d|i|c|a|l |S|p|l|i|n|t", L"|阻|燃|弹|药", //L"|F|i|r|e |R|e|t|a|r|d|a|n|t |A|m|m|o", L"|燃|烧|弹|药", //L"|I|n|c|e|n|d|i|a|r|y |A|m|m|o", + L"|B|e|l|t| |F|e|d", }; STR16 szUDBGenSecondaryStatsExplanationsTooltipText[]= @@ -8743,6 +8744,7 @@ STR16 szUDBGenSecondaryStatsExplanationsTooltipText[]= L"\n \n一旦应用, 这个物品可以提高对你的手臂\n或者腿部重伤的治疗速率。", //L"\n \nOnce applied, this item increases the healing\nspeed of severe wounds to either your arms or legs.", L"\n \n这种弹药可以灭火。", //L"\n \nThis ammo can extinguish fire.", L"\n \n这种弹药会引起燃烧(火灾)。", //L"\n \nThis ammo can cause fire.", + L"\n \nThis gun can be belt fed\nfrom a compatible LBE\nor by another merc.", }; STR16 szUDBAdvStatsTooltipText[]= diff --git a/Utils/_DutchText.cpp b/Utils/_DutchText.cpp index 97a920f15..04da5bd51 100644 --- a/Utils/_DutchText.cpp +++ b/Utils/_DutchText.cpp @@ -8698,6 +8698,7 @@ STR16 szUDBGenSecondaryStatsTooltipText[]= L"|M|e|d|i|c|a|l |S|p|l|i|n|t", // TODO.Translate L"|F|i|r|e |R|e|t|a|r|d|a|n|t |A|m|m|o", // 49 TODO.Translate L"|I|n|c|e|n|d|i|a|r|y |A|m|m|o", + L"|B|e|l|t| |F|e|d", }; STR16 szUDBGenSecondaryStatsExplanationsTooltipText[]= @@ -8753,6 +8754,7 @@ STR16 szUDBGenSecondaryStatsExplanationsTooltipText[]= L"\n \nOnce applied, this item increases the healing\nspeed of severe wounds to either your arms or legs.", // TODO.Translate L"\n \nThis ammo can extinguish fire.", // 49 TODO.Translate L"\n \nThis ammo can cause fire.", + L"\n \nThis gun can be belt fed\nfrom a compatible LBE\nor by another merc.", }; STR16 szUDBAdvStatsTooltipText[]= diff --git a/Utils/_EnglishText.cpp b/Utils/_EnglishText.cpp index 55cb244e6..40ce7ef8a 100644 --- a/Utils/_EnglishText.cpp +++ b/Utils/_EnglishText.cpp @@ -8688,6 +8688,7 @@ STR16 szUDBGenSecondaryStatsTooltipText[]= L"|M|e|d|i|c|a|l |S|p|l|i|n|t", L"|F|i|r|e |R|e|t|a|r|d|a|n|t |A|m|m|o", // 49 L"|I|n|c|e|n|d|i|a|r|y |A|m|m|o", + L"|B|e|l|t| |F|e|d", }; STR16 szUDBGenSecondaryStatsExplanationsTooltipText[]= @@ -8743,6 +8744,7 @@ STR16 szUDBGenSecondaryStatsExplanationsTooltipText[]= L"\n \nOnce applied, this item increases the healing\nspeed of severe wounds to either your arms or legs.", L"\n \nThis ammo can extinguish fire.", // 49 L"\n \nThis ammo can cause fire.", + L"\n \nThis gun can be belt fed\nfrom a compatible LBE\nor by another merc.", }; STR16 szUDBAdvStatsTooltipText[]= diff --git a/Utils/_FrenchText.cpp b/Utils/_FrenchText.cpp index e8aee2e78..95357d59a 100644 --- a/Utils/_FrenchText.cpp +++ b/Utils/_FrenchText.cpp @@ -8685,6 +8685,7 @@ STR16 szUDBGenSecondaryStatsTooltipText[]= L"|M|e|d|i|c|a|l |S|p|l|i|n|t", // TODO.Translate L"|F|i|r|e |R|e|t|a|r|d|a|n|t |A|m|m|o", // 49 TODO.Translate L"|I|n|c|e|n|d|i|a|r|y |A|m|m|o", + L"|B|e|l|t| |F|e|d", }; STR16 szUDBGenSecondaryStatsExplanationsTooltipText[]= @@ -8740,6 +8741,7 @@ STR16 szUDBGenSecondaryStatsExplanationsTooltipText[]= L"\n \nOnce applied, this item increases the healing\nspeed of severe wounds to either your arms or legs.", // TODO.Translate L"\n \nThis ammo can extinguish fire.", // 49 TODO.Translate L"\n \nThis ammo can cause fire.", + L"\n \nThis gun can be belt fed\nfrom a compatible LBE\nor by another merc.", }; STR16 szUDBAdvStatsTooltipText[]= diff --git a/Utils/_GermanText.cpp b/Utils/_GermanText.cpp index d6ffc764d..cf3841ba9 100644 --- a/Utils/_GermanText.cpp +++ b/Utils/_GermanText.cpp @@ -8541,6 +8541,7 @@ STR16 szUDBGenSecondaryStatsTooltipText[]= L"|M|e|d|i|c|a|l |S|p|l|i|n|t", // TODO.Translate L"|F|i|r|e |R|e|t|a|r|d|a|n|t |A|m|m|o", // 49 TODO.Translate L"|I|n|c|e|n|d|i|a|r|y |A|m|m|o", + L"|B|e|l|t| |F|e|d", }; STR16 szUDBGenSecondaryStatsExplanationsTooltipText[]= @@ -8596,6 +8597,7 @@ STR16 szUDBGenSecondaryStatsExplanationsTooltipText[]= L"\n \nOnce applied, this item increases the healing\nspeed of severe wounds to either your arms or legs.", // TODO.Translate L"\n \nThis ammo can extinguish fire.", // 49 TODO.Translate L"\n \nThis ammo can cause fire.", + L"\n \nThis gun can be belt fed\nfrom a compatible LBE\nor by another merc.", }; STR16 szUDBAdvStatsTooltipText[]= diff --git a/Utils/_ItalianText.cpp b/Utils/_ItalianText.cpp index 6a2e72905..cefb19440 100644 --- a/Utils/_ItalianText.cpp +++ b/Utils/_ItalianText.cpp @@ -8688,6 +8688,7 @@ STR16 szUDBGenSecondaryStatsTooltipText[]= L"|M|e|d|i|c|a|l |S|p|l|i|n|t", // TODO.Translate L"|F|i|r|e |R|e|t|a|r|d|a|n|t |A|m|m|o", // 49 TODO.Translate L"|I|n|c|e|n|d|i|a|r|y |A|m|m|o", + L"|B|e|l|t| |F|e|d", }; STR16 szUDBGenSecondaryStatsExplanationsTooltipText[]= @@ -8743,6 +8744,7 @@ STR16 szUDBGenSecondaryStatsExplanationsTooltipText[]= L"\n \nOnce applied, this item increases the healing\nspeed of severe wounds to either your arms or legs.", // TODO.Translate L"\n \nThis ammo can extinguish fire.", // 49 TODO.Translate L"\n \nThis ammo can cause fire.", + L"\n \nThis gun can be belt fed\nfrom a compatible LBE\nor by another merc.", }; STR16 szUDBAdvStatsTooltipText[]= diff --git a/Utils/_PolishText.cpp b/Utils/_PolishText.cpp index 444638324..5d67fe3cc 100644 --- a/Utils/_PolishText.cpp +++ b/Utils/_PolishText.cpp @@ -8700,6 +8700,7 @@ STR16 szUDBGenSecondaryStatsTooltipText[]= L"|M|e|d|i|c|a|l |S|p|l|i|n|t", // TODO.Translate L"|F|i|r|e |R|e|t|a|r|d|a|n|t |A|m|m|o", // 49 TODO.Translate L"|I|n|c|e|n|d|i|a|r|y |A|m|m|o", + L"|B|e|l|t| |F|e|d", }; STR16 szUDBGenSecondaryStatsExplanationsTooltipText[]= @@ -8755,6 +8756,7 @@ STR16 szUDBGenSecondaryStatsExplanationsTooltipText[]= L"\n \nOnce applied, this item increases the healing\nspeed of severe wounds to either your arms or legs.", // TODO.Translate L"\n \nThis ammo can extinguish fire.", // 49 TODO.Translate L"\n \nThis ammo can cause fire.", + L"\n \nThis gun can be belt fed\nfrom a compatible LBE\nor by another merc.", }; STR16 szUDBAdvStatsTooltipText[]= diff --git a/Utils/_RussianText.cpp b/Utils/_RussianText.cpp index ac2f0a991..cdf39d8d2 100644 --- a/Utils/_RussianText.cpp +++ b/Utils/_RussianText.cpp @@ -8683,6 +8683,7 @@ STR16 szUDBGenSecondaryStatsTooltipText[]= L"|M|e|d|i|c|a|l |S|p|l|i|n|t", // TODO.Translate L"|F|i|r|e |R|e|t|a|r|d|a|n|t |A|m|m|o", // 49 TODO.Translate L"|I|n|c|e|n|d|i|a|r|y |A|m|m|o", + L"|B|e|l|t| |F|e|d", }; STR16 szUDBGenSecondaryStatsExplanationsTooltipText[]= @@ -8738,6 +8739,7 @@ STR16 szUDBGenSecondaryStatsExplanationsTooltipText[]= L"\n \nOnce applied, this item increases the healing\nspeed of severe wounds to either your arms or legs.", // TODO.Translate L"\n \nThis ammo can extinguish fire.", // 49 TODO.Translate L"\n \nThis ammo can cause fire.", + L"\n \nThis gun can be belt fed\nfrom a compatible LBE\nor by another merc.", }; STR16 szUDBAdvStatsTooltipText[]=