mirror of
https://git.cavemanon.xyz/Cavemanon/SnootGame.git
synced 2025-03-25 11:29:16 +01:00
Merge branch 'master' into wani_mod_menu
This commit is contained in:
commit
5eb39a7c3c
14 changed files with 902 additions and 527 deletions
|
@ -11,7 +11,8 @@ init offset = -2
|
||||||
init python:
|
init python:
|
||||||
gui.init(1920, 1080)
|
gui.init(1920, 1080)
|
||||||
|
|
||||||
|
## Enable checks for invalid or unstable properties in screens or transforms
|
||||||
|
#define config.check_conflicting_properties = True
|
||||||
|
|
||||||
################################################################################
|
################################################################################
|
||||||
## GUI Configuration Variables
|
## GUI Configuration Variables
|
||||||
|
@ -362,6 +363,8 @@ define config.history_length = 250
|
||||||
## the cost of performance.
|
## the cost of performance.
|
||||||
define gui.history_height = 210
|
define gui.history_height = 210
|
||||||
|
|
||||||
|
define gui.history_spacing = 0
|
||||||
|
|
||||||
## The position, width, and alignment of the label giving the name of the
|
## The position, width, and alignment of the label giving the name of the
|
||||||
## speaking character.
|
## speaking character.
|
||||||
define gui.history_name_xpos = 233
|
define gui.history_name_xpos = 233
|
||||||
|
@ -419,6 +422,7 @@ define gui.nvl_thought_xalign = 0.0
|
||||||
define gui.nvl_button_xpos = 675
|
define gui.nvl_button_xpos = 675
|
||||||
define gui.nvl_button_xalign = 0.0
|
define gui.nvl_button_xalign = 0.0
|
||||||
|
|
||||||
|
|
||||||
## Localization ################################################################
|
## Localization ################################################################
|
||||||
|
|
||||||
## This controls where a line break is permitted. The default is suitable
|
## This controls where a line break is permitted. The default is suitable
|
||||||
|
|
BIN
game/gui/bubble.png
Normal file
BIN
game/gui/bubble.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 6.7 KiB |
Binary file not shown.
Before Width: | Height: | Size: 2.7 KiB |
BIN
game/gui/thoughtbubble.png
Normal file
BIN
game/gui/thoughtbubble.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 4.1 KiB |
|
@ -48,7 +48,7 @@ define build.name = "SnootGame"
|
||||||
|
|
||||||
define config.has_sound = True
|
define config.has_sound = True
|
||||||
define config.has_music = True
|
define config.has_music = True
|
||||||
define config.has_voice = False
|
define config.has_voice = True
|
||||||
|
|
||||||
define config.play_channel = "uisounds"
|
define config.play_channel = "uisounds"
|
||||||
|
|
||||||
|
@ -133,6 +133,8 @@ default preferences.text_cps = 50
|
||||||
|
|
||||||
default preferences.afm_time = 15
|
default preferences.afm_time = 15
|
||||||
|
|
||||||
|
## Snoot-specific config variables
|
||||||
|
|
||||||
define config.developer = "auto"
|
define config.developer = "auto"
|
||||||
|
|
||||||
default persistent.enable_debug_scores = config.developer
|
default persistent.enable_debug_scores = config.developer
|
||||||
|
@ -140,6 +142,7 @@ default persistent.enable_chapter_select = config.developer
|
||||||
default persistent.lewd = False
|
default persistent.lewd = False
|
||||||
default persistent.autoup = False
|
default persistent.autoup = False
|
||||||
default persistent.show_mod_screenshots = True
|
default persistent.show_mod_screenshots = True
|
||||||
|
default persistent.gallery_edgescroll = True
|
||||||
|
|
||||||
init -1000 python:
|
init -1000 python:
|
||||||
if persistent.newmods_default_state == None:
|
if persistent.newmods_default_state == None:
|
||||||
|
@ -237,9 +240,9 @@ init python:
|
||||||
build.documentation('*.txt')
|
build.documentation('*.txt')
|
||||||
|
|
||||||
|
|
||||||
## A Google Play license key is required to download expansion files and perform
|
## A Google Play license key is required to perform in-app purchases. It can be
|
||||||
## in-app purchases. It can be found on the "Services & APIs" page of the Google
|
## found in the Google Play developer console, under "Monetize" > "Monetization
|
||||||
## Play developer console.
|
## Setup" > "Licensing".
|
||||||
|
|
||||||
# define build.google_play_key = "..."
|
# define build.google_play_key = "..."
|
||||||
|
|
||||||
|
|
251
game/screens.rpy
251
game/screens.rpy
|
@ -194,7 +194,7 @@ screen input(prompt):
|
||||||
window:
|
window:
|
||||||
add Image("gui/textbox_no_hitch.png", xalign=0.5, yalign=1.0, yoffset=gui.input_yoffset) #for mobile OSK
|
add Image("gui/textbox_no_hitch.png", xalign=0.5, yalign=1.0, yoffset=gui.input_yoffset) #for mobile OSK
|
||||||
vbox:
|
vbox:
|
||||||
xalign gui.dialogue_text_xalign
|
xanchor gui.dialogue_text_xalign
|
||||||
xpos gui.dialogue_xpos
|
xpos gui.dialogue_xpos
|
||||||
xsize gui.dialogue_width
|
xsize gui.dialogue_width
|
||||||
ypos gui.dialogue_ypos
|
ypos gui.dialogue_ypos
|
||||||
|
@ -251,7 +251,7 @@ style choice_button is default:
|
||||||
activate_sound "audio/ui/uiRollover.wav"
|
activate_sound "audio/ui/uiRollover.wav"
|
||||||
|
|
||||||
style choice_button_text is default:
|
style choice_button_text is default:
|
||||||
properties gui.button_text_properties("choice_button")
|
properties gui.text_properties("choice_button")
|
||||||
|
|
||||||
|
|
||||||
## Quick Menu screen ###########################################################
|
## Quick Menu screen ###########################################################
|
||||||
|
@ -259,24 +259,25 @@ style choice_button_text is default:
|
||||||
## The quick menu is displayed in-game to provide easy access to the out-of-game
|
## The quick menu is displayed in-game to provide easy access to the out-of-game
|
||||||
## menus.
|
## menus.
|
||||||
|
|
||||||
screen quick_button(filename, label, function):
|
screen quick_button(filename, label, function=NullAction(), function2=NullAction()):
|
||||||
button:
|
button:
|
||||||
xsize 71
|
xsize 71
|
||||||
ysize 71
|
ysize 71
|
||||||
action function
|
action function
|
||||||
|
alternate function2
|
||||||
if 'Return' in label or 'Back' in label or 'Menu' in label:
|
if 'Return' in label or 'Back' in label or 'Menu' in label:
|
||||||
activate_sound "audio/ui/uiBack.wav"
|
activate_sound "audio/ui/uiBack.wav"
|
||||||
else:
|
else:
|
||||||
activate_sound "audio/ui/uiClick.wav"
|
activate_sound "audio/ui/uiClick.wav"
|
||||||
fixed:
|
fixed:
|
||||||
add filename xalign 0.5 yalign 0.5 zoom 1
|
add filename xalign 0.5 yalign 0.5 zoom 1
|
||||||
text label xalign 0.5 yalign 0.5 xanchor 0.5 size 22 style "quick_button_text"
|
text label xalign 0.5 yalign 0.5 size 22 style "quick_button_text"
|
||||||
|
|
||||||
# label_functions is [ [ "label", function() ], [ "foobar", foobar() ], .. ]
|
# label_functions is [ [ "label", function() ], [ "foobar", foobar() ], .. ]
|
||||||
# Reuse the same image string and keep things 'neat'.
|
# Reuse the same image string and keep things 'neat'.
|
||||||
screen quick_buttons(filename, label_functions):
|
screen quick_buttons(filename, label_functions):
|
||||||
for l_f in label_functions:
|
for l_f in label_functions:
|
||||||
use quick_button(filename, l_f[0], l_f[1])
|
use quick_button(filename, l_f[0], l_f[1], l_f[2])
|
||||||
|
|
||||||
screen quick_menu():
|
screen quick_menu():
|
||||||
|
|
||||||
|
@ -292,27 +293,12 @@ screen quick_menu():
|
||||||
|
|
||||||
use quick_buttons("gui/button/uioptionbuttons/template_idle.png",
|
use quick_buttons("gui/button/uioptionbuttons/template_idle.png",
|
||||||
[
|
[
|
||||||
[ _("Skip"), Skip() ],
|
[ _("Skip"), Skip(), Skip(fast=True, confirm=True) ],
|
||||||
[ _("Save"), ShowMenu('save') ],
|
[ _("Save"), ShowMenu('save'), NullAction() ],
|
||||||
[ _("Auto"), Preference("auto-forward", "toggle") ],
|
[ _("Auto"), Preference("auto-forward", "toggle"), NullAction() ],
|
||||||
[ _("Load"), ShowMenu('load') ]
|
[ _("Load"), ShowMenu('load'), NullAction() ]
|
||||||
] )
|
] )
|
||||||
|
|
||||||
screen score_menu():
|
|
||||||
zorder 100
|
|
||||||
window:
|
|
||||||
background "gui/debug.webp"
|
|
||||||
xalign -1.0
|
|
||||||
yalign 0.0
|
|
||||||
grid 1 3:
|
|
||||||
style_prefix "score"
|
|
||||||
xalign 0.0
|
|
||||||
yalign 0.0
|
|
||||||
text "anons: " + str(anonscore)
|
|
||||||
text "fang: " + str(fangscore)
|
|
||||||
text "DEBUG SCORE CARD"
|
|
||||||
|
|
||||||
|
|
||||||
## This code ensures that the quick_menu screen is displayed in-game, whenever
|
## This code ensures that the quick_menu screen is displayed in-game, whenever
|
||||||
## the player has not explicitly hidden the interface.
|
## the player has not explicitly hidden the interface.
|
||||||
init python:
|
init python:
|
||||||
|
@ -359,7 +345,7 @@ screen navigation():
|
||||||
textbutton _("Load") activate_sound "audio/ui/uiClick.wav" action ShowMenu("load")
|
textbutton _("Load") activate_sound "audio/ui/uiClick.wav" action ShowMenu("load")
|
||||||
textbutton _("Delete") activate_sound "audio/ui/uiClick.wav" action ShowMenu("delete")
|
textbutton _("Delete") activate_sound "audio/ui/uiClick.wav" action ShowMenu("delete")
|
||||||
|
|
||||||
if config.developer or persistent.enable_chapter_select:
|
if persistent.enable_chapter_select:
|
||||||
textbutton _("Chapter Select") activate_sound "audio/ui/uiClick.wav" action Start("chapter_select")
|
textbutton _("Chapter Select") activate_sound "audio/ui/uiClick.wav" action Start("chapter_select")
|
||||||
|
|
||||||
textbutton _("Options") activate_sound "audio/ui/uiClick.wav" action ShowMenu("preferences")
|
textbutton _("Options") activate_sound "audio/ui/uiClick.wav" action ShowMenu("preferences")
|
||||||
|
@ -390,7 +376,7 @@ style navigation_button:
|
||||||
properties gui.button_properties("navigation_button")
|
properties gui.button_properties("navigation_button")
|
||||||
|
|
||||||
style navigation_button_text:
|
style navigation_button_text:
|
||||||
properties gui.button_text_properties("navigation_button")
|
properties gui.text_properties("navigation_button")
|
||||||
|
|
||||||
|
|
||||||
## Main Menu screen ############################################################
|
## Main Menu screen ############################################################
|
||||||
|
@ -410,8 +396,8 @@ screen main_menu_button(filename, label, function):
|
||||||
else:
|
else:
|
||||||
activate_sound "audio/ui/uiClick.wav"
|
activate_sound "audio/ui/uiClick.wav"
|
||||||
fixed:
|
fixed:
|
||||||
add filename xalign 0.5 yalign 0.5 zoom 1 xanchor 0 xcenter 0.5 ycenter 0.5
|
add filename xalign 0.5 yalign 0.5 zoom 1
|
||||||
text label xalign 0.5 yalign 0.5 xanchor 0.5
|
text label xalign 0.5 yalign 0.5
|
||||||
|
|
||||||
image bonus_flash:
|
image bonus_flash:
|
||||||
|
|
||||||
|
@ -437,23 +423,21 @@ image template_black:
|
||||||
screen bonus_chapter_button(f="gui/button/menubuttons/template_idle.png"):
|
screen bonus_chapter_button(f="gui/button/menubuttons/template_idle.png"):
|
||||||
#("gui/button/menubuttons/template_idle.png", "Bonus Chapters", ShowMenu("ex_ch_menu"))
|
#("gui/button/menubuttons/template_idle.png", "Bonus Chapters", ShowMenu("ex_ch_menu"))
|
||||||
button:
|
button:
|
||||||
xmaximum 500
|
|
||||||
ymaximum 129
|
|
||||||
xysize (500, 129)
|
xysize (500, 129)
|
||||||
action ShowMenu("ex_ch_menu")
|
action ShowMenu("ex_ch_menu")
|
||||||
activate_sound "audio/ui/uiClick.wav"
|
activate_sound "audio/ui/uiClick.wav"
|
||||||
fixed:
|
fixed:
|
||||||
if (persistent.old_endings != persistent.endings) or (persistent.bonus_chapters != persistent.old_bonus_chapters and (persistent.bonus_chapters == 0b111111111)):
|
if (persistent.old_endings != persistent.endings) or (persistent.bonus_chapters != persistent.old_bonus_chapters and (persistent.bonus_chapters == 0b111111111)):
|
||||||
add "bonus_flash" xalign 0.5 yalign 0.5 zoom 1 xanchor 0 xcenter 0.5 ycenter 0.5
|
add "bonus_flash" xalign 0.5 yalign 0.5 zoom 1
|
||||||
$ persistent.old_endings = persistent.endings
|
$ persistent.old_endings = persistent.endings
|
||||||
#$ persistent.old_bonus_chapters = persistent.bonus_chapters
|
#$ persistent.old_bonus_chapters = persistent.bonus_chapters
|
||||||
else:
|
else:
|
||||||
add f xalign 0.5 yalign 0.5 zoom 1 xanchor 0 xcenter 0.5 ycenter 0.5
|
add f xalign 0.5 yalign 0.5 zoom 1
|
||||||
|
|
||||||
if (persistent.old_bonus_chapters != persistent.bonus_chapters): #just in case
|
if (persistent.old_bonus_chapters != persistent.bonus_chapters): #just in case
|
||||||
$ persistent.old_bonus_chapters = persistent.bonus_chapters
|
$ persistent.old_bonus_chapters = persistent.bonus_chapters
|
||||||
|
|
||||||
text "Bonus Chapters" xalign 0.5 yalign 0.5 xanchor 0.5
|
text "Bonus Chapters" xalign 0.5 yalign 0.5
|
||||||
|
|
||||||
# label_functions is [ [ "label", function() ], [ "foobar", foobar() ], .. ]
|
# label_functions is [ [ "label", function() ], [ "foobar", foobar() ], .. ]
|
||||||
# Reuse the same image string and keep things 'neat'.
|
# Reuse the same image string and keep things 'neat'.
|
||||||
|
@ -592,11 +576,11 @@ style main_menu_ex_frame is main_menu_frame
|
||||||
## This lays out the basic common structure of a game menu screen. It's called
|
## 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.
|
## with the screen title, and displays the background, title, and navigation.
|
||||||
##
|
##
|
||||||
## The scroll parameter can be None, or one of "viewport" or "vpgrid". When
|
## The scroll parameter can be None, or one of "viewport" or "vpgrid".
|
||||||
## this screen is intended to be used with one or more children, which are
|
## This screen is intended to be used with one or more children, which are
|
||||||
## transcluded (placed) inside it.
|
## transcluded (placed) inside it.
|
||||||
|
|
||||||
screen game_menu(title, scroll=None, yinitial=0.0):
|
screen game_menu(title, scroll=None, yinitial=0.0, spacing=0):
|
||||||
|
|
||||||
style_prefix "game_menu"
|
style_prefix "game_menu"
|
||||||
|
|
||||||
|
@ -629,6 +613,8 @@ screen game_menu(title, scroll=None, yinitial=0.0):
|
||||||
side_yfill True
|
side_yfill True
|
||||||
|
|
||||||
vbox:
|
vbox:
|
||||||
|
spacing spacing
|
||||||
|
|
||||||
transclude
|
transclude
|
||||||
|
|
||||||
elif scroll == "vpgrid":
|
elif scroll == "vpgrid":
|
||||||
|
@ -644,6 +630,8 @@ screen game_menu(title, scroll=None, yinitial=0.0):
|
||||||
|
|
||||||
side_yfill True
|
side_yfill True
|
||||||
|
|
||||||
|
spacing spacing
|
||||||
|
|
||||||
transclude
|
transclude
|
||||||
|
|
||||||
else:
|
else:
|
||||||
|
@ -894,27 +882,41 @@ screen file_slots(title, flag=False):
|
||||||
key "save_delete" action FileDelete(slot)
|
key "save_delete" action FileDelete(slot)
|
||||||
|
|
||||||
## Buttons to access other pages.
|
## Buttons to access other pages.
|
||||||
hbox:
|
vbox:
|
||||||
style_prefix "page"
|
style_prefix "page"
|
||||||
|
|
||||||
xalign 0.5
|
xalign 0.5
|
||||||
yalign 1.0
|
yalign 1.0
|
||||||
|
hbox:
|
||||||
|
xalign 0.5
|
||||||
|
|
||||||
spacing gui.page_spacing
|
spacing gui.page_spacing
|
||||||
|
|
||||||
textbutton _("<") activate_sound "audio/ui/uiRollover.wav" action FilePagePrevious()
|
textbutton _("<") activate_sound "audio/ui/uiRollover.wav" action FilePagePrevious()
|
||||||
|
key "save_page_prev" action FilePagePrevious()
|
||||||
|
|
||||||
if config.has_autosave:
|
if config.has_autosave:
|
||||||
textbutton _("{#auto_page}A") activate_sound "audio/ui/uiClick.wav" action FilePage("auto")
|
textbutton _("{#auto_page}A") activate_sound "audio/ui/uiClick.wav" action FilePage("auto")
|
||||||
|
|
||||||
if config.has_quicksave:
|
if config.has_quicksave:
|
||||||
textbutton _("{#quick_page}Q") activate_sound "audio/ui/uiClick.wav" action FilePage("quick")
|
textbutton _("{#quick_page}Q") activate_sound "audio/ui/uiClick.wav" action FilePage("quick")
|
||||||
|
|
||||||
## range(1, 10) gives the numbers from 1 to 9.
|
## range(1, 10) gives the numbers from 1 to 9.
|
||||||
for page in range(1, 10):
|
for page in range(1, 10):
|
||||||
textbutton "[page]" activate_sound "audio/ui/uiClick.wav" action FilePage(page)
|
textbutton "[page]" activate_sound "audio/ui/uiClick.wav" action FilePage(page)
|
||||||
|
|
||||||
textbutton _(">") activate_sound "audio/ui/uiRollover.wav" action FilePageNext(max=9)
|
textbutton _(">") activate_sound "audio/ui/uiRollover.wav" action FilePageNext(max=9)
|
||||||
|
key "save_page_next" action FilePageNext()
|
||||||
|
|
||||||
|
if config.has_sync:
|
||||||
|
if CurrentScreenName() == "save":
|
||||||
|
textbutton _("Upload Sync"):
|
||||||
|
action UploadSync()
|
||||||
|
xalign 0.5
|
||||||
|
else:
|
||||||
|
textbutton _("Download Sync"):
|
||||||
|
action DownloadSync()
|
||||||
|
xalign 0.5
|
||||||
|
|
||||||
|
|
||||||
style page_label is gui_label
|
style page_label is gui_label
|
||||||
|
@ -932,7 +934,7 @@ style page_label:
|
||||||
ypadding 5
|
ypadding 5
|
||||||
|
|
||||||
style page_label_text:
|
style page_label_text:
|
||||||
text_align 0.5
|
textalign 0.5
|
||||||
layout "subtitle"
|
layout "subtitle"
|
||||||
hover_color gui.hover_color
|
hover_color gui.hover_color
|
||||||
|
|
||||||
|
@ -940,13 +942,13 @@ style page_button:
|
||||||
properties gui.button_properties("page_button")
|
properties gui.button_properties("page_button")
|
||||||
|
|
||||||
style page_button_text:
|
style page_button_text:
|
||||||
properties gui.button_text_properties("page_button")
|
properties gui.text_properties("page_button")
|
||||||
|
|
||||||
style slot_button:
|
style slot_button:
|
||||||
properties gui.button_properties("slot_button")
|
properties gui.button_properties("slot_button")
|
||||||
|
|
||||||
style slot_button_text:
|
style slot_button_text:
|
||||||
properties gui.button_text_properties("slot_button")
|
properties gui.text_properties("slot_button")
|
||||||
|
|
||||||
|
|
||||||
## Preferences screen ##########################################################
|
## Preferences screen ##########################################################
|
||||||
|
@ -998,12 +1000,11 @@ screen preferences():
|
||||||
textbutton _("After Choices") action [Function(onclick_audio, preferences.skip_after_choices), ToggleVariable("preferences.skip_after_choices", True, False)]
|
textbutton _("After Choices") action [Function(onclick_audio, preferences.skip_after_choices), ToggleVariable("preferences.skip_after_choices", True, False)]
|
||||||
textbutton _("Transitions") action [Function(onclick_audio, preferences.transitions, True), ToggleVariable("preferences.transitions", 0, 2)]
|
textbutton _("Transitions") action [Function(onclick_audio, preferences.transitions, True), ToggleVariable("preferences.transitions", 0, 2)]
|
||||||
|
|
||||||
if config.developer:
|
vbox:
|
||||||
vbox:
|
style_prefix "check"
|
||||||
style_prefix "check"
|
label _("Developer Tools")
|
||||||
label _("Developer Tools")
|
textbutton _("Enable Debug Scores") action ToggleVariable("persistent.enable_debug_scores", True, False)
|
||||||
textbutton _("Enable Debug Scores") action ToggleVariable("persistent.enable_debug_scores", True, False)
|
textbutton _("Enable Chapter Select") action ToggleVariable("persistent.enable_chapter_select", True, False)
|
||||||
textbutton _("Enable Chapter Select") action ToggleVariable("persistent.enable_chapter_select", True, False)
|
|
||||||
|
|
||||||
vbox:
|
vbox:
|
||||||
style_prefix "check"
|
style_prefix "check"
|
||||||
|
@ -1018,6 +1019,11 @@ screen preferences():
|
||||||
else:
|
else:
|
||||||
$ debug_story_variables(False)
|
$ debug_story_variables(False)
|
||||||
|
|
||||||
|
vbox:
|
||||||
|
style_prefix "check"
|
||||||
|
label _("Gallery")
|
||||||
|
textbutton _("Enable Edgescrolling") action [Function(onclick_audio, persistent.gallery_edgescroll), ToggleVariable("persistent.gallery_edgescroll", True, False)]
|
||||||
|
|
||||||
vbox:
|
vbox:
|
||||||
xsize 676
|
xsize 676
|
||||||
style_prefix "check"
|
style_prefix "check"
|
||||||
|
@ -1143,7 +1149,7 @@ style radio_button:
|
||||||
foreground "gui/button/radio_[prefix_]foreground.png"
|
foreground "gui/button/radio_[prefix_]foreground.png"
|
||||||
|
|
||||||
style radio_button_text:
|
style radio_button_text:
|
||||||
properties gui.button_text_properties("radio_button")
|
properties gui.text_properties("radio_button")
|
||||||
|
|
||||||
style check_vbox:
|
style check_vbox:
|
||||||
spacing gui.pref_button_spacing
|
spacing gui.pref_button_spacing
|
||||||
|
@ -1153,7 +1159,7 @@ style check_button:
|
||||||
foreground "gui/button/check_[prefix_]foreground.png"
|
foreground "gui/button/check_[prefix_]foreground.png"
|
||||||
|
|
||||||
style check_button_text:
|
style check_button_text:
|
||||||
properties gui.button_text_properties("check_button")
|
properties gui.text_properties("check_button")
|
||||||
|
|
||||||
style slider_slider:
|
style slider_slider:
|
||||||
xsize 525
|
xsize 525
|
||||||
|
@ -1164,7 +1170,7 @@ style slider_button:
|
||||||
left_margin 15
|
left_margin 15
|
||||||
|
|
||||||
style slider_button_text:
|
style slider_button_text:
|
||||||
properties gui.button_text_properties("slider_button")
|
properties gui.text_properties("slider_button")
|
||||||
|
|
||||||
style slider_vbox:
|
style slider_vbox:
|
||||||
xsize 675
|
xsize 675
|
||||||
|
@ -1185,7 +1191,7 @@ screen history():
|
||||||
## Avoid predicting this screen, as it can be very large.
|
## Avoid predicting this screen, as it can be very large.
|
||||||
predict False
|
predict False
|
||||||
|
|
||||||
use game_menu(_("History"), scroll=("vpgrid" if gui.history_height else "viewport"), yinitial=1.0):
|
use game_menu(_("History"), scroll=("vpgrid" if gui.history_height else "viewport"), yinitial=1.0, spacing=gui.history_spacing):
|
||||||
|
|
||||||
style_prefix "history"
|
style_prefix "history"
|
||||||
|
|
||||||
|
@ -1244,7 +1250,7 @@ style history_name:
|
||||||
|
|
||||||
style history_name_text:
|
style history_name_text:
|
||||||
min_width gui.history_name_width
|
min_width gui.history_name_width
|
||||||
text_align gui.history_name_xalign
|
textalign gui.history_name_xalign
|
||||||
|
|
||||||
style history_text:
|
style history_text:
|
||||||
xpos gui.history_text_xpos
|
xpos gui.history_text_xpos
|
||||||
|
@ -1252,7 +1258,7 @@ style history_text:
|
||||||
xanchor gui.history_text_xalign
|
xanchor gui.history_text_xalign
|
||||||
xsize gui.history_text_width
|
xsize gui.history_text_width
|
||||||
min_width gui.history_text_width
|
min_width gui.history_text_width
|
||||||
text_align gui.history_text_xalign
|
textalign gui.history_text_xalign
|
||||||
layout ("subtitle" if gui.history_text_xalign else "tex")
|
layout ("subtitle" if gui.history_text_xalign else "tex")
|
||||||
|
|
||||||
style history_label:
|
style history_label:
|
||||||
|
@ -1291,7 +1297,7 @@ screen extrasnavigation():
|
||||||
vbox:
|
vbox:
|
||||||
spacing 10
|
spacing 10
|
||||||
xpos 1885
|
xpos 1885
|
||||||
ypos (1269 if config.developer and persistent.enable_chapter_select else 1130)
|
ypos (1269 if persistent.enable_chapter_select else 1130)
|
||||||
use main_menu_buttons("gui/button/menubuttons/template_idle.png",
|
use main_menu_buttons("gui/button/menubuttons/template_idle.png",
|
||||||
[
|
[
|
||||||
[ _("Help"), ShowMenu("help") ],
|
[ _("Help"), ShowMenu("help") ],
|
||||||
|
@ -1417,7 +1423,7 @@ screen mouse_help():
|
||||||
text _("Accesses the game menu. Also escapes the Gallery.")
|
text _("Accesses the game menu. Also escapes the Gallery.")
|
||||||
|
|
||||||
hbox:
|
hbox:
|
||||||
label _("Mouse Wheel Up\nClick Rollback Side")
|
label _("Mouse Wheel Up")
|
||||||
text _("Rolls back to earlier dialogue.")
|
text _("Rolls back to earlier dialogue.")
|
||||||
|
|
||||||
hbox:
|
hbox:
|
||||||
|
@ -1439,13 +1445,12 @@ screen gamepad_help():
|
||||||
label _("Right Shoulder")
|
label _("Right Shoulder")
|
||||||
text _("Rolls forward to later dialogue.")
|
text _("Rolls forward to later dialogue.")
|
||||||
|
|
||||||
|
|
||||||
hbox:
|
hbox:
|
||||||
label _("D-Pad, Sticks")
|
label _("D-Pad, Sticks")
|
||||||
text _("Navigate the interface.")
|
text _("Navigate the interface.")
|
||||||
|
|
||||||
hbox:
|
hbox:
|
||||||
label _("Start, Guide")
|
label _("Start, Guide, B/Right Button")
|
||||||
text _("Accesses the game menu.")
|
text _("Accesses the game menu.")
|
||||||
|
|
||||||
hbox:
|
hbox:
|
||||||
|
@ -1466,7 +1471,7 @@ style help_button:
|
||||||
xmargin 12
|
xmargin 12
|
||||||
|
|
||||||
style help_button_text:
|
style help_button_text:
|
||||||
properties gui.button_text_properties("help_button")
|
properties gui.text_properties("help_button")
|
||||||
|
|
||||||
style help_label:
|
style help_label:
|
||||||
xsize 375
|
xsize 375
|
||||||
|
@ -1535,14 +1540,14 @@ style confirm_frame:
|
||||||
yalign .5
|
yalign .5
|
||||||
|
|
||||||
style confirm_prompt_text:
|
style confirm_prompt_text:
|
||||||
text_align 0.5
|
textalign 0.5
|
||||||
layout "subtitle"
|
layout "subtitle"
|
||||||
|
|
||||||
style confirm_button:
|
style confirm_button:
|
||||||
properties gui.button_properties("confirm_button")
|
properties gui.button_properties("confirm_button")
|
||||||
|
|
||||||
style confirm_button_text:
|
style confirm_button_text:
|
||||||
properties gui.button_text_properties("confirm_button")
|
properties gui.text_properties("confirm_button")
|
||||||
|
|
||||||
|
|
||||||
## Skip indicator screen #######################################################
|
## Skip indicator screen #######################################################
|
||||||
|
@ -1729,7 +1734,7 @@ style nvl_label:
|
||||||
yanchor 0.0
|
yanchor 0.0
|
||||||
xsize gui.nvl_name_width
|
xsize gui.nvl_name_width
|
||||||
min_width gui.nvl_name_width
|
min_width gui.nvl_name_width
|
||||||
text_align gui.nvl_name_xalign
|
textalign gui.nvl_name_xalign
|
||||||
|
|
||||||
style nvl_dialogue:
|
style nvl_dialogue:
|
||||||
xpos gui.nvl_text_xpos
|
xpos gui.nvl_text_xpos
|
||||||
|
@ -1737,7 +1742,7 @@ style nvl_dialogue:
|
||||||
ypos gui.nvl_text_ypos
|
ypos gui.nvl_text_ypos
|
||||||
xsize gui.nvl_text_width
|
xsize gui.nvl_text_width
|
||||||
min_width gui.nvl_text_width
|
min_width gui.nvl_text_width
|
||||||
text_align gui.nvl_text_xalign
|
textalign gui.nvl_text_xalign
|
||||||
layout ("subtitle" if gui.nvl_text_xalign else "tex")
|
layout ("subtitle" if gui.nvl_text_xalign else "tex")
|
||||||
|
|
||||||
style nvl_thought:
|
style nvl_thought:
|
||||||
|
@ -1746,7 +1751,7 @@ style nvl_thought:
|
||||||
ypos gui.nvl_thought_ypos
|
ypos gui.nvl_thought_ypos
|
||||||
xsize gui.nvl_thought_width
|
xsize gui.nvl_thought_width
|
||||||
min_width gui.nvl_thought_width
|
min_width gui.nvl_thought_width
|
||||||
text_align gui.nvl_thought_xalign
|
textalign gui.nvl_thought_xalign
|
||||||
layout ("subtitle" if gui.nvl_text_xalign else "tex")
|
layout ("subtitle" if gui.nvl_text_xalign else "tex")
|
||||||
|
|
||||||
style nvl_button:
|
style nvl_button:
|
||||||
|
@ -1758,6 +1763,94 @@ style nvl_button_text:
|
||||||
properties gui.button_text_properties("nvl_button")
|
properties gui.button_text_properties("nvl_button")
|
||||||
|
|
||||||
|
|
||||||
|
## Bubble screen ###############################################################
|
||||||
|
##
|
||||||
|
## The bubble screen is used to display dialogue to the player when using speech
|
||||||
|
## bubbles. The bubble screen takes the same parameters as the say screen, must
|
||||||
|
## create a displayable with the id of "what", and can create displayables with
|
||||||
|
## the "namebox", "who", and "window" ids.
|
||||||
|
##
|
||||||
|
## https://www.renpy.org/doc/html/bubble.html#bubble-screen
|
||||||
|
|
||||||
|
screen bubble(who, what):
|
||||||
|
style_prefix "bubble"
|
||||||
|
|
||||||
|
window:
|
||||||
|
id "window"
|
||||||
|
|
||||||
|
if who is not None:
|
||||||
|
|
||||||
|
window:
|
||||||
|
id "namebox"
|
||||||
|
style "bubble_namebox"
|
||||||
|
|
||||||
|
text who:
|
||||||
|
id "who"
|
||||||
|
|
||||||
|
text what:
|
||||||
|
id "what"
|
||||||
|
|
||||||
|
style bubble_window is empty
|
||||||
|
style bubble_namebox is empty
|
||||||
|
style bubble_who is default
|
||||||
|
style bubble_what is default
|
||||||
|
|
||||||
|
style bubble_window:
|
||||||
|
xpadding 30
|
||||||
|
top_padding 5
|
||||||
|
bottom_padding 5
|
||||||
|
|
||||||
|
style bubble_namebox:
|
||||||
|
xalign 0.5
|
||||||
|
|
||||||
|
style bubble_who:
|
||||||
|
xalign 0.5
|
||||||
|
textalign 0.5
|
||||||
|
color "#000"
|
||||||
|
|
||||||
|
style bubble_what:
|
||||||
|
align (0.5, 0.5)
|
||||||
|
text_align 0.5
|
||||||
|
layout "subtitle"
|
||||||
|
color "#000"
|
||||||
|
|
||||||
|
define bubble.frame = Frame("gui/bubble.png", 55, 55, 55, 95)
|
||||||
|
define bubble.thoughtframe = Frame("gui/thoughtbubble.png", 55, 55, 55, 55)
|
||||||
|
|
||||||
|
define bubble.properties = {
|
||||||
|
"bottom_left" : {
|
||||||
|
"window_background" : Transform(bubble.frame, xzoom=1, yzoom=1),
|
||||||
|
"window_bottom_padding" : 27,
|
||||||
|
},
|
||||||
|
|
||||||
|
"bottom_right" : {
|
||||||
|
"window_background" : Transform(bubble.frame, xzoom=-1, yzoom=1),
|
||||||
|
"window_bottom_padding" : 27,
|
||||||
|
},
|
||||||
|
|
||||||
|
"top_left" : {
|
||||||
|
"window_background" : Transform(bubble.frame, xzoom=1, yzoom=-1),
|
||||||
|
"window_top_padding" : 27,
|
||||||
|
},
|
||||||
|
|
||||||
|
"top_right" : {
|
||||||
|
"window_background" : Transform(bubble.frame, xzoom=-1, yzoom=-1),
|
||||||
|
"window_top_padding" : 27,
|
||||||
|
},
|
||||||
|
|
||||||
|
"thought" : {
|
||||||
|
"window_background" : bubble.thoughtframe,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
define bubble.expand_area = {
|
||||||
|
"bottom_left" : (0, 0, 0, 22),
|
||||||
|
"bottom_right" : (0, 0, 0, 22),
|
||||||
|
"top_left" : (0, 22, 0, 0),
|
||||||
|
"top_right" : (0, 22, 0, 0),
|
||||||
|
"thought" : (0, 0, 0, 0),
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
################################################################################
|
################################################################################
|
||||||
## Mobile Variants
|
## Mobile Variants
|
||||||
|
@ -1792,10 +1885,10 @@ screen quick_menu():
|
||||||
yalign 0.975
|
yalign 0.975
|
||||||
use quick_buttons("gui/button/uioptionbuttons/template_idle.png", \
|
use quick_buttons("gui/button/uioptionbuttons/template_idle.png", \
|
||||||
[ \
|
[ \
|
||||||
[ _("Back"), Rollback() ], \
|
[ _("Back"), Rollback(), NullAction()], \
|
||||||
[ _("Skip"), Skip() ], \
|
[ _("Skip"), Skip(), Skip(fast=True, confirm=True) ], \
|
||||||
[ _("Auto"), Preference("auto-forward", "toggle") ], \
|
[ _("Auto"), Preference("auto-forward", "toggle"), NullAction() ], \
|
||||||
[ _("Menu"), ShowMenu() ] \
|
[ _("Menu"), ShowMenu(), NullAction() ] \
|
||||||
] )
|
] )
|
||||||
|
|
||||||
screen extrasnavigation(): #Updates are removed (not even supported by Ren'Py)
|
screen extrasnavigation(): #Updates are removed (not even supported by Ren'Py)
|
||||||
|
@ -1809,17 +1902,19 @@ screen extrasnavigation(): #Updates are removed (not even supported by Ren'Py)
|
||||||
else:
|
else:
|
||||||
add "gui/snootgame.png"
|
add "gui/snootgame.png"
|
||||||
vbox:
|
vbox:
|
||||||
spacing 25
|
spacing 10
|
||||||
xpos 1885
|
xpos 1885
|
||||||
yalign 0.9
|
ypos (1269 if persistent.enable_chapter_select else 1130)
|
||||||
use main_menu_buttons("gui/button/menubuttons/template_idle.png",
|
use main_menu_buttons("gui/button/menubuttons/template_idle.png",
|
||||||
[
|
[
|
||||||
[ _("Help"), ShowMenu("help") ],
|
[ _("Help"), ShowMenu("help") ],
|
||||||
[ _("About"), ShowMenu("about") ],
|
[ _("About"), ShowMenu("about") ],
|
||||||
[ _("Gallery"), ShowMenu("cg_gallery") ],
|
[ _("Gallery"), ShowMenu("cg_gallery") ],
|
||||||
|
*([(_("Chapter Select"), Start("chapter_select"))] if persistent.enable_chapter_select else []),
|
||||||
[ _("Mods"), ShowMenu("mod_menu") ],
|
[ _("Mods"), ShowMenu("mod_menu") ],
|
||||||
[ _("Return"), ShowMenu("main_menu") ]
|
[ _("Return"), ShowMenu("main_menu") ]
|
||||||
] )
|
] )
|
||||||
|
add Null(0, 129)
|
||||||
|
|
||||||
style radio_button:
|
style radio_button:
|
||||||
variant "mobile"
|
variant "mobile"
|
||||||
|
|
|
@ -2539,14 +2539,14 @@ label chapter_13C:
|
||||||
easein_cubic 1 xalign 1.85
|
easein_cubic 1 xalign 1.85
|
||||||
|
|
||||||
show chillicheesefries:
|
show chillicheesefries:
|
||||||
rotate 130 xalign 0.5 yalign 0.4 xpos 0.77 ypos 0.425
|
rotate 130 xanchor 0.5 yanchor 0.4 xpos 0.77 ypos 0.425
|
||||||
easein_cubic 1 xpos 0.795
|
easein_cubic 1 xpos 0.795
|
||||||
with None
|
with None
|
||||||
|
|
||||||
show naser rstained surprised
|
show naser rstained surprised
|
||||||
hide chillicheesefries
|
hide chillicheesefries
|
||||||
show chillicheesefries_hack:
|
show chillicheesefries_hack:
|
||||||
rotate 130 xalign 0.5 yalign 0.4 xpos 0.765 ypos 0.425
|
rotate 130 xanchor 0.5 yanchor 0.4 xpos 0.765 ypos 0.425
|
||||||
easein_cubic 1 xpos 0.79
|
easein_cubic 1 xpos 0.79
|
||||||
with dissolve
|
with dissolve
|
||||||
|
|
||||||
|
@ -2554,7 +2554,7 @@ label chapter_13C:
|
||||||
|
|
||||||
show naser rstained shocked
|
show naser rstained shocked
|
||||||
show chillicheesefries:
|
show chillicheesefries:
|
||||||
rotate 140 xalign 0.5 yalign 0.4 xpos 0.805 ypos 0.4
|
rotate 140 xanchor 0.5 yanchor 0.4 xpos 0.805 ypos 0.4
|
||||||
hide chillicheesefries_hack
|
hide chillicheesefries_hack
|
||||||
with Dissolve(.22)
|
with Dissolve(.22)
|
||||||
|
|
||||||
|
@ -2635,7 +2635,7 @@ label chapter_13C:
|
||||||
show naser fullystained shocked
|
show naser fullystained shocked
|
||||||
hide chillicheesefries
|
hide chillicheesefries
|
||||||
show chillicheesefries_hack:
|
show chillicheesefries_hack:
|
||||||
rotate 140 xalign 0.75 yalign 0.5 xpos 0.905 ypos 0.45
|
rotate 140 xanchor 0.75 yanchor 0.5 xpos 0.905 ypos 0.45
|
||||||
easein_cubic 1 xpos 0.93
|
easein_cubic 1 xpos 0.93
|
||||||
with Dissolve(.22)
|
with Dissolve(.22)
|
||||||
|
|
||||||
|
|
|
@ -335,7 +335,7 @@ label chapter_8:
|
||||||
|
|
||||||
show reed happy flip:
|
show reed happy flip:
|
||||||
yalign 0.238
|
yalign 0.238
|
||||||
easeout_cubic .5 rotate 90 yalign -0.01 ypos 0.5
|
easeout_cubic .5 rotate 90 yanchor -0.01 ypos 0.5
|
||||||
pause .15
|
pause .15
|
||||||
hide reed with Dissolve(.25)
|
hide reed with Dissolve(.25)
|
||||||
play sound 'audio/effects/anonGardenFall.ogg'
|
play sound 'audio/effects/anonGardenFall.ogg'
|
||||||
|
@ -1279,7 +1279,6 @@ label chapter_8:
|
||||||
with Dissolve(0.2)
|
with Dissolve(0.2)
|
||||||
|
|
||||||
pause 0.3
|
pause 0.3
|
||||||
hide anonfacecloseup
|
|
||||||
|
|
||||||
|
|
||||||
FD "Out. {w=0.3}{b}Now{/b}."
|
FD "Out. {w=0.3}{b}Now{/b}."
|
||||||
|
|
|
@ -13,12 +13,10 @@ init 2 python:
|
||||||
CG_PATHS = []
|
CG_PATHS = []
|
||||||
#path: folder, name: shows up in gallery, eval: runs eval() on string
|
#path: folder, name: shows up in gallery, eval: runs eval() on string
|
||||||
|
|
||||||
"""
|
# Data structure that holds the data for each cg and button
|
||||||
Data structure that holds the data for each cg and button
|
# item is name, cg is the image definition
|
||||||
item is name, cg is the image definition
|
# { item: str; cg: Displayable; }
|
||||||
{ item: str; cg: Displayable; }
|
# (reference in this init python, actually used in screens)
|
||||||
(reference in this init python, actually used in screens)
|
|
||||||
"""
|
|
||||||
|
|
||||||
gallery_dic = {}
|
gallery_dic = {}
|
||||||
|
|
||||||
|
@ -89,10 +87,10 @@ init 2 python:
|
||||||
# Bullshit for the scrollbar to reset back to the beggining. Bless the renpy Discord :pray:
|
# Bullshit for the scrollbar to reset back to the beggining. Bless the renpy Discord :pray:
|
||||||
default adjust = ui.adjustment()
|
default adjust = ui.adjustment()
|
||||||
|
|
||||||
"""
|
|
||||||
CG Gallery screen - A screen that shows the image gallery
|
# CG Gallery screen - A screen that shows the image gallery
|
||||||
Built-in Gallery Object has terrible defaults, so I just wrote my own stuff
|
# Built-in Gallery Object has terrible defaults, so I just wrote my own stuff
|
||||||
"""
|
|
||||||
screen cg_gallery(origin = 'CG'):
|
screen cg_gallery(origin = 'CG'):
|
||||||
|
|
||||||
if main_menu:
|
if main_menu:
|
||||||
|
@ -162,9 +160,8 @@ screen cg_gallery(origin = 'CG'):
|
||||||
for i in range(0, empty_spaces):
|
for i in range(0, empty_spaces):
|
||||||
null height 20
|
null height 20
|
||||||
|
|
||||||
"""
|
|
||||||
if/else flow control & extra parameters for Buttons
|
# if/else flow control & extra parameters for Buttons
|
||||||
"""
|
|
||||||
screen flag_button(item, origin):
|
screen flag_button(item, origin):
|
||||||
|
|
||||||
$ flag = renpy.seen_image(item['item'])
|
$ flag = renpy.seen_image(item['item'])
|
||||||
|
@ -200,9 +197,8 @@ screen view_movie(item, _origin):
|
||||||
[ "Return", _origin ]
|
[ "Return", _origin ]
|
||||||
] )
|
] )
|
||||||
|
|
||||||
"""
|
|
||||||
view_image, Loads the image in fullscreen with viewport control.
|
# view_image, Loads the image in fullscreen with viewport control.
|
||||||
"""
|
|
||||||
screen view_image(item, _origin):
|
screen view_image(item, _origin):
|
||||||
tag menu
|
tag menu
|
||||||
key "game_menu" action (Hide('view_image'), _origin)
|
key "game_menu" action (Hide('view_image'), _origin)
|
||||||
|
@ -211,7 +207,7 @@ screen view_image(item, _origin):
|
||||||
viewport id "vie":
|
viewport id "vie":
|
||||||
#Ren'Py isn't smart enough to not edgescroll while pressed,
|
#Ren'Py isn't smart enough to not edgescroll while pressed,
|
||||||
#so we'll have to disable this for mobile
|
#so we'll have to disable this for mobile
|
||||||
if renpy.variant("pc"):
|
if renpy.variant("pc") and persistent.gallery_edgescroll:
|
||||||
edgescroll (300, 1800)
|
edgescroll (300, 1800)
|
||||||
draggable True
|
draggable True
|
||||||
arrowkeys True
|
arrowkeys True
|
||||||
|
|
|
@ -31,7 +31,7 @@ screen ex_ch_button(filename, label, function):
|
||||||
activate_sound "audio/ui/uiClick.wav"
|
activate_sound "audio/ui/uiClick.wav"
|
||||||
fixed:
|
fixed:
|
||||||
add filename xalign 0.5 yalign 0.5 zoom 0.9
|
add filename xalign 0.5 yalign 0.5 zoom 0.9
|
||||||
text label xalign 0.5 yalign 0.5 xanchor 0.5 size 34
|
text label xalign 0.5 yalign 0.5 size 34
|
||||||
|
|
||||||
# label_functions is [ [ "label", function() ], [ "foobar", foobar() ], .. ]
|
# label_functions is [ [ "label", function() ], [ "foobar", foobar() ], .. ]
|
||||||
# Reuse the same image string and keep things 'neat'.
|
# Reuse the same image string and keep things 'neat'.
|
||||||
|
|
|
@ -1063,7 +1063,7 @@ image naomi prom lessblurred = im.Flip(im.Blur('images/naomi/naomi prom neutral.
|
||||||
#image emptyroomnight = "images/backgrounds/emptyroomnight.webp"
|
#image emptyroomnight = "images/backgrounds/emptyroomnight.webp"
|
||||||
|
|
||||||
#image naomifangcg = "images/cgs/naomifangcg.webp"
|
#image naomifangcg = "images/cgs/naomifangcg.webp"
|
||||||
image naomifangcg blur = im.Blur("images/cgs/naomifangcg.webp", 1.5)
|
#image naomifangcg blur = im.Blur("images/cgs/naomifangcg.webp", 1.5)
|
||||||
image naomiletter = 'images/cgs/naomiletter.webp'
|
image naomiletter = 'images/cgs/naomiletter.webp'
|
||||||
#image ending_d_cg = 'images/cgs/golden ending.webp'
|
#image ending_d_cg = 'images/cgs/golden ending.webp'
|
||||||
|
|
||||||
|
|
|
@ -132,7 +132,7 @@ transform rright:
|
||||||
#misc transforms
|
#misc transforms
|
||||||
transform shudder:
|
transform shudder:
|
||||||
subpixel True
|
subpixel True
|
||||||
around (.5, .5) alignaround (.5, .5) xalign .5 yalign .5
|
alignaround (.5, .5) xalign .5 yalign .5
|
||||||
rotate 0
|
rotate 0
|
||||||
linear 0.0 rotate -0.75
|
linear 0.0 rotate -0.75
|
||||||
block:
|
block:
|
||||||
|
@ -175,8 +175,7 @@ screen mousedetect():
|
||||||
zoom 0.8
|
zoom 0.8
|
||||||
rotate 12.5
|
rotate 12.5
|
||||||
mousearea:
|
mousearea:
|
||||||
ypos -75
|
area(432, -75, 795, 1100)
|
||||||
area(432, 0, 795, 1100)
|
|
||||||
# xalign 0.5 yanchor 0 ypos 0
|
# xalign 0.5 yanchor 0 ypos 0
|
||||||
hovered Hide("prompt" )
|
hovered Hide("prompt" )
|
||||||
unhovered Show("prompt")
|
unhovered Show("prompt")
|
||||||
|
@ -198,7 +197,7 @@ screen textscroll():
|
||||||
|
|
||||||
yinitial 1.0
|
yinitial 1.0
|
||||||
|
|
||||||
imagebutton auto "fangbutton%s" xalign 0.53 yalign 0.5:
|
imagebutton auto "fangbutton%s" xalign 0.53 yanchor 0.5:
|
||||||
ypos 65+(int(107/2))
|
ypos 65+(int(107/2))
|
||||||
xsize 284
|
xsize 284
|
||||||
ysize 107
|
ysize 107
|
||||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -3118,7 +3118,7 @@ translate ru lGetStartedOnStudy_65a33de5:
|
||||||
translate ru lGetStartedOnStudy_75551969:
|
translate ru lGetStartedOnStudy_75551969:
|
||||||
|
|
||||||
# SV "Yeah, a {i}‘study’{/i} session."
|
# SV "Yeah, a {i}‘study’{/i} session."
|
||||||
SV "Агась, {i}‘учились’{/ i} вместе."
|
SV "Агась, {i}‘учились’{/i} вместе."
|
||||||
|
|
||||||
# game/script/8.anon-and-fang-study-together.rpy:2073
|
# game/script/8.anon-and-fang-study-together.rpy:2073
|
||||||
translate ru lGetStartedOnStudy_393f7659:
|
translate ru lGetStartedOnStudy_393f7659:
|
||||||
|
|
Loading…
Add table
Reference in a new issue