Skip to content

[Feature] More SBARDEF suggestions #2598

Description

@NightFright2k19

This is a collection of previously separated SBARDEF-related feature requests, bundled into one for better overview.

1) Temporarily show assets

For status bar elements which don't have to be visible at all times, it would be neat to have an option/condition to only show them for a certain amount of time when a condition is met (to save screen space) - similar to the behavior of the weapon carousel.

In this example, it's about showing the ARMS widget for a few seconds whenever the player switches to a new weapon. It would probably require a new condition.

Thoughts/notes:

  • Would require at least one parameter to determine the visibility duration (in seconds)
  • Needs to work for any weapon, also for those in the same slot (Fists/Chainsaw, Shotgun/Super Shotgun)
  • Should be applicable to canvases (otherwise it'd be really painful to apply to each and every ARMS number)
  • Could be expanded later on so it doesn't only trigger when switching weapons

2) Conditions for total kills/items/secrets

On top of the already added conditions for K/I/S counts and percentage values, it'd be nice to be able to check for total amounts as well. This way one could e.g. hide a display for secrets right away if a level doesn't contain any.

Suggestion:
57: Total Kills >= param
58: Total Kills < param
59: Total Items >= param
60: Total Items < param
61: Total Secrets >= param
62: Total Secrets < param

Conditions for powerup timers would probably be shifted further down the line to keep K/I/S conditions grouped together:

63 (formerly: 57): Remaining powerup duration < param
64 (formerly: 58): Remaining powerup duration >= param
65 (formerly: 59): Remaining powerup duration % < param
66 (formerly: 60): Remaining powerup duration % >= param


3) Conditions for keys

In order to create more flexible key displays, the following checks would be helpful:

  • Any key is owned
  • No key is owned
  • Both keys of the color/slot defined by parm are owned (parm: 0 - blue, 1 - yellow, 2 - red)
  • Either key of the color/slot defined by parm is owned
  • No key of the color/slot defined by parm is owned

4) Conditions for weapons

  • Whether the weapon defined by param does NOT have a valid ammo type (opposite of condition 3)
  • Whether the selected weapon does NOT have a valid ammo type (opposite of condition 4)
  • Whether the ammo type defined by param does NOT match the ammo type of the selected weapon (opposite of condition 5)

Also useful for lists:

  • Whether weapon defined by param uses ammo type defined by param2
  • Whether weapon defined by param does NOT use ammo type defined by param2

5) Switching palette entries

The red big font for the Doom statusbar (STTNUMx) has grey shadows to blend in well with the background of the vanilla statusbar. In fullscreen HUDs, using this font without the bar looks less appealing.

I was wondering if it were possible to add some definition to graphics entries in SBARDEF to do a switch of specific palette entries on demand, like in this case 109:109=247:247. This way one could define perfectly black shadows for a font when using fullscreen HUDs (without background) while keeping it unchanged for the vanilla statusbar.

I could also imagine this feature to be used for recoloring Boom fonts with just two colors, allowing to go beyond the predefined schemes such as CRGOLD, CRGREEN etc.


6) Improving numbers

a) Animation
Currently it's only possible to animate graphics. Extending the concept to numbers as well would allow effects like blinking health when dropping below certain values, e.g. 25%.

b) Interpolation
Another idea would be to add optional number interpolation, similar to the way it's done in Heretic. While this is rather a cosmetic effect, it still sort of makes a HUD more immersive and changes of the stats more impactful.

c) Gapfiller zeroes
Numbers should have the option to fill gaps with placeholder zeroes if values drop below max length. Example: Health/armor/ammo usually have a default of 3 as max length, so it should use the "0" digit of the defined font to show values like e.g. "087" or "006" (instead of "87" / "6").

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions