Jump to content

[WIP] Hud Status Bars Enhanced


forli

Recommended Posts

BethesdaForums Thread

TesAlliance Thread

AssimilationLab Thread

 

Hi everyone!
I'm working on a little improvement for HUD Status Bars by TheNiceOne:

  • Manipulate bars at runtime: dynamically create, manipulate and destroy a bar from a script.
  • Support multiple ini: actually, if a mod needs to show some bars, you need to open "HUD Status Bars.ini", copy some lines from the mod's readme and maintain a loooong list of bars. With this improvement, the author just need to provide an ini with all bars for the mod. You just need to put this ini in a specific folder: DONE! When uninstalling, delete the ini: DONE! "HUD Status Bars.ini" will stay untouched.
  • Add support to quests bars: they show your current active quest objective ("Go to Kvatch and find Martin", "Collect 10 Nirnroots: 3/10", "Close the Great Oblivion gate and save <spoiler>. Time left: 00:10:39", etc). Just define a file ini for a quest, containing the bars it needs. DONE! No additional esp required, no scripts, no further operations. HSBE will take care of EVERYTHING and doesn't need any master, apart from the original "HUD Status Bars.esp" (which has no master).
  • Create all ini files for all Vanilla, SI and KOTN quests, so they will have Quest HUD elements for all quests. I may require some help to complete this point in a reasonable time...
  • Create ini files for quest from other mods. Well, I'll leave this to other modders and to anyone with some time to spare to create some bars for some quests
  • Also added a new hud_quest variable and new values
  • Eventually add more features/fields to HUD Status Bars...

Read the guide in the Docs folder on how to use the new feature.

As you can see in the shared folder, the new hud_quest variable speed up things at the point you usually only need 3 rows to define a quest bar, including the final SetStage!!!

 

The next step is optimizing the HUD Status Bars code, thanks to the OBSE 's 21 new greater powers!

If you want some screenshots for what the new quest bars look like, take a look:

 

The "Quest HUD ini season" is open!

Do you have some basic CS knowledge? And do you know how to create an bar for HUD Status Bars? Do you have some time to spare?
If yes, you have everything you need to support this project!
Even creating a single quest ini will grant you a seat in the Hall of Heroes (the credits section).

 

At this link you will find a shared folder where you can find the HSBE esp (beta version: expect some console spam...), a "QuestTest.esp" for testing, and all ini for the first 5 main quests.

  • NOTE 1: You can use the "QuestTest.esp" for testing and learning. The folder already include a "QuestTest.esp.ini" and the quest folders "QuestA", "QuestB" and "QuestC". All these quests have repeatable stages 10, 20, 30 and 40 (10 uncomplete, 30 complete, 40 stop the quest).
  • NOTE 2: The HSBE esp require "HUD Status Bars.esp"

Use this shared folder to upload your files, check the files from other users, and contribute to this project. Just post on this thread what are you doing.

 

 

 

 

 

What do you think about this idea/project? Any suggestion? Critique?
Of course, many people don't like the quest marker on the compass, because it ruin the game immersion, but this mod won't ruin any quest. It will simply print a short message, with the current quest state, example: "Collect 12 rumare scales. You have 5/12".

Edited by forli
Link to comment
Share on other sites

Good stuff right there! I like the two first features. I'm not really into the quest bar thing but many others will so good job for it too. My suggestion would be to have an option to disable the quest bar.

 

I've bookmarked this thread so eventually I'll check it out (working on one of my own WIPs right now :sweat: ).

 

EDIT: Thanks for the reply ↓ Keep up the good work!

Edited by Legotrash
Link to comment
Share on other sites

You don't need to "disable" the quest HUD. Just don't install the quests folders (MQ**, and ArenaDialogue and it's fine!)

When the mod will be released, the quest folders will be an optional addon

 

EDIT: Also, the "Manipulate bars at runtime" feature is still roughly implemented. It simply let you store your bar ID but you need to make any change yourself by touching the xml code.

With the next releases, I'll improve this and give you functions to alter any bar aspect without messing up with xml code yourself.

Edited by forli
Link to comment
Share on other sites

  • 2 weeks later...

Progress update:
The mod rebuild is complete, it uses the most advanced OBSE commands, all CS advices about performance, and it works perfectly. NOT IT'S TIME TO IMPROVE IT!


What's already done:
Check the link to drive and read the readme in Docs for all previously added features. In addition:
- Moved the alpha calculation from the script to the XML (don't know if this increases the performance a bit, but it delete 1-2 function calls)
- Added HUDtxtPercent1, HUDtxtPercent2, HUDtxtValueOfMax1 and HUDtxtValueOfMax2. These values will display float number up to 1-2 decimals, compared to the integer HUDtxtPercent and HUDtxtValueOfMax.
- Added HUDtime2H12 and HUDtime3H12, if you want to display the time in 12 format (AM/PM included... or should I leave this to users?)


Work in progress:
- Fading bars
Tests already done: it works!
With this new feature, you can define 2 new settings: "(Float) hud_fade_in" and "(Float) hud_fade_out". When the bar become visible (for any reason), the bar won't just "pop-up". Now it will slowly fade in in <hud_fade_in> seconds. Same behaviour happens if bar become invisible: fade out in <hud_fade_out> seconds!
If you don't specify a time, or if time is 0, the bar will appear/disappear as normal.
I'm sure this will give the HUD a more elegant appearance!

- Blinking bars
Another feature I'm planning (no tests done yet for this one), is "": when a condition (defined in the ini, as always) is met, the bar will start blinking! It will stop when the condition isn't met anymore.
I'm sure many miss a similar feature even on the vanilla HUD!

- Bars ID
A simply ID you can use to retrieve a bar no matter it's position in the XML. (Should be very easy to implement)


Future plans:
- Not sure if this is possible: Extends the control over the vanilla Health/Magicka/Fatigue bars, weapon and magic icons and the compass.
- [FUNCTIONS: CreateNewIdeas and AskNewIdeas are elaborating...]

Link to comment
Share on other sites

Mega news!

While adding the blink feature I had some time to add a "pop-up" feature too!

Now bars, when becoming visible, can slide from outside the screen to their position, then slide away when their visibility must change!

Also: fade, blink and pop-up can be combined for spectacular new effects!

 

NOTE: Even if a bar start blinking, it won't override the visibility settings. If visibility result to 0, then the bar simply disappear, and no blink happens. It's player responsibility ensure that the bar visibility formula is "compatible" the bar blinking formula (if visible is "tnoHSB.val > 5" and blink is "tnoHSB.val <2", you'll never see it blinking...).

 

 

Now, how do they work?

- Fade: Set "fade_in" and/or "fade_out" float fields. If you define the fade_in and bar become visible, then bar will slowly fade instead of instantly appearing. Same for fade out.

- Pop-up: Set "popup_in", "popup_out" and "popup_dir" float fields. As above: in popup_in/out seconds the bar will enter/exit from the screen border defined by popup_dir.

- Blink: Set a "blink" formula field. If the formula is true, then bar will blink. The result of the formula is the "blink time". (Example: "0.25 * (tnoHSB.frac < 0.3)" will make the bar blink when tnoHSB.frac < 0.3, and it will blink ~4 times per second

 

As I said, you can use all settings together... for spectacular effects never seen before in HSB (and Oblivion, in general)!

Link to comment
Share on other sites

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...