I've been looking into correcting the aspect ratio of the tile layer generator output for widescreen modes, as I've noticed vf3 and lemans24 would benefit from it:

I understand this wouldn't be "accurate" behavior, but once you're running games in 16:9 (which a lot of users do) I guess the user is not very concerned about accuracy anymore. So full disclaimer, I'm not a coder by any extent of the imagination, but I looked through Render2D.cpp and aside from being amazed at how well documented everything is, I found out that commenting out line 549 in the Frame Display Functions section
- Code: Select all
glViewport(m_xOffset - m_correction, m_yOffset + m_correction, m_xPixels, m_yPixels);
produces some of the desired effect, affecting all 2D layers (I'm sure this is a very hacky way to go about things, but I don't know any better):



Unsurprisingly, Le Mans 24's attract mode and ending now looks a little bit weird:


So obviously this is far, far from a perfect solution, but all in all, I think this is still a desirable tradeoff.
Now, the reason I'm posting is to ask the devs for some pointers, because I'd like to correct only the bottom layer, leaving things in the top layer like HUDs and menus displaying in 4:3. If I understood anything at all, it seems like right now both layers are drawn to one surface, and in order to get this working the way I want, I'd need to get the layers to draw to different surfaces so I can correct them independent of each other. Am I going in the right direction?
Anyway, I hope I'm not being too much of a hassle. I really appreciate the enormous amount of work you all put into making this beautiful piece of software.