Additional tile properteis update (by anv):

- COVER_TOOLTIP_DISPLAY_DETAILED_TILE_PROPERTIES under [Tactical Cover System Settings] set to true will let "f" cover tooltip to present detailed information about tile. Only relevant (non-zero) info will be shown.
- fixed bug causing trap level to be ignored and limited final maximum and minimum camo of given map grid between 0 and 100.

git-svn-id: https://ja2svn.mooo.com/source/ja2/trunk/GameSource/ja2_v1.13/Build@7073 3b4a5df2-a311-0410-b5c6-a8a6f20db521
This commit is contained in:
Flugente
2014-03-16 18:54:35 +00:00
parent 2e773a029d
commit f39dc4bfca
18 changed files with 184 additions and 26 deletions
+80 -3
View File
@@ -710,9 +710,86 @@ void DisplayRangeToTarget( SOLDIERTYPE *pSoldier, INT32 sTargetGridNo )
if(gGameExternalOptions.fAdditionalTileProperties)
{
ScreenMsg( FONT_MCOLOR_LTYELLOW, MSG_INTERFACE,
gzDisplayCoverText[DC_MSG__COVER_INFORMATION],
ubCover, GetDetailedTerrainName(zGivenTileProperties), ubBrightness );
if(!gGameExternalOptions.fCoverTooltipDetailedTileProperties)
{
ScreenMsg( FONT_MCOLOR_LTYELLOW, MSG_INTERFACE,
gzDisplayCoverText[DC_MSG__COVER_INFORMATION],
ubCover, GetDetailedTerrainName(zGivenTileProperties), ubBrightness );
}
else
{
ScreenMsg( FONT_MCOLOR_LTYELLOW, MSG_INTERFACE,
gzDisplayCoverText[DC_MSG__COVER_INFORMATION_WITH_DETAILED_CAMO],
ubCover, ubBrightness );
UINT8 ubApplicableProperties = 0;
swprintf( zOutputString, L"" );
if(zGivenTileProperties.bWoodCamoAffinity > 0)
{
swprintf( zOutputString + wcslen(zOutputString), gzDisplayCoverText[DC_TTI__WOOD]);
swprintf( zOutputString + wcslen(zOutputString), L": %d/100", zGivenTileProperties.bWoodCamoAffinity);
ubApplicableProperties++;
}
if(zGivenTileProperties.bDesertCamoAffinity > 0)
{
if(ubApplicableProperties)
swprintf( zOutputString + wcslen(zOutputString), L", ");
swprintf( zOutputString + wcslen(zOutputString), gzDisplayCoverText[DC_TTI__DESERT]);
swprintf( zOutputString + wcslen(zOutputString), L": %d/100", zGivenTileProperties.bDesertCamoAffinity);
ubApplicableProperties++;
}
if(zGivenTileProperties.bUrbanCamoAffinity > 0)
{
if(ubApplicableProperties)
swprintf( zOutputString + wcslen(zOutputString), L", ");
swprintf( zOutputString + wcslen(zOutputString), gzDisplayCoverText[DC_TTI__URBAN]);
swprintf( zOutputString + wcslen(zOutputString), L": %d/100", zGivenTileProperties.bUrbanCamoAffinity);
ubApplicableProperties++;
}
if(zGivenTileProperties.bSnowCamoAffinity > 0)
{
if(ubApplicableProperties)
swprintf( zOutputString + wcslen(zOutputString), L", ");
swprintf( zOutputString + wcslen(zOutputString), gzDisplayCoverText[DC_TTI__SNOW]);
swprintf( zOutputString + wcslen(zOutputString), L": %d/100", zGivenTileProperties.bSnowCamoAffinity);
ubApplicableProperties++;
}
if(zGivenTileProperties.bSoundModifier != 0)
{
if(ubApplicableProperties)
swprintf( zOutputString + wcslen(zOutputString), L", ");
swprintf( zOutputString + wcslen(zOutputString), gzDisplayCoverText[DC_TTI__DETAILED_SOUND]);
if(zGivenTileProperties.bSoundModifier > 0)
swprintf( zOutputString + wcslen(zOutputString), L": +%d", zGivenTileProperties.bSoundModifier);
else
swprintf( zOutputString + wcslen(zOutputString), L": %d", zGivenTileProperties.bSoundModifier);
ubApplicableProperties++;
}
if(zGivenTileProperties.bStealthDifficultyModifer != 0)
{
if(ubApplicableProperties)
swprintf( zOutputString + wcslen(zOutputString), L", ");
swprintf( zOutputString + wcslen(zOutputString), gzDisplayCoverText[DC_TTI__DETAILED_STEALTH]);
if(zGivenTileProperties.bStealthDifficultyModifer > 0)
swprintf( zOutputString + wcslen(zOutputString), L": +%d/100", zGivenTileProperties.bStealthDifficultyModifer);
else
swprintf( zOutputString + wcslen(zOutputString), L": %d/100", zGivenTileProperties.bStealthDifficultyModifer);
ubApplicableProperties++;
}
if(zGivenTileProperties.bTrapBonus != 0)
{
if(ubApplicableProperties)
swprintf( zOutputString + wcslen(zOutputString), L", ");
swprintf( zOutputString + wcslen(zOutputString), gzDisplayCoverText[DC_TTI__DETAILED_TRAP_LEVEL]);
if(zGivenTileProperties.bTrapBonus > 0)
swprintf( zOutputString + wcslen(zOutputString), L": +%d", zGivenTileProperties.bTrapBonus);
else
swprintf( zOutputString + wcslen(zOutputString), L": %d", zGivenTileProperties.bTrapBonus);
ubApplicableProperties++;
}
if( wcslen(zOutputString) > 0 )
ScreenMsg( FONT_MCOLOR_LTYELLOW, MSG_INTERFACE, zOutputString );
}
}
else
{