weblate-butterflysoup2/game/screens.rpy

2432 lines
72 KiB
Plaintext
Raw Normal View History

2023-01-26 19:38:19 +00:00
################################################################################
## Initialization
################################################################################
init offset = -1
################################################################################
## Styles
################################################################################
style default:
properties gui.text_properties()
language gui.language
font "YunusH.ttf"
translate traditional_chinese style default:
font "traditional_chinese.ttf"
translate brazilian_portuguese style default:
font "myriad.OTF"
translate polish style default:
font "myriad.OTF"
translate japanese style default:
font "japanese.ttc"
translate korean style default:
font "Binggrae.otf"
translate russian style default:
font "myriad.OTF"
translate farsi style default:
font "times.ttf"
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")
font "YunusH.ttf"
translate traditional_chinese style gui_text:
font "traditional_chinese.ttf"
size 28
translate brazilian_portuguese style gui_text:
font "myriad.OTF"
size 24
translate polish style gui_text:
font "myriad.OTF"
size 24
translate japanese style gui_text:
font "japanese.ttc"
size 20
translate korean style gui_text:
font "Binggrae.otf"
size 20
translate russian style gui_text:
font "myriad.OTF"
size 24
translate farsi style gui_text:
font "times.ttf"
size 24
style button:
properties gui.button_properties("button") #This is the menu side and selection text. For example, the "Fullscreen" option text
hover_sound "sound/peep.ogg"
activate_sound "sound/select2.ogg"
style button_text is gui_text:
properties gui.text_properties("button")
font "YunusH.ttf"
yalign 0.5
translate traditional_chinese style button_text:
font "traditional_chinese.ttf"
size 28
translate brazilian_portuguese style button_text:
font "myriad.OTF"
size 18
translate polish style button_text:
font "myriad.OTF"
size 18
translate japanese style button_text:
font "japanese.ttc"
size 20
translate korean style button_text:
font "Binggrae.otf"
size 20
translate russian style button_text:
font "myriad.OTF"
size 18
translate farsi style button_text:
font "times.ttf"
size 20
translate indonesian style button_text:
size 30
#alternate buttons
style textbutton1 is default: #settings menu buttons
properties gui.button_properties("main_menu_button")
hover_sound "sound/peep.ogg"
style textbutton1_text is gui_button_text
style textbutton1_text:
font "YunusH.ttf"
size 32
translate traditional_chinese style textbutton1_text:
font "traditional_chinese.ttf"
size 28
translate brazilian_portuguese style textbutton1_text:
font "myriad.OTF"
size 20
translate polish style textbutton1_text:
font "myriad.OTF"
size 20
translate japanese style textbutton1_text:
font "japanese.ttc"
size 20
translate korean style textbutton1_text:
font "Binggrae.otf"
size 20
translate russian style textbutton1_text:
font "myriad.OTF"
size 20
translate farsi style textbutton1_text:
font "times.ttf"
size 20
style textbutton2 is default: #settings menu buttons
properties gui.button_properties("main_menu_button")
hover_sound "sound/pop.ogg"
style textbutton2_text is gui_button_text
style textbutton2_text:
font "YunusH.ttf"
size 32
translate traditional_chinese style textbutton2_text:
font "traditional_chinese.ttf"
size 28
translate brazilian_portuguese style textbutton2_text:
font "myriad.OTF"
size 20
translate polish style textbutton2_text:
font "myriad.OTF"
size 20
translate japanese style textbutton2_text:
font "japanese.ttc"
size 20
translate korean style textbutton2_text:
font "Binggrae.otf"
size 20
translate russian style textbutton2_text:
font "myriad.OTF"
size 20
translate farsi style textbutton2_text:
font "times.ttf"
size 20
style choice1_button:
hover_sound "sound/peep.ogg"
style choice2_button:
hover_sound "sound/pop.ogg"
style label_text is gui_text:
properties gui.text_properties("label", accent=True)
font "YunusH.ttf"
translate traditional_chinese style label_text:
font "traditional_chinese.ttf"
size 28
translate brazilian_portuguese style label_text:
font "myriad.OTF"
translate polish style label_text:
font "myriad.OTF"
translate japanese style label_text:
font "japanese.ttc"
size 20
translate korean style label_text:
font "Binggrae.otf"
size 20
translate russian style label_text:
font "myriad.OTF"
translate farsi style label_text:
font "times.ttf"
style prompt_text is gui_text:
properties gui.text_properties("prompt")
font "YunusH.ttf"
translate traditional_chinese style prompt_text:
font "traditional_chinese.ttf"
size 28
translate brazilian_portuguese style prompt_text:
font "myriad.OTF"
size 24
translate polish style prompt_text:
font "myriad.OTF"
size 24
translate japanese style prompt_text:
font "japanese.ttc"
size 20
translate korean style prompt_text:
font "Binggrae.otf"
size 20
translate russian style prompt_text:
font "myriad.OTF"
size 24
translate farsi style prompt_text:
font "times.ttf"
size 24
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 Solid('#f69fe3')
# 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)
thumb Solid("#949EF5")
hover_thumb ("#c1c8fb")
ypos 0
xpos -100
ysize 400
style vscrollbar2 is default:
# properties gui.bar_properties("vscrollbar")
# define gui.vbar_borders = Borders(4, 4, 4, 4)
# define gui.vscrollbar_borders = Borders(4, 4, 4, 4)
# define gui.vslider_borders = Borders(4, 4, 4, 4)
base_bar None
# style.vscrollbar.hover_background = "#919191" does nothing
thumb Solid("#949EF5")
hover_thumb ("#c1c8fb")
xsize gui.scrollbar_size
#xsize 15
xpos 0.51
bar_vertical True
ypos 8
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)
style image_button:
hover_sound "sound/peep.ogg"
activate_sound "sound/select2.ogg"
style imagebutton1 is default:
properties gui.button_properties("image_button")
hover_sound "sound/peep.ogg"
style imagebutton2 is default:
properties gui.button_properties("image_button")
hover_sound "sound/pop.ogg"
################################################################################
## In-game screens
################################################################################
## Say screen ##################################################################
##
## The say screen is used to display dialogue to the player. It takes two
## parameters, who and what, which are the name of the speaking character and
## the text to be displayed, respectively. (The who parameter can be None if no
## name is given.)
##
## This screen must create a text displayable with id "what", as Ren'Py uses
## this to manage text display. It can also create displayables with id "who"
## and id "window" to apply style properties.
##
## https://www.renpy.org/doc/html/screen_special.html#say
screen say(who, what):
style_prefix "say"
if newSpeaker:
window:
id "window"
#at winFade
if who is not None:
window:
style "namebox"
text who id "who"
text what id "what"
else:
window:
id "window"
if who is not None:
window:
style "namebox"
text who id "who"
text what id "what"
## If there's a side image, display it above the text. Do not display on the
## phone variant - there's no room.
if not renpy.variant("small"):
add SideImage() xalign 0.0 yalign 1.0
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 1.0
ysize 250
right_padding 35
top_padding 78
left_padding 105
ypos 753
left_margin 15
right_margin 0
yminimum 250
background Image("gui/textbox.png", xalign=0.5, yalign=1.0)
style namebox: #literally the pink/blue namebox
xpos -78
xanchor 0
xsize 430
ypos -95
ysize gui.namebox_height
background "gui/namebox2.png"
left_padding 36
top_padding 16
# background Frame("gui/namebox.png", gui.namebox_borders, tile=gui.namebox_tile, xalign=gui.name_xalign)
# padding gui.namebox_borders.padding
translate traditional_chinese style namebox:
top_padding 14 #adjust height of name text inside namebox
translate japanese style namebox:
top_padding 18
translate korean style namebox:
top_padding 11
translate farsi style namebox:
top_padding 10
style say_label:
properties gui.text_properties("name", accent=True)
# xalign gui.name_xalign
yalign 0.5
translate traditional_chinese style say_label:
font "traditional_chinese.ttf"
size 40
translate brazilian_portuguese style say_label:
font "myriad.OTF"
size 40
translate polish style say_label:
font "myriad.OTF"
size 40
translate japanese style say_label:
font "japanese.ttc"
size 32
translate korean style say_label:
font "Binggrae.otf"
size 32
translate russian style say_label:
font "myriad.OTF"
size 40
translate farsi style say_label:
font "times.ttf"
size 40
style say_dialogue:
properties gui.text_properties("dialogue")
font "myriad.OTF"
size 36
xpos 0
xsize 1000
ypos 0
line_spacing 2
translate traditional_chinese style say_dialogue:
font "traditional_chinese.ttf"
size 32
translate japanese style say_dialogue:
font "japanese.ttc"
size 28
translate korean style say_dialogue:
font "Binggrae.otf"
size 28
translate farsi style say_dialogue:
font "times.ttf"
size 32
xpos 1050
line_spacing 1
translate farsi python:
gui.dialogue_text_xalign = 1.0 #right align text
## Input screen ################################################################
##
## This screen is used to display renpy.input. The prompt parameter is used to
## pass a text prompt in.
##
## This screen must create an input displayable with id "input" to accept the
## various input parameters.
##
## http://www.renpy.org/doc/html/screen_special.html#input
screen input(prompt):
style_prefix "input"
window:
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
## Choice screen ###############################################################
##
## This screen is used to display the in-game choices presented by the menu
## statement. The one parameter, items, is a list of objects, each with caption
## and action fields.
##
## http://www.renpy.org/doc/html/screen_special.html#choice
screen choice(items):
style_prefix "choice"
$n=1
#for language select choice, make special menu that's 2 columns
if menuStyle == "language":
vpgrid:
cols 2
xalign 0.5
yalign 0.5
for i in items:
if i.action:
button:
action i.action
style "language_choice_button"
text i.caption style "language_choice_button"
else:
text i.caption style "language_choice_button_text"
else:
vbox:
for i in items:
if (n % 2 == 0): #even
if i.action:
button:
action i.action
style "choice2_button"
text i.caption style "choice2_button"
else:
text i.caption style "choice1_button_text"
else: #odd
if i.action:
button:
action i.action
style "choice1_button"
text i.caption style "choice1_button"
else:
text i.caption style "choice1_button_text"
$n+=1
## When this is true, menu captions will be spoken by the narrator. When false,
## menu captions will be displayed as empty buttons.
define config.narrator_menu = True
style language_choice_button is button: #language choice
properties gui.button_properties("choice_button")
top_padding 20
xpos 0.5
xanchor 0.5
hover_color gui.accent_color
size 42
idle_background Frame ("gui/button/language_choice_idle_background.png", 0, 0 )
hover_background Frame ("gui/button/language_choice_hover_background.png", 0, 0 )
xminimum int(config.screen_width * 0.25)
xmaximum int(config.screen_width * 0.25)
translate japanese style language_choice_button:
size 28
style language_choice_button_text is default:
properties gui.button_text_properties("choice_button")
idle_background Frame ("gui/button/language_choice_idle_background.png", 0, 0 )
hover_background Frame ("gui/button/language_choice_hover_background.png", 0, 0 )
style choice1_button is default: #in-game choice
properties gui.button_properties("choice_button")
top_padding 20
xpos 0.5
xanchor 0.5
hover_color gui.accent_color
font "YunusH.ttf"
size 42
style choice1_button_text is default:
properties gui.button_text_properties("choice_button")
translate traditional_chinese style choice1_button:
font "traditional_chinese.ttf"
top_padding 14
translate brazilian_portuguese style choice1_button:
font "myriad.OTF"
size 32
translate polish style choice1_button:
font "myriad.OTF"
size 32
translate japanese style choice1_button:
font "japanese.ttc"
size 28
translate korean style choice1_button:
font "Binggrae.otf"
top_padding 16
size 28
translate russian style choice1_button:
font "myriad.OTF"
size 32
translate farsi style choice1_button:
font "times.ttf"
size 32
style choice2_button is default:
properties gui.button_properties("choice_button")
idle_background Frame ("gui/button/choice2_idle_background.png", 0, 0 )
hover_background Frame ("gui/button/choice2_hover_background.png", 0, 0 )
xpos 0.5
xanchor 0.5
top_padding 25
hover_color gui.accent_color
font "YunusH.ttf"
size 42
style choice_vbox is vbox
style choice_button is button
translate traditional_chinese style choice2_button:
font "traditional_chinese.ttf"
top_padding 18
translate brazilian_portuguese style choice2_button:
font "myriad.OTF"
size 32
translate polish style choice2_button:
font "myriad.OTF"
size 32
translate japanese style choice2_button:
font "japanese.ttc"
size 28
translate korean style choice2_button:
font "Binggrae.otf"
top_padding 21
size 28
translate russian style choice2_button:
font "myriad.OTF"
size 32
translate farsi style choice2_button:
font "times.ttf"
size 32
style choice_button_text is button_text
style choice_vbox:
xalign 0.5
ypos 270
yanchor 0.5
spacing gui.choice_spacing
translate japanese style choice_vbox:
ypos 340
style choice_button is default:
properties gui.button_properties("choice_button")
style choice_button_text is default:
properties gui.button_text_properties("choice_button")
color "#fff"
screen quick_menu():
# # Add an in-game quick menu.
hbox:
style_group "quick"
xalign 0.9
yalign 0.968
textbutton _("Save") action ShowMenu('save')
# textbutton _("Skip") action Skip()
textbutton _("Skip") action Skip(fast=True, confirm=True)
## textbutton _("Auto") action Preference("auto-forward", "toggle")
textbutton _("Prefs") action ShowMenu('preferences')
screen quick_menu3:
style_group "navigation"
add "gui/qMenuBar.png" xanchor 1.0 xpos 1366 yanchor 0 ypos -1
imagebutton:
style "imagebutton2"
auto "gui/rollback_%s.png" action renpy.rollback xpos 1096 ypos 18
imagebutton:
style "imagebutton1"
auto "gui/quick_log_%s.png" action ShowMenu('history') xpos 1141 ypos 18
imagebutton:
style "imagebutton2"
auto "gui/quick_skip_%s.png" action Skip(fast=False, confirm=True) xpos 1191 ypos 18
imagebutton:
style "imagebutton1"
auto "gui/quick_save_%s.png" action ShowMenu('save') xpos 1251 ypos 18
imagebutton:
style "imagebutton2"
auto "gui/quick_config_%s.png" action ShowMenu('preferences') xpos 1296 ypos 18
init -2:
style quick_button:
is default
background None
xpadding 10
style quick_button_text:
is default
size 2
outlines [(2, "#fff", 0, 0)]
idle_color "#000"
hover_color "#545454"
selected_idle_color "#000"
selected_hover_color "#545454"
insensitive_color "#4448"
################################################################################
## Main and Game Menu Screens
################################################################################
## Navigation screen ###########################################################
##
## This screen is included in the main and game menus, and provides navigation
## to other menus, and to start the game.
screen navigation():
modal True
zorder 1000
vbox:
style_prefix "navigation"
xpos gui.navigation_xpos
#yalign 0.5
yanchor 0
ypos gui.navigation_ypos
spacing gui.navigation_spacing
if main_menu:
# textbutton _("Start") action Start()
textbutton _("New Game"):
style "textbutton1"
action Show ("whiteScreen", transition=Dissolve(1.4))# hovered [ Play ("test_one", "sound/menuClick.ogg") ]
else:
textbutton _("History"):
style "textbutton2"
action ShowMenu("history") #hovered [ Play ("test_one", "sound/menuClick.ogg") ]
textbutton _("Save"):
style "textbutton1"
action ShowMenu("save")# hovered [ Play ("test_one", "sound/menuClick.ogg") ]
textbutton _("Load Game"):
style "textbutton2"
action ShowMenu("load")# hovered [ Play ("test_one", "sound/menuClick.ogg") ]
textbutton _("Settings"):
style "textbutton1"
action ShowMenu("preferences") #hovered [ Play ("test_one", "sound/menuClick.ogg") ]
textbutton _("About"):
style "textbutton2"
action ShowMenu("about")# hovered [ Play ("test_one", "sound/menuClick.ogg") ]
if _in_replay:
textbutton _("End Replay"):
style "textbutton2"
action EndReplay(confirm=True)
elif not main_menu:
textbutton _("Main Menu"):
style "textbutton1"
action MainMenu() #hovered [ Play ("test_one", "sound/menuClick.ogg") ]
# textbutton _("Main Menu") action Show ("qte_titleScreen2")
if renpy.variant("pc"):
## Help isn't necessary or relevant to mobile devices.
#textbutton _("Help") action ShowMenu("help")
## The quit button is banned on iOS and unnecessary on Android.
textbutton _("Quit"):
style "textbutton1"
action Quit(confirm=not main_menu)# hovered [ Play ("test_one", "sound/menuClick.ogg") ]
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")
# hover_background Frame ("gui/underButton.png", 0,0)
style navigation_button_text:
properties gui.button_text_properties("navigation_button")
##############################################################################
# new 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
## ■██▓▒░ 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:
style_prefix "main_menu"
tag menu # This ensures that any other menu screen is replaced.
# add gui.main_menu_background
# add "gui/logo.png" at titleFade
add "titleScantron1" at Pan((0, 0), (0, 1807), 50, repeat=True)
add "gui/title.png" at titleFade3
# add "gui/titleLine.png" at titleFade2
$ y=180 # To make things easier, we define a variable y and use it to set positions for our imagebuttons
hbox:
#FOR TRAILER
# at titleFade5
# textbutton _("Out now on itch.io") action Show ("whiteScreen", transition=Dissolve(1.4))
#DEFAULT MENU
at titleFade4
textbutton _("New Game") action Show ("whiteScreen", transition=Dissolve(1.4))
textbutton _("Load Game") action ShowMenu("load")
textbutton _("Settings") action ShowMenu("preferences")
textbutton _("About") action ShowMenu("about")
textbutton _("Quit") action Quit(confirm=not 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 280
yfill True
background "gui/overlay/main_menu.png"
style main_menu_hbox:
font "YunusH.ttf"
spacing 21
xpos 411
ypos 513
translate traditional_chinese style main_menu_hbox:
font "traditional_chinese.ttf"
translate brazilian_portuguese style main_menu_hbox:
font "myriad.OTF"
translate polish style main_menu_hbox:
font "myriad.OTF"
translate japanese style main_menu_hbox:
font "japanese.ttc"
translate korean style main_menu_hbox:
font "Binggrae.otf"
translate russian style main_menu_hbox:
font "myriad.OTF"
translate farsi style main_menu_hbox:
font "times.ttf"
style main_menu_vbox:
xalign 1.0
xoffset -20
xmaximum 800
yalign 1.0
yoffset -20
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")
style main_menu_button:
left_padding 9
right_padding 9
translate japanese style main_menu_button:
left_padding 24
right_padding 24
translate korean style main_menu_button:
left_padding 24
right_padding 24
style main_menu_button_text: #main title screen buttons
xanchor 0.5
xalign 0.5
text_align 0.5
font "YunusH.ttf"
size 45
color "#c1adff"
hover_color "#ffcef2"
translate traditional_chinese style main_menu_button_text:
font "traditional_chinese.ttf"
size 36
translate brazilian_portuguese style main_menu_button_text:
font "myriad.OTF"
size 36
translate polish style main_menu_button_text:
font "myriad.OTF"
size 36
translate japanese style main_menu_button_text:
font "japanese.ttc"
size 32
translate korean style main_menu_button_text:
font "Binggrae.otf"
size 32
translate russian style main_menu_button_text:
font "myriad.OTF"
size 36
translate farsi style main_menu_button_text:
font "times.ttf"
size 36
init -2:
transform main_eff1:
zoom 0.5
easein 0.8 zoom 1.0
transform main_eff2:
zoom 0.5
easein 1.2 zoom 1.0
transform main_eff3:
zoom 0.5
easein 1.6 zoom 1.0
transform main_eff4:
zoom 0.5
easein 1.8 zoom 1.0
transform main_eff5:
zoom 0.5
easein 2.0 zoom 1.0
## Game Menu screen ############################################################
##
## This lays out the basic common structure of a game menu screen. It's called
## with the screen title, and displays the background, title, and navigation.
##
## The scroll parameter can be None, or one of "viewport" or "vpgrid". When
## this screen is intended to be used with one or more children, which are
## transcluded (placed) inside it.
screen game_menu(title, scroll=None):
style_prefix "game_menu"
modal True
zorder 1000
add "titleScantron1" at Pan((0, 0), (0, 1807), 50, repeat=True)
frame:
style "game_menu_outer_frame"
hbox:
## Reserve space for the navigation section.
frame:
style "game_menu_navigation_frame"
frame:
style "game_menu_content_frame"
if scroll == "viewport":
viewport:
scrollbars "vertical"
mousewheel True
draggable True
side_yfill True
vbox:
transclude
elif scroll == "vpgrid":
vpgrid:
cols 1
yinitial 1.0
scrollbars "vertical"
mousewheel True
draggable 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 30
top_padding 160
background "gui/overlay/game_menu.png"
style game_menu_navigation_frame:
xsize 280
ysize 500
#yfill True
style game_menu_content_frame:
left_margin 130
right_margin 120
top_margin 10
translate traditional_chinese style game_menu_content_frame: #doesn't seem to do anything?
left_margin 130
translate portuguese_brazilian style game_menu_content_frame:
left_margin 130
style game_menu_viewport:
xsize 920
ysize 400
style game_menu_vscrollbar:
unscrollable gui.unscrollable
style game_menu_side:
spacing 10
style game_menu_label:
xpos 480
ypos 40
ysize 120
style game_menu_vpgrid:
ysize 400
style game_menu_label_text: #the settings title in the white rectangle
font "YunusH.ttf"
size gui.title_text_size
color gui.accent_color
yalign 0.54
bold False
translate traditional_chinese style game_menu_label_text:
font "traditional_chinese.ttf"
size 36
translate brazilian_portuguese style game_menu_label_text:
font "myriad.OTF"
size 32
bold True
translate polish style game_menu_label_text:
font "myriad.OTF"
size 32
bold True
translate japanese style game_menu_label_text:
font "japanese.ttc"
size 30
translate korean style game_menu_label_text:
font "Binggrae.otf"
size 30
translate russian style game_menu_label_text:
font "myriad.OTF"
size 32
bold True
translate farsi style game_menu_label_text:
font "times.ttf"
size 36
translate indonesian style game_menu_label_text:
size 48
style return_button:
xpos gui.navigation_xpos
yalign 1.0
yoffset -180
## About screen ################################################################
##
## This screen gives credit and copyright information about the game and Ren'Py.
##
## There's nothing special about this screen, and hence it also serves as an
## example of how to make a custom screen.
screen about():
tag menu
## This use statement includes the game_menu screen inside this one. The
## vbox child is then included inside the viewport inside the game_menu
## screen.
use game_menu(_("About"), scroll="viewport"):
style_prefix "about"
vbox:
# label ""
text _("[config.name!t] Version [config.version!t]\n")
## gui.about is usually set in options.rpy.
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]")
text _("Game by Brianna Lei\n\nMade with {a=https://www.renpy.org/}Ren'Py{/a} [renpy.version_only].\n")
text _("\n\nMusic:")
text _("Bubbles, guiding light, Thought Projection, Holding Your Breath,\nIllicit Activities, and Jello by {a=http://ketsamusic.com/}Ketsa{/a}\n")
text _("Romaras, Blooming, pas a pas, side by side, and Campagne_sound363\nby Miltata (CC BY-NC 3.0)")
text _("{a=https://miltata.bandcamp.com/}This artist has songs available for purchase! Please support him here!{/a}\n")
text _("{a=http://freemusicarchive.org/music/Bloodgod/Catharsis/}Valar Morghulis{/a} by {b}Bloodgod{/b} (CC BY-NC-ND 4.0)\n")
text _("{a=http://www.hurtrecord.com/bgm/24/the-flame-of-love.html}Flame of Love{/a} by {b}YOSHI{/b}\n")
text _("{a=https://www.hurtrecord.com/bgm/104/toys-house.html}Toys House{/a} by {b}Teada{/b}\n")
text _("{a=https://www.hurtrecord.com/bgm/23/kurayami.html}{font=japanese.ttc}クラヤミ{/font}{/a} by {b}{font=japanese.ttc}カモキング{/font}{/b}\n")
text _("{a=https://thricedotted.itch.io/looptober-2021-variety-pack}Fell{/a} by {b}Studio Meow Meow{/b} (CC BY 4.0)\n")
text _("{a=https://www.void1gaming.com/}Comatose Dreams{/a} by {b}VOiD1Gaming{/b}\n")
text _("My Heart Will Go On - Recorder By Candlelight by {b}Matt Mulholland{/b}")
text _("{a=https://mattmulholland.bandcamp.com/album/matt-mulholland-sings-covers}This song is available for purchase! Please support the artist!{/a}\n")
text _("\n\nSound:")
text _("{a=https://github.com/NormalVR/CutieKeys}Cutie Keys{/a}")
text _("{a=http://freesound.org/people/LittleRobotSoundFactory/packs/16881/}Electric Sound Effects Library{/a} by LittleRobotSoundFactory (CC BY 3.0)")
text _("{a=http://freesound.org/people/Peacewaves/sounds/317334/}Metal Locker{/a} by Peacewaves (CC BY 3.0)")
text _("Rain loop by {a=https://www.freesoundslibrary.com/}Free Sounds Library{/a} (CC BY 4.0)")
text _("\n\nTranslation producer:")
text _("{a=https://queerscriptors.org}Queerscriptors{/a}")
text _("\n\nRussian Translation:")
text _("Mikhail \"KornyPony\" Burov-Kosolapin")
text _("\n\nPolish Translation:")
text _("Max \"Toasty\" and _adoracja with the help of panini_bredd")
## This is redefined in options.rpy to add text to the about screen.
define gui.about = ""
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
translate traditional_chinese style about_text: #about page text
font "traditional_chinese.ttf"
size 20
translate brazilian_portuguese style about_text:
size 20
translate polish style about_text:
size 20
translate japanese style about_text:
font "japanese.ttc"
size 20
translate korean style about_text:
font "Binggrae.otf"
size 20
translate russian style about_text:
size 20
translate farsi style about_text:
size 20
style hyperlink_text: #hyperlinks in about page
size 32
color "#fff"
translate traditional_chinese style hyperlink_text:
size 20
translate brazilian_portuguese style hyperlink_text:
size 20
translate polish style hyperlink_text:
size 20
translate japanese style hyperlink_text:
size 20
translate korean style hyperlink_text:
size 20
translate russian style hyperlink_text:
size 20
translate farsi style hyperlink_text:
size 20
## Load and Save screens #######################################################
##
## These screens are responsible for letting the player save the game and load
## it again. Since they share nearly everything in common, both are implemented
## in terms of a third screen, file_slots.
##
## https://www.renpy.org/doc/html/screen_special.html#save https://
## www.renpy.org/doc/html/screen_special.html#load
screen save():
tag menu
use file_slots(_("Save"))
screen load():
tag menu
use file_slots(_("Load Game"))
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
action page_name_value.Toggle()
input:
style "page_label_text"
value page_name_value
## The grid of file slots.
grid 2 2:
style_prefix "slot"
xalign 0.2
yalign 0.18
spacing gui.slot_spacing
for i in range(2 * 2):
$ slot = i + 1
button:
action FileAction(slot)
has vbox
add FileScreenshot(slot) xalign 0.5
text FileTime(slot, format=_("%B %d %Y, %H:%M"), empty=_("empty slot")):
style "slot_time_text"
text FileSaveName(slot):
style "slot_name_text"
key "save_delete" action FileDelete(slot)
## Buttons to access other pages.
hbox:
style_prefix "page"
xalign 0.5
yalign 0.97
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()
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 50
ypadding 3
style page_label_text: #save/load page's large "Page 1" title on the right side
font "YunusH.ttf"
size gui.title_text_size
color gui.selected_color
text_align 0.5
ypos -40
layout "subtitle"
# hover_color gui.hover_color
translate traditional_chinese style page_label_text:
font "traditional_chinese.ttf"
size 38
translate brazilian_portuguese style page_label_text:
font "myriad.OTF"
size 32
translate polish style page_label_text:
font "myriad.OTF"
size 32
translate japanese style page_label_text:
font "japanese.ttc"
size 34
translate korean style page_label_text:
font "Binggrae.otf"
size 34
translate russian style page_label_text:
font "myriad.OTF"
size 32
translate farsi style page_label_text:
font "times.ttf"
size 38
style page_button:
properties gui.button_properties("page_button")
activate_sound "sound/pageTurn.ogg"
style page_button_text:
properties gui.button_text_properties("page_button")
selected_color gui.accent_color
color "#c1adff"
hover_color "#ffcef2"
style slot_button:
properties gui.button_properties("slot_button")
style slot_button_text: #size of save file descriptions on the save/load page
properties gui.button_text_properties("slot_button")
font "YunusH.ttf"
ypos 24
size 28
translate traditional_chinese style slot_button_text:
font "traditional_chinese.ttf"
size 20
translate brazilian_portuguese style slot_button_text:
font "myriad.OTF"
size 18
translate polish style slot_button_text:
font "myriad.OTF"
size 18
translate japanese style slot_button_text:
font "japanese.ttc"
size 20
translate korean style slot_button_text:
font "Binggrae.otf"
size 20
translate russian style slot_button_text:
font "myriad.OTF"
size 18
translate farsi style slot_button_text:
font "times.ttf"
size 20
## Preferences screen ##########################################################
##
## The preferences screen allows the player to configure the game to better suit
## themselves.
##
## https://www.renpy.org/doc/html/screen_special.html#preferences
screen preferences():
tag menu
if renpy.mobile:
$ cols = 2
else:
$ cols = 4
use game_menu(_("Settings"), scroll="viewport"):
vbox:
hbox:
box_wrap True
if renpy.variant("pc"):
vbox:
style_prefix "radio"
label _("Display")
textbutton _("Window") action Preference("display", "window")
textbutton _("Fullscreen") action Preference("display", "fullscreen")
vbox:
style_prefix "check"
label _("Skip")
textbutton _("Unseen Text") action Preference("skip", "toggle")
textbutton _("After Choices") action Preference("after choices", "toggle")
vbox:
style_prefix "check"
label _("Screen Motion")
textbutton _("Background Pan") action ToggleField(persistent, "bgPan")
textbutton _("Screenshake") action ToggleField(persistent, "screenshake")
## 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:
box_wrap True
vbox:
style_prefix "slider"
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"
label _("Text Speed")
hbox:
bar value Preference("text speed")
vbox:
style_prefix "radio"
xsize 400
label _("Language")
textbutton _("English") action Language(None)
textbutton _("{font=myriad.OTF}{size=30}Русский{/size}{/font}") action Language("russian")
textbutton _("Polski") action Language("polish")
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 2
style pref_label_text: #size of Settings menu submenu text (like Volume)
yalign 1.0
font "YunusH.ttf"
color gui.selected_color
bold False
size 45
translate traditional_chinese style pref_label_text:
font "traditional_chinese.ttf"
size 28
translate brazilian_portuguese style pref_label_text:
font "myriad.OTF"
size 22
bold True
translate polish style pref_label_text:
font "myriad.OTF"
size 22
bold True
translate japanese style pref_label_text:
font "japanese.ttc"
size 20
translate korean style pref_label_text:
font "Binggrae.otf"
size 20
translate russian style pref_label_text:
font "myriad.OTF"
size 22
bold True
translate farsi style pref_label_text:
font "times.ttf"
size 22
style pref_vbox:
xsize 225
style radio_vbox:
spacing gui.pref_button_spacing
style radio_button:
properties gui.button_properties("radio_button")
foreground "gui/button/check_[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 300
style slider_button:
properties gui.button_properties("slider_button")
yalign 0.5
left_margin 10
style slider_button_text:
properties gui.button_text_properties("slider_button")
style slider_vbox:
xsize 400
## History screen ##############################################################
##
## This is a screen that displays the dialogue history to the player. While
## there isn't anything special about this screen, it does have to access the
## dialogue history stored in _history_list.
##
## https://www.renpy.org/doc/html/history.html
screen history():
tag menu
## Avoid predicting this screen, as it can be very large.
predict False
use game_menu(_("History"), scroll=("vpgrid" if gui.history_height else "viewport")):
style_prefix "history"
for h in _history_list:
window:
## This lays things out properly if history_height is None.
has fixed:
yfit True
if h.who:
label h.who:
style "history_name"
## Take the color of the who text from the Character, if
## set.
if "color" in h.who_args:
text_color h.who_args["color"]
text h.what
if not _history_list:
label _("The dialogue history is empty.")
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
bottom_padding 8
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
color gui.selected_color
font "myriad.OTF"
size 24
bold True
translate traditional_chinese style history_name_text:
font "traditional_chinese.ttf"
size 18
translate brazilian_portuguese style history_name_text:
font "myriad.OTF"
size 18
translate polish style history_name_text:
font "myriad.OTF"
size 18
translate japanese style history_name_text:
font "japanese.ttc"
size 18
bold False
translate korean style history_name_text:
font "Binggrae.otf"
size 18
bold False
translate russian style history_name_text:
font "myriad.OTF"
size 18
translate farsi style history_name_text:
font "times.ttf"
size 18
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
color "fff"
layout ("subtitle" if gui.history_text_xalign else "tex")
font "myriad.OTF"
size 24
# outlines [ (1, "#00000080", 1, 1) ]
translate traditional_chinese style history_text:
font "traditional_chinese.ttf"
size 18
translate brazilian_portuguese style history_text:
font "myriad.OTF"
size 18
translate polish style history_text:
font "myriad.OTF"
size 18
translate japanese style history_text:
font "japanese.ttc"
size 18
translate korean style history_text:
font "Binggrae.otf"
size 18
translate russian style history_text:
font "myriad.OTF"
size 18
translate farsi style history_text:
font "times.ttf"
size 18
style history_label:
xfill True
bottom_padding 100
style history_label_text:
xalign 0.5
## Help screen #################################################################
##
## A screen that gives information about key and mouse bindings. It uses other
## screens (keyboard_help, mouse_help, and gamepad_help) to display the actual
## help.
screen help():
tag menu
default device = "keyboard"
use game_menu(_("Help"), scroll="viewport"):
style_prefix "help"
vbox:
spacing 15
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 8
style help_button_text:
properties gui.button_text_properties("help_button")
style help_label:
xsize 250
right_padding 20
style help_label_text:
size gui.text_size
xalign 1.0
text_align 1.0
################################################################################
## Additional screens
################################################################################
## Confirm screen ##############################################################
##
## The confirm screen is called when Ren'Py wants to ask the player a yes or no
## question.
##
## http://www.renpy.org/doc/html/screen_special.html#confirm
screen confirm(message, yes_action, no_action):
## Ensure other screens do not get input while this screen is displayed.
modal True
zorder 200
style_prefix "confirm"
add "gui/overlay/confirm.png"
frame:
vbox:
xalign .5
yalign .5
label _(message):
style "confirm_prompt"
xalign 0.5
hbox:
xalign 0.5
spacing 100
textbutton _("Yes") action yes_action
textbutton _("No") action no_action
## Right-click and escape answer "no".
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")
## Skip indicator screen #######################################################
##
## The skip_indicator screen is displayed to indicate that skipping is in
## progress.
##
## https://www.renpy.org/doc/html/screen_special.html#skip-indicator
screen skip_indicator():
zorder 100
style_prefix "skip"
frame:
hbox:
spacing 6
text _("Skipping. To stop skipping, click anywhere on the screen!")
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"
## This transform is used to blink the arrows one after another.
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:
## We have to use a font that has the BLACK RIGHT-POINTING SMALL TRIANGLE
## glyph in it.
font "DejaVuSans.ttf"
## Notify screen ###############################################################
##
## The notify screen is used to show the player a message. (For example, when
## the game is quicksaved or a screenshot has been taken.)
##
## https://www.renpy.org/doc/html/screen_special.html#notify-screen
screen notify(message):
zorder 100
style_prefix "notify"
frame at notify_appear:
text message
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")
font "myriad.OTF"
translate traditional_chinese style notify_text:
font "traditional_chinese.ttf"
translate brazilian_portuguese style notify_text:
font "myriad.OTF"
translate polish style notify_text:
font "myriad.OTF"
translate japanese style notify_text:
font "japanese.ttc"
translate korean style notify_text:
font "Binggrae.otf"
translate russian style notify_text:
font "myriad.OTF"
translate farsi style notify_text:
font "times.ttf"
## NVL screen ##################################################################
##
### This screen is used for NVL-mode dialogue and menus.
###
#### http://www.renpy.org/doc/html/screen_special.html#nvl
screen nvl(dialogue, items=None):
frame:
xpos 0 ypos 0
background "gui/nvl.png"
has side "c":
area (300, 0, 820, 680)
viewport id "vp":
draggable True
yadjustment ui.adjustment (value=99999, range=99999) # err... works, but...
vbox:
style "nvl_vbox"
spacing 7 #controls spacing between each entry
# Display dialogue.
for who, what, who_id, what_id, window_id in dialogue:
if who==diyaChatName or who=="迪亞" or who=="ディーヤ" or who=="디야" or who=="Дия":
window:
id window_id
has hbox:
spacing 0
add "images/chat_diya.png"
if who is not None:
text who id who_id xpos 20 ypos 5
elif who==akarshaChatName or who==akarshaChatName2 or who==akarshaChatName3 or who=="удостоверенный мозговой гений" or who=="certyfikowany geniusz mózgowy":
window:
id window_id
has hbox:
spacing 0
add "images/chat_akarsha.png"
if who is not None:
text who id who_id xpos 20 ypos 5
elif who==noelleChatName or who=="諾奧" or who=="Ноэль":
window:
id window_id
has hbox:
#this is the space between the name and dialogue
spacing 0
add "images/chat_noelle.png" #at avatar
if who is not None:
text who id who_id xpos 20 ypos 5
elif who==minChatName or who=="旼" or who=="Мин":
window:
id window_id
has hbox:
#this is the space between the name and dialogue
spacing 0
add "images/chat_min.png" #at avatar
if who is not None:
text who id who_id xpos 20 ypos 5
elif who==chryssaChatName or who=="克莉莎" or who=="クリッサ" or who=="크리샤":
window:
id window_id
has hbox:
#this is the space between the name and dialogue
spacing 0
add "images/chat_chryssa.png" #at avatar
if who is not None:
text who id who_id xpos 20 ypos 5
elif who==lizChatName or who=="麗姿" or who=="リズ" or who=="리즈":
window:
id window_id
has hbox:
#this is the space between the name and dialogue
spacing 0
add "images/chat_liz.png" #at avatar
if who is not None:
text who id who_id xpos 20 ypos 5
elif who==graceChatName or who=="小雪" or who=="ユキ" or who=="유키":
window:
id window_id
has hbox:
#this is the space between the name and dialogue
spacing 0
add "images/chat_grace.png" #at avatar
if who is not None:
text who id who_id xpos 20 ypos 5
elif who==momChatName or who=="Мама" or who=="Mama":
window:
id window_id
has hbox:
#this is the space between the name and dialogue
spacing 0
add "images/chat_mom.png" #at avatar
if who is not None:
text who id who_id xpos 20 ypos 5
if who=="":
window:
id window_id
top_padding 0
left_padding 15
bottom_padding 50
background None
has vbox:
spacing 0
text what id what_id
else:
window:
id window_id
top_padding 15
left_padding 15
# right_margin 160
right_padding 15
bottom_padding 15
ypos -55
left_margin 130
background Frame("gui/frameNvl.png", 30, 30)
has vbox:
#this is the space between the name and dialogue
spacing 0
text what id what_id
if items:
if not textChoice:
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"
if items:
if textChoice:
window:
id window_id
xpos 435 ypos 636
top_padding 15
left_padding 15
right_padding 15
bottom_padding 15
background Frame("gui/frameNvlChoice.png", 30, 30)
has vbox:
id "menu"
for caption, action, chosen in items:
if action:
button:
style "nvl_menu_choice_button"
at nvlChoiceFade
action action
text caption style "nvl_menu_choice"
else:
text caption style "nvl_dialogue"
if not items:
button: # the button should be AFTER the frame containing the viewport but on the same level
hover_sound None
activate_sound None
# background None # if you comment out this line you'll see the button and the area it takes up
xsize 1368 # slightly smaller than the viewport area to make sure you don't click it by accident when fiddling with the scrollbar
ysize 768
ypos 0
action Return()
use quick_menu3
## This controls the maximum number of NVL-mode entries that can be displayed at
## once.
define config.nvl_list_length = 25
style nvl_window is default
style nvl_entry is default
style nvl_label is say_label
translate traditional_chinese style nvl_label:
font "traditional_chinese.ttf"
translate brazilian_portuguese style nvl_label:
font "myriad.OTF"
translate polish style nvl_label:
font "myriad.OTF"
translate japanese style nvl_label:
font "japanese.ttc"
translate korean style nvl_label:
font "Binggrae.otf"
translate russian style nvl_label:
font "myriad.OTF"
translate farsi style nvl_label:
font "times.ttf"
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_menu_choice_button:
left_margin 0
xfill False
hover_background None
font "myriad.OTF"
hover_sound "sound/menuClick.ogg"
translate traditional_chinese style nvl_menu_choice_button:
font "traditional_chinese.ttf"
translate brazilian_portuguese style nvl_menu_choice_button:
font "myriad.OTF"
translate polish style nvl_menu_choice_button:
font "myriad.OTF"
translate japanese style nvl_menu_choice_button:
font "japanese.ttc"
translate korean style nvl_menu_choice_button:
font "Binggrae.otf"
translate russian style nvl_menu_choice_button:
font "myriad.OTF"
translate farsi style nvl_menu_choice_button:
font "times.ttf"
style nvl_menu_choice:
underline False
color "#fff"
size 24
hover_color "#2B1C63"
font "myriad.OTF"
# hover_sound "sound/peep.ogg
translate traditional_chinese style nvl_menu_choice:
font "traditional_chinese.ttf"
translate brazilian_portuguese style nvl_menu_choice:
font "myriad.OTF"
translate polish style nvl_menu_choice:
font "myriad.OTF"
translate japanese style nvl_menu_choice:
font "japanese.ttc"
translate korean style nvl_menu_choice:
font "Binggrae.otf"
translate russian style nvl_menu_choice:
font "myriad.OTF"
translate farsi style nvl_menu_choice:
font "times.ttf"
################################################################################
## Mobile Variants
################################################################################
style pref_vbox:
variant "medium"
xsize 450
## Since a mouse may not be present, we replace the quick menu with a version
## that uses fewer and bigger buttons that are easier to touch.
screen quick_menu():
variant "touch"
zorder 100
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 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 340
style game_menu_content_frame:
variant "small"
top_margin 0
style pref_vbox:
variant "small"
xsize 400
style slider_pref_vbox:
variant "small"
xsize None
style slider_pref_slider:
variant "small"
xsize 600
######################################
## ■██▓▒░ WHITE SCREEN BEFORE START ░▒▓████████████████████████████████████■
## This is where it goes when you click Start in the main menu.
screen whiteScreen:
modal True
add "white"
timer 0.1 action Stop(channel='music', fadeout=2.2)
timer 3.0 action Start()
# timer 3.0 action Jump("start2")
## ■██▓▒░ CUSTOM SOUND CHANNEL ░▒▓██████████████████████████■
# This is the block where we declare the individual sound channels. This enables us to play several sound FX's without overlapping
init python:
renpy.music.register_channel("ctc", "sfx", False)
renpy.music.register_channel("test_one", "sfx", False)
renpy.music.register_channel("test_two", "sfx", False)
renpy.music.register_channel("test_three", "sfx", False)
renpy.music.register_channel("test_four","sfx", False)
renpy.music.register_channel("test_five", "sfx", False)
renpy.music.register_channel("test_six", "sfx", False)
renpy.music.register_channel("sound2", "sfx", False)
## ■██▓▒░ TOOLTIP ░▒▓███████████████████████████████████████■
screen gui_tooltip:
add "gui/tooltipLine.png" at alpha_SPEED2
text tt style "tooltip" at alpha_SPEED
# text tt style "chTitle" size 40 text_align 0.5 color "#ffff" at alpha_SPEED
screen qte_tooltip:
# add my_picture xpos tt_xpos ypos tt_ypos
text tt font "YunusH.ttf" size 60 text_align 0.7 color "#fff" at alpha_SPEEDQTE
#MOVIE SCREEN
screen movie:
add "movie" xalign 0.5 yalign 0.5 zoom 1.0