From d5fd1fa13d98d81e4676078c4e94b40139474863 Mon Sep 17 00:00:00 2001 From: MaddMugsy Date: Tue, 29 Aug 2006 18:35:42 +0000 Subject: [PATCH] -added tooltip source from ShadoWarrior The strings need to be localized for German and Russian versions. git-svn-id: https://ja2svn.mooo.com/source/ja2/trunk/GameSource/ja2_v1.13/Build@492 3b4a5df2-a311-0410-b5c6-a8a6f20db521 --- GameSettings.cpp | 27 ++++- GameSettings.h | 24 +++++ GameVersion.cpp | 2 +- Tactical/Interface.cpp | 223 ++++++++------------------------------- Tactical/Items.cpp | 2 +- Tactical/Tactical.vcproj | 3 + 6 files changed, 98 insertions(+), 183 deletions(-) diff --git a/GameSettings.cpp b/GameSettings.cpp index b864306e..6cee0a78 100644 --- a/GameSettings.cpp +++ b/GameSettings.cpp @@ -409,7 +409,7 @@ void LoadGameExternalOptions() gGameExternalOptions.iForcePercentageExpert = iniReader.ReadInteger("JA2 Gameplay Settings","EXPERT_INITIAL_GARRISON_PERCENTAGES",150); gGameExternalOptions.iForcePercentageInsane = iniReader.ReadInteger("JA2 Gameplay Settings","INSANE_INITIAL_GARRISON_PERCENTAGES",200); - gGameExternalOptions.iPercentElitesBonusExperienced = iniReader.ReadInteger("JA2 Gameplay Settings","EXPERIENCED_ELITE_BONUS",0); + gGameExternalOptions.iPercentElitesBonusExperienced = iniReader.ReadInteger("JA2 Gameplay Settings","EXPERIENCED_ELITE_BONUS",0); gGameExternalOptions.iPercentElitesBonusExpert = iniReader.ReadInteger("JA2 Gameplay Settings","EXPERT_ELITE_BONUS",25); gGameExternalOptions.iPercentElitesBonusInsane = iniReader.ReadInteger("JA2 Gameplay Settings","INSANE_ELITE_BONUS",25); @@ -523,6 +523,31 @@ void LoadGameExternalOptions() // Kaiden: Vehicle Inventory change - Added INI file Option VEHICLE_INVENTORY gGameExternalOptions.fVehicleInventory = iniReader.ReadBoolean("JA2 Gameplay Settings", "VEHICLE_INVENTORY", TRUE); + + // ShadoWarrior: Tooltip changes (start) + gGameExternalOptions.ubSoldierTooltipDetailLevel = iniReader.ReadInteger("JA2 Tactical Settings", "SOLDIER_TOOLTIP_DETAIL_LEVEL", 2); + + gGameExternalOptions.fEnableSoldierTooltipLocation = iniReader.ReadBoolean("JA2 Tactical Settings", "SOLDIER_TOOLTIP_DISPLAY_LOCATION", TRUE); + gGameExternalOptions.fEnableSoldierTooltipBrightness = iniReader.ReadBoolean("JA2 Tactical Settings", "SOLDIER_TOOLTIP_DISPLAY_BRIGHTNESS", TRUE); + gGameExternalOptions.fEnableSoldierTooltipRangeToTarget = iniReader.ReadBoolean("JA2 Tactical Settings", "SOLDIER_TOOLTIP_DISPLAY_RANGE_TO_TARGET", TRUE); + gGameExternalOptions.fEnableSoldierTooltipID = iniReader.ReadBoolean("JA2 Tactical Settings", "SOLDIER_TOOLTIP_DISPLAY_ID", TRUE); + gGameExternalOptions.fEnableSoldierTooltipOrders = iniReader.ReadBoolean("JA2 Tactical Settings", "SOLDIER_TOOLTIP_DISPLAY_ORDERS", TRUE); + gGameExternalOptions.fEnableSoldierTooltipAttitude = iniReader.ReadBoolean("JA2 Tactical Settings", "SOLDIER_TOOLTIP_DISPLAY_ATTITUDE", TRUE); + gGameExternalOptions.fEnableSoldierTooltipActionPoints = iniReader.ReadBoolean("JA2 Tactical Settings", "SOLDIER_TOOLTIP_DISPLAY_ACTIONPOINTS", TRUE); + gGameExternalOptions.fEnableSoldierTooltipHealth = iniReader.ReadBoolean("JA2 Tactical Settings", "SOLDIER_TOOLTIP_DISPLAY_HEALTH", TRUE); + gGameExternalOptions.fEnableSoldierTooltipHelmet = iniReader.ReadBoolean("JA2 Tactical Settings", "SOLDIER_TOOLTIP_DISPLAY_HELMET", TRUE); + gGameExternalOptions.fEnableSoldierTooltipVest = iniReader.ReadBoolean("JA2 Tactical Settings", "SOLDIER_TOOLTIP_DISPLAY_VEST", TRUE); + gGameExternalOptions.fEnableSoldierTooltipLeggings = iniReader.ReadBoolean("JA2 Tactical Settings", "SOLDIER_TOOLTIP_DISPLAY_LEGGINGS", TRUE); + gGameExternalOptions.fEnableSoldierTooltipHeadItem1 = iniReader.ReadBoolean("JA2 Tactical Settings", "SOLDIER_TOOLTIP_DISPLAY_HEAD_SLOT_1", TRUE); + gGameExternalOptions.fEnableSoldierTooltipHeadItem2 = iniReader.ReadBoolean("JA2 Tactical Settings", "SOLDIER_TOOLTIP_DISPLAY_HEAD_SLOT_2", TRUE); + gGameExternalOptions.fEnableSoldierTooltipWeapon = iniReader.ReadBoolean("JA2 Tactical Settings", "SOLDIER_TOOLTIP_DISPLAY_WEAPON", TRUE); + gGameExternalOptions.fEnableSoldierTooltipSecondHand = iniReader.ReadBoolean("JA2 Tactical Settings", "SOLDIER_TOOLTIP_DISPLAY_OFF_HAND", TRUE); + gGameExternalOptions.fEnableSoldierTooltipBigSlot1 = iniReader.ReadBoolean("JA2 Tactical Settings", "SOLDIER_TOOLTIP_DISPLAY_BIG_SLOT_1", TRUE); + gGameExternalOptions.fEnableSoldierTooltipBigSlot2 = iniReader.ReadBoolean("JA2 Tactical Settings", "SOLDIER_TOOLTIP_DISPLAY_BIG_SLOT_2", TRUE); + gGameExternalOptions.fEnableSoldierTooltipBigSlot3 = iniReader.ReadBoolean("JA2 Tactical Settings", "SOLDIER_TOOLTIP_DISPLAY_BIG_SLOT_3", TRUE); + gGameExternalOptions.fEnableSoldierTooltipBigSlot4 = iniReader.ReadBoolean("JA2 Tactical Settings", "SOLDIER_TOOLTIP_DISPLAY_BIG_SLOT_4", TRUE); + // ShadoWarrior: Tooltip changes (end) + } diff --git a/GameSettings.h b/GameSettings.h index 897a5c38..e6085f89 100644 --- a/GameSettings.h +++ b/GameSettings.h @@ -343,6 +343,30 @@ typedef struct BOOLEAN fEnableAllWeaponCaches; BOOLEAN fEnableAllTerrorists; + // ShadoWarrior: Tooltip changes (start) + UINT8 ubSoldierTooltipDetailLevel; + + BOOLEAN fEnableSoldierTooltipLocation; + BOOLEAN fEnableSoldierTooltipBrightness; + BOOLEAN fEnableSoldierTooltipRangeToTarget; + BOOLEAN fEnableSoldierTooltipID; + BOOLEAN fEnableSoldierTooltipOrders; + BOOLEAN fEnableSoldierTooltipAttitude; + BOOLEAN fEnableSoldierTooltipActionPoints; + BOOLEAN fEnableSoldierTooltipHealth; + BOOLEAN fEnableSoldierTooltipHelmet; + BOOLEAN fEnableSoldierTooltipVest; + BOOLEAN fEnableSoldierTooltipLeggings; + BOOLEAN fEnableSoldierTooltipHeadItem1; + BOOLEAN fEnableSoldierTooltipHeadItem2; + BOOLEAN fEnableSoldierTooltipWeapon; + BOOLEAN fEnableSoldierTooltipSecondHand; + BOOLEAN fEnableSoldierTooltipBigSlot1; + BOOLEAN fEnableSoldierTooltipBigSlot2; + BOOLEAN fEnableSoldierTooltipBigSlot3; + BOOLEAN fEnableSoldierTooltipBigSlot4; + // ShadoWarrior: Tooltip changes (end) + } GAME_EXTERNAL_OPTIONS; //This structure will contain general Ja2 settings NOT individual game settings. diff --git a/GameVersion.cpp b/GameVersion.cpp index 8feec02e..f270a1af 100644 --- a/GameVersion.cpp +++ b/GameVersion.cpp @@ -23,7 +23,7 @@ INT16 zVersionLabel[256] = { L"Beta v. 0.98" }; #else //RELEASE BUILD VERSION - INT16 zVersionLabel[256] = { L"Release v1.13.490" }; + INT16 zVersionLabel[256] = { L"Release v1.13.492" }; #endif diff --git a/Tactical/Interface.cpp b/Tactical/Interface.cpp index c39c4f6c..7b2be6ff 100644 --- a/Tactical/Interface.cpp +++ b/Tactical/Interface.cpp @@ -1479,7 +1479,7 @@ void GetSoldierAboveGuyPositions( SOLDIERTYPE *pSoldier, INT16 *psX, INT16 *psY, } } -extern void DisplaySoldierToolTip( FASTHELPREGION *pRegion ); + //QUOTE_SYSTEM_STRUCT soldierTTInfo; void DrawSelectedUIAboveGuy( UINT16 usSoldierID ) @@ -1502,10 +1502,10 @@ void DrawSelectedUIAboveGuy( UINT16 usSoldierID ) return; } - if ( pSoldier->sGridNo == NOWHERE ) - { - return; - } + if ( pSoldier->sGridNo == NOWHERE ) + { + return; + } if ( pSoldier->fFlashLocator ) { @@ -1669,23 +1669,23 @@ void DrawSelectedUIAboveGuy( UINT16 usSoldierID ) mprintf( sX, sY, NameStr ); fRaiseName = TRUE; } - else if ( pSoldier->bAssignment >= ON_DUTY ) - { - SetFontForeground( FONT_YELLOW ); - swprintf( NameStr, L"(%s)", pAssignmentStrings[ pSoldier->bAssignment ] ); - FindFontCenterCoordinates( sXPos, (INT16)(sYPos ), (INT16)(80 ), 1, NameStr, TINYFONT1, &sX, &sY ); - gprintfdirty( sX, sY, NameStr ); - mprintf( sX, sY, NameStr ); - fRaiseName = TRUE; - } - else if ( pSoldier->bTeam == gbPlayerNum && pSoldier->bAssignment < ON_DUTY && pSoldier->bAssignment != CurrentSquad() && !( pSoldier->uiStatusFlags & SOLDIER_MULTI_SELECTED ) ) - { - swprintf( NameStr, gzLateLocalizedString[ 34 ], ( pSoldier->bAssignment + 1 ) ); - FindFontCenterCoordinates( sXPos, (INT16)(sYPos ), (INT16)(80 ), 1, NameStr, TINYFONT1, &sX, &sY ); - gprintfdirty( sX, sY, NameStr ); - mprintf( sX, sY, NameStr ); - fRaiseName = TRUE; - } + else if ( pSoldier->bAssignment >= ON_DUTY ) + { + SetFontForeground( FONT_YELLOW ); + swprintf( NameStr, L"(%s)", pAssignmentStrings[ pSoldier->bAssignment ] ); + FindFontCenterCoordinates( sXPos, (INT16)(sYPos ), (INT16)(80 ), 1, NameStr, TINYFONT1, &sX, &sY ); + gprintfdirty( sX, sY, NameStr ); + mprintf( sX, sY, NameStr ); + fRaiseName = TRUE; + } + else if ( pSoldier->bTeam == gbPlayerNum && pSoldier->bAssignment < ON_DUTY && pSoldier->bAssignment != CurrentSquad() && !( pSoldier->uiStatusFlags & SOLDIER_MULTI_SELECTED ) ) + { + swprintf( NameStr, gzLateLocalizedString[ 34 ], ( pSoldier->bAssignment + 1 ) ); + FindFontCenterCoordinates( sXPos, (INT16)(sYPos ), (INT16)(80 ), 1, NameStr, TINYFONT1, &sX, &sY ); + gprintfdirty( sX, sY, NameStr ); + mprintf( sX, sY, NameStr ); + fRaiseName = TRUE; + } // If not in a squad.... @@ -1704,8 +1704,8 @@ void DrawSelectedUIAboveGuy( UINT16 usSoldierID ) } } - if ( fDoName ) - { + if ( fDoName ) + { if ( fRaiseName ) { swprintf( NameStr, L"%s", pSoldier->name ); @@ -1720,7 +1720,7 @@ void DrawSelectedUIAboveGuy( UINT16 usSoldierID ) gprintfdirty( sX, sY, NameStr ); mprintf( sX, sY, NameStr ); } - } + } if ( pSoldier->ubProfile < FIRST_RPC || pSoldier->ubProfile >= GASTON || RPC_RECRUITED( pSoldier ) || AM_AN_EPC( pSoldier ) || ( pSoldier->uiStatusFlags & SOLDIER_VEHICLE ) ) { @@ -1758,8 +1758,8 @@ void DrawSelectedUIAboveGuy( UINT16 usSoldierID ) DrawBarsInUIBox( pSoldier, (INT16)(sXPos ), (INT16)(sYPos ), 16, 1 ); } } - else - { + else // ( pSoldier->ubProfile < FIRST_RPC || pSoldier->ubProfile >= GASTON || + { // RPC_RECRUITED( pSoldier ) || AM_AN_EPC( pSoldier ) || ( pSoldier->uiStatusFlags & SOLDIER_VEHICLE ) ) if ( gfUIMouseOnValidCatcher == 2 && pSoldier->ubID == gubUIValidCatcherID ) { SetFont( TINYFONT1 ); @@ -1770,6 +1770,7 @@ void DrawSelectedUIAboveGuy( UINT16 usSoldierID ) FindFontCenterCoordinates( sXPos, (INT16)(sYPos + 10 ), (INT16)(80 ), 1, NameStr, TINYFONT1, &sX, &sY ); gprintfdirty( sX, sY, NameStr ); mprintf( sX, sY, NameStr ); + } else { @@ -1780,76 +1781,6 @@ void DrawSelectedUIAboveGuy( UINT16 usSoldierID ) pStr = GetSoldierHealthString( pSoldier ); - //#################################################################################################### - if(gGameExternalOptions.gfAllowSoldierToolTips) - { - FASTHELPREGION soldierToolTip[ 1 ]; - UINT16 pStrInfo[ 350 ]; - INT32 iNumAttachments = 0; - - if ( pSoldier->inv[ HANDPOS ].usItem != NOTHING ) - { - swprintf( (wchar_t *)pStrInfo, L"|I|D: %d\n|Orders: %d\n|Attitude: %d\n|Current |A|Ps: %d\n\n|Weapon: \n%s [%d%%]\n", - - pSoldier->ubID, - pSoldier->bOrders, - pSoldier->bAttitude, - pSoldier->bActionPoints, - ItemNames[ pSoldier->inv[ HANDPOS ].usItem ], - pSoldier->inv[ HANDPOS ].bStatus[0] - ); - - // Add attachment string.... - for ( INT32 cnt = 0; cnt < MAX_ATTACHMENTS; cnt++ ) - { - if ( pSoldier->inv[ HANDPOS ].usAttachItem[ cnt ] != NOTHING ) - { - iNumAttachments++; - - if ( iNumAttachments == 1 ) - { - wcscat( pStrInfo, L"\n[" ); - } - else - { - wcscat( pStrInfo, L", " ); - } - - wcscat( pStrInfo, ItemNames[ pSoldier->inv[ HANDPOS ].usAttachItem[ cnt ] ] ); - } - } - - if ( iNumAttachments > 0 ) - { - wcscat( pStrInfo, pMessageStrings[ MSG_END_ATTACHMENT_LIST ] ); - } - } - else - { - swprintf( (wchar_t *)pStrInfo, L"|I|D: %d\n|Orders: %d\n|Attitude: %d\n|Current |A|Ps: %d", - - pSoldier->ubID, - pSoldier->bOrders, - pSoldier->bAttitude, - pSoldier->bActionPoints - ); - } - - - //GetHelpTextForItem( (INT16*)pStrInfo, &( pSoldier->inv[ HANDPOS ] ), pSoldier ); - //SetRegionFastHelpText( &(gKeyRingPanel), pStrInfo ); - //DisplayFastHelp( &(gKeyRingPanel) ); - - //wcscat( pStr2, pStrInfo ); - - soldierToolTip[ 0 ].iX = sXPos+50; - soldierToolTip[ 0 ].iY = sYPos+50; - - wcscpy( soldierToolTip[ 0 ].FastHelpText, pStrInfo ); - - DisplaySoldierToolTip( &( soldierToolTip[ 0 ] ) ); - } - //#################################################################################################### FindFontCenterCoordinates( sXPos, (INT16)( sYPos + 10 ), (INT16)(80 ), 1, pStr, TINYFONT1, &sX, &sY ); gprintfdirty( sX, sY, pStr ); @@ -1857,92 +1788,26 @@ void DrawSelectedUIAboveGuy( UINT16 usSoldierID ) } } } - else + else //pSoldier->ubProfile != NO_PROFILE || ( pSoldier->uiStatusFlags & SOLDIER_VEHICLE ) { - if ( pSoldier->bLevel != 0 ) - { - // Display name - SetFont( TINYFONT1 ); - SetFontBackground( FONT_MCOLOR_BLACK ); - SetFontForeground( FONT_YELLOW ); + if ( pSoldier->bLevel != 0 ) + { + // Display name + SetFont( TINYFONT1 ); + SetFontBackground( FONT_MCOLOR_BLACK ); + SetFontForeground( FONT_YELLOW ); - swprintf( NameStr, gzLateLocalizedString[ 15 ] ); - FindFontCenterCoordinates( sXPos, (INT16)(sYPos + 10 ), (INT16)(80 ), 1, NameStr, TINYFONT1, &sX, &sY ); - gprintfdirty( sX, sY, NameStr ); - mprintf( sX, sY, NameStr ); - } + swprintf( NameStr, gzLateLocalizedString[ 15 ] ); + FindFontCenterCoordinates( sXPos, (INT16)(sYPos + 10 ), (INT16)(80 ), 1, NameStr, TINYFONT1, &sX, &sY ); + gprintfdirty( sX, sY, NameStr ); + mprintf( sX, sY, NameStr ); + } pStr = GetSoldierHealthString( pSoldier ); - //#################################################################################################### - if(gGameExternalOptions.gfAllowSoldierToolTips) - { - FASTHELPREGION soldierToolTip[ 1 ]; - UINT16 pStrInfo[ 350 ]; - INT32 iNumAttachments = 0; - - if ( pSoldier->inv[ HANDPOS ].usItem != NOTHING ) - { - swprintf( (wchar_t *)pStrInfo, L"|I|D: %d\n|Orders: %d\n|Attitude: %d\n|Current |A|Ps: %d\n\n|Weapon: \n%s [%d%%]\n", - - pSoldier->ubID, - pSoldier->bOrders, - pSoldier->bAttitude, - pSoldier->bActionPoints, - ItemNames[ pSoldier->inv[ HANDPOS ].usItem ], - pSoldier->inv[ HANDPOS ].bStatus[0] - ); - - // Add attachment string.... - for ( INT32 cnt = 0; cnt < MAX_ATTACHMENTS; cnt++ ) - { - if ( pSoldier->inv[ HANDPOS ].usAttachItem[ cnt ] != NOTHING ) - { - iNumAttachments++; - - if ( iNumAttachments == 1 ) - { - wcscat( pStrInfo, L"\n[" ); - } - else - { - wcscat( pStrInfo, L", " ); - } - - wcscat( pStrInfo, ItemNames[ pSoldier->inv[ HANDPOS ].usAttachItem[ cnt ] ] ); - } - } - - if ( iNumAttachments > 0 ) - { - wcscat( pStrInfo, pMessageStrings[ MSG_END_ATTACHMENT_LIST ] ); - } - } - else - { - swprintf( (wchar_t *)pStrInfo, L"|I|D: %d\n|Orders: %d\n|Attitude: %d\n|Current |A|Ps: %d", - - pSoldier->ubID, - pSoldier->bOrders, - pSoldier->bAttitude, - pSoldier->bActionPoints - ); - } - - //GetHelpTextForItem( (INT16*)pStrInfo, &( pSoldier->inv[ HANDPOS ] ), pSoldier ); - //SetRegionFastHelpText( &(gKeyRingPanel), pStrInfo ); - //DisplayFastHelp( &(gKeyRingPanel) ); - - //wcscat( pStr2, pStrInfo ); - - soldierToolTip[ 0 ].iX = sXPos+50; - soldierToolTip[ 0 ].iY = sYPos+50; - - wcscpy( soldierToolTip[ 0 ].FastHelpText, pStrInfo ); - - DisplaySoldierToolTip( &( soldierToolTip[ 0 ] ) ); - } - //#################################################################################################### + //jones + extern void SoldierTooltip(SOLDIERTYPE*); + SoldierTooltip(pSoldier); SetFont( TINYFONT1 ); SetFontBackground( FONT_MCOLOR_BLACK ); @@ -1951,9 +1816,7 @@ void DrawSelectedUIAboveGuy( UINT16 usSoldierID ) FindFontCenterCoordinates( sXPos, sYPos, (INT16)(80 ), 1, pStr, TINYFONT1, &sX, &sY ); gprintfdirty( sX, sY, pStr ); mprintf( sX, sY, pStr ); - } - } diff --git a/Tactical/Items.cpp b/Tactical/Items.cpp index 94e36ab5..9ff4c484 100644 --- a/Tactical/Items.cpp +++ b/Tactical/Items.cpp @@ -6966,7 +6966,7 @@ INT8 FindGasMask( SOLDIERTYPE * pSoldier ) { INT8 bLoop; - for (bLoop = 0; bLoop < BIGPOCK1POS; bLoop++) + for (bLoop = 0; bLoop < HANDPOS; bLoop++) { if ( Item[pSoldier->inv[bLoop].usItem].gasmask ) { diff --git a/Tactical/Tactical.vcproj b/Tactical/Tactical.vcproj index cafa517b..3735a806 100644 --- a/Tactical/Tactical.vcproj +++ b/Tactical/Tactical.vcproj @@ -4649,6 +4649,9 @@ BrowseInformation="1"/> + +