TR1X
TR1X copied to clipboard
UI scale fix
Checklist
- [ x] I have read the coding conventions
- [x ] I have added a changelog entry about what my pull request accomplishes, or it is an internal change
Description
... This converts the line draw hack for the GUI into a proper triangle based solution. Both PC and PS1 UI layout. This also handle the half sizes on higher resolution better now you should get something that is half as thick on both and not the 2/1 thickness of before but it depends on your resolution. It is basically only designed to work on 16:9 and would go wrong on my 4:5 screen but it is also fine on my 16:10. This is because I have to scale based upon the 640x480 original and I chose the Y as the scaling determinate as the "9" is very common while the 16 can get ultra wide these days and most people would be likely to run this on a X:9 monitor and I'm the only freak who runs 5:4 monitors in 4:5 orientation and X:10 are sadly rare these days and any body running a 3:2 monitor is too damn lucky and they can lump it, but 3:2 is 15:10 which given how well it works on a 16:10 ( I don't notice anything off on mine ) should probably actually work better. Sadly I don't have a 3:2 to test on.
Along the way I found some other issues, namely for some reason the code uses Triangle Fans but the Triangle Strip function was called, and the Triangle Strip function actually dealt with a Fan. So I've renamed the Strips to Fan and added more Strip functions. I would suggest as another PR we adjust the Fan creation logic we have to be make Strips, as Fan support has now been removed from modern versions of GL and DX, and we are making custom geometry with a whole 2 triangles of which it is trivial to change and will simplify any porting done in the future. Unless I missed some internal level data calling the Fan functions somewhere.