diff --git a/game/gui/button/menubuttons/template_idle_epilogue.png b/game/gui/button/menubuttons/template_idle_epilogue.png new file mode 100644 index 0000000..bf9b74a Binary files /dev/null and b/game/gui/button/menubuttons/template_idle_epilogue.png differ diff --git a/game/gui/game_menu_epilogue.png b/game/gui/game_menu_epilogue.png new file mode 100644 index 0000000..f7c5202 Binary files /dev/null and b/game/gui/game_menu_epilogue.png differ diff --git a/game/gui/overlay/extras_submenu_panel_epilogue.png b/game/gui/overlay/extras_submenu_panel_epilogue.png new file mode 100644 index 0000000..7715994 Binary files /dev/null and b/game/gui/overlay/extras_submenu_panel_epilogue.png differ diff --git a/game/options.rpy b/game/options.rpy index 3150711..0eee51d 100644 --- a/game/options.rpy +++ b/game/options.rpy @@ -137,6 +137,7 @@ default preferences.afm_time = 15 define config.developer = "auto" +default persistent.use_epilogue_menu = False default persistent.enable_debug_scores = config.developer default persistent.enable_chapter_select = config.developer default persistent.lewd = False diff --git a/game/screens.rpy b/game/screens.rpy index cd76979..b333337 100644 --- a/game/screens.rpy +++ b/game/screens.rpy @@ -450,23 +450,28 @@ transform bonus_notif: pause 6.00 easeout_cubic 0.65 alpha 0 +screen main_menu_background(frame=True): + # The style prefix needs to be set outside of this screen if you want to have the sidebar graphic + if persistent.use_epilogue_menu: + add "big ending" + else: + add gui.main_menu_background + + ## This empty frame darkens the main menu. + if frame: + frame: + background "gui/overlay/main_menu.png" + screen main_menu(): ## This ensures that any other menu screen is replaced. tag menu + style_prefix "main_menu" - if renpy.seen_image("big ending"): - style_prefix "main_menu_ex" - add "big ending" - else: - style_prefix "main_menu" - add gui.main_menu_background - - ## This empty frame darkens the main menu. - frame: - pass + use main_menu_background + $ main_menu_button_img = "gui/button/menubuttons/template_idle_epilogue.png" if persistent.use_epilogue_menu else "gui/button/menubuttons/template_idle.png" if (persistent.old_endings != persistent.endings) or (persistent.bonus_chapters != persistent.old_bonus_chapters and (persistent.bonus_chapters == 0b111111111)): fixed: @@ -501,27 +506,16 @@ screen main_menu(): spacing 10 xpos 1885 ypos 1130 - if renpy.seen_image('big ending'): - use main_menu_button("template_black", "Start", Start()) - use bonus_chapter_button("template_black") - use main_menu_buttons("template_black", - [ - [ _("Load"), ShowMenu("load") ], - [ _("Options"), ShowMenu("preferences") ], - [ _("Extras"), ShowMenu("extras") ], \ - [ _("Quit"), Quit(confirm=not main_menu) ] - ] ) - else: - use main_menu_button("gui/button/menubuttons/template_idle.png", "Start", Start()) - use bonus_chapter_button() - use main_menu_buttons("gui/button/menubuttons/template_idle.png", - [ - [ _("Load"), ShowMenu("load") ], - [ _("Options"), ShowMenu("preferences") ], - [ _("Extras"), ShowMenu("extras") ], \ - [ _("Quit"), Quit(confirm=not main_menu) ] - ] ) - #on "show" action renpy.start_predict_screen("cg_gallery") + use main_menu_button(main_menu_button_img, "Start", Start()) + use bonus_chapter_button(main_menu_button_img) + use main_menu_buttons(main_menu_button_img, + [ + [ _("Load"), ShowMenu("load") ], + [ _("Options"), ShowMenu("preferences") ], + [ _("Extras"), ShowMenu("extras") ], \ + [ _("Quit"), Quit(confirm=not main_menu) ] + ] ) + style main_menu_frame is empty style main_menu_vbox is vbox @@ -533,8 +527,6 @@ style main_menu_frame: xsize 420 yfill True - background "gui/overlay/main_menu.png" - style main_menu_vbox: xalign 1.0 xoffset -30 @@ -551,26 +543,6 @@ style main_menu_text: style main_menu_title: properties gui.text_properties("title") -style main_menu_ex is main_menu -style main_menu_ex_vbox is main_menu_vbox -style main_menu_ex_text is main_menu_text -style main_menu_ex_frame is main_menu_frame - -#style main_menu_ex_button: -#color "#222" -#background "gui/button/menubuttons/template_idle.png" -#xalign 0.5 yalign 0.5 zoom 1 xanchor 0 xcenter 0.5 ycenter 0.5 - -#style main_menu_ex_button: -#color "#222" - - - -#style main_menu_version: -# properties gui.text_properties("version") - -# style - ## Game Menu screen ############################################################ ## ## This lays out the basic common structure of a game menu screen. It's called @@ -585,7 +557,7 @@ screen game_menu(title, scroll=None, yinitial=0.0, spacing=0): style_prefix "game_menu" if main_menu: - add gui.main_menu_background + use main_menu_background(False) else: add gui.game_menu_background @@ -710,12 +682,11 @@ screen about(): tag menu style_prefix "main_menu" - add gui.main_menu_background - add gui.extras_submenu_panel - - ## This empty frame darkens the main menu. - frame: - pass + use main_menu_background + if persistent.use_epilogue_menu: + add "gui/overlay/extras_submenu_panel_epilogue.png" + else: + add gui.extras_submenu_panel ## The use statement includes another screen inside this one. The actual ## contents of the main menu are in the navigation screen. @@ -726,76 +697,14 @@ screen about(): xoffset 80 xmaximum 1100 label "[config.name!t]" - text _("Version [config.version!t]\n") + text _("Version [config.version!t]\n") outlines [ (absolute(1), "#000", absolute(0), absolute(0)) ] ## gui.about is usually set in options.rpy. if gui.about: text "[gui.about!t]\n" style_prefix "quick" - text _("{size=30}Made with {a=https://www.renpy.org/}Ren'Py{/a} [renpy.version_only].\n\n[renpy.license!t]\nTo find more information about the game (and its source code) please visit {a=https://www.snootgame.xyz/}our website{/a}.{/size}") text_align 0 - use extrasnavigation - -## Updates screen ################################################################ -## -## This screen houses the updates option using the built-in updates capabilities of Ren'Py. -## - -screen updates(): - - tag menu - style_prefix "main_menu" - - add gui.main_menu_background - add gui.extras_submenu_panel - - ## This empty frame darkens the main menu. - frame: - pass - - ## The use statement includes another screen inside this one. The actual - ## contents of the main menu are in the navigation screen. - - vbox: - yalign 0.00 - yoffset 100 - xoffset 80 - xmaximum 1100 - label "[config.name!t]" - text _("Version [config.version!t]") - if updater.can_update(): - label _("{color=#00FF00}{size=32}Update directory exists, updating is possible!\n{/size}{/color}") - else: - label _("{color=#FF0000}{size=32}Update directory does not exist or is corrupt!\n{/size}{/color}") - - label _("Auto Update:") - label _("{color=#FFFFFF}{size=32}Automatic Updates: [persistent.autoup!t]{/size}{/color}") - textbutton _("{size=36}Toggle Automatic Updates\n{/size}") action [Notify("Toggling Automatic Updates..."), Function(ToggleAutoUpdate)] - - label _("Update Checker:") - label _("{color=#FFFFFF}{size=32}[persistent.updateresult!t]{/size}{/color}") - textbutton _("{size=36}Check for Update\n{/size}") activate_sound "audio/ui/uiClick.wav" action [Notify("Checking for update..."), Function(UpdateCheck)] - - label _("Updater:") - label _("{color=#FFFFFF}{size=32}Server URL (click to edit):{/size}{/color}") - default input_on = False - button: - key_events True - if input_on: - input: - default "[persistent.updateWebServer!t]" size 36 color '#FFFFFF' - value FieldInputValue(persistent, 'updateWebServer') - length 49 - copypaste True - else: - text persistent.updateWebServer size 36 color '#FFFF00' - action ToggleScreenVariable('input_on') - style_prefix "quick" - if persistent.updateresult != "No new version is available": - textbutton _("{size=36}Update Now!\n{/size}") activate_sound "audio/ui/uiNotification.wav" action [updater.Update(persistent.updateWebServer, force=False)] - else: - textbutton _("{size=36}Update Now!\n{/size}") activate_sound "audio/ui/uiFail.wav" action [Notify("Nothing to update to!")] - + text _("{size=30}Made with {a=https://www.renpy.org/}Ren'Py{/a} [renpy.version_only].\n\n[renpy.license!t]\nTo find more information about the game (and its source code) please visit {a=https://www.snootgame.xyz/}our website{/a}.{/size}") text_align 0 outlines [ (absolute(1), "#000", absolute(0), absolute(0)) ] use extrasnavigation ## Load and Save screens ####################################################### @@ -977,6 +886,11 @@ screen preferences(): textbutton _("Window") activate_sound "audio/ui/uiOptionOn.wav" action Preference("display", "any window") textbutton _("Fullscreen") activate_sound "audio/ui/uiOptionOn.wav" action Preference("display", "fullscreen") + vbox: + style_prefix "check" + label _("Requires Restart") + textbutton _("Enable Forward-Scroll Movement") action [Function(onclick_audio, persistent.scroll), ToggleVariable("persistent.scroll", True, False)] + if renpy.variant(["mobile", "steam_deck"]): vbox: style_prefix "radio" @@ -989,11 +903,6 @@ screen preferences(): label _("Naughty Stuff") textbutton _("Enable Lewd Images") action [Function(onclick_audio, persistent.lewd), ToggleVariable("persistent.lewd", True, False)] - vbox: - style_prefix "check" - label _("Requires Restart") - textbutton _("Enable Forward-Scroll Movement") action [Function(onclick_audio, persistent.scroll), ToggleVariable("persistent.scroll", True, False)] - vbox: style_prefix "check" label _("Skip") @@ -1014,10 +923,18 @@ screen preferences(): else: $ debug_story_variables(False) - vbox: - style_prefix "check" - label _("Gallery") - textbutton _("Enable Edgescrolling") action [Function(onclick_audio, persistent.gallery_edgescroll), ToggleVariable("persistent.gallery_edgescroll", True, False)] + if renpy.variant(["mobile", "steam_deck"]): + vbox: + style_prefix "check" + label _("Gallery") + textbutton _("Enable Edgescrolling") action [Function(onclick_audio, persistent.gallery_edgescroll), ToggleVariable("persistent.gallery_edgescroll", True, False)] + + if renpy.seen_image("big ending"): + vbox: + style_prefix "radio" + label _("Menu Style") + textbutton _("Original") activate_sound "audio/ui/uiOptionOn.wav" action SetVariable("persistent.use_epilogue_menu", False) + textbutton _("Epilogue") activate_sound "audio/ui/uiOptionOn.wav" action SetVariable("persistent.use_epilogue_menu", True) vbox: xsize 676 @@ -1269,11 +1186,7 @@ screen extras(): style_prefix "main_menu" - add gui.main_menu_background - - ## This empty frame darkens the main menu. - frame: - pass + use main_menu_background use extrasnavigation @@ -1293,7 +1206,10 @@ screen extrasnavigation(): spacing 10 xpos 1885 ypos (1269 if persistent.enable_chapter_select else 1130) - use main_menu_buttons("gui/button/menubuttons/template_idle.png", + + $ main_menu_button_img = "gui/button/menubuttons/template_idle_epilogue.png" if persistent.use_epilogue_menu else "gui/button/menubuttons/template_idle.png" + + use main_menu_buttons(main_menu_button_img, [ [ _("Help"), ShowMenu("help") ], [ _("About"), ShowMenu("about") ], @@ -1316,12 +1232,13 @@ screen help(): style_prefix "main_menu" - add gui.main_menu_background - add gui.extras_submenu_panel + use main_menu_background + + if persistent.use_epilogue_menu: + add "gui/overlay/extras_submenu_panel_epilogue.png" + else: + add gui.extras_submenu_panel - ## This empty frame darkens the main menu. - frame: - pass default device = "keyboard" diff --git a/game/script/x10-raymbas-observations.rpy b/game/script/x10-raymbas-observations.rpy index 347338e..8784ce8 100644 --- a/game/script/x10-raymbas-observations.rpy +++ b/game/script/x10-raymbas-observations.rpy @@ -1041,6 +1041,7 @@ label chapter_x10: window auto pause 0.5 + $ persistent.use_epilogue_menu = True scene big ending with Dissolve(1) scene big blending with Dissolve(1) pause 6 diff --git a/game/src/cg_gallery.rpy b/game/src/cg_gallery.rpy index 2b3003e..12c2f7c 100644 --- a/game/src/cg_gallery.rpy +++ b/game/src/cg_gallery.rpy @@ -97,9 +97,12 @@ screen cg_gallery(origin = 'CG'): key "game_menu" action ShowMenu("main_menu") # Bg for frame - add gui.main_menu_background + use main_menu_background(False) # Frame - add gui.game_menu_background + if persistent.use_epilogue_menu: + add "gui/game_menu_epilogue.png" + else: + add gui.game_menu_background tag menu diff --git a/game/src/extra_chapters_menu.rpy b/game/src/extra_chapters_menu.rpy index 9ce2288..d736746 100644 --- a/game/src/extra_chapters_menu.rpy +++ b/game/src/extra_chapters_menu.rpy @@ -65,12 +65,7 @@ screen ex_ch_menu(): tag menu style_prefix "main_menu" - add gui.main_menu_background - - frame: - xsize 420 - yfill True - background "gui/overlay/main_menu.png" + use main_menu_background #side_yfill True vbox: @@ -92,14 +87,15 @@ screen ex_ch_menu(): mousewheel True draggable True pagekeys True - vbox: - #xpos 1885 - spacing 12 -#yalign 0.98 - use ex_ch_button("gui/button/menubuttons/template_idle.png", "Return", ShowMenu("main_menu")) -#use ex_ch_button("gui/button/menubuttons/template_idle.png", str(e), ShowMenu("main_menu")) + $ main_menu_button_img = "gui/button/menubuttons/template_idle_epilogue.png" if persistent.use_epilogue_menu else "gui/button/menubuttons/template_idle.png" + + vbox: + spacing 12 + + use ex_ch_button(main_menu_button_img, "Return", ShowMenu("main_menu")) + if len(ex_chapters_menu): - use ex_ch_buttons("gui/button/menubuttons/template_idle.png", ex_chapters_menu ) + use ex_ch_buttons(main_menu_button_img, ex_chapters_menu ) for x in range(0, len(ex_chapters) - len(ex_chapters_menu)): - use ex_ch_button("gui/button/menubuttons/template_idle.png", "???", None) + use ex_ch_button(main_menu_button_img, "???", None)