#---------------------adds/enhancements for screens.rpy---------------------# #---------------------dialog/choice options---------------------# init 1001: define gui.name_xpos = 338 #360 define gui.dialogue_xpos = 380 #402 define gui.dialogue_width = 1160 #1116 define gui.namebox_width = 850 #450 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 = 200 - (6 * persistent.pref_text_size + persistent.KoGa3yposOffset) $ KoGa3ypos2 = 200 - (5 * persistent.pref_text_size + persistent.KoGa3yposOffset) $ KoGa3ypos3 = 250 - (5 * persistent.pref_text_size + persistent.KoGa3yposOffset) $ KoGa3ypos4 = 250 - (5 * persistent.pref_text_size + persistent.KoGa3yposOffset) else: $ KoGa3ypos1 = 200 - (6 * 20 + persistent.KoGa3yposOffset) $ KoGa3ypos2 = 200 - (5 * 20 + persistent.KoGa3yposOffset) $ KoGa3ypos3 = 250 - (5 * 20 + persistent.KoGa3yposOffset) $ KoGa3ypos4 = 250 - (5 * 20 + persistent.KoGa3yposOffset) if who is not 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 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 namebox: xpos gui.name_xpos xanchor gui.name_xalign xsize gui.namebox_width ypos gui.name_ypos ysize gui.namebox_height background (None) # background Frame("gui/namebox.png", gui.namebox_borders, xalign=gui.name_xalign) padding gui.namebox_borders.padding style say_label: properties gui.text_properties("name", accent=True) xalign 0.0 xpos -42 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 #---------------------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), SetVariable ("RptsTemp", Rpts), SetVariable ("PptsTemp", Ppts), SetVariable ("MDptsTemp", MDpts), SetVariable ("MptsTemp", Mpts), 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 #(2 for Android) # define KoGa3Saveyoffset = -280 # 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 -2 # 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 25 # text FileSaveName(slot): # style "slot_name_text" # #size 25 # 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 25 # text FileSaveName(slot): # style "slot_name_text" # #size 25 # 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) # ## 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: # 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() screen preferences(): tag menu #use game_menu(_("Preferences"), scroll="viewport"): #add "gui/main_menu.png" alpha 0.1 add "gui/overlay/opt_over.png" add "gui/options_menu.png" vbox: if renpy.variant("pc") or renpy.variant("web"): vbox: xpos 200 ypos 190 style_prefix "radio" spacing 12 label _("") textbutton _("") action Preference("display", "window") textbutton _("") action Preference("display", "fullscreen") vbox: xpos 845 ypos -3 spacing 12 style_prefix "radio" label _("") textbutton _("") action Preference("rollback side", "disable") textbutton _("") action Preference("rollback side", "left") textbutton _("") action Preference("rollback side", "right") vbox: xpos 1350 ypos 190 spacing 12 style_prefix "check" label _("") textbutton _("") action Preference("skip", "toggle") textbutton _("") action Preference("after choices", "toggle") textbutton _("") 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: xalign 0.35 yalign 0.81 spacing 180 style_prefix "slider" box_wrap True vbox: label _("") bar value Preference("text speed") label _("") bar value Preference("auto-forward time") #=====================================KoGa3 additions====================================# null height (2 * gui.pref_spacing) # label _("Mod KoGa3") hbox: xpos 65 textbutton _("Mod settings..."): text_size 32 style_prefix "radio" sensitive True action [ Show("KoGa3ScreenBlank"), Show("KoGa3GameSettings") ] #=====================================KoGa3 additions====================================# vbox: xpos 200 if config.has_music: label _("") hbox: bar value Preference("music volume") if config.has_sound: label _("") hbox: bar value Preference("sound volume") if config.sample_sound: textbutton _("Test") action Play("sound", config.sample_sound) if config.has_voice: label _("") 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 _(""): action Preference("all mute", "toggle") style "mute_all_button" xpos 220 ypos -20 imagemap: xoffset -130 yoffset 35 alpha False idle "gui/back_idle.png" hover "gui/back_hover.png" hotspot (187, 860, 219, 82) action Return()