Portraits problem

When you select a hero, or a unit, their portrait no longer show up in a frame, but on a blank space, over the map, so the selected hero is like, cutout on it. I love that, it looks new and it shows more then just their face, it includes shoulders, upper body.
But it does make me wonder- how can certain heroes fit on that space. Illidan for example, with his huge wings. If he is to be shown the same way, his wings will cover a lot of map, sticking higher then other heroes. In the other hand, if they limit the space a hero can be shown on, then his wings won’t be shown, but cut at some point. That won’t look as awesome as Arthas for example, who has this square shape and fit really nicely on that part of the screen. And that sucks, having the new way of portraits working so well for some heroes, but not others.
I wonder if developers came up with some kind of solution for this. The only thing that comes to my mind, that they could do is- heroes that have parts of their body sticking out too much, to be placed more away from us, so they can fit. That would work, but it WOULD look less awesome than heroes that are more zoomed in. I’m freaking out, what’s going to happen… :C

2 Likes

I dislike this part of the UI. I hope, the whole UI is going to be reworked. The HotS alpha UI looked terrible, too.

I like your question about Illidan, it would indeed not make sense.

Zoomed out models would look horrible. Certain custom maps have it (often bugged out).

1 Like

What’s your screen resolution if I may ask?

I share your concerns. SC, WC3 , SC2 and even HOTS all use frames around portraits. Why does the Reforged team decide to go the other way? :thinking:

Maybe because showing the unit’s high-poly model in the UI section is a good way to flex all that hard work artists have put in? Putting their intentions aside, it does have the potential to obstruct strategic clarity.

1 Like

'cause it’s so damn hard to rewrite the whole UI of a game after 15+ years of iterative development.
Here’s a list of frame definition files currently in WC3 and I assure you the amount of work that’d be needed to remake them is not worth it:

C:\Warcraft III!\CascView\Work\war3.w3mod\ui\framedef\framedef.toc
C:\Warcraft III!\CascView\Work\war3.w3mod\ui\framedef\glue.…
advancedoptionsdisplay.fdf
advancedoptionspane.fdf
battlenetchannellist.fdf
battlenetchatactionmenu.fdf
battlenetchatpanel.fdf
battlenetchatroom.fdf
battlenetclaninvitation.fdf
battlenetclanmatelistbox.fdf
battlenetclanpane.fdf
battlenetcustomcreatepanel.fdf
battlenetcustomjoinpanel.fdf
battlenetcustomloadpanel.fdf
battlenetcustompanel.fdf
battlenetfriendslistbox.fdf
battlenetfriendspane.fdf
battleneticonselectbox.fdf
battlenetmain.fdf
battlenetmatchmakerpanel.fdf
battlenetnewsbox.fdf
battlenetprofilepanel.fdf
battlenetscheduledgame.fdf
battlenetstandardpanel.fdf
battlenetstatusbox.fdf
battlenetteaminvitation.fdf
battlenetteampanel.fdf
battlenettemplates.fdf
battlenetuserlistbox.fdf
battlenetuserlistboxitem.fdf
campaignlistbox.fdf
campaignmenu.fdf
checklistbox.fdf
customcampaignmenu.fdf
decoratedmaplistbox.fdf
dialog.fdf
dialogwar3.fdf
gamechatroom.fdf
listbox.fdf
listboxwar3.fdf
loading.fdf
loadsavedgamescreen.fdf
localmultiplayercreate.fdf
localmultiplayerjoin.fdf
localmultiplayerload.fdf
mainmenu.fdf
mapinfopane.fdf
maplistbox.fdf
mappreferencebox.fdf
moviescreen.fdf
multiplayermenu.fdf
optionsmenu.fdf
playerslot.fdf
scorescreen.fdf
singleplayermenu.fdf
skirmish.fdf
standardtemplates.fdf
teamsetup.fdf
viewreplayscreen.fdf
C:\Warcraft III!\CascView\Work\war3.w3mod\ui\framedef\ui.…
alliancedialog.fdf
allianceslot.fdf
browserframe.fdf
chatdialog.fdf
cinematicpanel.fdf
consoleui.fdf
escmenumainpanel.fdf
escmenuoptionspanel.fdf
escmenusavegamepanel.fdf
escmenutemplates.fdf
gameresultdialog.fdf
gamesavesplashdialog.fdf
infopanelbuildingdetail.fdf
infopanelitemdetail.fdf
infopaneltemplates.fdf
infopanelunitdetail.fdf
leaderboard.fdf
logdialog.fdf
multiboard.fdf
observerpanel.fdf
questdialog.fdf
replaypanel.fdf
resourcebar.fdf
scriptdialog.fdf
simpleinfopanel.fdf
suspenddialog.fdf
timerdialog.fdf
unresponsivedialog.fdf
upperbuttonbar.fdf
C:\Warcraft III!\CascView\Work\war3.w3mod_locales\enus.w3mod\ui\framedef.…
datestrings.fdf
globalstrings.fdf
infopanelstrings.fdf
networkstrings.fdf
C:\Warcraft III!\CascView\Work\war3.w3mod_locales\enus.w3mod_balance\custom_v0.w3mod\ui\framedef\infopanelstrings.fdf
C:\Warcraft III!\CascView\Work\war3.w3mod_locales\enus.w3mod_balance\melee_v0.w3mod\ui\framedef\infopanelstrings.fdf

Edit: In one of the files I even found reference to Taiwan law. Like who’d think the UI of a game needs to worry about what’s legal in TW? But they do. Legal team put it there and it must stay there or involve lawyers again. (Note: It’s the whole /verify-tw fiasco.)

You guys realize they said they are looking into the possibility of allowing players to customize their UI? i think a lot of people have made it clear they didnt like the portraits, my hope is we will be able to resize or even hide them entirely

2 Likes

That’s just code for “We’ll check how hard it really is, then quietly give up”. I know I’ve done it…
Premise: Sounds easy, let’s do it.
1 hour in: Hey I’m making good progress here!
One week in: Chugging along…
A month: Oops, I haven’t touched that project in three weeks… Well, let’s see my progress at least: Less than one percent!?!?
Gives up.

It’ll be easier to maintain their current spaghetti code and keep hacking it and patching it - than to rewrite it in a new UI engine. So much stuff in framedef.fdf is just archaic code that is there for a reason, is written like that for a reason, and works only if left well alone. Don’t poke the beast!

Edit:

The below code comes from cinematicpanel.fdf:
in \Warcraft III!\CascView\Work\war3.w3mod\ui\framedef\ui
It is somewhat relevant to our on-topic problem even though it’s for cutscenes not the actual game UI. (We do not have such access to the game UI, so assume it’s even more complicated to edit than cinematic mode:

// used to hide whatever is below the portrait from showing through
Frame "BACKDROP" "CinematicPortraitBackground" {
    Width 0.116,
    Height 0.116,
    SetPoint BOTTOMLEFT, "CinematicPanel", BOTTOMLEFT, 0.014, 0.014,
    DecorateFileNames,
    BackdropBackground  "EscMenuBlankBackground",
}

// NOTE: If you change the dimensions or location of the
// "CinematicPortrait", then you also need to change the 
// above "CinematicPortraitBackground" to match those
// same dimensions.

Frame "SPRITE" "CinematicPortrait" {
  Width 0.116,
  Height 0.116,
  SetPoint BOTTOMLEFT, "CinematicPanel", BOTTOMLEFT, 0.014, 0.014,
}

Frame "BACKDROP" "CinematicPortraitCover" {
  Width 0.144,
  Height 0.144,

  SetPoint BOTTOMLEFT, "CinematicPanel", BOTTOMLEFT, 0.0, 0.0,

  DecorateFileNames,
  BackdropTileBackground,
  BackdropBackground  "EscMenuBlankBackground",
  BackdropCornerFlags "UL|UR|BL|BR|T|L|B|R",
  BackdropCornerSize  0.048,
  BackdropBackgroundSize  0.256,
  BackdropBackgroundInsets 0.01 0.01 0.01 0.01,
  BackdropEdgeFile  "EscMenuBorder",
  BackdropBlendAll,
}
1 Like