mirror of
https://github.com/1dot13/source.git
synced 2026-08-05 14:00:23 +02:00
- New: if KNOWN_NPCS_DIFFERENT_MAPCOLOUR is TRUE, friendly NPCs known to the player are displayed in dark blue to easier differentiate them from normal civilians
- cleaned up DrawSelectedUIAboveGuy() - Fix: missing header - when jumping through windows, damage received is somewhat randomized git-svn-id: https://ja2svn.mooo.com/source/ja2/trunk/GameSource/ja2_v1.13/Build@7221 3b4a5df2-a311-0410-b5c6-a8a6f20db521
This commit is contained in:
+44
-118
@@ -1965,16 +1965,15 @@ void DrawSelectedUIAboveGuy( UINT16 usSoldierID )
|
||||
{
|
||||
// target tile cover
|
||||
CalculateCoverForSoldier( pSoldier, usMapPos, gsInterfaceLevel, cover );
|
||||
showCover = CoverColorCode( cover, color8, color16 );
|
||||
SetFontForeground( (UINT8)color8 );
|
||||
}
|
||||
else
|
||||
{
|
||||
// merc's cover
|
||||
CalculateCoverForSoldier( pSoldier, pSoldier->sGridNo, pSoldier->pathing.bLevel, cover );
|
||||
showCover = CoverColorCode( cover, color8, color16 );
|
||||
SetFontForeground( (UINT8)color8 );
|
||||
CalculateCoverForSoldier( pSoldier, pSoldier->sGridNo, pSoldier->pathing.bLevel, cover );
|
||||
}
|
||||
|
||||
showCover = CoverColorCode( cover, color8, color16 );
|
||||
SetFontForeground( (UINT8)color8 );
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -2025,7 +2024,7 @@ void DrawSelectedUIAboveGuy( UINT16 usSoldierID )
|
||||
mprintf( sX, sY, NameStr );
|
||||
fRaiseName = TRUE;
|
||||
}
|
||||
else if ( pSoldier->bTeam == gbPlayerNum && pSoldier->bAssignment < ON_DUTY && pSoldier->bAssignment != CurrentSquad() && !( pSoldier->flags.uiStatusFlags & SOLDIER_MULTI_SELECTED ) )
|
||||
else if ( pSoldier->bTeam == gbPlayerNum && pSoldier->bAssignment < ON_DUTY && pSoldier->bAssignment != CurrentSquad() && !( pSoldier->flags.uiStatusFlags & SOLDIER_MULTI_SELECTED ) )
|
||||
{
|
||||
if ( gGameExternalOptions.fUseXMLSquadNames )
|
||||
swprintf( NameStr, SquadNames[ pSoldier->bAssignment ].squadname );
|
||||
@@ -2056,80 +2055,29 @@ void DrawSelectedUIAboveGuy( UINT16 usSoldierID )
|
||||
|
||||
if ( fDoName )
|
||||
{
|
||||
if ( fRaiseName )
|
||||
//legion2 jazz
|
||||
if ( pSoldier->ubBodyType == ROBOTNOWEAPON && pSoldier->bTeam == ENEMY_TEAM )
|
||||
{
|
||||
//legion2 jazz
|
||||
if (pSoldier->ubBodyType == ROBOTNOWEAPON && pSoldier->bTeam == ENEMY_TEAM )
|
||||
{
|
||||
swprintf( NameStr, zGrod[0] );
|
||||
}
|
||||
else if (zHiddenNames[pSoldier->ubProfile].Hidden == TRUE)
|
||||
{
|
||||
swprintf( NameStr,L"???" );
|
||||
}
|
||||
else
|
||||
{
|
||||
swprintf( NameStr, L"%s", pSoldier->name );
|
||||
}
|
||||
|
||||
//Legion
|
||||
if (pSoldier->ubBodyType == TANK_NE || pSoldier->ubBodyType == TANK_NW)
|
||||
{
|
||||
swprintf( NameStr, gNewVehicle[164].NewVehicleStrings );
|
||||
//swprintf( NameStr, pVehicleStrings[4] );
|
||||
}
|
||||
else if (zHiddenNames[pSoldier->ubProfile].Hidden == TRUE)
|
||||
{
|
||||
swprintf( NameStr,L"???" );
|
||||
}
|
||||
else
|
||||
{
|
||||
swprintf( NameStr, L"%s", pSoldier->name );
|
||||
}
|
||||
//-------
|
||||
|
||||
//swprintf( NameStr, L"%s", pSoldier->name );
|
||||
FindFontCenterCoordinates( sXPos, (INT16)( sYPos - 10 ), (INT16)(80 ), 1, NameStr, TINYFONT1, &sX, &sY );
|
||||
gprintfdirty( sX, sY, NameStr );
|
||||
mprintf( sX, sY, NameStr );
|
||||
swprintf( NameStr, zGrod[0] );
|
||||
}
|
||||
//Legion
|
||||
else if ( pSoldier->ubBodyType == TANK_NE || pSoldier->ubBodyType == TANK_NW )
|
||||
{
|
||||
swprintf( NameStr, gNewVehicle[164].NewVehicleStrings );
|
||||
}
|
||||
else if ( zHiddenNames[pSoldier->ubProfile].Hidden == TRUE )
|
||||
{
|
||||
swprintf( NameStr, L"???" );
|
||||
}
|
||||
else
|
||||
{
|
||||
//legion Jazz
|
||||
if (pSoldier->ubBodyType == ROBOTNOWEAPON && pSoldier->bTeam == ENEMY_TEAM )
|
||||
{
|
||||
swprintf( NameStr, zGrod[0] );
|
||||
}
|
||||
else if (zHiddenNames[pSoldier->ubProfile].Hidden == TRUE)
|
||||
{
|
||||
swprintf( NameStr,L"???" );
|
||||
}
|
||||
else
|
||||
{
|
||||
swprintf( NameStr, L"%s", pSoldier->name );
|
||||
}
|
||||
|
||||
//Legion
|
||||
if (pSoldier->ubBodyType == TANK_NE || pSoldier->ubBodyType == TANK_NW)
|
||||
{
|
||||
//swprintf( NameStr, pVehicleStrings[4] );
|
||||
swprintf( NameStr, gNewVehicle[164].NewVehicleStrings );
|
||||
}
|
||||
else if (zHiddenNames[pSoldier->ubProfile].Hidden == TRUE)
|
||||
{
|
||||
swprintf( NameStr,L"???" );
|
||||
}
|
||||
else
|
||||
{
|
||||
wprintf( NameStr, L"%s", pSoldier->name );
|
||||
}
|
||||
//---------------
|
||||
|
||||
//swprintf( NameStr, L"%s", pSoldier->name );
|
||||
FindFontCenterCoordinates( sXPos, sYPos, (INT16)(80 ), 1, NameStr, TINYFONT1, &sX, &sY );
|
||||
gprintfdirty( sX, sY, NameStr );
|
||||
mprintf( sX, sY, NameStr );
|
||||
swprintf( NameStr, L"%s", pSoldier->name );
|
||||
}
|
||||
|
||||
INT16 sNameY = fRaiseName ? sYPos - 10 : sYPos;
|
||||
FindFontCenterCoordinates( sXPos, sNameY, (INT16)(80), 1, NameStr, TINYFONT1, &sX, &sY );
|
||||
gprintfdirty( sX, sY, NameStr );
|
||||
mprintf( sX, sY, NameStr );
|
||||
}
|
||||
|
||||
// if ( pSoldier->ubProfile < FIRST_RPC || pSoldier->ubProfile >= GASTON || RPC_RECRUITED( pSoldier ) || AM_AN_EPC( pSoldier ) || ( pSoldier->flags.uiStatusFlags & SOLDIER_VEHICLE ) )
|
||||
@@ -2204,7 +2152,6 @@ void DrawSelectedUIAboveGuy( UINT16 usSoldierID )
|
||||
DrawBarsInUIBox( pSoldier, (INT16)(sXPos -1), (INT16)(sYPos ), 16, 1, 3 );
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
else // ( pSoldier->ubProfile < FIRST_RPC || pSoldier->ubProfile >= GASTON ||
|
||||
@@ -2241,9 +2188,7 @@ void DrawSelectedUIAboveGuy( UINT16 usSoldierID )
|
||||
if ( gGameExternalOptions.fSoldierProfiles_Enemy && pSoldier->usSoldierProfile )
|
||||
{
|
||||
swprintf(NameStr, pSoldier->GetName());
|
||||
|
||||
SetFont( TINYFONT1 );
|
||||
SetFontBackground( FONT_MCOLOR_BLACK );
|
||||
|
||||
SetFontForeground( FONT_YELLOW );
|
||||
|
||||
FindFontCenterCoordinates( sXPos, (INT16)( sYPos + 20 ), (INT16)(80 ), 1, NameStr, TINYFONT1, &sX, &sY );
|
||||
@@ -2259,9 +2204,7 @@ void DrawSelectedUIAboveGuy( UINT16 usSoldierID )
|
||||
if ( pSoldier->sSectorX == zEnemyName[iCounter2].SectorX && pSoldier->sSectorY == zEnemyName[iCounter2].SectorY )
|
||||
{
|
||||
swprintf(NameStr, zEnemyName[iCounter2].szCurGroup);
|
||||
|
||||
SetFont( TINYFONT1 );
|
||||
SetFontBackground( FONT_MCOLOR_BLACK );
|
||||
|
||||
SetFontForeground( FONT_YELLOW );
|
||||
|
||||
//legion2
|
||||
@@ -2283,9 +2226,7 @@ void DrawSelectedUIAboveGuy( UINT16 usSoldierID )
|
||||
if ( zEnemyRank[iCounter2].Stats == 0 && pSoldier->stats.bExpLevel == zEnemyRank[iCounter2].ExpLevel )
|
||||
{
|
||||
swprintf(NameStr, zEnemyRank[iCounter2].szCurRank);
|
||||
|
||||
SetFont( TINYFONT1 );
|
||||
SetFontBackground( FONT_MCOLOR_BLACK );
|
||||
|
||||
SetFontForeground( FONT_YELLOW );
|
||||
|
||||
//legion2
|
||||
@@ -2304,9 +2245,7 @@ void DrawSelectedUIAboveGuy( UINT16 usSoldierID )
|
||||
{
|
||||
// get a proper chaos name
|
||||
swprintf(NameStr, pSoldier->GetName());
|
||||
|
||||
SetFont( TINYFONT1 );
|
||||
SetFontBackground( FONT_MCOLOR_BLACK );
|
||||
|
||||
SetFontForeground( FONT_YELLOW );
|
||||
|
||||
FindFontCenterCoordinates( sXPos, (INT16)( sYPos + 20 ), (INT16)(80 ), 1, NameStr, TINYFONT1, &sX, &sY );
|
||||
@@ -2318,9 +2257,7 @@ void DrawSelectedUIAboveGuy( UINT16 usSoldierID )
|
||||
if (zCivGroupName[pSoldier->ubCivilianGroup].Enabled == 1)
|
||||
{
|
||||
swprintf(NameStr, zCivGroupName[pSoldier->ubCivilianGroup].szCurGroup);
|
||||
|
||||
SetFont( TINYFONT1 );
|
||||
SetFontBackground( FONT_MCOLOR_BLACK );
|
||||
|
||||
SetFontForeground( FONT_YELLOW );
|
||||
|
||||
//legion2
|
||||
@@ -2342,15 +2279,15 @@ void DrawSelectedUIAboveGuy( UINT16 usSoldierID )
|
||||
// sevenfm: fix for overlapping with SHOW_ENEMY_WEAPON feature
|
||||
if( !gGameExternalOptions.fShowEnemyWeapon || !gfUIFullTargetFound )
|
||||
{
|
||||
SetFont( TINYFONT1 );
|
||||
SetFontBackground( FONT_MCOLOR_BLACK );
|
||||
SetFontForeground( FONT_YELLOW );
|
||||
SetFont( TINYFONT1 );
|
||||
SetFontBackground( FONT_MCOLOR_BLACK );
|
||||
SetFontForeground( FONT_YELLOW );
|
||||
|
||||
swprintf( NameStr, gzLateLocalizedString[ 15 ] );
|
||||
swprintf( NameStr, gzLateLocalizedString[ 15 ] );
|
||||
FindFontCenterCoordinates( sXPos, (INT16)(sYPos + 10), (INT16)(80 ), 1, NameStr, TINYFONT1, &sX, &sY );
|
||||
gprintfdirty( sX, sY, NameStr );
|
||||
mprintf( sX, sY, NameStr );
|
||||
}
|
||||
gprintfdirty( sX, sY, NameStr );
|
||||
mprintf( sX, sY, NameStr );
|
||||
}
|
||||
}
|
||||
|
||||
pStr = GetSoldierHealthString( pSoldier );
|
||||
@@ -2359,7 +2296,7 @@ void DrawSelectedUIAboveGuy( UINT16 usSoldierID )
|
||||
extern void SoldierTooltip(SOLDIERTYPE*);
|
||||
//if ( gGameExternalOptions.gfAllowSoldierToolTips ) // changed by SANDRO
|
||||
if ( gGameSettings.fOptions[TOPTION_ALLOW_SOLDIER_TOOLTIPS] )
|
||||
SoldierTooltip(pSoldier);
|
||||
SoldierTooltip(pSoldier);
|
||||
|
||||
SetFont( TINYFONT1 );
|
||||
SetFontBackground( FONT_MCOLOR_BLACK );
|
||||
@@ -2378,8 +2315,6 @@ void DrawSelectedUIAboveGuy( UINT16 usSoldierID )
|
||||
swprintf(NameStr, pSoldier->name);
|
||||
|
||||
// Display name
|
||||
SetFont( TINYFONT1 );
|
||||
SetFontBackground( FONT_MCOLOR_BLACK );
|
||||
SetFontForeground( FONT_MCOLOR_WHITE );
|
||||
|
||||
//legion2
|
||||
@@ -2396,9 +2331,7 @@ void DrawSelectedUIAboveGuy( UINT16 usSoldierID )
|
||||
{
|
||||
// get a proper chaos name
|
||||
swprintf(NameStr, pSoldier->GetName());
|
||||
|
||||
SetFont( TINYFONT1 );
|
||||
SetFontBackground( FONT_MCOLOR_BLACK );
|
||||
|
||||
SetFontForeground( FONT_YELLOW );
|
||||
|
||||
FindFontCenterCoordinates( sXPos, (INT16)( sYPos + 20 ), (INT16)(80 ), 1, NameStr, TINYFONT1, &sX, &sY );
|
||||
@@ -2414,9 +2347,7 @@ void DrawSelectedUIAboveGuy( UINT16 usSoldierID )
|
||||
if ( pSoldier->sSectorX == zEnemyName[iCounter2].SectorX && pSoldier->sSectorY == zEnemyName[iCounter2].SectorY )
|
||||
{
|
||||
swprintf(NameStr, zEnemyName[iCounter2].szCurGroup);
|
||||
|
||||
SetFont( TINYFONT1 );
|
||||
SetFontBackground( FONT_MCOLOR_BLACK );
|
||||
|
||||
SetFontForeground( FONT_YELLOW );
|
||||
|
||||
//legion2
|
||||
@@ -2429,6 +2360,7 @@ void DrawSelectedUIAboveGuy( UINT16 usSoldierID )
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (gGameExternalOptions.fEnemyRank == TRUE)
|
||||
{
|
||||
for( iCounter2 = 1; iCounter2 < 11; ++iCounter2 )
|
||||
@@ -2439,14 +2371,11 @@ void DrawSelectedUIAboveGuy( UINT16 usSoldierID )
|
||||
{
|
||||
swprintf(NameStr, zEnemyRank[iCounter2].szCurRank);
|
||||
|
||||
SetFont( TINYFONT1 );
|
||||
SetFontBackground( FONT_MCOLOR_BLACK );
|
||||
SetFontForeground( FONT_YELLOW );
|
||||
|
||||
// need to adjust sYPos because default position already occupied by the name
|
||||
if ( gGameExternalOptions.fSoldierProfiles_Enemy && pSoldier->usSoldierProfile || gGameExternalOptions.fEnemyNames )
|
||||
FindFontCenterCoordinates( sXPos, (INT16)( sYPos + 10 ), (INT16)(80 ), 1, NameStr, TINYFONT1, &sX, &sY );
|
||||
|
||||
// use default position for text
|
||||
else
|
||||
FindFontCenterCoordinates( sXPos, (INT16)( sYPos + 20 ), (INT16)(80 ), 1, NameStr, TINYFONT1, &sX, &sY );
|
||||
@@ -2468,15 +2397,13 @@ void DrawSelectedUIAboveGuy( UINT16 usSoldierID )
|
||||
ShowEnemyHealthBar( sX, sY, pSoldier );
|
||||
ShowAdditionalInfo( sX, sY, pSoldier );
|
||||
ShowRankIcon( sXPos, sYPos, pSoldier );
|
||||
}
|
||||
}
|
||||
// Flugente: soldier profiles
|
||||
else if ( pSoldier->bTeam == MILITIA_TEAM && gGameExternalOptions.fSoldierProfiles_Militia && pSoldier->usSoldierProfile )
|
||||
{
|
||||
// get a proper chaos name
|
||||
// get a proper name
|
||||
swprintf(NameStr, pSoldier->GetName());
|
||||
|
||||
SetFont( TINYFONT1 );
|
||||
SetFontBackground( FONT_MCOLOR_BLACK );
|
||||
|
||||
SetFontForeground( FONT_YELLOW );
|
||||
|
||||
FindFontCenterCoordinates( sXPos, (INT16)( sYPos + 20 ), (INT16)(80 ), 1, NameStr, TINYFONT1, &sX, &sY );
|
||||
@@ -2488,9 +2415,7 @@ void DrawSelectedUIAboveGuy( UINT16 usSoldierID )
|
||||
if (zCivGroupName[pSoldier->ubCivilianGroup].Enabled == 1)
|
||||
{
|
||||
swprintf(NameStr, zCivGroupName[pSoldier->ubCivilianGroup].szCurGroup);
|
||||
|
||||
SetFont( TINYFONT1 );
|
||||
SetFontBackground( FONT_MCOLOR_BLACK );
|
||||
|
||||
SetFontForeground( FONT_YELLOW );
|
||||
|
||||
//legion2
|
||||
@@ -2498,6 +2423,7 @@ void DrawSelectedUIAboveGuy( UINT16 usSoldierID )
|
||||
gprintfdirty( sX, sY, NameStr );
|
||||
mprintf( sX, sY, NameStr );
|
||||
}
|
||||
|
||||
// sevenfm: show weapon name and additional info
|
||||
FindFontCenterCoordinates( sXPos, (INT16)( sYPos ), (INT16)(80 ), 1, L"", TINYFONT1, &sX, &sY );
|
||||
ShowEnemyWeapon( sX, sY, pSoldier );
|
||||
|
||||
Reference in New Issue
Block a user