-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
This commit is contained in:
MaddMugsy
2006-08-29 18:35:42 +00:00
parent 52eaaf4fcd
commit d5fd1fa13d
6 changed files with 98 additions and 183 deletions
+26 -1
View File
@@ -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)
}
+24
View File
@@ -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.
+1 -1
View File
@@ -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
+43 -180
View File
@@ -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 );
}
}
+1 -1
View File
@@ -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 )
{
+3
View File
@@ -4649,6 +4649,9 @@
BrowseInformation="1"/>
</FileConfiguration>
</File>
<File
RelativePath=".\SoldierTooltips.cpp">
</File>
<File
RelativePath="Spread Burst.cpp">
<FileConfiguration