#---------------------adds/enhancements for screens.rpy---------------------# #---------------------dialog/choice options---------------------# # define gui.name_xpos = 360 # define gui.dialogue_xpos = 402 # define gui.dialogue_width = 1116 screen say(who, what): style_prefix "say" window: id "window" $ persistent.pref_text_size2 = persistent.pref_text_size + 10 $ KoGa3xpos2 = 570 - (6 * persistent.pref_text_size) - persistent.KoGa3xposOffset $ KoGa3xpos1 = 612 - (6 * persistent.pref_text_size) - persistent.KoGa3xposOffset $ KoGa3xsize1 = 744 + (12 * persistent.pref_text_size) + (2 * persistent.KoGa3xposOffset) if persistent.pref_text_size > 20: $ KoGa3ypos1 = 195 - (6 * persistent.pref_text_size + persistent.KoGa3yposOffset) $ KoGa3ypos2 = 210 - (6 * persistent.pref_text_size + persistent.KoGa3yposOffset) $ KoGa3ypos3 = 240 - (5 * persistent.pref_text_size + persistent.KoGa3yposOffset) $ KoGa3ypos4 = 240 - (5 * persistent.pref_text_size + persistent.KoGa3yposOffset) else: $ KoGa3ypos1 = 195 - (6 * 20 + persistent.KoGa3yposOffset) $ KoGa3ypos2 = 210 - (6 * 20 + persistent.KoGa3yposOffset) $ KoGa3ypos3 = 240 - (5 * 20 + persistent.KoGa3yposOffset) $ KoGa3ypos4 = 240 - (5 * 20 + persistent.KoGa3yposOffset) if who is not None: if what != "" and what != None: if KoGa3xpos1 >= 320: window background Transform(Image("textboxHigh.png",xalign=0.5, ypos=KoGa3ypos1), alpha=persistent.KoGa3TextboxOpacity) else: window background Transform(Image("textboxHighWide.png",xalign=0.5, ypos=KoGa3ypos1), alpha=persistent.KoGa3TextboxOpacity) window: id "namebox" style "namebox" xpos KoGa3xpos2 ypos KoGa3ypos2 text who id "who" size persistent.pref_text_size2 outlines [ (absolute(persistent.KoGa3TextOutline1), "#000", absolute(persistent.KoGa3TextOutline2), absolute(persistent.KoGa3TextOutline3)) ] text what id "what" xpos KoGa3xpos1 xsize KoGa3xsize1 ypos KoGa3ypos3 size persistent.pref_text_size outlines [ (absolute(persistent.KoGa3TextOutline1), "#000", absolute(persistent.KoGa3TextOutline2), absolute(persistent.KoGa3TextOutline3)) ] else: if what != "" and what != None: if KoGa3xpos1 >= 320: window background Transform(Image("textboxHigh.png",xalign=0.5, ypos=KoGa3ypos1), alpha=persistent.KoGa3TextboxOpacity) else: window background Transform(Image("textboxHighWide.png",xalign=0.5, ypos=KoGa3ypos1), alpha=persistent.KoGa3TextboxOpacity) text what id "what" xpos KoGa3xpos1 xsize KoGa3xsize1 ypos KoGa3ypos4 size persistent.pref_text_size outlines [ (absolute(persistent.KoGa3TextOutline1), "#000", absolute(persistent.KoGa3TextOutline2), absolute(persistent.KoGa3TextOutline3)) ] #deactivated when centered text # text what id "what" 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 and KoGa3xpos1 >= 320: 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 KoGa3xposOffsetdefault = 0 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.KoGa3xposOffset = KoGa3xposOffsetdefault define persistent.KoGa3yposOffset = KoGa3yposOffsetdefault define persistent.KoGa3SideImage = True define persistent.KoGa3OriginalInfoScreen = True style window: xalign 0.5 xfill True yalign gui.textbox_yalign ysize gui.textbox_height background (None) style say_label: properties gui.text_properties("name", accent=True) xalign 0.0 xpos 0 yalign 1.0 style say_dialogue: properties gui.text_properties("dialogue") xalign 0.0 xpos gui.dialogue_xpos xsize gui.dialogue_width yalign 0.0 ypos gui.dialogue_ypos style input_prompt: xalign gui.dialogue_text_xalign properties gui.text_properties("input_prompt") outlines [ (absolute(2), "#000", absolute(0), absolute(0)) ] style input: xalign gui.dialogue_text_xalign xmaximum gui.dialogue_width properties gui.text_properties("input") outlines [ (absolute(2), "#000", absolute(0), absolute(0)) ] style choice_vbox: xalign 0.5 yalign 0.5 yanchor 0.5 spacing gui.choice_spacing 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.KoGa3QuickMenuItemHide = 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 init 999: screen quick_menu(): ## Ensure this appears on top of other screens. zorder 100 if 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 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.KoGa3QuickMenuItemHide: textbutton _("Hide"): text_style persistent.KoGa3_QuickMenu1_button_font text_size persistent.KoGa3QuickMenuTextSize text_outlines [ (absolute(persistent.KoGa3TextOutline4), "#000", absolute(persistent.KoGa3TextOutline5), absolute(persistent.KoGa3TextOutline6)) ] action HideInterface() 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 ("KoGa3ModMenuButtonPressed", True), Show("KoGa3GameSettings") ] 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") ] #---------------------Named saves---------------------# define persistent.KoGa3NamedSaves = 1 #(0 or 2 for Android) define KoGa3Saveyoffset = -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.42 ypos 955 action page_name_value.Toggle() input: style "page_label_text" value page_name_value ## The grid of file slots. grid gui.file_slot_cols gui.file_slot_rows: style_prefix "slot" xalign 0.1 yalign 0.05 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 10 #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 10 #yalign 1.0 yoffset KoGa3Saveyoffset key "save_delete" action FileDelete(slot) if title == "Save": vbox: ypos 770 spacing -15 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 -3 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() ## Buttons to access other pages. hbox: style_prefix "page" xalign 0.35 yalign -0.05 spacing gui.page_spacing textbutton _("<") action FilePagePrevious() if config.has_autosave: textbutton _("{#auto_page}A") action FilePage("auto") if config.has_quicksave: textbutton _("{#quick_page}Q") action FilePage("quick") ## range(1, 10) gives the numbers from 1 to 9. for page in range(1, 10): textbutton "[page]" action FilePage(page) textbutton _(">") action FilePageNext() #---------------------Preferences adds---------------------# screen preferences(): tag menu use game_menu(_("Preferences"), scroll="viewport"): vbox: hbox: box_wrap True if renpy.variant("pc") or renpy.variant("web"): vbox: style_prefix "radio" label _("Display") textbutton _("Window") action Preference("display", "window") textbutton _("Fullscreen") action Preference("display", "fullscreen") vbox: style_prefix "radio" label _("Rollback Side") textbutton _("Disable") action Preference("rollback side", "disable") textbutton _("Left") action Preference("rollback side", "left") textbutton _("Right") action Preference("rollback side", "right") vbox: style_prefix "check" label _("Skip") textbutton _("Unseen Text") action Preference("skip", "toggle") textbutton _("After Choices") action Preference("after choices", "toggle") textbutton _("Transitions") action InvertSelected(Preference("transitions", "toggle")) ## Additional vboxes of type "radio_pref" or "check_pref" can be ## added here, to add additional creator-defined preferences. null height (4 * gui.pref_spacing) hbox: style_prefix "slider" box_wrap True vbox: label _("Text Speed") bar value Preference("text speed") label _("Auto-Forward Time") bar value Preference("auto-forward time") #=====================================KoGa3 additions====================================# null height (4 * gui.pref_spacing) label _("Mod KoGa3") textbutton _("Settings..."): sensitive True action [ Show("KoGa3ScreenBlank"), Show("KoGa3GameSettings") ] #=====================================KoGa3 additions====================================# vbox: if config.has_music: label _("Music Volume") hbox: bar value Preference("music volume") if config.has_sound: label _("Sound Volume") 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") 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") style "mute_all_button" #---------------------Gallery unlock---------------------# default persistent.KoGa3GalleryUnlock = False init 1001: screen char_index(): on "show" action[SetVariable("is_char_index_shown", True)] on "show" action[SetVariable("jump_back", store.user_labels[0])] default selected_char = "Sophie" tag menu zorder 101 # # This frame holds all the content of the Character Index frame: xpos 300 ypos 150 background "gui/bg_char_index.png" # Replace with the background image path xsize 1200 ysize 700 imagebutton: # close xpos 1140 ypos 5 focus_mask True auto "gui/map/close_%s.png" action [Hide("char_index"), SetVariable("is_char_index_shown", False)] at guiDS # tooltip " Close" # ENDING imagebutton: xpos 50 # Adjust the position ypos 650 # Adjust the position if ending_states[selected_char] or persistent.KoGa3GalleryUnlock: auto "gui/ending_%s.png" at guiDS action [Hide("char_index"), SetVariable("is_char_index_shown", False), Jump(selected_char + "_ending")] else: idle "gui/ending_locked.png" at guiDS action NullAction() hbox: spacing 75 # box_wrap True xsize 1200 ysize 700 vbox: text " Character Index" style "charIndex" null height 10 grid 3 3: spacing 10 left_margin 30 imagebutton: focus_mask True auto "gui/portrait/sophie_%s.png" #action SetVariable("selected_char","sophie") selected_idle "gui/portrait/sophie_hover.png" action SetScreenVariable("selected_char","Sophie") if Mjenna or persistent.KoGa3GalleryUnlock: imagebutton: focus_mask True auto "gui/portrait/jenna_%s.png" selected_idle "gui/portrait/jenna_hover.png" action SetScreenVariable("selected_char","Jenna") else: imagebutton: focus_mask True idle "gui/portrait/jenna_hidden.png" action NullAction() if Mmayan or persistent.KoGa3GalleryUnlock: imagebutton: focus_mask True auto "gui/portrait/mayan_%s.png" selected_idle "gui/portrait/mayan_hover.png" action SetScreenVariable("selected_char","Mayan") else: imagebutton: focus_mask True idle "gui/portrait/mayan_hidden.png" action NullAction() if Mamy or persistent.KoGa3GalleryUnlock: imagebutton: focus_mask True auto "gui/portrait/amy_%s.png" selected_idle "gui/portrait/amy_hover.png" action SetScreenVariable("selected_char","Amy") else: imagebutton: focus_mask True idle "gui/portrait/amy_hidden.png" action NullAction() if gym_intro or persistent.KoGa3GalleryUnlock: imagebutton: focus_mask True auto "gui/portrait/dani_%s.png" selected_idle "gui/portrait/dani_hover.png" action SetScreenVariable("selected_char","Dani") else: imagebutton: focus_mask True idle "gui/portrait/dani_hidden.png" action NullAction() if Mmaria or persistent.KoGa3GalleryUnlock: imagebutton: focus_mask True auto "gui/portrait/maria_%s.png" selected_idle "gui/portrait/maria_hover.png" action SetScreenVariable("selected_char","Maria") else: imagebutton: focus_mask True idle "gui/portrait/maria_hidden.png" action NullAction() if gym_intro or persistent.KoGa3GalleryUnlock: imagebutton: focus_mask True auto "gui/portrait/daisy_%s.png" selected_idle "gui/portrait/daisy_hover.png" action SetScreenVariable("selected_char","Daisy") else: imagebutton: focus_mask True idle "gui/portrait/daisy_hidden.png" action NullAction() if Malex or persistent.KoGa3GalleryUnlock: imagebutton: focus_mask True auto "gui/portrait/alex_%s.png" selected_idle "gui/portrait/alex_hover.png" action SetScreenVariable("selected_char","Alex") else: imagebutton: focus_mask True idle "gui/portrait/alex_hidden.png" action NullAction() if Mhikari or persistent.KoGa3GalleryUnlock: imagebutton: focus_mask True auto "gui/portrait/hikari_%s.png" selected_idle "gui/portrait/hikari_hover.png" action SetScreenVariable("selected_char","Hikari") else: imagebutton: focus_mask True idle "gui/portrait/hikari_hidden.png" action NullAction() vbox: spacing 20 null height 20 # first_spacing 20 box_wrap True xsize 520 xoffset -30 text "[selected_char]" style "charName" xoffset -20 frame: background "gui/bg_char_index_hint.png" area (0,0,475,350) hbox: text get_character_hint(selected_char) size 20 xmaximum 425 xpos 65 ypos 40 text "Memories" font "Roboto-Bold.ttf" color "#FCC332" outlines [(0.5, "#adaaaa", 0, 0)] size 34 xalign 0.5 xoffset 30 xpos 70 ypos -175 hbox: xalign 1.0 ypos -240 if persistent.KoGa3GalleryUnlock is True: textbutton ("KoGa3: Unlock is ON "): text_size 30 action SetVariable("persistent.KoGa3GalleryUnlock", False) if persistent.KoGa3GalleryUnlock is False: textbutton ("KoGa3: Unlock is OFF"): text_size 30 action SetVariable("persistent.KoGa3GalleryUnlock", True) # frame: # area (-100,0,475,300) vpgrid: cols columns spacing 20 draggable True mousewheel True scrollbars "vertical" xpos -450 ypos 380 ymaximum 400 xminimum 450 python: name_lower = selected_char.lower() selected_list = replay_lists.get(selected_char.lower(), []) selected_remainder = replay_remainders.get(selected_char.lower(), 0) print("Selected List for", selected_char, ":", selected_list) print("Selected Remainder for", selected_char, ":", selected_remainder) for i in selected_list: # $ label_seen = renpy.seen_label(i[1]) # $ print("Checking label:", i[1], "Seen:", label_seen) if renpy.seen_label(i[1]) or persistent.KoGa3GalleryUnlock: vbox: spacing 10 imagebutton: auto "gui/gallery/"+name_lower+"/" + i[1] + "_%s.jpg" action Replay(i[1],locked=False) at guiDSR text i[2]: style "char_name" size 15 align (0.5, 0.0) else: vbox: spacing 10 imagebutton: idle "gui/gallery/"+name_lower+"/" + i[1] + "_locked.jpg" action NullAction() at guiDSR text "Locked" style "char_name" size 15 align (0.5, 0.0) color '#7a1919' if selected_remainder == 2: null height 10 if selected_remainder == 1: null height 10 null height 10 if selected_remainder == 0: null height 10 null height 10 null height 10