From 367c7fd9a365100a2ebb0e2a4d66ea9bd17a26fc Mon Sep 17 00:00:00 2001 From: nutbuster Date: Fri, 2 Jul 2021 10:32:31 +1000 Subject: [PATCH] Render Main Menu Buttons' Text --- game/gui.rpy | 8 ++- game/gui/button/menubuttons/template_idle.png | Bin 0 -> 9428 bytes game/screens.rpy | 59 +++++++++++++----- 3 files changed, 49 insertions(+), 18 deletions(-) create mode 100644 game/gui/button/menubuttons/template_idle.png diff --git a/game/gui.rpy b/game/gui.rpy index 2fe7ff6..ba9d16f 100644 --- a/game/gui.rpy +++ b/game/gui.rpy @@ -47,15 +47,19 @@ define gui.insensitive_color = '#8888887f' define gui.muted_color = '#3d1466' define gui.hover_muted_color = '#5b1e99' -## The colors used for dialogue and menu choice text. +## The colors used for dialogue and menu choice text define gui.text_color = '#ffffff' #define gui.text_color_outline = '#00000000' define gui.interface_text_color = '#ffffff' +## Default font outline color define gui.default_outline = '#000' + +## Namebox outline color define gui.name_outline = '#000000dd' +define gui.main_menu_color = '#FFF' ## Fonts and Font Sizes ######################################################## @@ -92,6 +96,7 @@ define gui.notify_text_size = 24 define gui.title_text_size = 75 #define gui.title_text_outlines = [ (2, gui.default_outline, 0, 0) ] +define gui.main_menu_text_size = 60 ## Main and Game Menus ######################################################### @@ -99,7 +104,6 @@ define gui.title_text_size = 75 define gui.main_menu_background = "gui/main_menu.png" define gui.game_menu_background = "gui/game_menu.png" - ## Dialogue #################################################################### ## ## These variables control how dialogue is displayed on the screen one line at a diff --git a/game/gui/button/menubuttons/template_idle.png b/game/gui/button/menubuttons/template_idle.png new file mode 100644 index 0000000000000000000000000000000000000000..3d7514e2f12fe000a3e763a253f48f298c88f3d5 GIT binary patch literal 9428 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 TUtL5hk^r!rnrxMfdGP-ML6vKp literal 0 HcmV?d00001 diff --git a/game/screens.rpy b/game/screens.rpy index b4a84d4..f3136f8 100644 --- a/game/screens.rpy +++ b/game/screens.rpy @@ -372,6 +372,22 @@ style navigation_button_text: ## ## https://www.renpy.org/doc/html/screen_special.html#main-menu +#similar to quick_button funcs +screen main_menu_button(filename, label, function): + button: + xmaximum 500 + ymaximum 129 + action function + fixed: + add filename xalign 0.5 yalign 0.5 zoom 1 + text label xalign 0.5 yalign 0.5 xanchor 0.5 + +# label_functions is [ [ "label", function() ], [ "foobar", foobar() ], .. ] +# Reuse the same image string and keep things 'neat'. +screen main_menu_buttons(filename, label_functions): + for l_f in label_functions: + use main_menu_button(filename, l_f[0], l_f[1]) + screen main_menu(): ## This ensures that any other menu screen is replaced. @@ -389,21 +405,29 @@ screen main_menu(): ## The use statement includes another screen inside this one. The actual ## contents of the main menu are in the navigation screen. vbox: - xpos 1940 - yalign 0.03 - if persistent.splashtype == 1: - add "gui/sneedgame.png" - else: - add "gui/snootgame.png" + xpos 1940 + yalign 0.03 + if persistent.splashtype == 1: + add "gui/sneedgame.png" + else: + add "gui/snootgame.png" vbox: - spacing 25 - xpos 1885 - yalign 0.9 - imagebutton auto "gui/button/menubuttons/startbutton_%s.png" action Start() - imagebutton auto "gui/button/menubuttons/loadbutton_%s.png" action ShowMenu("load") - imagebutton auto "gui/button/menubuttons/optionsbutton_%s.png" action ShowMenu("preferences") - imagebutton auto "gui/button/menubuttons/helpbutton_%s.png" action ShowMenu("extras") - imagebutton auto "gui/button/menubuttons/quitbutton_%s.png" action Quit(confirm=not main_menu) + spacing 25 + xpos 1885 + yalign 0.9 + use main_menu_buttons("gui/button/menubuttons/template_idle.png", + [ \ + [ "Start", Start() ], \ + [ "Load", ShowMenu("load") ], \ + [ "Options", ShowMenu("preferences") ], \ + [ "Help & About", ShowMenu("extras") ], \ + [ "Quit", Quit(confirm=not main_menu) ] \ + ] ) + #imagebutton auto "gui/button/menubuttons/startbutton_%s.png" action Start() + #imagebutton auto "gui/button/menubuttons/loadbutton_%s.png" action ShowMenu("load") + #imagebutton auto "gui/button/menubuttons/optionsbutton_%s.png" action ShowMenu("preferences") + #imagebutton auto "gui/button/menubuttons/helpbutton_%s.png" action ShowMenu("extras") + #imagebutton auto "gui/button/menubuttons/quitbutton_%s.png" action Quit(confirm=not main_menu) # if gui.show_name: @@ -433,7 +457,10 @@ style main_menu_vbox: yoffset -30 style main_menu_text: - properties gui.text_properties("main_menu", accent=True) + properties gui.text_properties("main_menu") #, accent=True) + color gui.main_menu_color + hover_color gui.hover_color + size gui.main_menu_text_size style main_menu_title: properties gui.text_properties("title") @@ -851,7 +878,7 @@ screen preferences(): style_prefix "check" label _("Naughty Stuff") textbutton _("Enable Lewd Images") action ToggleVariable("persistent.lewd", True, False) - + vbox: style_prefix "check" label _("Requires Restart")