-
Notifications
You must be signed in to change notification settings - Fork 1
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Change the internal resolution #62
Comments
The other solution should be select a screen format, kinda like Mystery of Solarus' language selection at the start of the game, set the resolution automatically and then load all files with the proper resolution Screen height will always be 240 |
Reminder: Movement in the pause menu need to be modified as well |
Okay, this is how it works I decided that the resolution would be automatically set, and not toggled by the player, the reason is, the more higher the resolution is, the more the engine need to display, and in fullscreen this can be a mess. When the player starts the game, he would face this screen, after the Solarus Logo, if the resolution is different than the choice, the code would copy, erase and replace quest.dat with the proper resolution and then it will say "Please restart the game". Then, at the next start, the new resolution will be applied, choosing the same screen format will pass this screen. The limitation of resolution come here because some menus use specific size bitmaps, the file selection, the save menu background and the pause menu background (did used a trick with a png mask and a surface color though) and because as said above, it will be lagfest. The height rest unchanged , it is still at 240, no matter the mode selected. Tested on a 16:10 screen, perfect |
What if the quest data is in an archive data.solarus? quest.dat already supports multiple quest sizes. We could implement sol.video.set_quest_size() function if it helps. |
That could help indeed, I did not take these in consideration, set_quest_size could help |
Thank you for implementing such feature, I'm pretty sure that it would be useful for some of us. I did already configure everything and tested, didn't know that we could resize surfaces just by recreating them ... Now aspect ratio can be changed during gameplay, all remain is set_quest_size. Yet, I did some tests, and turns out it works quite well |
Most of today's screen are 16:9 whereas the default resolution (320x240) is 4:3.
I did though that we should try a 3ds port, and 3ds resolution is 400x240
I like the idea of a pseudo widescreen resolution, first, because it fill the entire screen when fullscreen and secondly the increased field of view.
This is how it looks in 400x240, of course, everythng need to be rebuild concerning the X axis and graphics.
There should be a way to place objects depending on the resolution, then, I would add multiple resolution to englobe both 4:3, 16:9 and 16:10 resolutions.
Some elements don't need to be touched, such as the dialog box, equipment submenu, option submenu, the rest need to be completely reworked
Need a global variable which will, store the current resolution and see how it is done in the equipment submenu and such.
EDIT: as set_quest_size will be a thing in Solarus 1.6, prepare the needed functions for modifying the screen format in game.
Something like this should be ok, on_resolution_changed will be used firstly by the HUD script, then, the Option submenu and the QSS (Quest Selection Screen), which are game related menues.
The text was updated successfully, but these errors were encountered: