- SBARINFO fix:

- Fullscreen Doom HUD clamped the display of digits.

SVN r1606 (trunk)
This commit is contained in:
Randy Heit 2009-05-26 00:46:55 +00:00
parent 5245e8d4dd
commit e95be7eff7
2 changed files with 8 additions and 7 deletions

View file

@ -1610,11 +1610,12 @@ void DSBarInfo::DrawString(const char* str, SBarInfoCoordinate x, SBarInfoCoordi
void DSBarInfo::DrawNumber(int num, int len, SBarInfoCoordinate x, SBarInfoCoordinate y, int xOffset, int yOffset, int alpha, bool fullScreenOffsets, EColorRange translation, int spacing, bool fillzeros, bool drawshadow) void DSBarInfo::DrawNumber(int num, int len, SBarInfoCoordinate x, SBarInfoCoordinate y, int xOffset, int yOffset, int alpha, bool fullScreenOffsets, EColorRange translation, int spacing, bool fillzeros, bool drawshadow)
{ {
FString value; FString value;
int maxval = (int) ceil(pow(10., len))-1; // 10^9 is a largest we can hold in a 32-bit int. So if we go any larger we have to toss out the positions limit.
int maxval = len <= 9 ? (int) ceil(pow(10., len))-1 : INT_MAX;
if(!fillzeros || len == 1) if(!fillzeros || len == 1)
num = clamp(num, -maxval, maxval); num = clamp(num, -maxval, maxval);
else //The community wanted negatives to take the last digit, but we can only do this if there is room else //The community wanted negatives to take the last digit, but we can only do this if there is room
num = clamp(num, (int) -(ceil(pow(10., len-1))-1), maxval); num = clamp(num, len <= 9 ? (int) -(ceil(pow(10., len-1))-1) : INT_MIN, maxval);
value.Format("%d", num); value.Format("%d", num);
if(fillzeros) if(fillzeros)
{ {

View file

@ -16,15 +16,15 @@ statusbar fullscreen, fullscreenoffsets // ZDoom HUD
{ {
//health //health
drawimage "MEDIA0", 20, -2, centerbottom; drawimage "MEDIA0", 20, -2, centerbottom;
drawnumber 3, HUDFONT_DOOM, untranslated, health, drawshadow, 82, -20; drawnumber 2147483647, HUDFONT_DOOM, untranslated, health, drawshadow, 82, -20;
//armor //armor
drawimage armoricon, 20, -24, centerbottom; drawimage armoricon, 20, -24, centerbottom;
drawnumber 3, HUDFONT_DOOM, untranslated, armor, drawshadow, whennotzero, 82, -39; drawnumber 2147483647, HUDFONT_DOOM, untranslated, armor, drawshadow, whennotzero, 82, -39;
//ammo //ammo
drawimage ammoicon1, -14, -4, centerbottom; drawimage ammoicon1, -14, -4, centerbottom;
drawnumber 3, HUDFONT_DOOM, untranslated, ammo1, drawshadow, -25, -20; drawnumber 2147483647, HUDFONT_DOOM, untranslated, ammo1, drawshadow, -25, -20;
usesammo usesammo
{ {
@ -32,7 +32,7 @@ statusbar fullscreen, fullscreenoffsets // ZDoom HUD
usessecondaryammo usessecondaryammo
{ {
drawimage ammoicon2, -14, -22, centerbottom; drawimage ammoicon2, -14, -22, centerbottom;
drawnumber 3, HUDFONT_DOOM, untranslated, ammo2, drawshadow, -25, -38; drawnumber 2147483647, HUDFONT_DOOM, untranslated, ammo2, drawshadow, -25, -38;
inventorybarnotvisible inventorybarnotvisible
{ {
drawselectedinventory centerbottom, drawshadow, alwaysshowcounter, HUDFONT_DOOM, -14, -39, -26, -56, untranslated; drawselectedinventory centerbottom, drawshadow, alwaysshowcounter, HUDFONT_DOOM, -14, -39, -26, -56, untranslated;
@ -59,7 +59,7 @@ statusbar fullscreen, fullscreenoffsets // ZDoom HUD
gamemode deathmatch gamemode deathmatch
{ {
drawnumber 2, HUDFONT_DOOM, untranslated, frags, drawshadow, -3, 1; drawnumber 2147483647, HUDFONT_DOOM, untranslated, frags, drawshadow, -3, 1;
} }
gamemode singleplayer, cooperative, teamgame gamemode singleplayer, cooperative, teamgame
{ {