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

Image Handle

Status
Not open for further replies.
Level 19
Joined
Mar 18, 2012
Messages
1,716
It's nowhere documentated so I'll share it here:

Concerning native call SetImageConstantHeight(image, boolean, z)
What we already know:
  • Only works at all if the boolean is set to true.
  • Is the only function which can modify an image z offset.

I was working on TextSplat2 and imported a normal meele map.
Unlike in the previous empty demo map not a single text was shown.
It took hours to locate the problem.

Glitch with cliffs:

1. If you create a new image and set render to true, you will see the image ingame
independant from the terrain z value.

2. If you use call SetImageConstantHeight and the terrain level is equal or lower the passed in z you will see the image.

3. If you use call SetImageConstantHeight and the terrain level is bigger than the z you passed in, you will not see the image.

What you always have to use is call SetImageConstantHeight(img, true, z + GetLocationZ(loc))

Grrrrrr 2 hours of despair. I nearly graveyarded the system I'm working on since a week...

Edit: I can make a full documentation about images, when I have the time.
 
Last edited:
Level 19
Joined
Mar 18, 2012
Messages
1,716
Yes. Actually it makes perfect sense, but also can be irritating, which function uses terrain level and which not

For example:
CreateDestructable - places object on terrain level
CreateDestructableZ - uses absolute world z.

CreateImage - paints image on terrain level.
SetImageConstantHeight - uses absolute world z.
 
Level 26
Joined
Aug 18, 2009
Messages
4,097
I do not find it weird that without stating height, it clips to the terrain. CreateDestructableZ even has the Z in the name and iirc, CreateDestructable even means that it keeps being glued to the terrain z, whereas CreateDestructableZ creates one with static z.

More confusing is if it's absolute z or offset to the terrain. Then again, I currently do not know an example that would fit the latter. SetUnitFlyHeight is explicitely named differently.
 
Status
Not open for further replies.
Top