VoylinsGamedevJourney/gozen

Start menu

voylin opened this issue · 6 comments

voylin commented

The start menu is getting a complete make-over to make it more modular and cleaner looking.

Progress done on the start menu:

  • Became a floating window with transparent rounded corners;
  • Became a separate Godot project;

The reason for making it into a separate Godot project was for multiple reasons, first of all UI/look based reasons. I wanted it to become a floating window with a clean look of rounded corners. Because you can not make the main window itself invisible and having to deal with changing resolutions of the project together with disabling and setting different window properties proved to be difficult, I found that making the startup manager into it's own element to be a good change. Also, having transparency on for your window has a performance impact, so the having it as a separate project eliminates that problem.

Another change and probably be the biggest reason is to keep the code and project clean and simple. Now we can more easily implement the opening of video files by double clicking the project file as it does not first need to go through the start menu, it could directly be opened through the editor itself. Project path would be given as an argument and for new projects it's basically giving the project screen size as an argument. If no arguments are given it will default to standard 1080p video project size.

voylin commented

Recent projects also got an update with this. Now recent projects get saved in 'user://recent_projects.dat'
Every line is a different project entry and each entry has following structure 'project_name||project_path'.

voylin commented

Popup menu for custom project settings is also working now.
Everything works as it is supposed to. Except "Open project" as we don't have a file manager yet.
Update for this is in commit: 97fcb81e

At time of posting and closing this issue, changes won't yet be pushed to the repo.

voylin commented

Made a small change to just use the Godot FileDialog for now for opening projects. Not a great solution but it's a good temporary solution until we use a plugin, make our own file dialog system, or when Godot has native file dialog available.

The following parts come from an extra item I added to my to-do list to make some improvements to the startup menu:

A couple of ideas to make the startup menu more use-able/better:

  • Remove the quick options for creating new projects and switch this out by a mini menu to set a new project title, size, and frame-rate instead;
  • Check if opened with a path as argument, if that's the case we need to open editor directly without loading the rest of the startup screen;
  • Have a separator line under 5 most recent projects with a button to see a popup with an entire list of all recent projects (Maybe add the option to have their last edited date next to it?);
  • Make startup window move-able.

Having the last edited date next to the projects title could be helpful when having an option to show all recent projects.
list could be with the name on the left, and on the right side of the window have the date. This would basically be an overlay of the already created startup-menu so won't be an actual popup. This list will only load when pressing the button to watch all recent projects.
A nice extra could be to have a delete button in case people want to manually delete entries of their recent projects. Already deleted project files won't show up in this list already.

NOTE: This still needs testing which will be done during Alpha. These additions were included but that has been done without thorough testing to minimize my time spend on these cosmetic changes.

or when Godot has native file dialog available.

I thought DisplayServer.file_dialog_show is native file dialog?

or when Godot has native file dialog available.

I thought DisplayServer.file_dialog_show is native file dialog?

Yep, but this does not always seem to work, didn't work for me as well for some reason. It is something I'll look into at a later, the Godot file dialog works for now, and although not great, good enough for a mvp.