474 lines
18 KiB
Plaintext
474 lines
18 KiB
Plaintext
init offset = -1
|
|
|
|
screen main_menu():
|
|
|
|
# This ensures that any other menu screen is replaced
|
|
tag menu
|
|
|
|
style_prefix "main_menu"
|
|
|
|
add gui.main_menu_background
|
|
|
|
# This empty frame darkens the main menu
|
|
frame:
|
|
pass
|
|
|
|
vbox:
|
|
spacing gui.navigation_spacing * 2
|
|
yoffset gui.navigation_padding
|
|
align (1.0, 0.0)
|
|
xsize 300
|
|
|
|
add "game_title" zoom 0.75 xalign 0.5
|
|
|
|
if prerelease:
|
|
text "TEST-ONLY" at transform:
|
|
rotate 45
|
|
|
|
vbox:
|
|
spacing gui.navigation_spacing * 2
|
|
yoffset -gui.navigation_padding
|
|
align (1.0, 1.0)
|
|
|
|
fixed:
|
|
xysize (300, 75)
|
|
|
|
imagebutton:
|
|
idle Transform("discord_idle", alpha=0.5, zoom=0.5)
|
|
hover Transform("discord_idle", alpha=0.75, zoom=0.55)
|
|
focus_mask None
|
|
pos (0.333, 0.5)
|
|
anchor (0.5, 0.5)
|
|
action OpenURL("https://discord.gg/UbQeTCJ5RW")
|
|
tooltip "Discord"
|
|
|
|
imagebutton:
|
|
idle Transform("patreon_idle", alpha=0.5, zoom=0.5)
|
|
hover Transform("patreon_idle", alpha=0.75, zoom=0.55)
|
|
focus_mask None
|
|
pos (0.666, 0.5)
|
|
anchor (0.5, 0.5)
|
|
action OpenURL("https://www.patreon.com/SilverStudioGames")
|
|
tooltip "Patreon"
|
|
|
|
fixed:
|
|
xysize (300, 30)
|
|
|
|
vbox:
|
|
xoffset -100 - gui.navigation_padding
|
|
yalign 0.5
|
|
at transform:
|
|
alpha 0.6
|
|
if prerelease:
|
|
text "Pre-release":
|
|
style "main_menu_version"
|
|
|
|
text "[config.version]":
|
|
style "main_menu_version"
|
|
|
|
imagebutton:
|
|
idle Transform("silverstudiogames_idle", alpha=0.5, zoom=0.5)
|
|
hover Transform("silverstudiogames_idle", alpha=0.75, zoom=0.55)
|
|
focus_mask None
|
|
align (0.5, 0.5)
|
|
action OpenURL("https://www.silverstudiogames.org")
|
|
|
|
use navigation_main_menu
|
|
|
|
image main_menu_bg:
|
|
alpha 0.5
|
|
"#000"
|
|
|
|
style main_menu_frame is empty
|
|
style main_menu_vbox is vbox
|
|
|
|
style main_menu_frame:
|
|
xalign 1.0
|
|
xsize 300 # 234
|
|
yfill True
|
|
background "main_menu_bg"
|
|
|
|
style main_menu_text is gui_text:
|
|
color gui.accent_color
|
|
xalign 1.0
|
|
|
|
style main_menu_title is main_menu_text:
|
|
size 42
|
|
|
|
style main_menu_version is main_menu_text:
|
|
color "#fff"
|
|
outlines [(1, "#000000", 1, 0)]
|
|
|
|
screen navigation_main_menu(title=None):
|
|
|
|
default show_quick_start = False
|
|
default show_dev_start = False
|
|
default is_sensitive = title != "Updater"
|
|
|
|
key "keydown_K_LSHIFT" action SetLocalVariable("show_quick_start", True)
|
|
key "keyup_K_LSHIFT" action SetLocalVariable("show_quick_start", False)
|
|
|
|
if config.developer:
|
|
key "keydown_K_LCTRL" action SetLocalVariable("show_dev_start", True)
|
|
key "keyup_K_LCTRL" action SetLocalVariable("show_dev_start", False)
|
|
|
|
vbox:
|
|
style_prefix "navigation"
|
|
|
|
if main_menu:
|
|
yalign 1.0
|
|
yoffset -105 - gui.navigation_padding * 2
|
|
else:
|
|
yalign 0.5
|
|
|
|
transclude
|
|
|
|
null height 28 # Half button height
|
|
|
|
if main_menu:
|
|
if not title:
|
|
|
|
if not renpy.mobile:
|
|
if version_float(UPDATE_VER) > version_float():
|
|
textbutton "Install updates" action InstallUpdates() style_prefix "update_available" sensitive (not prerelease)
|
|
else:
|
|
textbutton "Check for updates" action CheckUpdates(300) sensitive (not prerelease)
|
|
text "[UPDATE_HINT]" size 8 color "#fff" xalign 0.5
|
|
|
|
if show_quick_start:
|
|
textbutton _("Quick Start") action Start("start_quick") sensitive is_sensitive
|
|
elif show_dev_start:
|
|
textbutton _("Developer Start") action Start("start_dev") sensitive is_sensitive keysym "ctrl_mousedown_1"
|
|
else:
|
|
textbutton _("Start") action Start() sensitive is_sensitive
|
|
else:
|
|
textbutton _("Return") action Return() sensitive is_sensitive
|
|
|
|
else:
|
|
textbutton _("Return") action Return() sensitive is_sensitive
|
|
textbutton _("History") action ShowMenu("history") sensitive is_sensitive
|
|
textbutton _("Save") action ShowMenu("save") sensitive is_sensitive
|
|
|
|
textbutton _("Load") action ShowMenu("load") sensitive is_sensitive
|
|
textbutton _("Preferences") action ShowMenu("preferences") sensitive is_sensitive
|
|
|
|
if main_menu:
|
|
textbutton _("Mods") sensitive (bool(mods_list) and is_sensitive) action ShowMenu("mods")
|
|
textbutton _("Credits") action Jump("credits") sensitive is_sensitive
|
|
if not renpy.mobile:
|
|
textbutton _("Quit") action Quit(confirm=not main_menu) sensitive is_sensitive
|
|
else:
|
|
textbutton _("Help") action ShowMenu("help") sensitive is_sensitive
|
|
textbutton _("Quit to menu") action MainMenu() sensitive is_sensitive
|
|
|
|
screen navigation():
|
|
style_prefix "navigation"
|
|
|
|
default last_frame = (screenshot.capture() or screenshot.image)
|
|
default category = "save"
|
|
default subcategory = None
|
|
default page = 0
|
|
default navigation_atl = navigation_show
|
|
default navigation_last_frame_atl = navigation_last_frame_show
|
|
default navigation_exit = False
|
|
default page_right_atl = None
|
|
default page_left_atl = None
|
|
|
|
on "show" action Play("sound", "sounds/bookopen.ogg")
|
|
|
|
add last_frame at navigation_last_frame_atl
|
|
# add "gui_fade_both" at gui_fade
|
|
|
|
if navigation_exit:
|
|
timer 0.4 action Return()
|
|
|
|
frame:
|
|
# We need to use a 'hacky' way to set transforms and
|
|
# set the exit timer because events aren't correctly passed to
|
|
# the children when exitting upper context
|
|
# from (what I assume) is a transient screen.
|
|
at navigation_atl
|
|
vbox:
|
|
style_prefix "navigation_tabs"
|
|
|
|
textbutton _("Save") action [SetLocalVariable("subcategory", None), SetLocalVariable("category", "save")] selected (category=="save") at navigation_tabs
|
|
textbutton _("Load") action [SetLocalVariable("subcategory", None), SetLocalVariable("category", "load")] selected (category=="load") at navigation_tabs
|
|
textbutton _("Settings") action [SetLocalVariable("subcategory", "general"), SetLocalVariable("category", "settings")] at navigation_tabs
|
|
textbutton _("History") action [SetLocalVariable("subcategory", None), SetLocalVariable("category", "history")] selected (category=="history") at navigation_tabs
|
|
textbutton _("Help") action [SetLocalVariable("subcategory", "tutorials"), SetLocalVariable("category", "help")] selected (category=="help") at navigation_tabs
|
|
null height 35
|
|
textbutton _("Return") action [SetScreenVariable("navigation_last_frame_atl", navigation_last_frame_hide), SetScreenVariable("navigation_atl", navigation_hide), SetScreenVariable("navigation_exit", True)] keysym "game_menu" activate_sound "sounds/bookclose.ogg" at navigation_tabs
|
|
null height 35
|
|
textbutton _("Main Menu") action MainMenu() at navigation_tabs
|
|
textbutton _("Credits") action Show("credits") at navigation_tabs
|
|
|
|
if category == "save":
|
|
vbox:
|
|
style_prefix "navigation_subtabs"
|
|
|
|
textbutton _("A.Saves") action FilePage("auto") at navigation_tabs
|
|
textbutton _("Q.Saves") action FilePage("quick") at navigation_tabs
|
|
null height 35
|
|
textbutton _("Next") action FilePageNext() at navigation_tabs
|
|
textbutton _("Previous") action FilePagePrevious() at navigation_tabs
|
|
null height 35
|
|
textbutton _("Last Page") action FilePageLast() at navigation_tabs
|
|
|
|
use file_slots(_("Save"))
|
|
elif category == "load":
|
|
vbox:
|
|
style_prefix "navigation_subtabs"
|
|
|
|
textbutton _("A.Saves") action FilePage("auto") at navigation_tabs
|
|
textbutton _("Q.Saves") action FilePage("quick") at navigation_tabs
|
|
null height 35
|
|
textbutton _("Next") action FilePageNext() at navigation_tabs
|
|
textbutton _("Previous") action FilePagePrevious() at navigation_tabs
|
|
null height 35
|
|
textbutton _("Last Page") action FilePageLast() at navigation_tabs
|
|
|
|
use file_slots(_("Load"))
|
|
elif category == "settings":
|
|
vbox:
|
|
style_prefix "navigation_subtabs"
|
|
|
|
textbutton _("General") action SetLocalVariable("subcategory", "general") at navigation_tabs
|
|
textbutton _("Display") action SetLocalVariable("subcategory", "display") at navigation_tabs
|
|
textbutton _("Audio") action SetLocalVariable("subcategory", "audio") at navigation_tabs
|
|
textbutton _("Other") action SetLocalVariable("subcategory", "other") at navigation_tabs
|
|
|
|
if subcategory == "audio":
|
|
use settings_audio
|
|
elif subcategory == "other":
|
|
use settings_other
|
|
elif subcategory == "display":
|
|
use settings_display
|
|
elif subcategory == "general":
|
|
use settings_general
|
|
elif category == "history":
|
|
use history
|
|
elif category == "help":
|
|
vbox:
|
|
style_prefix "navigation_subtabs"
|
|
|
|
textbutton _("Tutorials") action SetLocalVariable("subcategory", "tutorials") at navigation_tabs
|
|
textbutton _("Controls") action SetLocalVariable("subcategory", "controls") at navigation_tabs
|
|
|
|
if subcategory == "tutorials":
|
|
use help_tutorials
|
|
elif subcategory == "controls":
|
|
use help_controls
|
|
|
|
transform navigation_tabs:
|
|
subpixel True
|
|
xzoom 1.0
|
|
yanchor 0.5
|
|
on hover:
|
|
easein 0.1 xzoom 1.1
|
|
easeout 0.1 xzoom 1.0
|
|
|
|
transform navigation_last_frame_show:
|
|
matrixcolor SaturationMatrix(1.0)
|
|
easein 1.0 matrixcolor SaturationMatrix(0.33)
|
|
|
|
transform navigation_last_frame_hide:
|
|
matrixcolor SaturationMatrix(0.33)
|
|
easeout 0.4 matrixcolor SaturationMatrix(1.0)
|
|
|
|
transform navigation_show:
|
|
subpixel True
|
|
zoom 0.0
|
|
alpha 0.0
|
|
easein_back 0.4 zoom 1.0 alpha 1.0
|
|
|
|
transform navigation_hide:
|
|
subpixel True
|
|
events False
|
|
zoom 1.0
|
|
alpha 1.0
|
|
easeout_back 0.4 zoom 0.0 alpha 0.0
|
|
|
|
style navigation_frame is empty:
|
|
align (0.5, 0.5)
|
|
xysize (750, 512)
|
|
background Image("gui/creamy_pumpkin_pie/book/book_background.png", oversample=4)
|
|
|
|
style navigation_page_left is empty:
|
|
fit_first True
|
|
xanchor 1.0
|
|
pos (366, 8)
|
|
xysize (343, 490)
|
|
background Image("gui/creamy_pumpkin_pie/book/book_page_left.png", oversample=4)
|
|
|
|
style navigation_page_right is empty:
|
|
fit_first True
|
|
xanchor 0.0
|
|
pos (362, 8)
|
|
xysize (343, 490)
|
|
background Image("gui/creamy_pumpkin_pie/book/book_page_right.png", oversample=4)
|
|
|
|
style navigation_vbox:
|
|
fit_first True
|
|
xfill True
|
|
pos (12, 12)
|
|
|
|
style navigation_label:
|
|
xalign 0.5
|
|
xpadding 80
|
|
xoffset -12
|
|
ysize 38
|
|
background Frame(Image("gui/creamy_pumpkin_pie/book/book_label.png", oversample=4), 80, 0, 80, 0, tile=False)
|
|
|
|
style navigation_tabs_vbox:
|
|
xfill True
|
|
yspacing 10
|
|
pos (721, 50)
|
|
|
|
style navigation_tabs_button:
|
|
ysize 35
|
|
left_padding 15
|
|
right_padding 30
|
|
selected_right_padding 50
|
|
background Frame(Image("gui/creamy_pumpkin_pie/book/book_tab.png", oversample=4), 0, 0, 80, 0, tile=False)
|
|
selected_background Frame(Transform(Image("gui/creamy_pumpkin_pie/book/book_tab.png", oversample=4), matrixcolor=HueMatrix(180.0)), 0, 0, 80, 0, tile=False)
|
|
insensitive_background Frame(Transform(Image("gui/creamy_pumpkin_pie/book/book_tab.png", oversample=4), matrixcolor=SaturationMatrix(0.0)), 0, 0, 80, 0, tile=False)
|
|
activate_sound "sounds/pageflip.ogg"
|
|
|
|
style navigation_tabs_button_text is who:
|
|
color "#ffffff"
|
|
outlines [(2, "#000000", 1, 1)]
|
|
hinting "auto"
|
|
font gui.bold_font
|
|
size 20
|
|
yalign 0.5
|
|
selected_xoffset 15
|
|
|
|
style navigation_subtabs_vbox:
|
|
xfill True
|
|
xanchor 1.0
|
|
pos (24, 50)
|
|
yspacing 10
|
|
|
|
style navigation_subtabs_button:
|
|
xalign 1.0
|
|
ysize 35
|
|
right_padding 15
|
|
left_padding 30
|
|
selected_left_padding 50
|
|
background Frame(Transform(Image("gui/creamy_pumpkin_pie/book/book_tab.png", oversample=4), xzoom=-1), 80, 0, 0, 0, tile=False)
|
|
selected_background Frame(Transform(Image("gui/creamy_pumpkin_pie/book/book_tab.png", oversample=4), xzoom=-1, matrixcolor=HueMatrix(180.0)), 80, 0, 0, 0, tile=False)
|
|
insensitive_background Frame(Transform(Image("gui/creamy_pumpkin_pie/book/book_tab.png", oversample=4), xzoom=-1, matrixcolor=SaturationMatrix(0.0)), 80, 0, 0, 0, tile=False)
|
|
activate_sound "sounds/pageflip.ogg"
|
|
|
|
style navigation_subtabs_button_text is navigation_tabs_button_text:
|
|
selected_xoffset -15
|
|
|
|
style navigation_label_text:
|
|
ypos 8
|
|
color "#704F32"
|
|
size 28
|
|
|
|
style navigation_text:
|
|
color "#704F32"
|
|
outlines [(1, "#704f3215", -1, -1), (1, "#704f3238", 1, 1)]
|
|
size 20
|
|
|
|
style navigation_sublabel is navigation_text:
|
|
xalign 0.5
|
|
|
|
style navigation_checkbox_vbox:
|
|
fit_first True
|
|
xfill True
|
|
yspacing 4
|
|
style navigation_checkbox_label is navigation_label:
|
|
xsize 206
|
|
background Transform(Image("gui/creamy_pumpkin_pie/book/book_spacer.png", oversample=4), xalign=0.5)
|
|
style navigation_checkbox_label_text is navigation_label_text:
|
|
xalign 0.5
|
|
size 24
|
|
|
|
style navigation_button:
|
|
padding (6, 4)
|
|
hover_background Frame(Image("gui/creamy_pumpkin_pie/book/book_select.png", oversample=4), 20, 0, 20, 0, tile=False)
|
|
|
|
style navigation_button_text is navigation_text:
|
|
insensitive_color "#704F3280"
|
|
|
|
style navigation_checkbox_button:
|
|
padding (6, 4)
|
|
hover_background Frame(Image("gui/creamy_pumpkin_pie/book/book_select.png", oversample=4), 20, 0, 20, 0, tile=False)
|
|
foreground Transform(Image("gui/creamy_pumpkin_pie/book/book_button_check_empty.png", oversample=4), xpos=6, yalign=0.5)
|
|
selected_foreground Transform(Image("gui/creamy_pumpkin_pie/book/book_button_check_checked.png", oversample=4), xpos=6, yalign=0.5)
|
|
insensitive_foreground Transform(Image("gui/creamy_pumpkin_pie/book/book_button_check_empty.png", oversample=4), alpha=0.5, xpos=6, yalign=0.5)
|
|
|
|
style navigation_checkbox_button_text is navigation_text:
|
|
first_indent 24
|
|
insensitive_color "#704F3280"
|
|
|
|
style navigation_checkbox_text is navigation_text
|
|
|
|
style navigation_radio_vbox:
|
|
fit_first True
|
|
# xfill True # TODO: WTF? Why does it break the entire menu?
|
|
yspacing 4
|
|
|
|
style navigation_radio_label is navigation_label:
|
|
xsize 206
|
|
background Image("gui/creamy_pumpkin_pie/book/book_spacer.png", oversample=4)
|
|
|
|
style navigation_radio_label_text is navigation_label_text:
|
|
xalign 0.5
|
|
size 24
|
|
|
|
style navigation_radio_button:
|
|
padding (6, 4)
|
|
hover_background Frame(Image("gui/creamy_pumpkin_pie/book/book_select.png", oversample=4), 20, 0, 20, 0, tile=False)
|
|
foreground Transform(Image("gui/creamy_pumpkin_pie/book/book_button_radio_empty.png", oversample=4), xpos=6, yalign=0.5)
|
|
selected_foreground Transform(Image("gui/creamy_pumpkin_pie/book/book_button_radio_checked.png", oversample=4), xpos=6, yalign=0.5)
|
|
insensitive_foreground Transform(Image("gui/creamy_pumpkin_pie/book/book_button_radio_empty.png", oversample=4), alpha=0.5, xpos=6, yalign=0.5)
|
|
|
|
style navigation_radio_button_text is navigation_text:
|
|
first_indent 24
|
|
insensitive_color "#704F3280"
|
|
|
|
style navigation_slider:
|
|
xalign 0.5
|
|
xmaximum 300
|
|
ysize 20
|
|
left_bar Frame(Image("gui/creamy_pumpkin_pie/book/book_slider.png", oversample=4), tile=False)
|
|
right_bar Frame(Image("gui/creamy_pumpkin_pie/book/book_slider.png", oversample=4), tile=False)
|
|
thumb Image("gui/creamy_pumpkin_pie/book/book_slider_thumb.png", oversample=4)
|
|
thumb_offset 16
|
|
|
|
style navigation_vscrollbar:
|
|
xalign 0.5
|
|
xsize 20
|
|
base_bar Frame(Image("gui/creamy_pumpkin_pie/book/book_vslider.png", oversample=4), 8, 40, 8, 40, tile=False)
|
|
thumb Image("gui/creamy_pumpkin_pie/book/book_vslider_thumb.png", oversample=4)
|
|
thumb_offset 1
|
|
|
|
style navigation_bar:
|
|
xalign 0.5
|
|
xmaximum 300
|
|
ysize 20
|
|
left_bar Frame(Image("gui/creamy_pumpkin_pie/book/book_bar_full.png", oversample=4), 40, 8, 40, 8, tile=False)
|
|
right_bar Frame(Image("gui/creamy_pumpkin_pie/book/book_bar_empty.png", oversample=4), 40, 8, 40, 8, tile=False)
|
|
hover_right_bar Fixed(Frame(Image("gui/creamy_pumpkin_pie/book/book_select.png", oversample=4), 20, 4, 20, 4, tile=False), Frame(Image("gui/creamy_pumpkin_pie/book/book_bar_empty.png", oversample=4), 40, 8, 40, 8, tile=False))
|
|
hover_left_bar Fixed(Frame(Image("gui/creamy_pumpkin_pie/book/book_select.png", oversample=4), 20, 4, 20, 4, tile=False), Frame(Image("gui/creamy_pumpkin_pie/book/book_bar_full.png", oversample=4), 40, 8, 40, 8, tile=False))
|
|
thumb None
|
|
|
|
style navigation_note:
|
|
padding (6, 4)
|
|
background Frame(Image("gui/creamy_pumpkin_pie/book/book_note.png", oversample=4), 40, 40, 40, 40, tile=False)
|
|
|
|
image doodle_hermione = Image("gui/creamy_pumpkin_pie/book/book_doodles_hermione.png", oversample=4)
|
|
image doodle_hermione2 = Image("gui/creamy_pumpkin_pie/book/book_doodles_hermione2.png", oversample=4)
|
|
image doodle_letter = Image("gui/creamy_pumpkin_pie/book/book_doodles_letter.png", oversample=4)
|
|
image doodle_owl = Image("gui/creamy_pumpkin_pie/book/book_doodles_owl.png", oversample=4)
|
|
image doodle_panties = Image("gui/creamy_pumpkin_pie/book/book_doodles_panties.png", oversample=4)
|
|
image doodle_snitch = Image("gui/creamy_pumpkin_pie/book/book_doodles_snitch.png", oversample=4)
|
|
image doodle_glasses = Image("gui/creamy_pumpkin_pie/book/book_doodles_glasses.png", oversample=4)
|
|
image doodle_mountains = Image("gui/creamy_pumpkin_pie/book/book_doodles_mountains.png", oversample=4)
|
|
image doodle_brewing = Image("gui/creamy_pumpkin_pie/book/book_doodles_brewing.png", oversample=4)
|
|
image doodle_mermaid = Image("gui/creamy_pumpkin_pie/book/book_doodles_mermaid.png", oversample=4)
|