Skip to content

FlexiHUD 3.0.0

Latest
Compare
Choose a tag to compare
@jekyllgrim jekyllgrim released this 16 Jan 17:35
· 45 commits to main since this release

FlexiHUD 3.0.0 Change log

Core functionality

FlexiHUD is no longer a statusbar class, but is drawn with an event handler. This means that it's not a replacement for other HUDs but is instead drawn on top of them. This allows the following:

  • You can now choose to use only specific elements of FlexiHUD (such as the minimap or the weapon slots) and combine them with the existing HUD from the game/mod you're playing.
  • FlexiHUD itself can be completely hidden from the FlexiHUD options menu, or with a dedicated key bind (can be set in the options menu).
  • The looks haven't changed: FlexiHUD is still drawn at the virtual resolution of 320x200 and scaled the same way as the basic HUD (in accordance with the User Interface/HUD scaling settings).

If you only want to see FlexiHUD, you can still hide the native HUD from the game/mod you're playing by pressing the = key twice or setting screenblocks 12 in the console.

General

  • The mod now features a USER PRESETS system by @RicardoLuis0. This system allows user to save their current HUD settings into a preset with a specific name. Now you will be able to easily switch between your favorite HUD compositions instead of having to set up everything the way you want every time! This mod also comes with a small list of built-in presets.
  • Added "preview mode" for certain HUD elements. How it works: if you open FlexiHUD options menu, the elements that are currently not visible in the game (such as powerup timers whille you don't have any active powerups, or the keys block while you don't have any keys) will be displayed as pulsing grey previews that represent the placement and size of those elements. This will let the players easily adjust the look of all HUD elements without having to meet the conditions to make those elements visible first.
  • FlexiHUD will now be fully hidden while the automap is open. This is done mostly because 1) if you run it with a vanilla HUD (like the standard Doom/Heretic/Hexen HUD), that HUD will unconditionally draw its statusbar version when the automap is open, and you don't want to see two HUDs at the same time; 2) I generally feel like you won't need most of the HUD with the automap open anyway.
  • Animated HUD elements (such as the scrolling inventory bar, the bars around the crosshair, etc.) are now updated smoothly in accordance with your framerate, rather than once per tic.

Health and armor

  • The health icon will change from black & white to red & black if the player has Berserk (or another PowerStrength-based powerup).
  • Maximum amount of armor in Hexen will now be properly calculated to the value defined in the current player class instead of being always set to 80.

Powerup timers

  • The timers are now drawn on top of the powerup icons rather than to the side, and the timer text is now yellow.
  • Added an option to arrange powerup timers horizontally.
  • There will be a 1px indentation between the icons of different powerups.
  • When a powerup's duration is running out, its icon will blink rather than the timer text.

Hit markers

  • New option: "Hit markers shape" - lets you pick a specific shape for the hit marker. Possible shapes: Cross, Angled cross, 4 triangles, 4 angled triangles, Circle, Disk, Square, Diamond.
  • New option: "Hit markers size". At 0 the hitmarker will scale with the crosshair size, otherwise you can set an explicit size.
  • New option: "Hit markers color". Self-explanatory.
  • The size of hit markers will no longer change with the HUD, and will instead scale separately, with the crosshair or with the "Hit markers size" option.

Minimap, monster markers and map data

Fixes and technical changes

  • Fixed incorrect culling of the lines rendered on the minimap at certain User Interface Scale values.
  • Fixed map data elements (Kills/Items/Secrets/Time) not being positioned correctly when the element was at the bottom of the screen.
  • The minimap's rotation and positioning is now handled with subtic interpolation, for smooth, framerate-based rotation.
  • The title of this menu has been renamed to "Minimap, radar and map data" to better represent its meaning
  • When enabled, the minimap and the monster radar will update even when the pause menu is open. This means that, for example, if the minimap/radar was disabled and then you enable it from the menu, you will immediately see the lines/markers on it, rather than seeing a blank minimap element.

General chages

  • "Minimap display" option is now called "Minimap and monster radar display" and has 4 values: Off / Monster markers only / Minimap only / Minimap and monster markers. This means that monster markers and the minimap can be both shown separately and together. Options specific to the map or the enemy markers will now be controllable separately.
  • The "Minimap size", "Minimap shape" and "Minimap zoom" options have been renamed to "Minimap/radar size", "Minimap/radar shape" and "Minimap/radar zoom" respectively, to better convey that they can be used even when the minimap is in radar-only mode, without the actual map.
  • New option: "Background opacity." Lets you control the opacity of the minimap/radar background with a slider.
  • New options: "Cardinal directions display" (Off / Along a circular trajectory / Along the minimap's edge), "Cardinal directions' color", "Cardinal directions' size". Available when "Minimap and monster radar display" is set to anything besides Off. These options allow you to enable the display for cardinal directions (N, E, S, W) on the minimap. You can modify their size and color, and also control whether they always follow the minimap's edge (regardless of its current shape), or always follow a circular pattern (even when the minimap is using the square shape).
  • The various options in this menu now will be properly grayed-out when they should. For example, the map colors will be grayed out if the minimap & map radar are set to "Off" or "Monster markers only".

Map drawing

  • New options: "Lines around different floor heights" (on by default) and "Lines around different ceiling heights" (off by default). These toggles determine whether double-sided linedefs at the edges of sectors with different floor/ceiling heights will be rendered on the minimap. It's recommended to leave the "Lines around different ceiling heights" at Off to reduce visual noise, since those lines are normally irrelevant for navigation.
  • The minimap will now also display generalized automap markers (the actors based on the internal MapMarker class; not to be confused with FlexiHUD-exclusive monster markers). These map markers are not used in any of the vanilla games but they are used in some mods (like Hellscape Navigator and Robust Map Markers) and some standalone games to create markers visible on the classic automap. These markers are rendered the same way as on the automap, using fixed scale according to the marker's own scale.

Monster markers

  • New option: "Monster markers display". Controls whether markers for enemies are displayed on the minimap. Comes with 2 options: Only alerted enemies / All enemies. This option becomes available only when "Minimap and monster radar display" option is set to either "Monster markers only" or "Minimap and monster markers."
  • New option: "Monster markers size" slider that controls the size of enemy markers on the minimap. The deafult value is "Match the size of the object", where the marker's size will represent the actual size of the monster, and thus will change relative to the map's zoom value. If the slider is set to an explicit value instead, the markers will render at the specified fixed size, regardless of the minimap's zoom value (which some users may find more readable).
  • New option: "Monster markers shape" (Dot or Arrow).

Damage markers

  • The angle of damage markers is now handled with smooth subtic interpolation.

Inventory bar

  • Fixed a small visual issue where the inventory bar would always scroll to the right if the player cycled through it while having only 2 items in possession, even if the player actually pressed the button to scroll the bar to the left. It will now properly scroll to the direction according to the pressed button (invnext or invprev). (There's no practical difference, since with only 2 items, pressing either next or prev would select the same item.)
  • Inventory bar scrolling is now handled smoothly, with framerate.