Coder Social home page Coder Social logo

hideous-helmet-extended's Introduction

Hi there ๐Ÿ‘‹

hideous-helmet-extended's People

Contributors

dastrukar avatar tedthedragon avatar undeadzeratul avatar web-flow avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar  avatar

hideous-helmet-extended's Issues

Add kMinimap HUD Element

Since the original mod is public domain, instead of simply using FDA's updated version separately, integrating it as an entire HUD Element (or at least wiring up the CVARs for it) would give another optional HUD Element to play with.

Ideally the CVARs already listed in the mod should stay the same so players don't have to reconfigure them in HHX. In fact, the existing menus can even stay, and a link to them can even be provided in the HUD Element Options submenu.

hddons listing by FDA

Add "Length" config to Inventory Wheel

I can see someone wanting to show more than 3 items in their inventory wheel, maybe even less? Either way adding a configurable amount of items to show would be a nice bit of configurability

Refine Presets

Currently there are two kinds of Presets capable of being produced: static HUDs and Helmet-specific HUDs. These two kinds of presets really should be separated or at least have two sets of presets to control which CVARs get adjusted when used.

Currently, here's how I'm thinking the existing presets could be split up:

  • Static HUDs
    • Toast's Alpha HUD
    • Arcterezion's HUD
    • Swampyrad's RE1 HUD
  • Helmet HUDs
    • UDV HUD
    • UDV Alt HUD

NOTE: The default values of the CVARs should be Vanilla HDest positioning if they currently are not. This would imply that a "Vanilla" Preset is accomplished simply by resetting all CVARs to their default value, except if the player wants a Hideous Helmet experience, in which the elements would need to all require the helmet. Since that is normally left up to the player's discretion even in HHelmet itself, I'm currently planning on simply resetting the values.

Given this separation, I'm thinking of two methods:

  • The first would be making the static HUDs alter the HUD Elements to not require the helmet, reset the helmet-specific CVARs, and alter just the non-helmet CVARs; while having the helmet HUDs alter the HUD Elements to require the helmet, reset the non-helmet CVARs, and alter the helmet-specific CVARs.
  • The second would be having a copy of all available HUDs for both non-helmet and helmet-specific CVARs. The former of the two sets of presets would mark each element to not require the helmet, reset the helmet-specific CVARs, and alter the non-helmet CVARs. The latter of the two sets of presets would mark each element to require the helmet, reset the non-helmet CVARs, and alter the helmet-specific CVARs.

The first solution would give each HUD more "character" in that the mod provides stylized Classic Doom HUDs, as well as more diegetic Helmet HUDs. The second would allow players to have more explicit control over whether they want the Alpha HUD but only for their helmet, or if they always want the UDV layout as they don't run with HHelmet.

Add Air Stat Counter

This will be a bit more involved, but should be able to leverage the BaseStatCounter nonetheless. Basically follow the math used in determining how much time the player has left to stay underwater, and from there calculate the percent of air they have left. If UaS is installed, should take the respirator into account as well.

[REQUEST] Various potential improvements.

Some various improvements I've found whilst making my preset for this:

Text shifting

Currently all of the text associated with most HUD elements is completely static and not modifiable at all, the most notable example of this is the armor durability text, which cannot be moved at all and in my case covers up a bit of my inventory wheel. Having the ability to control where this text and others like it is placed on my screen would be incredibly helpful.

Development Icons for any Icons not included in the base mod.

This just makes making a HUD preset without having to load every single one of the addons supported possible. Makes thing easier to create with.

Alignment Lines

Sprites that just are lines that go across the entire screen that can be toggled to properly align certain Hud elements, like having a centered health bar, et cetera. Like the previous one, makes development easier.

More Compass options.

I'd like to see some more options pertaining to the compass, like shifting the position text separately from the compass and having an angle marker, like how Cozi's Hideous Helmet fork did it, as some options to the vanilla compass to make it a bit more customizable.

Add Blues Counter HUD Element

Similar to the Berserk & Stim Counters, this HUD Element will simply display the total amount of Blues in the player's system.

Add Shieldcore HUD Element

Basically what was included in TedTweaks' addon, being able to show the shieldcore graphic along with the amount of shields the player has would be really helpful.

This HUD Element could either be on its own or bundled as part of the "equipment" HUD Element, although its only in ID Doom that the shieldcore is a helmet.

Refactor HUD Elements

The HUD Elements as they exist today were taken as a 1-to-1 mapping of the existing HUDCore & HHelmet elements. However, with the namespace properties (along with simply overriding the existing to effectively no-op their implementations and then provide our own), it should be easy enough to simply re-arrange the HUD Elements into functionally similar groups.

The AmmoCounters, Inventory, and FullInventory HUDElements all do similar things, iterating through the player's inventory and rendering the items to the screen, especially the AmmoCounters & FullInventory HUDElements. I can see these 3 being consolidated into 2 new elements, InventorySelector and Inventory. The former will focus on rendering the three items in the selection "wheel" whereas the latter will render the grid of inventory items.

Alongside the idea of a grid of graphics to display the player's inventory, it might be worth making a base "Grid-like" HUDElement class to control how to render individual entries in a grid with wrapping and offsets. This would also be useful with the WeaponStash HUDElement.

Allow Weapon Help text to be moved/scaled

Along with the rest of the HUD Elements, the user should be allowed to move the help text anywhere they'd like, as well as hopefully scale or change the opacity of the text itself.

Blood Bag HUD Element/Override

Looks like the Blood Bag might need to have its own counter and/or override, as currently its icon isn't moveable and can overlap other configured elements.

Add Hunger/Thirst Stat Counters

Not sure how these slipped by, but the Ugly as Sin Hunger and Thirst stats can be tracked, assuming they're available without hard casting a class and causing a hard dependency somewhere.

Add Fatigue Counter HUD Element

Similar to all the other counter HUD Elements, having something that shows the amount (or even percentage) of fatigue could be useful to some people, and since it's just a property on the HDPlayerPawn, should be straightforward to add.

Add Item Count to Full inventory HUD Element

Currently the full inventory element simply shows what items you have on you, not how many of each you have, like how the Ammo Counters do. Only the Inventory Wheel does this.

It's possible someone may want to not use the wheel and instead just use the FullInventory Element as their selection interface, or even just display it in a panel all the time, and thus being able to see the number of a given item is more useful in this regard.

The question would be, should the counter be tied to a config? Should this same config exist on the Wheel? The Ammo Counters?

Clean up Armour HUD Element Offsets

It seems I misunderstood a bit how graphics are rendered and how their offsets are calculated, leading to some odd behavior in some cases with the Armour HUD Element and its individual pieces.

I'll need to make new Graphic entries in a separate TEXTURES lump to define each Armour piece's graphical offset (defaulting to (0, 0)) so that things can be programmatically consistent yet reskins can adjust individual textures as needed to properly align them.

This will also cause a slight adjustment to the CVARs as things will probably need to be shifted around, but in the end hopefully this makes things a bit more consistent to players and reskins.

UZDrawHelmet causing hard dependency on Hideous Helmet

Oopsie poopsie, should've known extending off of the HHelmet class would cause issues, but this is the first time it's been brought to my attention ๐Ÿคท

I should just have to reimplement a dummy HUDElement with the same namespace and then do nothing.

Add Weapon Status Overrides

With enough effort & time, the HCItemOverrides class should let me do what I need, similar to how the Stat Counters were made using a BaseCounter class and extending it from there. A core BaseWeaponStatus that has all the necessary hooks, methods, getters, etc. to draw every piece of the main/"standard" templates should suffice for the 80% of the weapons out there, then override the methods in the remaining 20% with whatever custom layout they use.

Add Mugshot Bust sprites?

Basically taking inspiration from Arcterezion's HUD, adding a set of shoulder sprites to render under the mugshot that would angle left/right based on the frames where the mugshot also faces left/right.

Might also look into swapping out graphics based on equipped armor(s).

Add Radsuit Overlay Override

Similar to Ted Tweaks' own replacement wherein the Radsuit's normal green overlay was replaced with a custom graphic, this HUD Element will render its own graphic.

I would prefer it if the overlay rendered under the "helmet" background, but that would require the element have a Z-Layer lower than the entire HUD background, which may not be desired. I'll have to investigate how to alter that down the road but at least for now it'd be nice to have a but of a more diegetic radsuit

Reorganize UDV background variants

Similar to how the Radsuit overlay is set up, the current UDVBGA and UDVBGB should actually be 320x200 res images, and a new set of UDVBG*WD should be added for 320x180 (16x9 ratio) and gave the current images be renamed to UDVBG*HD for full 1920x1080 (16x9 ratio) resolution.

This way people who want the standard resolution can use them (which will be the default in the presets) but as always they can choose whatever graphic they want.

Add support for UaS Gyro Stabilizer

As reported on the Discord Server, it seems the Ugly as Sign Gyro Stabilizer doesn't render its text to the screen? Will have to look into how that's being done and port that logic into its own HUD Element.

Add NVG Overlay Override

Mostly to see if the rendering order can be altered, but also to swap out the goggle mask graphic if desired.

Tissue Damage Counter

Seems I missed this one with all the stat counters, should be easy to add once I figure out where to grab the value from

Add support for Merchant's Mercbucks

At its simplest, it should just need to count the amount of Mercbucks items in the player's inventory, but depending on how it calculates total currency, it might need to also account for 7mm, assembly cores, etc.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.