123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544 |
- # This file is in the public domain. Feel free to modify it as a basis
- # for your own screens.
- ##############################################################################
- # Say
- #
- # Screen that's used to display adv-mode dialogue.
- # http://www.renpy.org/doc/html/screen_special.html#say
- screen say:
- # Defaults for side_image and two_window
- default side_image = None
- default two_window = False
- # Decide if we want to use the one-window or two-window varaint.
- if not two_window:
- # The one window variant.
- window:
- id "window"
- has vbox:
- style "say_vbox"
- if who:
- text who id "who"
- text what id "what"
- else:
- # The two window variant.
- vbox:
- style "say_two_window_vbox"
- if who:
- window:
- style "say_who_window"
- text who:
- id "who"
-
- window:
- id "window"
- has vbox:
- style "say_vbox"
- text what id "what"
-
- # If there's a side image, display it above the text.
- if side_image:
- add side_image
- else:
- add SideImage() xalign 0.0 yalign 1.0
- # Use the quick menu.
- use quick_menu
- ##############################################################################
- # Choice
- #
- # Screen that's used to display in-game menus.
- # http://www.renpy.org/doc/html/screen_special.html#choice
- screen choice:
- window:
- style "menu_window"
- xalign 0.5
- yalign 0.5
-
- vbox:
- style "menu"
- spacing 2
-
- for caption, action, chosen in items:
-
- if action:
-
- button:
- action action
- style "menu_choice_button"
- text caption style "menu_choice"
-
- else:
- text caption style "menu_caption"
- init -2 python:
- config.narrator_menu = True
-
- style.menu_window.set_parent(style.default)
- style.menu_choice.set_parent(style.button_text)
- style.menu_choice.clear()
- style.menu_choice_button.set_parent(style.button)
- style.menu_choice_button.xminimum = int(config.screen_width * 0.75)
- style.menu_choice_button.xmaximum = int(config.screen_width * 0.75)
- ##############################################################################
- # Input
- #
- # Screen that's used to display renpy.input()
- # http://www.renpy.org/doc/html/screen_special.html#input
- screen input:
- window style "input_window":
- has vbox
- text prompt style "input_prompt"
- input id "input" style "input_text"
- use quick_menu
-
- ##############################################################################
- # Nvl
- #
- # Screen used for nvl-mode dialogue and menus.
- # http://www.renpy.org/doc/html/screen_special.html#nvl
- screen nvl:
- window:
- style "nvl_window"
- has vbox:
- style "nvl_vbox"
- # Display dialogue.
- for who, what, who_id, what_id, window_id in dialogue:
- window:
- id window_id
- has hbox:
- spacing 10
- if who is not None:
- text who id who_id
- text what id what_id
- # Display a menu, if given.
- if items:
- vbox:
- id "menu"
- for caption, action, chosen in items:
- if action:
- button:
- style "nvl_menu_choice_button"
- action action
- text caption style "nvl_menu_choice"
- else:
- text caption style "nvl_dialogue"
- add SideImage() xalign 0.0 yalign 1.0
-
- use quick_menu
-
- ##############################################################################
- # Main Menu
- #
- # Screen that's used to display the main menu, when Ren'Py first starts
- # http://www.renpy.org/doc/html/screen_special.html#main-menu
- screen main_menu:
- # This ensures that any other menu screen is replaced.
- tag menu
- # The background of the main menu.
- window:
- style "mm_root"
- # The main menu buttons.
- frame:
- style_group "mm"
- xalign .98
- yalign .98
- has vbox
- textbutton _("Start Game") action Start()
- textbutton _("Load Game") action ShowMenu("load")
- textbutton _("Preferences") action ShowMenu("preferences")
- textbutton _("Help") action Help()
- textbutton _("Quit") action Quit(confirm=False)
- init -2 python:
- # Make all the main menu buttons be the same size.
- style.mm_button.size_group = "mm"
- ##############################################################################
- # Navigation
- #
- # Screen that's included in other screens to display the game menu
- # navigation and background.
- # http://www.renpy.org/doc/html/screen_special.html#navigation
- screen navigation:
- # The background of the game menu.
- window:
- style "gm_root"
- # The various buttons.
- frame:
- style_group "gm_nav"
- xalign .98
- yalign .98
-
- has vbox
- textbutton _("Return") action Return()
- textbutton _("Preferences") action ShowMenu("preferences")
- textbutton _("Save Game") action ShowMenu("save")
- textbutton _("Load Game") action ShowMenu("load")
- textbutton _("Main Menu") action MainMenu()
- textbutton _("Help") action Help()
- textbutton _("Quit") action Quit()
- init -2 python:
- style.gm_nav_button.size_group = "gm_nav"
-
- ##############################################################################
- # Save, Load
- #
- # Screens that allow the user to save and load the game.
- # http://www.renpy.org/doc/html/screen_special.html#save
- # http://www.renpy.org/doc/html/screen_special.html#load
- # Since saving and loading are so similar, we combine them into
- # a single screen, file_picker. We then use the file_picker screen
- # from simple load and save screens.
-
- screen file_picker:
- frame:
- style "file_picker_frame"
- has vbox
- # The buttons at the top allow the user to pick a
- # page of files.
- hbox:
- style_group "file_picker_nav"
-
- textbutton _("Previous"):
- action FilePagePrevious()
- textbutton _("Auto"):
- action FilePage("auto")
- textbutton _("Quick"):
- action FilePage("quick")
- for i in range(1, 9):
- textbutton str(i):
- action FilePage(i)
-
- textbutton _("Next"):
- action FilePageNext()
- $ columns = 2
- $ rows = 5
-
- # Display a grid of file slots.
- grid columns rows:
- transpose True
- xfill True
- style_group "file_picker"
-
- # Display ten file slots, numbered 1 - 10.
- for i in range(1, columns * rows + 1):
- # Each file slot is a button.
- button:
- action FileAction(i)
- xfill True
- has hbox
- # Add the screenshot.
- add FileScreenshot(i)
-
- $ file_name = FileSlotName(i, columns * rows)
- $ file_time = FileTime(i, empty=_("Empty Slot."))
- $ save_name = FileSaveName(i)
- text "[file_name]. [file_time!t]\n[save_name!t]"
- key "save_delete" action FileDelete(i)
-
-
- screen save:
- # This ensures that any other menu screen is replaced.
- tag menu
- use navigation
- use file_picker
- screen load:
- # This ensures that any other menu screen is replaced.
- tag menu
- use navigation
- use file_picker
- init -2 python:
- style.file_picker_frame = Style(style.menu_frame)
- style.file_picker_nav_button = Style(style.small_button)
- style.file_picker_nav_button_text = Style(style.small_button_text)
- style.file_picker_button = Style(style.large_button)
- style.file_picker_text = Style(style.large_button_text)
-
- ##############################################################################
- # Preferences
- #
- # Screen that allows the user to change the preferences.
- # http://www.renpy.org/doc/html/screen_special.html#prefereces
-
- screen preferences:
- tag menu
- # Include the navigation.
- use navigation
- # Put the navigation columns in a three-wide grid.
- grid 3 1:
- style_group "prefs"
- xfill True
- # The left column.
- vbox:
- frame:
- style_group "pref"
- has vbox
- label _("Display")
- textbutton _("Window") action Preference("display", "window")
- textbutton _("Fullscreen") action Preference("display", "fullscreen")
- frame:
- style_group "pref"
- has vbox
- label _("Transitions")
- textbutton _("All") action Preference("transitions", "all")
- textbutton _("None") action Preference("transitions", "none")
- frame:
- style_group "pref"
- has vbox
- label _("Text Speed")
- bar value Preference("text speed")
- frame:
- style_group "pref"
- has vbox
- textbutton _("Joystick...") action Preference("joystick")
- vbox:
- frame:
- style_group "pref"
- has vbox
- label _("Skip")
- textbutton _("Seen Messages") action Preference("skip", "seen")
- textbutton _("All Messages") action Preference("skip", "all")
- frame:
- style_group "pref"
- has vbox
- textbutton _("Begin Skipping") action Skip()
- frame:
- style_group "pref"
- has vbox
- label _("After Choices")
- textbutton _("Stop Skipping") action Preference("after choices", "stop")
- textbutton _("Keep Skipping") action Preference("after choices", "skip")
- frame:
- style_group "pref"
- has vbox
- label _("Auto-Forward Time")
- bar value Preference("auto-forward time")
- vbox:
- frame:
- style_group "pref"
- has vbox
- label _("Music Volume")
- bar value Preference("music volume")
- frame:
- style_group "pref"
- has vbox
- label _("Sound Volume")
- bar value Preference("sound volume")
- if config.sample_sound:
- textbutton _("Test"):
- action Play("sound", config.sample_sound)
- style "soundtest_button"
- frame:
- style_group "pref"
- has vbox
- label _("Voice Volume")
- bar value Preference("voice volume")
- if config.sample_voice:
- textbutton "Test":
- action Play("voice", config.sample_voice)
- style "soundtest_button"
- init -2 python:
- style.pref_frame.xfill = True
- style.pref_frame.xmargin = 5
- style.pref_frame.top_margin = 5
- style.pref_vbox.xfill = True
- style.pref_button.size_group = "pref"
- style.pref_button.xalign = 1.0
- style.pref_slider.xmaximum = 192
- style.pref_slider.xalign = 1.0
- style.soundtest_button.xalign = 1.0
- ##############################################################################
- # Yes/No Prompt
- #
- # Screen that asks the user a yes or no question.
- # http://www.renpy.org/doc/html/screen_special.html#yesno-prompt
-
- screen yesno_prompt:
- modal True
- window:
- style "gm_root"
- frame:
- style_group "yesno"
- xfill True
- xmargin .05
- ypos .1
- yanchor 0
- ypadding .05
-
- has vbox:
- xalign .5
- yalign .5
- spacing 30
-
- label _(message):
- xalign 0.5
- hbox:
- xalign 0.5
- spacing 100
-
- textbutton _("Yes") action yes_action
- textbutton _("No") action no_action
- init -2 python:
- style.yesno_button.size_group = "yesno"
- style.yesno_label_text.text_align = 0.5
- ##############################################################################
- # Quick Menu
- #
- # A screen that's included by the default say screen, and adds quick access to
- # several useful functions.
- screen quick_menu:
- # Add an in-game quick menu.
- hbox:
- style_group "quick"
-
- xalign 1.0
- yalign 1.0
- textbutton _("Q.Save") action QuickSave()
- textbutton _("Q.Load") action QuickLoad()
- textbutton _("Save") action ShowMenu('save')
- textbutton _("Skip") action Skip()
- textbutton _("Auto") action Preference("auto-forward", "toggle")
- textbutton _("Prefs") action ShowMenu('preferences')
-
- init -2 python:
- style.quick_button.set_parent('default')
- style.quick_button.background = None
- style.quick_button.xpadding = 5
- style.quick_button_text.set_parent('default')
- style.quick_button_text.size = 12
- style.quick_button_text.idle_color = "#8888"
- style.quick_button_text.hover_color = "#ccc"
- style.quick_button_text.selected_idle_color = "#cc08"
- style.quick_button_text.selected_hover_color = "#cc0"
- style.quick_button_text.insensitive_color = "#4448"
-
- # Set a default value for the auto-forward time, and note that AFM is
- # turned off by default.
- config.default_afm_time = 10
- config.default_afm_enable = False
-
-
|