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
Mainmenu: Add customisable pager, add new change game dialog #8758
Conversation
Current Builtin LayoutersPlease note: these currently look a little ugly because they're not themed very well. This is mostly to demonstrate layout and such rather than my graphic abilities tabsThe current system verticaltabs are on the side, the original form of this PR. With formspec scaling, this would become the fullscreen version mainmenu |
How do you select singleplayer games, though? |
As far as I can tell, "New Game" to create the world, and "Load Game" to load an existing world. |
That's not what I meant … I mean, how do you select a different game? How do you go from Minetest Game to MineClone 2? |
I think what they said can still be your answer, just with slightly different wording |
d29dd4d
to
d189c2e
Compare
This is a much better layouting than our current one. Random thoughts:
I have actually cloned your repo just to test this stuff myself, but it does not look at all like in the screenshots. :-( |
This is only for the first load, yeah
I'm planning to make it a vertical scrollable list with icon, title, and description - but I'm blocked by the scroll_container PR.
You need to fiddle with the code in |
More appalling, or appealing? :)
Setting font sizes is quite possible, as seen through the |
No, definitely do NOT replicate the old “game button bar” like in our current main menu. It takes 1,000,000 clicks everytime to click through the game I want, it's very annoying. |
It should just take one click for the scrollbar I didn't show at the top of the red bar and another click to click on the game icon? |
Yes, the button bar isn't that annoying. I think using |
What would it look like if there were more games than space on the screen for them? |
It will scroll vertically using a scroll bar. This pr depends on scroll containers |
In the meantime, you could use pages instead. |
One question: I would strongly prefer to use the classic main menu only. The tabs, or side buttons are pretty unique to Minetest, which is BAD because it will be a surprise to users. You might argue that the point is to give games full freedom of designing their main menu but that could be actually a bad thing. Because then all games will just implement their own UI with their own, inconsistent conventions and the player must re-learn the UI from scratch every time. |
@rubenwardy: About the game selection: Maybe only put 1 game per line? That way, there's much more room for the description. I would also make it more obvious that the game buttons are clickable, by making them look like a real clickable button and not just an icon. |
Im leaning towards making the main menu mode the default, as with some attention it would look the best. I'll be looking into using a 9slice background for the buttons. Not sure how to combine that with the background |
I can't wait until this is in a testable state. |
Oh, I noticed you removed the game name from the top left corner. Please bring it back. The button “Play Online” is inconsitent with “Join Game”. In general, I'm not very happy with some of the menu names …
Also: Still no exit button. :P |
IMHO the interface in the first screenshot was simpler. I hate the back button. Back to the empty menu. |
Are there any alpha versions of the new menu design out there for testing the new layout? |
@@ -31,6 +32,8 @@ void GUIBox::draw() | |||
if (!IsVisible) | |||
return; | |||
|
|||
// errorstream << "color: " << std::hex << m_color.color << std::endl; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Throw this and the #include "log.h"
out?
It seems all right. |
I believe rubenwardy currently has no time to work on this. |
Correct. This was only ever a Work-In-Progress / Prototype PR, I don't have much time to spend on it currently so I closed it. It may resurface when I have time for it |
I hope this gets added, but a few gripes, 1, will their be an option for showing games in a list without icons? |
This is the first PR in a series to improve the main menu.
This should be merged as two commits.
The first commit splits up the
tabview
in such a way as to allowlayouters
. A layouter is an object with methods which are called to generate the formspec and handle events. The aim of this is to allow easy customisation of the navigation of the main menu. In future, games will be able to provide a Lua script atmenu/init.lua
to customise their main menu.The second commit adds a new Change Game dialog, akin to celeron55's plans. This dialog will be the first thing that a new user sees when they start minetest, and will promote the use of ContentDB for installing games and such. Once a user has selected a game, future boots will load directly into that game. To get back to the change game dialog, they can select the layout's change game option.
To do
menu_current_game
is nilHow to test
WIP PR, testing later