MrAlaux / Nugget-Doom

Nugget Doom is a fork of Woof! with additional features.
GNU General Public License v2.0
66 stars 3 forks source link

Nugget HUD customization thoughts/suggestions #122

Open seascape opened 5 hours ago

seascape commented 5 hours ago

I've been checking out the NUGHUD lump's customization features trying to make a more minimal HUD and it's been pretty cool. Here are some thoughts / questions that've come up so far.

  1. If both present, does NUGHUD lump take precedence over WOOFHUD lump? Seems so? Perhaps add a "WOOF! HUD" choice to the in-game HUD selection menu to let the user pick which one's used.

  2. I would really like a toggle to allow the armor element to turn invisible when armor level is 0%. GZDoom does this for example.

  3. Tried using the health box patch (patch1_name "MEDIA0") but it feels too large on the screen; made me wonder if the ability to scale elements down would be helpful. (Maybe the uneven downscaling would be too ugly...) If scaling isn't in the cards users like me could create a custom gfx asset to resolve this.

  4. ammo turns into the berserk pack icon when berserk fist is selected, but it seems impossible to adjust its alignment independently from the numerical ammo count this element normally displays. In my case I wish I could make the berserk pack icon right-justified within this element so it has the same rightmost pixel edge as the rightmost ammo digit. Also, its bottom edge dips lower than the ammo digits' -- I would rather the icon's bottom edge share the same one as the digits. In short, it would be nice to be able to adjust the ammo berserk pack icon's placement in relation to ammo's ammo digits.

  5. ~I've been designing for 4:3 but it'd be nice to have elements transition to widescreen when widescreen is enabled. wide -1 and wide 1 don't seem to be doing that so far; is it because their elements have fixed pixel coords via _x and _y? (wide -2 and wide 2 certainly move the elements to the widescreen edges, but then they're wrong in 4:3.)~ Ah, the problem was that widescreen HUD mode had to be explicitly enabled in the menus.

  6. It'd be neat if there was a toggle to make arms# elements only display when the corresponding weapon is owned. In other words the gray arms# numbers would never appear, only the yellow ones would.

  7. Could be nice from a HUD development friendliness standpoint if commenting out an element actually removed it from the HUD temporarily. (An alternative to _x -1.) One practical reason: Having to erase _x values erases a useful coordinate I'll often need to refer back to.

  8. Minor: ammoicon feels limited in functionality to me since the rocket ammo is a completely different shape (vertical, tall) than the other three patch graphics. This aesthetic problem exists in GZDoom as well but I guess it never bothered me because I wasn't trying to edit the HUD there, hehe.

  9. Minor: Odd that nughud_ammo2 is cells and nughud_ammo3 is rockets. Maybe there are behind-the-scenes code reasons. Just for editing reasons it'd be nice if they were visually reordered to the more normal rockets -> cells in the default NUGHUD lump.

Just for reference here is where I'm at so far: nugg0000 The central arms# bit is the only part I'm not sure I like.

MrAlaux commented 4 hours ago

1. You may notice a HUD Type setting in the Status Bar/HUD menu, whose options are Nugget, Boom and Boom (No Bars). NUGHUD only affects the first, whereas WOOFHUD affects the Boom ones, so there's not really a priority in play; it depends on which HUD type is selected by the end user.

2. I don't think I'll make it vanishable, but maybe.

3. Some have suggested/requested scaling already; I don't really know how to do that, though it's been implied that Woof will support HUD scaling at some point, so we might get it then. As the documentation specifies, you can absolutely use custom graphics, like many NUGHUDs do already; you could provide a graphic named e.g. MYMEDKIT and use it in your NUGHUD. Unfortunately, it won't be automatically converted to whatever palette you're using, so it will look wrong with some WADs, but Woof's upcoming support for loading and palettizing PNGs should solve that.

4. It isn't possible to adjust the alignment of the Berserk graphic as of now, but you can provide a NHBERSRK graphic to be used in place of it, whose alignment (i.e. the offsets of the graphic itself) can be tweaked freely.

6. As detailed in the documentation, you can provide custom graphics for the Arms numbers that won't affect the vanilla status bar, making empty graphics for unavailable weapons and visible graphics for available ones: see here. Same palettization caveat as in question 3.

7. The lump works by applying modifications to an existing built-in NUGHUD, so skipping values in the lump you load simply means that they're not modified (that is to say, you don't have to include every single element in your custom NUGHUD). Changing that would be a bit difficult, and I have to consider compatibility with existing NUGHUDs.

8. That's precisely why I added support for both horizontal and vertical alignment. If that's not enough, you can also provide custom graphics for that element; see the link in question 6.

9. I used that order because it's what the existing underlying code uses. I should've been able to make it so that they follow the visible order, but I didn't, and changing it now is a compatibility concern.