#---------------------adds/enhancements for screens.rpy---------------------# #---------------------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 = 165 - (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) else: $ KoGa3ypos1 = 165 - (6 * 20 + persistent.KoGa3yposOffset) $ KoGa3ypos2 = 210 - (6 * 20 + persistent.KoGa3yposOffset) $ KoGa3ypos3 = 240 - (5 * 20 + persistent.KoGa3yposOffset) $ KoGa3xsize2 = 1400 if who is not None: window background Transform(Image("textboxGH.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.5: window background Transform(Image("textboxGH.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.3 define KoGa3TextOutline1default = 3 define KoGa3TextOutline2default = 0 define KoGa3TextOutline3default = 0 define pref_text_sizedefault = 33 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 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 -20 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(persistent.KoGa3TextOutline1), "#000", absolute(0), absolute(0)) ] style input: xalign gui.dialogue_text_xalign xmaximum gui.dialogue_width properties gui.text_properties("input") outlines [ (absolute(persistent.KoGa3TextOutline1), "#000", absolute(0), absolute(0)) ] style choice_vbox: xalign 0.5 yalign 0.5 #ypos 405 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.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 persistent.KoGa3QuickMenuItemQuickMusic = True define quick_menu = True screen quick_menu(): ## Ensure this appears on top of other screens. zorder 100 default p_qm = None 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 ("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") ] # if persistent.KoGa3QuickMenuItemQuickMusic: # hbox: # if persistent.KoGa3QuickMenuTextSize >= 28: # yalign 0.94 # else: # yalign 1.0 # xalign 0.98 # spacing 15 # timer .1 repeat True action SetScreenVariable("p_qm",p_qm) # $ KoGa3CurrentMusicName = renpy.music.get_playing(channel='music') # if isinstance(renpy.music.is_playing(channel='music'), int): # if renpy.music.get_pos(channel='music'): # if _in_replay and persistent.KoGa3RePlayMusic: # textbutton (""): # text_style "KoGa3_button_text" # sensitive False # action NullAction() # else: # textbutton _("<<"): # text_style persistent.KoGa3_QuickMenu2_button_font # text_size persistent.KoGa3QuickMenuTextSize # selected False # action [ # KoGa3MR_All1.Previous() ] # textbutton _("II"): # text_style persistent.KoGa3_QuickMenu2_button_font # text_size persistent.KoGa3QuickMenuTextSize # selected False # action PauseAudio('music', value="toggle") # textbutton _(">>"): # text_style persistent.KoGa3_QuickMenu2_button_font # text_size persistent.KoGa3QuickMenuTextSize # selected False # action [ # KoGa3MR_All1.Next() ] # if KoGa3ModMenuButtonPressed == False: # textbutton _("Jbx"): # text_style persistent.KoGa3_QuickMenu2_button_font # text_size persistent.KoGa3QuickMenuTextSize # selected False # action [ # SetVariable ("KoGa3ModMenuButtonPressed", True), # Show("KoGa3ScreenJukebox") ] # else: # textbutton _(" X "): # text_style persistent.KoGa3_QuickMenu2_button_font # text_size persistent.KoGa3QuickMenuTextSize # selected False # action [ # SetVariable ("KoGa3ModMenuButtonPressed", False), # Hide("KoGa3GameSettings"), # Hide("KoGa3ScreenModMenu"), # Hide("KoGa3ScreenCheatMore1"), # Hide("KoGa3ScreenJukebox") ] #---------------------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: ## This ensures the input will get the enter event before any of the ## buttons do. order_reverse True ## The page name, which can be edited by clicking on a button. button: style "page_label" key_events True xalign 0.5 yalign 1.0 yoffset -65 action page_name_value.Toggle() input: style "page_label_text" value page_name_value # if persistent.namedSaves: # if title == "Save": # hbox: # text "Save Name: " # input: # value VariableInputValue('save_name') if title == "Save": vbox: ypos -10 hbox: textbutton _("Named saves: "): xpos 50 text_size 32 #style "mute_all_button" sensitive False action NullAction() if persistent.KoGa3NamedSaves == 1: textbutton _("ON - input field (best for PC)"): xpos 50 text_size 32 #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 32 #style "mute_all_button" selected False action [ SetVariable("persistent.KoGa3NamedSaves", 0), SetVariable("save_name","") ] if persistent.KoGa3NamedSaves == 0: textbutton _("OFF"): xpos 50 text_size 32 #style "mute_all_button" selected False action [ SetVariable("persistent.KoGa3NamedSaves", 1)] if persistent.KoGa3NamedSaves > 0: hbox: textbutton _("current: "): xpos 50 ypos 0 text_size 32 #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 32 value VariableInputValue('save_name') color "#8e6439" if persistent.KoGa3NamedSaves == 2: textbutton _("[save_name]"): xpos 50 text_size 32 #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" yoffset 18 text FileSaveName(slot): style "slot_name_text" yoffset 18 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" yoffset 18 text FileSaveName(slot): style "slot_name_text" yoffset 18 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 yoffset -10 spacing gui.page_spacing imagebutton: idle "gui/button/page_button_left_hover.png" hover "gui/button/page_button_left_idle.png" focus_mask True 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) imagebutton: idle "gui/button/page_button_right_hover.png" hover "gui/button/page_button_right_idle.png" focus_mask True action FilePageNext() 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. vbox: style_prefix "radio" label _("Font") textbutton _("DejaVu Sans") action [gui.SetPreference("font", "DejaVuSans.ttf"), SetVariable("persistent.typeface", "DejaVuSans")] textbutton _("Libre Sans") action [gui.SetPreference("font", "LibreSansSerif.ttf"), SetVariable("persistent.typeface", "LibreSansSerif")] textbutton _("Redressed") action [gui.SetPreference("font", "Redressed.ttf"), SetVariable("persistent.typeface", "Redressed")] null height (4 * gui.pref_spacing) hbox: style_prefix "slider" box_wrap True vbox: # label _("Textbox Opacity") # bar value FieldValue(persistent, "textboxopacity", range=1.0, style="slider") left_gutter 35 right_gutter 35 # label _("{size=40}Text Size: %s" % (persistent.dialogueTextSize)) # bar value FieldValue(object=persistent, field='dialogueTextSize', range=(gui.text_size * 2), max_is_zero=False, style=u'slider', offset=0, step=1) left_gutter 35 right_gutter 35 label _("Text Speed") bar value Preference("text speed") left_gutter 35 right_gutter 35 label _("Auto-Forward Time") bar value Preference("auto-forward time") left_gutter 35 right_gutter 35 #=====================================KoGa3 additions====================================# null height (4 * gui.pref_spacing) label _("Mod KoGa3") textbutton _("Additional game settings..."): sensitive True action [ Show("KoGa3ScreenBlank"), Show("KoGa3GameSettings") ] #=====================================KoGa3 additions====================================# # vbox: # style_prefix "check" # label _("Save Description") # textbutton _("On") action SetField(persistent, "namedSaves", True) # textbutton _("Off") action SetField(persistent, "namedSaves", False) # vbox: # style_prefix "check" # label _("Options") # textbutton _("Named Saves") action SetVariable("persistent.namedSaves", (False if persistent.namedSaves == True else False)) 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" # if main_menu: #not for WT only # null height (6 * gui.pref_spacing) # label _("KoGa3 Mod: Main menu music") # 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/Ikson - Hope.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) ]