[SOLVED] [Lemur] Button label missing (Resolution-related anomaly)

I’ve run into an odd issue with Lemur, where the label of some buttons become invisible at a specific resolution.

Look at the panel on the left side, the counters for the inventory items are affected.
Here’s how it’s supposed to look:

And here’s a 3840x2160 shot with missing numbers:

Every resolution other than 4k I’ve tried has been fine (even trying to launch the game in resizable mode and clicking maximize)

The items are handled via customized buttons, the label being used for the counter.

Here’s a pastebin of the entire class that constructs the inventory rows visually:
https://pastebin.com/YiBStfvZ
It also contains the custom button class at the bottom, which is only modified slightly to handle a “hidden” trigger, for when the item slot is showing nothing.

I’ve tried adjusting the font size, button size, label H/V alignment, double checked that the buttons DO contain the text even when invisible, now I’m out of ideas.

The button labels do scale properly with resolution and aspect ratio does not seem to affect it either

Any help would be appreciated!

I’m not sure what the issue could be or why 4k resolution is the magic trigger.

I assume you’ve confirmed that the world transform for those little labels is basically the same in both cases?

I wonder if this is something specific to BitmapText as I’m not sure why Lemur would care about the screen resolution.

How would I go about getting the world transform of the label specifically?
I figured I’d get the transform of the buttons since they’re an extension of label anyway:

The values do seem accurate for the resolution

2560x1440

BUTTON 0 Transform[ 5.3333335, 595.30005, 8.026667]
[ 0.0, 0.0, 0.0, 1.0]
[ 1.3333334 , 1.3333334, 1.3333334]
BUTTON 1 Transform[ 123.72889, 595.30005, 8.026667]
[ 0.0, 0.0, 0.0, 1.0]
[ 1.3333334 , 1.3333334, 1.3333334]
BUTTON 2 Transform[ 242.12444, 595.30005, 8.026667]
[ 0.0, 0.0, 0.0, 1.0]
[ 1.3333334 , 1.3333334, 1.3333334]


3840x2160

BUTTON 0 Transform[ 8.0, 892.95, 12.04]
[ 0.0, 0.0, 0.0, 1.0]
[ 2.0 , 2.0, 2.0]
BUTTON 1 Transform[ 185.59332, 892.95, 12.04]
[ 0.0, 0.0, 0.0, 1.0]
[ 2.0 , 2.0, 2.0]
BUTTON 2 Transform[ 363.18665, 892.95, 12.04]
[ 0.0, 0.0, 0.0, 1.0]
[ 2.0 , 2.0, 2.0]


1920x1080

BUTTON 0 Transform[ 4.0, 446.475, 6.02]
[ 0.0, 0.0, 0.0, 1.0]
[ 1.0 , 1.0, 1.0]
BUTTON 1 Transform[ 92.79666, 446.475, 6.02]
[ 0.0, 0.0, 0.0, 1.0]
[ 1.0 , 1.0, 1.0]
BUTTON 2 Transform[ 181.59332, 446.475, 6.02]
[ 0.0, 0.0, 0.0, 1.0]
[ 1.0 , 1.0, 1.0]

The text is just part of the scene graph right? So find the right child and print its world transform.

Oh, right.
Here’s my recursive output with some indentations put in after the fact to make it easier to read.
Could it be that the Z position is clipping behind the camera’s view?

1920x1080

CHILD null (BitmapText)								// Text?
	Transform[ 98.79058, 717.9061, 207.02]
		[ 0.0, 0.0, 0.0, 1.0]
		[ 1.0 , 1.0, 1.0]
	CHILDREN OF null (BitmapText)
		CHILD BitmapFont (BitmapTextPage)
			Transform[ 98.79058, 717.9061, 207.02]
				[ 0.0, 0.0, 0.0, 1.0]
				[ 1.0 , 1.0, 1.0]
	END OF CHILDREN FOR null (BitmapText)
CHILD null (BitmapText)								// Shadow?
	Transform[ 99.79058, 716.9061, 206.02]
		[ 0.0, 0.0, 0.0, 1.0]
		[ 1.0 , 1.0, 1.0]
	CHILDREN OF null (BitmapText)
		CHILD BitmapFont (BitmapTextPage)
			Transform[ 99.79058, 716.9061, 206.02]
				[ 0.0, 0.0, 0.0, 1.0]
				[ 1.0 , 1.0, 1.0]
	END OF CHILDREN FOR null (BitmapText)


///////////////////////////////
3840x2160

CHILD null (BitmapText)								// Text?
	Transform[ 197.58116, 1435.8123, 414.04]
		[ 0.0, 0.0, 0.0, 1.0]
		[ 2.0 , 2.0, 2.0]
	CHILDREN OF null (BitmapText)
		CHILD BitmapFont (BitmapTextPage)
			Transform[ 197.58116, 1435.8123, 414.04]
				[ 0.0, 0.0, 0.0, 1.0]
				[ 2.0 , 2.0, 2.0]
	END OF CHILDREN FOR null (BitmapText)

CHILD null (BitmapText)								// Shadow?
	Transform[ 199.58116, 1433.8123, 412.04]
		[ 0.0, 0.0, 0.0, 1.0]
		[ 2.0 , 2.0, 2.0]
	CHILDREN OF null (BitmapText)
		CHILD BitmapFont (BitmapTextPage)
			Transform[ 199.58116, 1433.8123, 412.04]
				[ 0.0, 0.0, 0.0, 1.0]
				[ 2.0 , 2.0, 2.0]
	END OF CHILDREN FOR null (BitmapText)

EDIT: Oh my god. That was it. I was scaling the interface with

setLocalScale(uiScale);

instead of

setLocalScale(uiScale, uiScale, 1f);

Thanks for pointing me in the right direction!

3 Likes

Yay!