rsn8887 / uae4all2

A fast and optimized Amiga Emulator for Vita and Switch
GNU General Public License v2.0
83 stars 10 forks source link

Proposal: On-Screen Keyboard Revisions #26

Closed ghost closed 5 years ago

rsn8887 commented 5 years ago

Amazing, thanks. If you don’t mind I will include these (system font - it looks the best IMO) in a future release, together with a new option “keyboard style: Original, warm, cool, dark“

Of course, if you really find some more time and are willing to do it, it would be great to have uk, German and French versions of the system font versions, to allow everybody to change their style. Then it would be perfect!!!

rsn8887 commented 5 years ago

Ok I will start coding the new option.

rsn8887 commented 5 years ago

Ok the new option is done. Ready when you are :)

rsn8887 commented 5 years ago

Awesome, thanks! I will release a new version tonight! I will try to fix the blinking you mentioned, too.

rsn8887 commented 5 years ago

I think it also looks awesome.

Ok the warm, cool, and dark keyboards are in v1.90, just released.

rsn8887 commented 5 years ago

The size of the menu_screen surface in pixels is given by menu_screen_width and height in menu.cpp.

The screen that will eventually contain all the menu gfx is opened as prSDLScreen in line 430 of menu.cpp.

A separate SDL Surface text_screen is used to draw all the menu gfx at 320x240, apart from the hi-res thumbnails. text_screen is blitted onto prSDLScreen with a scaling of 2x. Then, the thumbnail, if it exists, is drawn onto prSDLScreen. This allows hi-res thumbnails with a lo-res menu.

So we simply adjust menu_screen_width to make the prSDLScreen larger horizontally, and it will almost work. However, now all the text etc. will be drawn too far left, not centered anymore.

The easiest solution to this problem is to draw the background directly onto prSDLScreen (instead of text_screen). Then we draw text_screen on top with a new centering, taking into account the widescreen size. Then the thumbnail centering also has to be fixed, since it is drawn in hi-res after everything else has been drawn.

rsn8887 commented 5 years ago

I will make a commit so you can see the changes that should make it work.

rsn8887 commented 5 years ago

Ok I made a commit. It is untested since I don't have my Vita. This should implement widescreen menu backdrops. The menu is now drawn with sharp-bilinear-simple, to make it fill the screen vertically in all cases. Since we are dealing with three resolutions (Vita 960x544, Switch docked 1080p, Switch handheld 720p), this seemed the easiest solution I could come up with.

rsn8887 commented 5 years ago

I suggest using dkp-pacman to install devkitpro. But, yes, I hear you. I use a MacBook for development which makes it all a bit easier, since it has a bash shell and the usual Unix command line tools.

rsn8887 commented 5 years ago

I implemented the widescreen menu background in 1.91. I think this closes the issue. Thanks for the great work!