Main Menu - Render Text in-Game Instead of in-Art
Currently, our equivalent of x_title.pcx has the art included in it. This is similar to Civ. But that means the text gets distorted as the aspect ratio changes, and most importantly the version (e.g. Carthage Preview 1) is part of the art and thus we always need to update the art to update that. This is a bit of maintenance with each release, more so than if it was text-modifiable.
Not a huge priority, but if there's a nice way to render pleasing-looking text in Godot, this would be nice to have. It might even be fancier than what I've done so far in Krita, which doesn't have as fancy of fonts as my Civ3 backgrounds from years ago.
This could be done just for the version first, as a first step.
What exactly is our equivalent of x_title.pcx? Is that a file in our project, or is it a function somewhere?
The image is C7/Art/Title_Screen.jpg and loaded from C7/MainMenu.cs. There should probably a scene containing the background, title/logo, and any footer, diplayed behind the main menu itself.
I'd like to get working on this, thinking about making a scene with various parameters like title text, font, some sort of API to add other entities on top, make it as configurable as possible for any sort of usecase.
Small update, implemented a very simple Control scene where menu UI elements are rendered based on anchors, this includes the menu buttons to make it all responsive to various resolutions. Very ugly right now but the concept is there. Another idea I had was to allow developers to attach Node2D background scenes as well as the required Control one, so that different approaches to menu art could be easily implemented (think of the gameplay backgrounds of openra or openttd).
https://github.com/ardek66/C7/commit/0de7f8d973e55d4801adc9de175f3bab580f7251