init offset = -1 style default: properties gui.text_properties() language gui.language style input: properties gui.text_properties("input", accent=True) adjust_spacing False style hyperlink_text: properties gui.text_properties("hyperlink", accent=True) hover_underline True style gui_text: properties gui.text_properties("interface") style button: properties gui.button_properties("button") style button_text is gui_text: properties gui.text_properties("button") yalign 0.5 style label_text is gui_text: properties gui.text_properties("label", accent=True) style prompt_text is gui_text: properties gui.text_properties("prompt") style bar: ysize gui.bar_size left_bar Frame("gui/bar/left.png", gui.bar_borders, tile=gui.bar_tile) right_bar Frame("gui/bar/right.png", gui.bar_borders, tile=gui.bar_tile) style vbar: xsize gui.bar_size top_bar Frame("gui/bar/top.png", gui.vbar_borders, tile=gui.bar_tile) bottom_bar Frame("gui/bar/bottom.png", gui.vbar_borders, tile=gui.bar_tile) style scrollbar: ysize gui.scrollbar_size base_bar Frame("gui/scrollbar/horizontal_[prefix_]bar.png", gui.scrollbar_borders, tile=gui.scrollbar_tile) thumb Frame("gui/scrollbar/horizontal_[prefix_]thumb.png", gui.scrollbar_borders, tile=gui.scrollbar_tile) style vscrollbar: xsize gui.scrollbar_size base_bar Frame("gui/scrollbar/vertical_[prefix_]bar.png", gui.vscrollbar_borders, tile=gui.scrollbar_tile) thumb Frame("gui/scrollbar/vertical_[prefix_]thumb.png", gui.vscrollbar_borders, tile=gui.scrollbar_tile) style slider: ysize gui.slider_size base_bar Frame("gui/slider/horizontal_[prefix_]bar.png", gui.slider_borders, tile=gui.slider_tile) thumb "gui/slider/horizontal_[prefix_]thumb.png" style vslider: xsize gui.slider_size base_bar Frame("gui/slider/vertical_[prefix_]bar.png", gui.vslider_borders, tile=gui.slider_tile) thumb "gui/slider/vertical_[prefix_]thumb.png" style frame: padding gui.frame_borders.padding background Frame("gui/frame.png", gui.frame_borders, tile=gui.frame_tile) #---------------------dialog/choice options---------------------# screen say(who, what): style_prefix "say" window: id "window" $ persistent.pref_text_size2 = persistent.pref_text_size + 5 if persistent.pref_text_size > 20: $ KoGa3ypos1 = 225 - (6 * persistent.pref_text_size + persistent.KoGa3yposOffset) $ KoGa3ypos2 = 240 - (6 * persistent.pref_text_size + persistent.KoGa3yposOffset) $ KoGa3ypos3 = 270 - (5 * persistent.pref_text_size + persistent.KoGa3yposOffset) else: $ KoGa3ypos1 = 225 - (6 * 20 + persistent.KoGa3yposOffset) $ KoGa3ypos2 = 240 - (6 * 20 + persistent.KoGa3yposOffset) $ KoGa3ypos3 = 270 - (5 * 20 + persistent.KoGa3yposOffset) $ KoGa3xsize2 = 1400 if who is not None: window background Transform(Image("textboxHigh.png",xalign=0.5, ypos=KoGa3ypos1), alpha=persistent.KoGa3TextboxOpacity) window: id "namebox" style "namebox" ypos KoGa3ypos2 text who id "who" size persistent.pref_text_size2 outlines [ (absolute(persistent.KoGa3TextOutline1), "#000", absolute(persistent.KoGa3TextOutline2), absolute(persistent.KoGa3TextOutline3)) ] else: if persistent.KoGa3TextboxOpacity >= 0.8: window background Transform(Image("textboxHigh.png",xalign=0.5, ypos=KoGa3ypos1), alpha=persistent.KoGa3TextboxOpacity) if persistent.pref_text_size <= 40: text what id "what" ypos KoGa3ypos3 size persistent.pref_text_size outlines [ (absolute(persistent.KoGa3TextOutline1), "#000", absolute(persistent.KoGa3TextOutline2), absolute(persistent.KoGa3TextOutline3)) ] else: text what id "what" xsize KoGa3xsize2 ypos KoGa3ypos3 size persistent.pref_text_size outlines [ (absolute(persistent.KoGa3TextOutline1), "#000", absolute(persistent.KoGa3TextOutline2), absolute(persistent.KoGa3TextOutline3)) ] ## If there's a side image, display it above the text. Do not display on the ## phone variant - there's no room. if persistent.KoGa3SideImage is True: add SideImage() xalign 0.0 yalign 1.00 define KoGa3TextboxOpacitydefault = 0.0 define KoGa3TextOutline1default = 3 define KoGa3TextOutline2default = 0 define KoGa3TextOutline3default = 0 define pref_text_sizedefault = 32 define KoGa3yposOffsetdefault = 0 define persistent.KoGa3TextboxOpacity = KoGa3TextboxOpacitydefault define persistent.KoGa3TextOutline1 = KoGa3TextOutline1default define persistent.KoGa3TextOutline2 = KoGa3TextOutline2default define persistent.KoGa3TextOutline3 = KoGa3TextOutline3default define persistent.pref_text_size = pref_text_sizedefault define persistent.KoGa3yposOffset = KoGa3yposOffsetdefault define persistent.KoGa3SideImage = True define persistent.KoGa3OriginalInfoScreen = True init python: config.character_id_prefixes.append('namebox') style window is default style say_label is default style say_dialogue is default style say_thought is say_dialogue style namebox is default style namebox_label is say_label style window: xalign 0.5 xfill True yalign gui.textbox_yalign ysize gui.textbox_height background (None) style namebox: xpos gui.name_xpos xanchor gui.name_xalign xsize gui.namebox_width ypos gui.name_ypos ysize gui.namebox_height background Frame("gui/namebox.png", gui.namebox_borders, tile=gui.namebox_tile, xalign=gui.name_xalign) padding gui.namebox_borders.padding style say_label: properties gui.text_properties("name", accent=True) xalign gui.name_xalign yalign 1.0 style say_dialogue: properties gui.text_properties("dialogue") xpos gui.dialogue_xpos xsize gui.dialogue_width ypos gui.dialogue_ypos yalign 0.0 screen input(prompt): style_prefix "input" window: has vbox: xalign gui.dialogue_text_xalign xpos gui.dialogue_xpos xsize gui.dialogue_width ypos gui.dialogue_ypos text prompt style "input_prompt" input id "input" style input_prompt is default style input_prompt: xalign gui.dialogue_text_xalign properties gui.text_properties("input_prompt") style input: xalign gui.dialogue_text_xalign xmaximum gui.dialogue_width properties gui.text_properties("input") outlines [ (absolute(2), "#000", absolute(0), absolute(0)) ] screen choice(items): style_prefix "choice" vbox: for i in items: textbutton i.caption action i.action define config.narrator_menu = True style choice_vbox is vbox style choice_button is button style choice_button_text is button_text style choice_vbox: xalign 0.5 ypos 405 yanchor 0.5 spacing gui.choice_spacing style choice_button is default: properties gui.button_properties("choice_button") style choice_button_text is default: properties gui.button_text_properties("choice_button") outlines [(2, "#000", 0, 0)] #---------------------Quick menu---------------------# define persistent.KoGa3QuickMenuButton = 1 define persistent.KoGa3QuickMenuShow = 1 define persistent.KoGa3_QuickMenu1_button_font = "KoGa3_QuickMenu1_button_text" define KoGa3QuickMenuTextSizedefault = 20 define KoGa3TextOutline4default = 2 define KoGa3TextOutline5default = 0 define KoGa3TextOutline6default = 0 define persistent.KoGa3QuickMenuTextSize = KoGa3QuickMenuTextSizedefault define persistent.KoGa3TextOutline4 = KoGa3TextOutline4default define persistent.KoGa3TextOutline5 = KoGa3TextOutline5default define persistent.KoGa3TextOutline6 = KoGa3TextOutline6default define persistent.KoGa3QuickMenuItemBack = True define persistent.KoGa3QuickMenuItemHist = False define persistent.KoGa3QuickMenuItemSkip = True define persistent.KoGa3QuickMenuItemAuto = True define persistent.KoGa3QuickMenuItemSave = True define persistent.KoGa3QuickMenuItemLoad = True define persistent.KoGa3QuickMenuItemQSave = True define persistent.KoGa3QuickMenuItemQLoad = True define persistent.KoGa3QuickMenuItemPrefs = True define persistent.KoGa3QuickMenuItemModmenu = True define quick_menu = True screen quick_menu(): ## Ensure this appears on top of other screens. zorder 100 if quick_menu == True and persistent.KoGa3QuickMenuButton == 2: if persistent.KoGa3QuickMenuTextSize >= 28: mousearea: area (0, 1000, 1920, 80) hovered SetVariable("persistent.KoGa3QuickMenuShow", 1) unhovered SetVariable("persistent.KoGa3QuickMenuShow", 0) else: mousearea: area (0, 1040, 1920, 40) hovered SetVariable("persistent.KoGa3QuickMenuShow", 1) unhovered SetVariable("persistent.KoGa3QuickMenuShow", 0) if quick_menu == True and persistent.KoGa3QuickMenuShow == 1: hbox: style_prefix "quick" $ persistent.KoGa3_QuickMenu1_button_font = "KoGa3_QuickMenu1_button_text" $ persistent.KoGa3_QuickMenu2_button_font = "KoGa3_QuickMenu2_button_text" xalign 0.5 yalign 1.0 if persistent.KoGa3QuickMenuItemBack: textbutton _("Back"): text_style persistent.KoGa3_QuickMenu1_button_font text_size persistent.KoGa3QuickMenuTextSize text_outlines [ (absolute(persistent.KoGa3TextOutline4), "#000", absolute(persistent.KoGa3TextOutline5), absolute(persistent.KoGa3TextOutline6)) ] action Rollback() if persistent.KoGa3QuickMenuItemHist: textbutton _("Hist"): text_style persistent.KoGa3_QuickMenu1_button_font text_size persistent.KoGa3QuickMenuTextSize text_outlines [ (absolute(persistent.KoGa3TextOutline4), "#000", absolute(persistent.KoGa3TextOutline5), absolute(persistent.KoGa3TextOutline6)) ] action ShowMenu('history') if persistent.KoGa3QuickMenuItemSkip: textbutton _("Skip"): text_style persistent.KoGa3_QuickMenu1_button_font text_size persistent.KoGa3QuickMenuTextSize text_outlines [ (absolute(persistent.KoGa3TextOutline4), "#000", absolute(persistent.KoGa3TextOutline5), absolute(persistent.KoGa3TextOutline6)) ] action Skip() alternate Skip(fast=True, confirm=True) if persistent.KoGa3QuickMenuItemAuto: textbutton _("Auto"): text_style persistent.KoGa3_QuickMenu1_button_font text_size persistent.KoGa3QuickMenuTextSize text_outlines [ (absolute(persistent.KoGa3TextOutline4), "#000", absolute(persistent.KoGa3TextOutline5), absolute(persistent.KoGa3TextOutline6)) ] action Preference("auto-forward", "toggle") if persistent.KoGa3QuickMenuItemSave: textbutton _("Save"): text_style persistent.KoGa3_QuickMenu1_button_font text_size persistent.KoGa3QuickMenuTextSize text_outlines [ (absolute(persistent.KoGa3TextOutline4), "#000", absolute(persistent.KoGa3TextOutline5), absolute(persistent.KoGa3TextOutline6)) ] action ShowMenu('save') if persistent.KoGa3QuickMenuItemLoad: textbutton _("Load"): text_style persistent.KoGa3_QuickMenu1_button_font text_size persistent.KoGa3QuickMenuTextSize text_outlines [ (absolute(persistent.KoGa3TextOutline4), "#000", absolute(persistent.KoGa3TextOutline5), absolute(persistent.KoGa3TextOutline6)) ] action ShowMenu('load') if persistent.KoGa3QuickMenuItemQSave: textbutton _("Q.Save"): text_style persistent.KoGa3_QuickMenu1_button_font text_size persistent.KoGa3QuickMenuTextSize text_outlines [ (absolute(persistent.KoGa3TextOutline4), "#000", absolute(persistent.KoGa3TextOutline5), absolute(persistent.KoGa3TextOutline6)) ] action QuickSave() if persistent.KoGa3QuickMenuItemQLoad: textbutton _("Q.Load"): text_style persistent.KoGa3_QuickMenu1_button_font text_size persistent.KoGa3QuickMenuTextSize text_outlines [ (absolute(persistent.KoGa3TextOutline4), "#000", absolute(persistent.KoGa3TextOutline5), absolute(persistent.KoGa3TextOutline6)) ] action QuickLoad() if persistent.KoGa3QuickMenuItemPrefs: textbutton _("Prefs"): text_style persistent.KoGa3_QuickMenu1_button_font text_size persistent.KoGa3QuickMenuTextSize text_outlines [ (absolute(persistent.KoGa3TextOutline4), "#000", absolute(persistent.KoGa3TextOutline5), absolute(persistent.KoGa3TextOutline6)) ] action ShowMenu('preferences') if persistent.KoGa3QuickMenuItemModmenu: hbox: spacing 10 if KoGa3ModMenuButtonPressed == False: textbutton _("Mod menu"): text_style persistent.KoGa3_QuickMenu1_button_font text_size persistent.KoGa3QuickMenuTextSize text_outlines [ (absolute(persistent.KoGa3TextOutline4), "#000", absolute(persistent.KoGa3TextOutline5), absolute(persistent.KoGa3TextOutline6)) ] selected False action [ SetVariable ("pts_SaraTemp", pts_Sara), SetVariable ("pts_YuriTemp", pts_Yuri), SetVariable ("KoGa3ModMenuButtonPressed", True), Show("KoGa3ScreenModMenu") ] if KoGa3ModMenuButtonPressed == True: textbutton _("Close Mod menu"): text_style persistent.KoGa3_QuickMenu1_button_font text_size persistent.KoGa3QuickMenuTextSize text_outlines [ (absolute(persistent.KoGa3TextOutline4), "#000", absolute(persistent.KoGa3TextOutline5), absolute(persistent.KoGa3TextOutline6)) ] selected False action [ SetVariable ("KoGa3ModMenuButtonPressed", False), Hide("KoGa3ScreenCheat"), Hide("KoGa3ScreenModMenu"), Hide("KoGa3ScreenCheatMore1"), Hide("KoGa3ScreenJukebox"), Hide("KoGa3QuickMusicMenu"), Hide("KoGa3ScreenBlank"), Hide("KoGa3ScreenAudioMenu"), Hide("KoGa3GameSettingsQuickMenu"), Hide("KoGa3GameSettings") ] init python: config.overlay_screens.append("quick_menu") default quick_menu = True style quick_button is default style quick_button_text is button_text style quick_button: properties gui.button_properties("quick_button") style quick_button_text: properties gui.button_text_properties("quick_button") screen navigation(): vbox: style_prefix "navigation" xpos gui.navigation_xpos yalign 0.5 spacing gui.navigation_spacing if not main_menu: textbutton _("History") action ShowMenu("history") textbutton _("Save") action ShowMenu("save") textbutton _("Load") action ShowMenu("load") textbutton _("Preferences") action ShowMenu("preferences") if _in_replay: textbutton _("End Replay") action EndReplay(confirm=True) elif not main_menu: textbutton _("Main Menu") action MainMenu() style navigation_button is gui_button style navigation_button_text is gui_button_text style navigation_button: size_group "navigation" properties gui.button_properties("navigation_button") style navigation_button_text: properties gui.button_text_properties("navigation_button") style FontRussian is text: font "fonts/LLLisa.ttf" size 50 color "#FF0000" screen main_menu_hallowen(): add "gui/halloween_menu.png" vbox: spacing 62 ypos 180 if _preferences.language == None: textbutton __("Start") xpos 170 action Start("chooseName") text_style "menu_halloween" textbutton __("Load") xpos 190 action ShowMenu("load") text_style "menu_halloween" textbutton __("Gallery") xpos 143 action [SetVariable("Halloween2021", True), SetVariable("GalleryPrincipal", False), ShowMenu("gallery")] text_style "menu_halloween" textbutton __("Preferences") xpos 65 action ShowMenu("preferences") text_style "menu_halloween" textbutton __("Quit") xpos 190 action Quit(confirm=not main_menu) text_style "menu_halloween" textbutton __("Return Principal History") xpos 50 action SetVariable("halloween_event", False) text_style "menu_halloween" if _preferences.language == "spanish": textbutton "Start" xpos 170 action Start("chooseName") text_style "menu_halloween" textbutton "Load" xpos 150 action ShowMenu("load") text_style "menu_halloween" textbutton "Gallery" xpos 155 action [SetVariable("Halloween2021", True), SetVariable("GalleryPrincipal", False), ShowMenu("gallery")] text_style "menu_halloween" textbutton "Preferences" xpos 90 action ShowMenu("preferences") text_style "menu_halloween" textbutton "Quit" xpos 185 action Quit(confirm=not main_menu) text_style "menu_halloween" textbutton "Return Principal History" xpos 50 action SetVariable("halloween_event", False) text_style "menu_halloween" if _preferences.language == "portuguese": textbutton "Start" xpos 170 action Start("chooseName") text_style "menu_halloween" textbutton "Load" xpos 120 action ShowMenu("load") text_style "menu_halloween" textbutton "Gallery" xpos 154 action [SetVariable("Halloween2021", True), SetVariable("GalleryPrincipal", False), ShowMenu("gallery")] text_style "menu_halloween" textbutton "Preferences" xpos 90 action ShowMenu("preferences") text_style "menu_halloween" textbutton "Quit" xpos 213 action Quit(confirm=not main_menu) text_style "menu_halloween" textbutton "Return Principal History" xpos 50 action SetVariable("halloween_event", False) text_style "menu_halloween" if _preferences.language == "Russian": textbutton "Start" xpos 170 action Start("chooseName") text_style "FontRussian" textbutton "Load" xpos 126 action ShowMenu("load") text_style "FontRussian" textbutton "Gallery" xpos 154 action [SetVariable("Halloween2021", True), SetVariable("GalleryPrincipal", False), ShowMenu("gallery")] text_style "FontRussian" textbutton "Preferences" xpos 112 action ShowMenu("preferences") text_style "FontRussian" textbutton "Quit" xpos 123 action Quit(confirm=not main_menu) text_style "FontRussian" textbutton "Return Principal History" xpos 50 action SetVariable("halloween_event", False) text_style "FontRussian" if _preferences.language == "french": textbutton "Start" xpos 170 action Start("chooseName") text_style "menu_halloween" textbutton "Load" xpos 175 action ShowMenu("load") text_style "menu_halloween" textbutton "Gallery" xpos 180 action [SetVariable("Halloween2021", True), SetVariable("GalleryPrincipal", False), ShowMenu("gallery")] text_style "menu_halloween" textbutton "Preferences" xpos 90 action ShowMenu("preferences") text_style "menu_halloween" textbutton "Quit" xpos 175 action Quit(confirm=not main_menu) text_style "menu_halloween" textbutton "Return Principal History" xpos 50 action SetVariable("halloween_event", False) text_style "menu_halloween" screen main_menu_christmas(): add "gui/portada_navidad.jpg" if _preferences.language == None or _preferences.language == "spanish" or _preferences.language == "portuguese": textbutton "Return" xpos 180 ypos 350 action SetVariable("christmas_event", False) text_style "menu_christmas" else: textbutton "Return" xpos 180 ypos 350 action SetVariable("christmas_event", False) text_style "menu_christmasRus" define select_events = False screen select_Event(): add "gui/events_background.png" text __("Events") xalign 0.5 ypos 50 style "main_menu_G" size 60 hbox: xpos 140 ypos 200 spacing 6 imagebutton auto "gui/hallowen_event_%s.png" focus_mask True action [SetVariable("select_events", False), SetVariable("halloween_event", True)] textbutton __("Return") ypos 1000 xpos 70 action SetVariable("select_events", False) style "main_menu_G" screen main_menu(): tag menu frame: style "main_menu_frame" use navigation if gui.show_name: if halloween_event: use main_menu_hallowen elif christmas_event: use main_menu_christmas elif select_events: use select_Event else: use main_menu_default screen main_menu_default: add "gui/new_menu.jpg" vbox: xalign 0.18 yalign 0.88 spacing -50 hbox: spacing 80 imagebutton auto "images/subs_%s.png" action OpenURL("https://subscribestar.adult/game-sara") vbox: ypos 830 xpos 50 spacing 15 imagebutton auto "gui/events_%s.png" focus_mask True action SetVariable("select_events", True) if _preferences.language == None: text __("Events") size 38 ypos 1000 xpos 65 elif _preferences.language == "spanish": text __("Events") size 38 ypos 1000 xpos 55 elif _preferences.language == "portuguese": text __("Events") size 38 ypos 1000 xpos 55 elif _preferences.language == "french": text __("Events") size 30 ypos 1000 xpos 45 vbox: xpos -400 if _preferences.language == None: spacing 30 ypos 320 textbutton __("Start") xpos 771 action Start() text_style "main_menu_" textbutton __("Load") xpos 763 action ShowMenu("load") text_style "main_menu_" textbutton __("Gallery") xpos 710 action [SetVariable("EventsGallery", False), SetVariable("GalleryPrincipal", True), ShowMenu("gallery")] text_style "main_menu_" textbutton __("Preferences") xpos 635 action ShowMenu("preferences") text_style "main_menu_" textbutton __("Quit") xpos 758 action Quit(confirm=not main_menu) text_style "main_menu_" elif _preferences.language == "spanish": spacing 30 ypos 320 textbutton __("Start") xpos 750 action Start() text_style "main_menu_" textbutton __("Load") xpos 735 action ShowMenu("load") text_style "main_menu_" textbutton __("Gallery") xpos 716 action [SetVariable("EventsGallery", False), SetVariable("GalleryPrincipal", True), ShowMenu("gallery")] text_style "main_menu_" textbutton __("Preferences") xpos 628 action ShowMenu("preferences") text_style "main_menu_" textbutton __("Quit") xpos 758 action Quit(confirm=not main_menu) text_style "main_menu_" elif _preferences.language == "portuguese": spacing 30 ypos 320 textbutton __("Start") xpos 750 action Start() text_style "main_menu_" textbutton __("Load") xpos 695 action ShowMenu("load") text_style "main_menu_" textbutton __("Gallery") xpos 718 action [SetVariable("EventsGallery", False), SetVariable("GalleryPrincipal", True), ShowMenu("gallery")] text_style "main_menu_" textbutton __("Preferences") xpos 620 action ShowMenu("preferences") text_style "main_menu_" textbutton __("Quit") xpos 765 action Quit(confirm=not main_menu) text_style "main_menu_" elif _preferences.language == "Russian": spacing 25 ypos 300 xpos -3 textbutton __("Start") xpos 725 action Start() text_style "main_menu_" textbutton __("Load") xpos 650 action ShowMenu("load") text_style "main_menu_" textbutton __("Gallery") xpos 675 action [SetVariable("EventsGallery", False), SetVariable("GalleryPrincipal", True), ShowMenu("gallery")] text_style "main_menu_" textbutton __("Preferences") xpos 620 action ShowMenu("preferences") text_style "main_menu_" textbutton __("Quit") xpos 635 action Quit(confirm=not main_menu) text_style "main_menu_" elif _preferences.language == "french": spacing 25 ypos 300 textbutton __("Start") xpos 660 action Start() text_style "main_menu_" textbutton __("Load") xpos 675 action ShowMenu("load") text_style "main_menu_" textbutton __("Gallery") xpos 680 action [SetVariable("EventsGallery", False), SetVariable("GalleryPrincipal", True), ShowMenu("gallery")] text_style "main_menu_" textbutton __("Preferences") xpos 600 action ShowMenu("preferences") text_style "main_menu_" textbutton __("Quit") xpos 670 action Quit(confirm=not main_menu) text_style "main_menu_" style main_menu_frame is empty style main_menu_vbox is vbox style main_menu_text is gui_text style main_menu_title is main_menu_text style main_menu_version is main_menu_text style main_menu_frame: xsize 420 yfill True background "gui/overlay/main_menu.png" style main_menu_vbox: xalign 1.0 xoffset -30 xmaximum 1200 yalign 1.0 yoffset -30 style main_menu_text: properties gui.text_properties("main_menu", accent=True) style main_menu_title: properties gui.text_properties("title") style main_menu_version: properties gui.text_properties("version") screen game_menu(title, scroll=None, yinitial=0.0): style_prefix "game_menu" add gui.game_menu_background frame: style "game_menu_outer_frame" has hbox frame: style "game_menu_navigation_frame" frame: style "game_menu_content_frame" if scroll == "viewport": viewport: yinitial yinitial scrollbars "vertical" mousewheel True draggable True pagekeys True side_yfill True has vbox transclude elif scroll == "vpgrid": vpgrid: cols 1 yinitial yinitial scrollbars "vertical" mousewheel True draggable True pagekeys True side_yfill True transclude else: transclude use navigation textbutton _("Return"): style "return_button" action Return() label title if main_menu: key "game_menu" action ShowMenu("main_menu") style game_menu_outer_frame is empty style game_menu_navigation_frame is empty style game_menu_content_frame is empty style game_menu_viewport is gui_viewport style game_menu_side is gui_side style game_menu_scrollbar is gui_vscrollbar style game_menu_label is gui_label style game_menu_label_text is gui_label_text style return_button is navigation_button style return_button_text is navigation_button_text style game_menu_outer_frame: bottom_padding 45 top_padding 180 background "gui/overlay/game_menu.png" style game_menu_navigation_frame: xsize 420 yfill True style game_menu_content_frame: left_margin 60 right_margin 30 top_margin 15 style game_menu_viewport: xsize 1380 style game_menu_vscrollbar: unscrollable gui.unscrollable style game_menu_side: spacing 15 style game_menu_label: xpos 75 ysize 180 style game_menu_label_text: size gui.title_text_size color gui.accent_color yalign 0.5 style return_button: xpos gui.navigation_xpos yalign 1.0 yoffset -45 screen about(): tag menu use game_menu(_("About"), scroll="viewport"): style_prefix "about" vbox: label "[config.name!t]" text _("Version [config.version!t]\n") if gui.about: text "[gui.about!t]\n" text _("Made with {a=https://www.renpy.org/}Ren'Py{/a} [renpy.version_only].\n\n[renpy.license!t]") style about_label is gui_label style about_label_text is gui_label_text style about_text is gui_text style about_label_text: size gui.label_text_size screen save(): tag menu use file_slots(_("Save")) screen load(): tag menu use file_slots(_("Load")) #---------------------Named saves---------------------# define persistent.KoGa3NamedSaves = 1 #(0 or 2 for Android) define KoGa3Saveyoffset = -117 #285 image KoGa3MenuBack_save = "KoGa3MenuBack_save.png" label KoGa3NamedSaveInput: show KoGa3MenuBack_save $ save_name = renpy.input("Save name: ", default=save_name) hide KoGa3MenuBack_save return screen file_slots(title): default page_name_value = FilePageNameInputValue(pattern=_("Page {}"), auto=_("Automatic saves"), quick=_("Quick saves")) use game_menu(title): fixed: order_reverse True button: style "page_label" key_events True xalign 0.5 ypos -175 action page_name_value.Toggle() input: style "page_label_text" value page_name_value if title == "Save": vbox: ypos -25 hbox: textbutton _("Named saves: "): xpos 50 text_size 30 text_font "KoGa3.ttf" #style "mute_all_button" sensitive False action NullAction() if persistent.KoGa3NamedSaves == 1: textbutton _("ON - input field (best for PC)"): xpos 50 text_size 30 text_font "KoGa3.ttf" #style "mute_all_button" selected False action [ SetVariable("persistent.KoGa3NamedSaves", 2) ] if persistent.KoGa3NamedSaves == 2: textbutton _("ON - get asked (best for Android)"): xpos 50 text_size 30 text_font "KoGa3.ttf" #style "mute_all_button" selected False action [ SetVariable("persistent.KoGa3NamedSaves", 0), SetVariable("save_name","") ] if persistent.KoGa3NamedSaves == 0: textbutton _("OFF"): xpos 50 text_size 30 text_font "KoGa3.ttf" #style "mute_all_button" selected False action [ SetVariable("persistent.KoGa3NamedSaves", 1)] if persistent.KoGa3NamedSaves > 0: hbox: textbutton _("current: "): xpos 50 ypos 0 text_size 30 text_font "KoGa3.ttf" #style "mute_all_button" sensitive False action NullAction() if persistent.KoGa3NamedSaves == 1: button: #style "page_label" key_events True xpos 50 ypos -4 input: font "KoGa3.ttf" size 30 value VariableInputValue('save_name') color "#8e6439" if persistent.KoGa3NamedSaves == 2: textbutton _("[save_name]"): xpos 50 text_size 30 text_font "KoGa3.ttf" #style "mute_all_button" sensitive False action NullAction() ## The grid of file slots. grid gui.file_slot_cols gui.file_slot_rows: style_prefix "slot" xalign 0.5 yalign 0.5 spacing gui.slot_spacing for i in range(gui.file_slot_cols * gui.file_slot_rows): $ slot = i + 1 if persistent.KoGa3NamedSaves == 2 and title == "Save": button: action [ ui.callsinnewcontext("KoGa3NamedSaveInput"), FileAction(slot) ] has vbox add FileScreenshot(slot) xalign 0.5 text FileTime(slot, format=_("{#file_time}%a, %B %d %Y, %H:%M"), empty=_("empty slot")): style "slot_time_text" size 24 text FileSaveName(slot): style "slot_name_text" size 24 if FileLoadable(slot): imagebutton: idle "button_delete_idle.png" hover "button_delete_hover.png" action FileDelete(slot) xalign 1.0 xoffset 0 #yalign 1.0 yoffset KoGa3Saveyoffset key "save_delete" action FileDelete(slot) else: button: action [ #ui.callsinnewcontext("KoGa3NamedSaveInput"), FileAction(slot) ] has vbox add FileScreenshot(slot) xalign 0.5 text FileTime(slot, format=_("{#file_time}%a, %B %d %Y, %H:%M"), empty=_("empty slot")): style "slot_time_text" size 24 text FileSaveName(slot): style "slot_name_text" size 24 if FileLoadable(slot): imagebutton: idle "button_delete_idle.png" hover "button_delete_hover.png" action FileDelete(slot) xalign 1.0 xoffset 0 #yalign 1.0 yoffset KoGa3Saveyoffset key "save_delete" action FileDelete(slot) ## Buttons to access other pages. hbox: style_prefix "page" xalign 0.5 yalign 1.0 spacing gui.page_spacing textbutton _("<") action FilePagePrevious() if config.has_autosave is False: textbutton _("{#auto_page}A") action FilePage("auto") if config.has_quicksave: textbutton _("{#quick_page}Q") action FilePage("quick") for page in range(1, 10): textbutton "[page]" action FilePage(page) textbutton _(">") action FilePageNext() style page_label is gui_label style page_label_text is gui_label_text style page_button is gui_button style page_button_text is gui_button_text style slot_button is gui_button style slot_button_text is gui_button_text style slot_time_text is slot_button_text style slot_name_text is slot_button_text style page_label: xpadding 75 ypadding 5 style page_label_text: text_align 0.5 layout "subtitle" hover_color gui.hover_color style page_button: properties gui.button_properties("page_button") style page_button_text: properties gui.button_text_properties("page_button") style slot_button: properties gui.button_properties("slot_button") style slot_button_text: properties gui.button_text_properties("slot_button") define persistent.KoGa3main_menu_music = True default Language_set = False default screen_audio = True default accesibilidad = False style text_option: font "fonts/BubaDEMO-Outline.otf" size 35 style text_option2: font "fonts/BagnardSans.otf" size 40 outlines [(absolute(1), "#000", absolute(1), absolute(1))] color "FFFFFF" hover_color "#572364" screen preferences(): tag menu use game_menu(_("Preferences"), scroll="viewport"): frame: background None ysize 825 hbox: spacing 10 xpos 285 textbutton __("Screen - Audio") action [SetVariable("Language_set", False,), SetVariable("accesibilidad", False), SetVariable("screen_audio", True)] text_style "text_option2" text " / " style "text_option" ypos - 1 textbutton __("Language") action [SetVariable("screen_audio", False,), SetVariable("accesibilidad", False), SetVariable("Language_set", True)] text_style "text_option2" text " / " style "text_option" ypos - 1 textbutton __("accessibility") action [SetVariable("Language_set", False,), SetVariable("screen_audio", False), SetVariable("accesibilidad", True)] text_style "text_option2" if screen_audio == True and Language_set == False and accesibilidad == False: if renpy.variant("pc") or renpy.variant("web"): hbox: xpos 350 ypos 210 style_prefix "radio" label __("Display:") text_style "text_option" ypos -9 textbutton __("Window") action Preference("display", "window") text_style "text_option2" ypos 4 text " - " style "text_option" ypos 8 textbutton __("Fullscreen") action Preference("display", "fullscreen") text_style "text_option2" ypos 4 vbox: xpos 495 ypos 350 if config.has_music: label __("Music Volume") text_style "text_option" frame: xsize 350 background None has hbox bar value Preference("music volume") if config.has_sound: label __("Sound Volume") text_style "text_option" frame: xsize 350 background None hbox: bar value Preference("sound volume") if config.sample_sound: textbutton _("Test") action Play("sound", config.sample_sound) if config.has_voice: label __("Voice Volume") text_style "text_option" frame: xsize 350 background None hbox: bar value Preference("voice volume") if config.sample_voice: textbutton __("Test") action Play("voice", config.sample_voice) if config.has_music or config.has_sound or config.has_voice: null height gui.pref_spacing textbutton __("Mute All"): action Preference("all mute", "toggle") text_style "text_option2" xpos 35 null height (25) #KoGa3 label _("Mod KoGa3: Main menu music") text_style "text_option" hbox: hbox: style_prefix "check" if persistent.KoGa3main_menu_music is True: textbutton _("ON "): selected True action NullAction() else: textbutton _("ON "): selected False action [ Play("music", "/music/Motivational Pop.mp3"), SetVariable("persistent.KoGa3main_menu_music", True) ] hbox: textbutton _(" "): selected True action NullAction() hbox: style_prefix "check" if persistent.KoGa3main_menu_music is False: textbutton _("OFF"): selected True action NullAction() else: textbutton _("OFF"): selected False action [ Stop("music"), SetVariable("persistent.KoGa3main_menu_music", False) ] if Language_set == True and accesibilidad == False and screen_audio == False: hbox: ypos 370 xpos 453 style_prefix "radio" spacing 25 textbutton "English" action [Language(None), gui.SetPreference("font", "fonts/Young.ttf"), SetVariable("lang", "En")] text_style "text_option2" ypos 4: text_size 28 textbutton "Español" action [Language("spanish"), gui.SetPreference("font", "fonts/BagnardSans.otf"), SetVariable("lang", "Es")] text_style "text_option2" ypos 4 xpos 8: text_size 28 textbutton "Português" action [Language("portuguese"), gui.SetPreference("font", "fonts/BagnardSans2.otf"), SetVariable("lang", "Po")] text_style "text_option2" ypos 4: text_size 28 textbutton "French" action [Language("french"), gui.SetPreference("font", "fonts/Roboto-Regular.ttf"), SetVariable("lang", "Fr")] text_style "text_option2" ypos 4: text_size 28 hbox: ypos 250 spacing -30 xpos 430 imagebutton auto "gui/eng_lang_%s.png" focus_mask True action [Language(None), gui.SetPreference("font", "fonts/Young.ttf"), SetVariable("lang", "En")] imagebutton auto "gui/esp_lang_%s.png" focus_mask True action [Language("spanish"), gui.SetPreference("font", "fonts/BagnardSans.otf"), SetVariable("lang", "Es")] imagebutton auto "gui/port_lang_%s.png" focus_mask True action [Language("portuguese"), gui.SetPreference("font", "fonts/BagnardSans2.otf"), SetVariable("lang", "Po")] imagebutton auto "gui/fra_lang_%s.png" focus_mask True action [Language("french"), gui.SetPreference("font", "fonts/Roboto-Regular.ttf"), SetVariable("lang", "Fr")] if accesibilidad == True and screen_audio == False and Language_set == False: vbox: xpos 360 ypos 150 style_prefix "radio" label _("Rollback Side") text_style "text_option" textbutton _("Disable") action Preference("rollback side", "disable") text_style "text_option2" textbutton _("Left") action Preference("rollback side", "left") text_style "text_option2" textbutton _("Right") action Preference("rollback side", "right") text_style "text_option2" vbox: xpos 740 ypos 150 style_prefix "check" label _("Skip") text_style "text_option" textbutton _("Unseen Text") action Preference("skip", "toggle") text_style "text_option2" textbutton _("After Choices") action Preference("after choices", "toggle") text_style "text_option2" textbutton _("Transitions") action InvertSelected(Preference("transitions", "toggle")) text_style "text_option2" vbox: ypos 400 #520 xpos 400 style_prefix "slider" label _("Text Speed") text_style "text_option" bar value Preference("text speed") label _("Auto-Forward Time") text_style "text_option" bar value Preference("auto-forward time") #=====================================KoGa3 additions====================================# null height (50) label _("Mod KoGa3") text_style "text_option" textbutton _("Additional game settings..."): text_style "text_option2" sensitive True action [ Show("KoGa3ScreenBlank"), Show("KoGa3GameSettings") ] #=====================================KoGa3 additions====================================# style pref_label is gui_label style pref_label_text is gui_label_text style pref_vbox is vbox style radio_label is pref_label style radio_label_text is pref_label_text style radio_button is gui_button style radio_button_text is gui_button_text style radio_vbox is pref_vbox style check_label is pref_label style check_label_text is pref_label_text style check_button is gui_button style check_button_text is gui_button_text style check_vbox is pref_vbox style slider_label is pref_label style slider_label_text is pref_label_text style slider_slider is gui_slider style slider_button is gui_button style slider_button_text is gui_button_text style slider_pref_vbox is pref_vbox style mute_all_button is check_button style mute_all_button_text is check_button_text style pref_label: top_margin gui.pref_spacing bottom_margin 3 style pref_label_text: yalign 1.0 style pref_vbox: xsize 338 style radio_vbox: spacing gui.pref_button_spacing style radio_button: properties gui.button_properties("radio_button") foreground "gui/button/radio_[prefix_]foreground.png" style radio_button_text: properties gui.button_text_properties("radio_button") style check_vbox: spacing gui.pref_button_spacing style check_button: properties gui.button_properties("check_button") foreground "gui/button/check_[prefix_]foreground.png" style check_button_text: properties gui.button_text_properties("check_button") style slider_slider: xsize 525 style slider_button: properties gui.button_properties("slider_button") yalign 0.5 left_margin 15 style slider_button_text: properties gui.button_text_properties("slider_button") style slider_vbox: xsize 675 screen history(): predict False tag menu use game_menu(_("History"), scroll=("vpgrid" if gui.history_height else "viewport"), yinitial=1.0): style_prefix "history" for h in _history_list: window: has fixed: yfit True if h.who: label h.who: style "history_name" substitute False if "color" in h.who_args: text_color h.who_args["color"] $ what = renpy.filter_text_tags(h.what, allow=gui.history_allow_tags) text what: substitute False if not _history_list: label _("The dialogue history is empty.") define gui.history_allow_tags = { "alt", "noalt" } style history_window is empty style history_name is gui_label style history_name_text is gui_label_text style history_text is gui_text style history_text is gui_text style history_label is gui_label style history_label_text is gui_label_text style history_window: xfill True ysize gui.history_height style history_name: xpos gui.history_name_xpos xanchor gui.history_name_xalign ypos gui.history_name_ypos xsize gui.history_name_width style history_name_text: min_width gui.history_name_width text_align gui.history_name_xalign style history_text: xpos gui.history_text_xpos ypos gui.history_text_ypos xanchor gui.history_text_xalign xsize gui.history_text_width min_width gui.history_text_width text_align gui.history_text_xalign layout ("subtitle" if gui.history_text_xalign else "tex") style history_label: xfill True style history_label_text: xalign 0.5 screen help(): tag menu default device = "keyboard" use game_menu(_("Help"), scroll="viewport"): style_prefix "help" vbox: spacing 23 hbox: textbutton _("Keyboard") action SetScreenVariable("device", "keyboard") textbutton _("Mouse") action SetScreenVariable("device", "mouse") if GamepadExists(): textbutton _("Gamepad") action SetScreenVariable("device", "gamepad") if device == "keyboard": use keyboard_help elif device == "mouse": use mouse_help elif device == "gamepad": use gamepad_help screen keyboard_help(): hbox: label _("Enter") text _("Advances dialogue and activates the interface.") hbox: label _("Space") text _("Advances dialogue without selecting choices.") hbox: label _("Arrow Keys") text _("Navigate the interface.") hbox: label _("Escape") text _("Accesses the game menu.") hbox: label _("Ctrl") text _("Skips dialogue while held down.") hbox: label _("Tab") text _("Toggles dialogue skipping.") hbox: label _("Page Up") text _("Rolls back to earlier dialogue.") hbox: label _("Page Down") text _("Rolls forward to later dialogue.") hbox: label "H" text _("Hides the user interface.") hbox: label "S" text _("Takes a screenshot.") hbox: label "V" text _("Toggles assistive {a=https://www.renpy.org/l/voicing}self-voicing{/a}.") screen mouse_help(): hbox: label _("Left Click") text _("Advances dialogue and activates the interface.") hbox: label _("Middle Click") text _("Hides the user interface.") hbox: label _("Right Click") text _("Accesses the game menu.") hbox: label _("Mouse Wheel Up\nClick Rollback Side") text _("Rolls back to earlier dialogue.") hbox: label _("Mouse Wheel Down") text _("Rolls forward to later dialogue.") screen gamepad_help(): hbox: label _("Right Trigger\nA/Bottom Button") text _("Advances dialogue and activates the interface.") hbox: label _("Left Trigger\nLeft Shoulder") text _("Rolls back to earlier dialogue.") hbox: label _("Right Shoulder") text _("Rolls forward to later dialogue.") hbox: label _("D-Pad, Sticks") text _("Navigate the interface.") hbox: label _("Start, Guide") text _("Accesses the game menu.") hbox: label _("Y/Top Button") text _("Hides the user interface.") textbutton _("Calibrate") action GamepadCalibrate() style help_button is gui_button style help_button_text is gui_button_text style help_label is gui_label style help_label_text is gui_label_text style help_text is gui_text style help_button: properties gui.button_properties("help_button") xmargin 12 style help_button_text: properties gui.button_text_properties("help_button") style help_label: xsize 375 right_padding 30 style help_label_text: size gui.text_size xalign 1.0 text_align 1.0 screen confirm(message, yes_action, no_action): modal True zorder 200 style_prefix "confirm" add "gui/overlay/confirm.png" frame: has vbox: xalign .5 yalign .5 spacing 45 label _(message): style "confirm_prompt" xalign 0.5 hbox: xalign 0.5 spacing 150 textbutton _("Yes") action yes_action textbutton _("No") action no_action key "game_menu" action no_action style confirm_frame is gui_frame style confirm_prompt is gui_prompt style confirm_prompt_text is gui_prompt_text style confirm_button is gui_medium_button style confirm_button_text is gui_medium_button_text style confirm_frame: background Frame([ "gui/confirm_frame.png", "gui/frame.png"], gui.confirm_frame_borders, tile=gui.frame_tile) padding gui.confirm_frame_borders.padding xalign .5 yalign .5 style confirm_prompt_text: text_align 0.5 layout "subtitle" style confirm_button: properties gui.button_properties("confirm_button") style confirm_button_text: properties gui.button_text_properties("confirm_button") screen skip_indicator(): zorder 100 style_prefix "skip" frame: has hbox: spacing 9 text _("Skipping") text "▸" at delayed_blink(0.0, 1.0) style "skip_triangle" text "▸" at delayed_blink(0.2, 1.0) style "skip_triangle" text "▸" at delayed_blink(0.4, 1.0) style "skip_triangle" transform delayed_blink(delay, cycle): alpha .5 pause delay block: linear .2 alpha 1.0 pause .2 linear .2 alpha 0.5 pause (cycle - .4) repeat style skip_frame is empty style skip_text is gui_text style skip_triangle is skip_text style skip_frame: ypos gui.skip_ypos background Frame("gui/skip.png", gui.skip_frame_borders, tile=gui.frame_tile) padding gui.skip_frame_borders.padding style skip_text: size gui.notify_text_size style skip_triangle: font "DejaVuSans.ttf" screen notify(message): zorder 100 style_prefix "notify" frame at notify_appear: text "[message!tq]" timer 3.25 action Hide('notify') transform notify_appear: on show: alpha 0 linear .25 alpha 1.0 on hide: linear .5 alpha 0.0 style notify_frame is empty style notify_text is gui_text style notify_frame: ypos gui.notify_ypos background Frame("gui/notify.png", gui.notify_frame_borders, tile=gui.frame_tile) padding gui.notify_frame_borders.padding style notify_text: properties gui.text_properties("notify") screen nvl(dialogue, items=None): window: style "nvl_window" has vbox: spacing gui.nvl_spacing if gui.nvl_height: vpgrid: cols 1 yinitial 1.0 use nvl_dialogue(dialogue) else: use nvl_dialogue(dialogue) for i in items: textbutton i.caption: action i.action style "nvl_button" add SideImage() xalign 0.0 yalign 1.0 screen nvl_dialogue(dialogue): for d in dialogue: window: id d.window_id has fixed: yfit gui.nvl_height is None if d.who is not None: text d.who: id d.who_id text d.what: id d.what_id define config.nvl_list_length = gui.nvl_list_length style nvl_window is default style nvl_entry is default style nvl_label is say_label style nvl_dialogue is say_dialogue style nvl_button is button style nvl_button_text is button_text style nvl_window: xfill True yfill True background "gui/nvl.png" padding gui.nvl_borders.padding style nvl_entry: xfill True ysize gui.nvl_height style nvl_label: xpos gui.nvl_name_xpos xanchor gui.nvl_name_xalign ypos gui.nvl_name_ypos yanchor 0.0 xsize gui.nvl_name_width min_width gui.nvl_name_width text_align gui.nvl_name_xalign style nvl_dialogue: xpos gui.nvl_text_xpos xanchor gui.nvl_text_xalign ypos gui.nvl_text_ypos xsize gui.nvl_text_width min_width gui.nvl_text_width text_align gui.nvl_text_xalign layout ("subtitle" if gui.nvl_text_xalign else "tex") style nvl_thought: xpos gui.nvl_thought_xpos xanchor gui.nvl_thought_xalign ypos gui.nvl_thought_ypos xsize gui.nvl_thought_width min_width gui.nvl_thought_width text_align gui.nvl_thought_xalign layout ("subtitle" if gui.nvl_text_xalign else "tex") style nvl_button: properties gui.button_properties("nvl_button") xpos gui.nvl_button_xpos xanchor gui.nvl_button_xalign style nvl_button_text: properties gui.button_text_properties("nvl_button") style pref_vbox: variant "medium" xsize 675 screen quick_menu(): variant "touch" zorder 100 if quick_menu: hbox: style_prefix "quick" xalign 0.5 yalign 1.0 textbutton _("Back") action Rollback() textbutton _("Skip") action Skip() alternate Skip(fast=True, confirm=True) textbutton _("Auto") action Preference("auto-forward", "toggle") textbutton _("Menu") action ShowMenu() style window: variant "small" background "gui/phone/textbox.png" style radio_button: variant "small" foreground "gui/phone/button/radio_[prefix_]foreground.png" style check_button: variant "small" foreground "gui/phone/button/check_[prefix_]foreground.png" style nvl_window: variant "small" background "gui/phone/nvl.png" style main_menu_frame: variant "small" background "gui/phone/overlay/main_menu.png" style game_menu_outer_frame: variant "small" background "gui/phone/overlay/game_menu.png" style game_menu_navigation_frame: variant "small" xsize 510 style game_menu_content_frame: variant "small" top_margin 0 style pref_vbox: variant "small" xsize 600 style bar: variant "small" ysize gui.bar_size left_bar Frame("gui/phone/bar/left.png", gui.bar_borders, tile=gui.bar_tile) right_bar Frame("gui/phone/bar/right.png", gui.bar_borders, tile=gui.bar_tile) style vbar: variant "small" xsize gui.bar_size top_bar Frame("gui/phone/bar/top.png", gui.vbar_borders, tile=gui.bar_tile) bottom_bar Frame("gui/phone/bar/bottom.png", gui.vbar_borders, tile=gui.bar_tile) style scrollbar: variant "small" ysize gui.scrollbar_size base_bar Frame("gui/phone/scrollbar/horizontal_[prefix_]bar.png", gui.scrollbar_borders, tile=gui.scrollbar_tile) thumb Frame("gui/phone/scrollbar/horizontal_[prefix_]thumb.png", gui.scrollbar_borders, tile=gui.scrollbar_tile) style vscrollbar: variant "small" xsize gui.scrollbar_size base_bar Frame("gui/phone/scrollbar/vertical_[prefix_]bar.png", gui.vscrollbar_borders, tile=gui.scrollbar_tile) thumb Frame("gui/phone/scrollbar/vertical_[prefix_]thumb.png", gui.vscrollbar_borders, tile=gui.scrollbar_tile) style slider: variant "small" ysize gui.slider_size base_bar Frame("gui/phone/slider/horizontal_[prefix_]bar.png", gui.slider_borders, tile=gui.slider_tile) thumb "gui/phone/slider/horizontal_[prefix_]thumb.png" style vslider: variant "small" xsize gui.slider_size base_bar Frame("gui/phone/slider/vertical_[prefix_]bar.png", gui.vslider_borders, tile=gui.slider_tile) thumb "gui/phone/slider/vertical_[prefix_]thumb.png" style slider_vbox: variant "small" xsize None style slider_slider: variant "small" xsize 900 # Decompiled by unrpyc: https://github.com/CensoredUsername/unrpyc