View Issue Details

IDProjectCategoryView StatusLast Update
0000582Gameplay + OpenGL(No Category)public2017-04-14 15:33
ReporterEnjay 
Assigned To 
PrioritynormalSeverityminorReproducibilityhave not tried
Status closedResolutionnot fixable 
Summary0000582: Status bar scaling sliders confused by fullscreenoffsets
DescriptionNoticed with the Paranoiac mod and 2.5pre-329-gfbc1028 but I think it also happens with 2.4.0 but it's harder to tell there because it doesn't have scale sliders, only on/off scaling for the various elements.

The scale slider for full screen HUD does not affect a full screen HUD defined in SBARINFO if it does not have fullscreenoffsets. The Status bar slider affects both the status bar and the full screen HUD.

If I add fullscreenoffsets to the Paranoiac full screen HUD then the full screen slider affects it and the status bar one does not.

For the sake of completeness, I also tried adding fullscreenoffsets to the normal status bar in Paranoiac. The results were even more interesting. Obviously the status bar was now appearing in totally the wrong place, however, the fullscreen slider was affecting the size if the graphics being drawn. If I used the status bar slider, then it changed the size of the space where the status bar is normally drawn but the graphics themselves did not change size.

So, what I think is happening is that "fullscreenoffsets" is being used as the parameter for whether something is a fullscreen HUD or not rather than the fullscreen status bar type.

The status bar slider scales the status bar and any status bar not defined with fullscreenoffsets. The full screen HUD slider scales any definition that uses fullscreenoffsets regardless of whether it is actually a fullscreen HUD definition or not.
Steps To ReproduceTry it with Paranoiac or edit the default Doom status bar definition to add fullscreenoffsets to the normal status bar and take fullscreenoffsets away from the full screen HUD definition (pre edited one attached). Obviously this will mess up graphics positioning but, if you do this, the following should occur:

1: The full screen HUD scaler will no longer scale the full screen HUD
2: The status bar scaler will scale the full screen HUD
3: The status bar scaler will scale the space at the bottom of the screen where the status bar should be (but will not scale the status bar graphics)
4: The full screen HUD scaler will scale the status bar graphics.
TagsNo tags attached.

Relationships

Activities

Enjay

Enjay

2017-04-14 11:29

reporter  

sbarinfo.txt (4,199 bytes)
/*******************************************************************************
 *                         DEFAULT DOOM STATUS BAR
 *******************************************************************************
 * If you wish to include this file into a custom status bar please use the 
 * following command:
 *
 *     base Doom;
 *
 * Using #include "sbarinfo/doom.txt" will not be supported.
 ******************************************************************************/

height 32;
monospacefonts true, "0";

statusbar fullscreen // ZDoom HUD
{
	//health
	drawimage "MEDIA0", 20, -2, centerbottom;
	drawnumber 2147483647, HUDFONT_DOOM, untranslated, health, drawshadow, 82, -20;

	//armor
	drawimage armoricon, 20, -24, centerbottom;
	drawnumber 2147483647, HUDFONT_DOOM, untranslated, armor, drawshadow, whennotzero, 82, -39;

	//ammo
	drawimage ammoicon1, -14, -4, centerbottom;
	drawnumber 2147483647, HUDFONT_DOOM, untranslated, ammo1, drawshadow, -25, -20;

	usesammo
	{
		//secondary ammo and inventory
		usessecondaryammo
		{
			drawimage ammoicon2, -14, -22, centerbottom;
			drawnumber 2147483647, HUDFONT_DOOM, untranslated, ammo2, drawshadow, -25, -38;
			inventorybarnotvisible
			{
				drawselectedinventory centerbottom, drawshadow, alwaysshowcounter, HUDFONT_DOOM, -14, -39, -26, -56, untranslated;
			}
		}
		else //no secondary ammo
		{
			inventorybarnotvisible
			{
				drawselectedinventory centerbottom, drawshadow, alwaysshowcounter, HUDFONT_DOOM, -14, -21, -26, -38, untranslated;
			}
		}
	}
	else // no ammo but inventory
	{
		inventorybarnotvisible
		{
			drawselectedinventory centerbottom, drawshadow, alwaysshowcounter, HUDFONT_DOOM, -14, -3, -26, -20, untranslated;
		}
	}

	gamemode deathmatch
	{
		drawnumber 2147483647, HUDFONT_DOOM, untranslated, frags, drawshadow, -3, 1;
	}
	else
	{
		// let's hope no mod ever uses 100 keys...
		drawkeybar 100, vertical, reverserows, auto, -10, 2, 0, 3, auto;
	}
}

statusbar normal, fullscreenoffsets // Standard Doom Status bar
{
	drawimage "STBAR", 0, 168;
	drawimage "STTPRCNT", 90, 171;
	drawimage "STTPRCNT", 221, 171;
	drawnumber 3, HUDFONT_DOOM, untranslated, ammo1, 44, 171;
	drawnumber 3, HUDFONT_DOOM, untranslated, health, 90, 171;
	drawnumber 3, HUDFONT_DOOM, untranslated, armor, 221, 171;

	//keys
	drawswitchableimage keyslot 2 && 5, "nullimage", "STKEYS0", "STKEYS3", "STKEYS6", 239, 171;
	drawswitchableimage keyslot 3 && 6, "nullimage", "STKEYS1", "STKEYS4", "STKEYS7", 239, 181;
	drawswitchableimage keyslot 1 && 4, "nullimage", "STKEYS2", "STKEYS5", "STKEYS8", 239, 191;

	drawnumber 3, INDEXFONT_DOOM, untranslated, ammo(Clip), 288, 173;
	drawnumber 3, INDEXFONT_DOOM, untranslated, ammo(Shell), 288, 179;
	drawnumber 3, INDEXFONT_DOOM, untranslated, ammo(RocketAmmo), 288, 185;
	drawnumber 3, INDEXFONT_DOOM, untranslated, ammo(Cell), 288, 191;

	drawnumber 3, INDEXFONT_DOOM, untranslated, ammocapacity(Clip), 314, 173;
	drawnumber 3, INDEXFONT_DOOM, untranslated, ammocapacity(Shell), 314, 179;
	drawnumber 3, INDEXFONT_DOOM, untranslated, ammocapacity(RocketAmmo), 314, 185;
	drawnumber 3, INDEXFONT_DOOM, untranslated, ammocapacity(Cell), 314, 191;
	gamemode deathmatch, teamgame
	{
		drawnumber 2, HUDFONT_DOOM, untranslated, frags, 138, 171;
	}
	gamemode cooperative, singleplayer
	{
		drawimage "STARMS", 104, 168;
		drawswitchableimage weaponslot 2, "STGNUM2", "STYSNUM2", 111, 172; 
		drawswitchableimage weaponslot 3, "STGNUM3", "STYSNUM3", 123, 172;
		drawswitchableimage weaponslot 4, "STGNUM4", "STYSNUM4", 135, 172;
		drawswitchableimage weaponslot 5, "STGNUM5", "STYSNUM5", 111, 182;
		drawswitchableimage weaponslot 6, "STGNUM6", "STYSNUM6", 123, 182;
		drawswitchableimage weaponslot 7, "STGNUM7", "STYSNUM7", 135, 182;
	}
	gamemode cooperative, deathmatch, teamgame
	{
		drawimage translatable "STFBANY", 143, 169;
	}
	drawselectedinventory alternateonempty, INDEXFONT, 143, 168
	{
		drawmugshot "STF", 5, 143, 168;
	}
}

statusbar inventory // Standard bar overlay (ZDoom Addition)
{
	drawinventorybar Doom, 7, INDEXFONT, 50, 170;
}

statusbar inventoryfullscreen, fullscreenoffsets // ZDoom HUD overlay.
{
	drawinventorybar Doom, translucent, 7, INDEXFONT, -106+center, -31;
}
sbarinfo.txt (4,199 bytes)
Graf Zahl

Graf Zahl

2017-04-14 13:20

administrator   ~0001373

Sorry, but this cannot be changed. 'fullscreenoffsets' is the deciding factor whether status bar or fullscreen positioning, including respective scaling is used.

So, obviously any status bar declaring use of fullscreenoffsets will use hud_scale and any fullscreen HUD which doesn't declare use of fullscreenoffsets will use statusbar scaling.
Enjay

Enjay

2017-04-14 15:33

reporter   ~0001376

OK, thanks for the info. I think I can fix up the Paranoiac status bar to comply with this.

Issue History

Date Modified Username Field Change
2017-04-14 11:29 Enjay New Issue
2017-04-14 11:29 Enjay File Added: sbarinfo.txt
2017-04-14 13:20 Graf Zahl Status new => closed
2017-04-14 13:20 Graf Zahl Resolution open => not fixable
2017-04-14 13:20 Graf Zahl Note Added: 0001373
2017-04-14 15:33 Enjay Note Added: 0001376