Force statusbar to be hidden
Moderator: GZDoom Developers
Force statusbar to be hidden
Following a rather heated discussion found in http://forum.zdoom.org/potato.php?t=11907&start=15 - I've decided to make this feature request thread because Graf says the CVAR method mentioned in that thread is just too convulated, and a custom HUD script = no.
The feature request:
Allow mod authors to force the internal game's status bar to not be drawn, so that they may code a custom HUD from scratch using ACS.
Some possibilities on how this may work:
1) Draw the full screen like as if screenblocks >= 12. That means a totally empty screen (as far as the HUD goes).
2) A parameter to determine whether the internal inventory bar can be drawn over or not (I think I made a separate feature request for this though). In some cases, the inventory bar is more preferrable than having to make a custom inventory scrolling script in ACS.
... I'm out of ideas. I just woke up heh.
The feature request:
Allow mod authors to force the internal game's status bar to not be drawn, so that they may code a custom HUD from scratch using ACS.
Some possibilities on how this may work:
1) Draw the full screen like as if screenblocks >= 12. That means a totally empty screen (as far as the HUD goes).
2) A parameter to determine whether the internal inventory bar can be drawn over or not (I think I made a separate feature request for this though). In some cases, the inventory bar is more preferrable than having to make a custom inventory scrolling script in ACS.
... I'm out of ideas. I just woke up heh.
So something like this should hopefully cover all bases:
Code: Select all
HideHUD(off, flags);
Hides the status bar, forcing the weapon graphic to the bottom of the screen and the fullscreen HUD to be displayed, contingent on the flags parameter explained below.
off - Set this to 1 to hide all or parts of the HUD. Set it to 0 to resume normal operation.
flags - Combine these to create the desired effect.
1 - Don't draw the fullscreen HUD.
2 - Don't draw the inventory selection.
4 - Leave the weapon graphic higher on the screen as if the status bar was still there. (Useful if the replacment HUD is going to include enough graphic at the bottom of the screen to cover the gap under the weapon)
8 - Disallow use of the overlay map (may be desired in certain cases where this would look bad with the custom HUD)
16 - Disallow use of the fullscreen map. (Yes, this means that a setting of 24 will disable the minimap entirely. Hey, no more need for hacky all-hidden lines maps)
I'd do it this way:
The function assumes that if screenblocks is lower than 11, normal HUD is drawn (original and/or custom, you can affect it by setting flags 1, 4, 8, 16 and the height parameter), if screenblocks is 11, fullscreen HUD is drawn (original and/or custom, you can affect it by setting flags 2, 4) and if screenblocks is greater than 11, nothing is drawn.
You can turn on the default behavior simply by HideHUD (0, 0).
Code: Select all
HideHUD (flags, height)
flags:
1 Don't draw the normal HUD (when screenblocks <= 10)
2 Don't draw the fullscreen HUD (when screenblocks == 11)
4 Don't draw the inventory
8 Override the height of the HUD with the height parameter (when screenblocks <= 10)
16 Draw black instead of texture around the view when screenblocks < 10
32 Disable overlayed automap
64 Disable fullscreen automap
You can turn on the default behavior simply by HideHUD (0, 0).
- Cutmanmike
- Posts: 11353
- Joined: Mon Oct 06, 2003 3:41 pm
- Operating System Version (Optional): Windows 10
- Location: United Kingdom
- Contact:
I agree that I don't see why this is particularly necessary. You can just leave a note in the text file telling the player the wad uses a custom hud and then the only people who will have a ruined experience are the illiterate (and the lazy). Also as a personal thing I think it would be nice if people who did custom HUDs made thier use optional, which defeats the idea of forcing a custom HUD on.
Of course, on the other hand, "not particularly necessary" justs means I don't think it's needed, not that it shouldn't be added. So long as someone else is willing to implement it in a way which is nondestructive to the current codebase and to future development, then hey, fine, whatever, no skin off my back. At the very absolute worst what it might mean for me is just that I have to dive into a few wads to alter some scripting.
Of course, on the other hand, "not particularly necessary" justs means I don't think it's needed, not that it shouldn't be added. So long as someone else is willing to implement it in a way which is nondestructive to the current codebase and to future development, then hey, fine, whatever, no skin off my back. At the very absolute worst what it might mean for me is just that I have to dive into a few wads to alter some scripting.
Graf, then that's the author's loss becase he didn't spend enough time designing a HUD that is actually useful and people would like.
For example, the HUD in my project takes into account ALL possibilities; whether the player uses the status bar, or prefers a full screen HUD. Whether scaling is on, or off. I take into account every possibility.
So as you can see, put in the right hands, it's an important tool for TCs because the regular Doom HUD just doesn't cut it.
For example, the HUD in my project takes into account ALL possibilities; whether the player uses the status bar, or prefers a full screen HUD. Whether scaling is on, or off. I take into account every possibility.
So as you can see, put in the right hands, it's an important tool for TCs because the regular Doom HUD just doesn't cut it.