Certain themes suddenly started misaligning text selections in EmulationStation
-
@jdrassa thanks.
Just out of curiosity, what's the main challenge in getting a set of defaults that keeps previous themes looking the same if they don't set those properties? Is it the different font sizes? Something else?
-
Would Increasing VRAM help? Or should it be left at 100MB? Since I was going through TronkyFran theme and noticed some slow down here and there.
-
@RedBatman I wouldn't increase VRAM. I mean, you can try, but your mileage may vary. You may get it to a point where you're requesting more VRAM than the available allocated GPU memory, and then your textures won't load. You may try to increase it 10 by 10, restarting EmulationStation at each time. From anything more than 120 or so, with a lot of systems, you'll get into that state every now and then.
I keep saying that I should try to figure out how to get that to fail more gracefully, but the few attempts I've done didn't yield particularly convincing results...
I have mine at 80 and I find it stable enough.
-
@jdrassa: You're more than welcome to fix that up. I've not heard of
<selectorHeight>
and<selectorOffsetY>
before. How new are they, how do they work, and are there other new items I need to be aware of? -
@pjft @jdrassa i am traveling so I have no idea what is happening, but it is very concerning that all of these changes affect existing themes. There is no notification system that this is taking place and I had no clue of these new settings I now need to figure out how to incorporate into my themes, and then users all need to know to update the theme as well.
If these new update me continue to negatively affect existing themes it would be nice if a post could sent that tags the theme makers that have their themes posted on the Es downloads through retropie. Thank you
-
Also, if we add the new
<selectorHeight>
and<selectorOffsetY>
and whatever else, will they break themes on older versions of ES, or do they have to be wrapped in<featured>
tags? -
@pjft said in Certain themes suddenly started misaligning text selections in EmulationStation:
@jdrassa thanks.
Just out of curiosity, what's the main challenge in getting a set of defaults that keeps previous themes looking the same if they don't set those properties? Is it the different font sizes? Something else?
@pjft The change that is causing these issues was attempting to fix the scaling of gamelist items across different resolutions. I experimented with different approaches to determining the proper of the and compared the values as percentages of the screen height across the different resolutions. The change I made is using the approach that resulted in the gamelist item more likely to be a consistent percentage of the screen resolution regardless of the resolution.
In the case of the nes-mini theme the font was specifically altered to compensate for another bug that fixed as part of this work.
As for MetaPixel, something odd is going on. The font is being rendered at a much larger size than the value that is set in the theme. The old way of calculating the item height accounted for this, the new way does not.
I need to looking into the cause more. For now, if it is desired, I am willing and able to submit a change to revert back that specific change vs reverting the whole commit since there are other bug fixes included that shouldn't have any negative effects on themes.
-
@jdrassa Hah, had to be mine that stuffs up. Sounds about right.
-
@jdrassa I don't think anyone is suggesting reverting anything at this stage. I was mostly curious about the problem we were tackling, and what made it tricky to solve in a compatible manner. Thanks for the explanation.
Do let me know if you'd like a second set of eyes looking into those calculations - happy to take a look if it helps. Feel free to comment me in on the line/change and I'll see if anything stands out, if it'd help.
Thanks for the prompt replies as usual!
-
@TMNTturtlguy said in Certain themes suddenly started misaligning text selections in EmulationStation:
@pjft @jdrassa i am traveling so I have no idea what is happening, but it is very concerning that all of these changes affect existing themes. There is no notification system that this is taking place and I had no clue of these new settings I now need to figure out how to incorporate into my themes, and then users all need to know to update the theme as well.
If these new update me continue to negatively affect existing themes it would be nice if a post could sent that tags the theme makers that have their themes posted on the Es downloads through retropie. Thank you
You can follow development progress on github. It wasn't intended that this would break existing themes - problems happen sometimes.
There was discussion on the forum and on the ES github about this change.
I don't have the free time to do any "update thread" with ES changes. Feel free to do that yourself if you think it's important.
-
@jdrassa said in Certain themes suddenly started misaligning text selections in EmulationStation:
I need to looking into the cause more. For now, if it is desired, I am willing and able to submit a change to revert back that specific change vs reverting the whole commit since there are other bug fixes included that shouldn't have any negative effects on themes.
I'm happy to leave it until you have had time to look into it, as it only affects this one theme that I know of. But up to you.
-
@BuZz said in Certain themes suddenly started misaligning text selections in EmulationStation:
There was discussion on the forum and on the ES github about this change.
I don't have the free time to do any "update thread" with ES changes. Feel free to do that yourself if you think it's important.Point taken, I am not suggesting that you or another moderator needs to do this, I am requesting that @jdrassa or whomever is making and submitting the changes send a quick update that tags us. There are a ton of threads on the forum and I try to stay up to date, but with travel and family it is easy to miss a few topics. All it would take is starting a single thread that tags the theme makers in the first post, we then follow it, and a simple note or link to any updates/changes could be posted there and we would all know. I could set this thread up, but I can't make anyone use it, thus the request.
@BuZz said in Certain themes suddenly started misaligning text selections in EmulationStation:
it only affects this one theme that I know of. But up to you.
per the posts above it appears to affect nes-mini/famicom mini, metapixel, as well as the ComicBook Theme.
@jdrassa, Your work is awesome and I really appreciate all you do, i apologize for firing off a negative toned message yesterday. No need to undo what you have done. I will look into adjustments without adding the selector height and offset code as i don't want to break the themes for older versions of ES when i have a chance. Moving forward and improving is always the main goal and I don't want to slow down or stop your great work. I was/am just requesting a heads up is all. Thank you for all you do and again, sorry for the rude post.
@BuZz same to you and the moderators, sorry for the rude message, I had no ill intentions towards anyone including the moderators, @jdrassa, @pjft or yourself. I was coming out of some very important and stressful work meetings and am running on no sleep! I appreciate your time and all you do. Thanks everyone and have a great weekend.
-
no worries.
nes-mini/famicom mini author requested the changes to workaround an issue hence they were to be changed. So just your theme and the other one are affected. Most themes still work fine. It wasn't intentional that other themes would be broken by the change.
If you want to be closely involved in ES development you will need to follow it on github though as that's where the development happens (and for example the ES theme docs are updated etc).
-
@TMNTturtlguy No bother. We know that written communication in forums is easily misinterpreted, I usually assume the best intent from everyone :)
Hope work is going well, and that you get some rest and family time this weekend.
Best!
-
Does anyone have the github link where the new
selectorHeight
stuff is discussed? Are there any examples of how it's supposed to be used? Will themes break in older versions of ES ifselectorHeight
is used, or does it need to be used in a<feature>
tag? -
@mattrixk Here is the forum topic here the changes were discussed.
https://retropie.org.uk/forum/topic/10435/long-standing-es-bugs/Here is a link to the theme documentation on github.
https://github.com/RetroPie/EmulationStation/blob/master/THEMES.md#textlistBy default
selectorHeight
is set to 1.5 times the size of the font, with the text aligned to be roughly in the the center . This matches the previous hard-coded behavior in ES. The main usage scenario is if you are using the existinglineSpacing
option (which previously did not function properly), and want the selector bar to be taller then the default size.In the case of MetaPixel, with the current state of ES you would want to use
lineSpacing
to adjust the spacing of the list items and then useselectorHeight
to increase the height. However, I do plan to investigate the issue and hopefully come up with a way of fixing it. Currently, there isn't<feature>
tag support for these options, and using either of the new options would break older versions of ES. If I can't come up with a good fix, i can always double back to add them. One option for now, would be to use the last feature that was added, which I believe would be "z-index". The changes would still break your theme for an user who has updated to a build with z-index support, but the not the latest, but those users are probably more likely/willing to update ES again if something isn't working properly.@TMNTturtlguy the effect that this has on your Comic theme is very minor. Essentially the text of the selected item appears a couple of pixels lower, but still completely within the selector bar.
There are ways that we can generate a change log from the git history. When I find time, I may try to look into semi-automating the process.
-
@jdrassa Thanks for the explanation/info. At this point it appears that without adding in the new selector height information I cannot modify my text list. As you said, at least the text is within the selector bar. I think it has to do with the font type itself. Not sure why it would have been centered in the selector bar just like all the other fonts, but now it is not?
@ruckage I downloaded font forage to see if i could modify the text to move all of the font above the horizontal baseline, however I cannot seam to figure out how to successfully do this. I can set the amount they can move above or below, but not tell them all to simply move up above the baseline. My thought is that if the font is floating above the baseline, I can recenter the font within the existing selector bar. Do you have any ideas for me on how i might accomplish this? Thanks
-
I'm sorry, I'm partially to blame for this it seems as these changes were kindly made by @jdrassa at my request. They are however worthwhile as previously the gamelist had several bugs which meant it didn't behave how it was supposed to and now it does. I knew it would mess up my theme because I was using some hacks to get it to behave how I wanted but didn't realise it would impact other themes as well.
Any changes needed though should be minor but the new tags obviously aren't supported in older versions of ES.@TMNTturtlguy said in Certain themes suddenly started misaligning text selections in EmulationStation:
@ruckage I downloaded font forage to see if i could modify the text to move all of the font above the horizontal baseline, however I cannot seam to figure out how to successfully do this. I can set the amount they can move above or below, but not tell them all to simply move up above the baseline. My thought is that if the font is floating above the baseline, I can recenter the font within the existing selector bar. Do you have any ideas for me on how i might accomplish this? Thanks
That's actually very similar to what I had to do originally to get my gamelist to work properly though in my case it was because linespacing was broken in ES. It's late here at the moment but leave it with me and I will have a look at the font tomorrow and see if I can do anything to help.
-
-
@TMNTturtlguy said in Certain themes suddenly started misaligning text selections in EmulationStation:
@ruckage thank you so much sir! @jdrassa fix and your request are well worth it. I plan to use it in the future. Thanks for your help.
Who needs sleep zzzzzzzzzz, sorry where was I ;)
I've modified the font by moving all the character up and it looks like it fixes the problem and doesn't seem to break the alignment in older versions of ES either. I'm not 100% sure, I have so many versions of ES now I'm losing track a bit - I'm not very organized :). I've tested it in a few different versions though including what I believe is the latest version and the gamelist text is centered on the selector bar on all of them.
You can download the font from mega: fixed font
It is a really hacky fix however so should probably be fixed correctly in the future but as long as it works that's the main thing, let me know how it goes.
It 3.40am now so I'm off to bed.
Contributions to the project are always appreciated, so if you would like to support us with a donation you can do so here.
Hosting provided by Mythic-Beasts. See the Hosting Information page for more information.