• 🏆 Texturing Contest #33 is OPEN! Contestants must re-texture a SD unit model found in-game (Warcraft 3 Classic), recreating the unit into a peaceful NPC version. 🔗Click here to enter!
  • It's time for the first HD Modeling Contest of 2024. Join the theme discussion for Hive's HD Modeling Contest #6! Click here to post your idea!

Minimalistic Custom UI with easy to use example and very minimal code (Tested for Reforged)

Level 6
Joined
Dec 4, 2019
Messages
35
I started with Gothic Minimalistic UI Widescreen and used some basic easy filters to make it as minimal as possible while still showing all info in paint.net (could probably go further), I converted it using BLP Lab v0.5.0 and used https://www.hiveworkshop.com/attachments/teamglow-blp.19941/ as a blank .blp. I also used the Reforged UI Maker to get the default UI removed when possible.

Instructions:

  • Import TeamGlow.blp linked above and the 4 other ".blp" files attached to this post into the Asset Manager -> Import File
  • Go into Advanced -> Game Interface
  • Check "Use Custom Game Interface"
  • Scroll down to these values and change them to the ones from downloaded attachments and TeamGlow.blp clicking Edit Value -> Import and search for the imported files (the default will have "war3mapImported\" in front, it is common to remove that part but not necessary for this tutorial):

Untitled.jpg


- Now input the JASS code below into a "New Custom Script" in Trigger Editor:

Code:

JASS:
library NewGUILIB initializer init
private function init takes nothing returns nothing

call BlzFrameSetVisible(BlzGetOriginFrame(ORIGIN_FRAME_PORTRAIT, 0), false) // Remove portrait, causes update issues

call BlzFrameSetVisible(BlzGetFrameByName("ConsoleUIBackdrop",0), false) // Remove black bar

endfunction
endlibrary


- That's it!


End Result:

https://www.hiveworkshop.com/attachments/ss-raptor-t1-left-png.434660/ (has some reshade and uses the code below to change hero icon/life/mana position, from the project in my signature)


Interesting alternative JASS code if you want your hero life/mana more centered in the empty portrait spot (looks bad if you have more than two heroes, good for RPGs):

JASS:
library NewGUILIB initializer init
private function init takes nothing returns nothing

call BlzFrameSetVisible(BlzGetOriginFrame(ORIGIN_FRAME_PORTRAIT, 0), false) // Remove portrait, causes update issues

call BlzFrameSetVisible(BlzGetFrameByName("ConsoleUIBackdrop",0), false) // Remove black bar

call BlzFrameSetAbsPoint(BlzGetOriginFrame(ORIGIN_FRAME_HERO_BAR,0), FRAMEPOINT_TOPLEFT, 0.26, 0.16) // Top left corner of new bar position
call BlzFrameSetAbsPoint(BlzGetOriginFrame(ORIGIN_FRAME_HERO_BAR,0), FRAMEPOINT_BOTTOMRIGHT, 0.31, -0.18) // Bottom right corner

call BlzEnableUIAutoPosition(false) // Prevents resizing window changing GUI position

endfunction
endlibrary


Issues:

The health doesn't update as often as it should due to disabled portrait, I might make a portrait version that updates if anyone is interested, I went without portrait for space and the fact that my projects had bugs with the portrait. Removing the line "call BlzFrameSetVisible(BlzGetOriginFrame(ORIGIN_FRAME_PORTRAIT, 0), false)" will fix it but then you'll have to make a good looking .blp to work with it.
 

Attachments

  • HumanUITile01.blp
    79.6 KB · Views: 45
  • HumanUITile02.blp
    103.8 KB · Views: 24
  • HumanUITile03.blp
    54.3 KB · Views: 30
  • HumanUITile04.blp
    22.1 KB · Views: 24
Last edited:
I also believe as Chaosy does, this doesn't really belong as a tutorial. We do have a Skins section, with a subsection for User Interface though, where this could be used.

My issues with the post:
1) You're using a texture type the game does not use anymore, we've moved all in-game files from .blp to .dds; there are filesize and performance benefits to this change.
2) No link to the tool used to make any changes, and no link to the Reforged UI Maker. Also using a deprecated tool, BLPLab.
3) This point is subjective, but you don't ever need to open any of the menu's you have shown to change these files. You can handle this directly inside the Import Manager like so:
1635985602304.png


4) That code looks entirely useless and abysmally made -

We have technology,
vJASS:
library SomethingMoreUsefulHere initializer init
    private function init takes nothing returns nothing
        call BlzFrameSetVisible(BlzGetOriginFrame(ORIGIN_FRAME_PORTRAIT, 0), false) // This line hides the portrait
        call BlzFrameSetVisible(BlzGetFrameByName("ConsoleUIBackdrop",0), false) // This line hides the giant black bar
    endfunction
endlibrary

You had globals, but it was empty, I do not know why it was there.

We also have more than one language these days, it's nice to consider those people too.
Lua:
do
    local timer = CreateTimer()
    TimerStart( timer, 0, false, function()
        BlzFrameSetVisible(BlzGetOriginFrame(ORIGIN_FRAME_PORTRAIT, 0), false) -- This line hides the portrait
        BlzFrameSetVisible(BlzGetFrameByName("ConsoleUIBackdrop",0), false) -- This line hides the giant black bar
        DestroyTimer(timer)
    end)
end

5) You don't have any mention of the Tile05 and Tile06, yet they are in your screenshot, which should also be directly presented in the tutorial and not through another link.
1635986397348.png

Those two textures kind of stuck out as they are not even really connected, here are two blank imports you can use to hide them (attached at bottom)

The path for those is:

Human Path:
UI\Console\Human\HumanUITile05.dds
UI\Console\Human\HumanUITile06.dds
Orc Path:
UI\Console\Orc\OrcUITile05.dds
UI\Console\Orc\OrcUITile06.dds
Undead Path:
UI\Console\Undead\UndeadUITile05.dds
UI\Console\Undead\UndeadUITile06.dds
Night Elf Path:
UI\Console\NightElf\NightElfUITile05.dds
UI\Console\NightElf\NightElfUITile06.dds

6) I don't really understand the purpose of "TeamGlow.blp" replacing the inventory, can you explain what that does a bit more?
7) You mention you "reshade" the image, if you don't plan on telling us how to mimic the end result behavior, I think it would be best to not include that in that presentation.
 

Attachments

  • Tile05.dds
    144 bytes · Views: 22
  • Tile06.dds
    144 bytes · Views: 18
Top