Mario: Add restart and background color for menus
This commit is contained in:
@@ -8,6 +8,7 @@
|
||||
#include "../objectids.hpp"
|
||||
#include "../editor_visitor.hpp"
|
||||
#include "../filesystem.hpp"
|
||||
#include "../sprites.hpp"
|
||||
|
||||
bool __update_scenes_load_dialog = false;
|
||||
bool __quit_scenes_load_dialog = false;
|
||||
@@ -123,10 +124,10 @@ void addLevelButton(const std::string &path, const std::string &file,
|
||||
|
||||
std::shared_ptr<SDLPP::Scene>
|
||||
createSceneLoadDialog(std::shared_ptr<SDLPP::Renderer> &renderer,
|
||||
const std::string &path) {
|
||||
const std::string &path, bool transparent_bg) {
|
||||
auto scene = std::make_shared<SDLPP::Scene>(renderer);
|
||||
auto bg = std::make_shared<SDLPP::RectangleRender>(0, 0, 10, 10, renderer,
|
||||
"#000000BB", true);
|
||||
transparent_bg ? "#000000BB" : MARIO_OVERWORLD_COLORKEY, true);
|
||||
bg->setPermanent();
|
||||
bg->setId(1);
|
||||
scene->addObject(bg);
|
||||
@@ -161,7 +162,7 @@ createSceneLoadDialog(std::shared_ptr<SDLPP::Renderer> &renderer,
|
||||
scene->addObject(button);
|
||||
}
|
||||
auto font_config = std::make_shared<SDLPP::FontConfiguration>(
|
||||
g_text_config->getFont(), "#000000", "#282828", 0.05);
|
||||
g_text_config->getFont(), "#000000", "#FFFFFFAA", 0.05);
|
||||
auto dialog_text = std::make_shared<SDLPP::TextRenderer>(
|
||||
0.1, 0.15, 0.8, 0.3, renderer, "LEVELS", font_config,
|
||||
SDLPP_TEXT_CENTER);
|
||||
@@ -263,11 +264,11 @@ SceneStruct
|
||||
createLoadScene(std::shared_ptr<SDLPP::Renderer> renderer,
|
||||
const std::string &path,
|
||||
std::function<void(const std::string &)> finalizer,
|
||||
bool pop_at_finish) {
|
||||
bool pop_at_finish, bool transparent_bg) {
|
||||
__load_dialog_finalizer = std::move(finalizer);
|
||||
__pop_at_finish_load_dialog = pop_at_finish;
|
||||
SceneStruct ret{};
|
||||
ret.scene = createSceneLoadDialog(renderer, path);
|
||||
ret.scene = createSceneLoadDialog(renderer, path, transparent_bg);
|
||||
ret.additionalRender = __additionalRender_LoadDialog;
|
||||
ret.doInput = __pollEvents_LoadDialog;
|
||||
__update_scenes_load_dialog = true;
|
||||
|
||||
Reference in New Issue
Block a user