getTextSize broken (simulator and device)

I've been working on Orbeats on Windows with the 2.6.2 sdk, and for some reason every call of getTextSize is not only broken, but unreliably broken, giving different results seemingly based on what's in memory. Sometimes when I restart the game without changing any game code the results are different, and the output of the function changes after playing a level.



These two images are screenshots of the simulator after launching the game and nothing else. You can see that the bubbles that are dynamically drawn based on the size of the text seem slightly broken, and in places where the text itself is placed based on its size they're slightly off too—see the ticker where text overlaps, the strange gap between the song artist and BPM, and the bubbles either being slightly too small or too big all over.



These are those same scenes after playing a level. You can see the placement of text and size of bubbles has changed all over the place; the sorting prompt is partially offscreen, every bubble on the main menu is inexplicably small, etc. The different text in the ticker is from an unrelated bug in my code, but the overlapping issue is still present.

These screenshots were taken in the simulator but also happen on device. This doesn't seem to happen if I build the game using SDK 2.5.0, and if I build older versions of the game that didn't have this issue using 2.6.2 they suddenly have this issue as well.

To reproduce I think it should be as easy as just using getTextSize with a non-default font family.

4 Likes

This will be fixed in the next release, in the mean time I would recommend using the 2.5 SDK if possible.

1 Like

Game looks absolutely amazing btw.

When working locally on a Mac, the issue persists when building with older SDKs — is it a problem with some shared dependency that got upgraded with 2.6? (I didn’t try to install older SDK as primary to check if that fixes the issue, but I tried building with multiple 2.0+ versions that I have still installed and it didn’t work. I use a CI pipeline on Github, so temporarily I test with these builds.)

It's a bug in CoreLibs which was broken in a couple different ways after SDK 2.5. If you revert it/the SDK you will restore functionality.

1 Like

Ah, CoreLibs are always included from the current SDK path (not relative to the location of pdc), right? This explains why the bug persists when building with an older pdc that’s left after installing the newer version.