• 🏆 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!

XpBar Coloring

Status
Not open for further replies.
Level 26
Joined
Aug 18, 2009
Messages
4,097
UI\Feedback\XpBar\

from the files there, only human-xpbar-border.blp and human-bigbar-fill.blp seem to be used.

The texture is in shades of gray but ingame you see it being magenta-colored. I would like to know where the recoloring information comes from. The folder holds a model file with a magenta-colored geoset animation as well but that model is not used at all, deleting it makes no difference.

Nor did UI\MiscUI.txt, UI\MiscData.txt, UI\war3skin.txt, Units\MiscData.txt and Units\MiscGame.txt reveal anything.

edit: And strangely, the timed life bar that has a path under UI\Feedback\ProgressBar\ actually accesses xp as well.
 
Last edited:
The color is built into the model itself. If you go to UI\Feedback\XpBarConsole.mdx (I don't remember the exact path, but it is in the same directory as the textures), you can extract the model. Open it in Magos, go to "Windows -> Geoset Animation Manager", click the GeosetAnimation, and then there should be some magenta color. Change that.

Alternatively you can convert it to MDL and edit:
Code:
Geoset Anim {
        GeosetId 1,
        static Color  {  0.513726, 0, 0.545098  }, 
}
{ Blue, Green, Red } iirc
 
Yeah you're right. I should've tested it (and I should've read the post more carefully). I'm not quite sure what model it uses. For now, perhaps this will help *a little* (at least for users who look this up):

UI\Feedback\XpBar\human-bigbar-fill.blp does affect the color, but as you said it is warped. It turns out the RGB is just warped by the factors (0.545098, 0, 0.513726) (more or less). So if you have a white texture (255, 255, 255), it would become:

R: 255 * 0.545098 = 139
G: 255 * 0 = 0
B: 255 * 0.513726 = 131

Same rule applies for other colors. Sadly, because the green value is multiplied by 0, you can't have any green in it. You can get mixtures of red and blue though--or the colors themselves. You can get blue with (0, 0, 255), red with (255, 0, 0). etc. Note that you will may have to change the actual texture a bit. It currently has a gradient that fades to white (which is why you'll always end up with a magenta/pinkish hue at the top), so if you want a solid color you might need to use a solid/somewhat solid texture.
 
Status
Not open for further replies.
Top