The main menu is pretty much done. There are still some small bugs, but those can be fixed.
https://www.youtube.com/watch?v=MHQlyC83g4o
Next plan is to make a method of doing the Trigger menu items. For anyone not knowing what that is:
The Trigger items of a menu pretty much are things the menu can do which doesnt equal to navigation in the menu or changing values (like volume sliders)
An example of an trigger item is the "Yes" button when you exit the game. It is supposed to trigger the game to quit. Some others are the "Credits" button, which then starts the credit sequence, etc....
So the plan would be to make some basic functions, which can be triggered with a setting in an extra config file.
Before I get into more details about these functions, I added a way of splitting the config file into multiple files. This also means you can add custom values to the config via an external file. The only thing left to do would be to include a comment with this syntax:
;#extern:<PATH_RELATIVE_TO_CONFIG>
This would mean, if youd like you could remove the section "Lego*/Levels" into a different file. This works recursivly if you like to do so, adding more possibilities to structure mods and make the config more readable.
Now to the functions:
There would be a set of basic functions. As example:
Game.Quit
Level.Pause
Level.Play
Level.Open(<NAME>)
and so on. These can then be used in your custom menus which you can add. In the original game, these seem to be hardcoded.
If you have any suggestions for some functions, I'd like to hear them
(Maybe some way of triggering scripts?)