Merge branch 'master' into wani_mod_menu

This commit is contained in:
Map 2024-10-06 14:29:47 -05:00
commit 5eb39a7c3c
14 changed files with 902 additions and 527 deletions

View file

@ -11,7 +11,8 @@ init offset = -2
init python:
gui.init(1920, 1080)
## Enable checks for invalid or unstable properties in screens or transforms
#define config.check_conflicting_properties = True
################################################################################
## GUI Configuration Variables
@ -362,6 +363,8 @@ define config.history_length = 250
## the cost of performance.
define gui.history_height = 210
define gui.history_spacing = 0
## The position, width, and alignment of the label giving the name of the
## speaking character.
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_xalign = 0.0
## Localization ################################################################
## This controls where a line break is permitted. The default is suitable

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

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.1 KiB

View file

@ -48,7 +48,7 @@ define build.name = "SnootGame"
define config.has_sound = True
define config.has_music = True
define config.has_voice = False
define config.has_voice = True
define config.play_channel = "uisounds"
@ -133,6 +133,8 @@ default preferences.text_cps = 50
default preferences.afm_time = 15
## Snoot-specific config variables
define config.developer = "auto"
default persistent.enable_debug_scores = config.developer
@ -140,6 +142,7 @@ default persistent.enable_chapter_select = config.developer
default persistent.lewd = False
default persistent.autoup = False
default persistent.show_mod_screenshots = True
default persistent.gallery_edgescroll = True
init -1000 python:
if persistent.newmods_default_state == None:
@ -237,9 +240,9 @@ init python:
build.documentation('*.txt')
## A Google Play license key is required to download expansion files and perform
## in-app purchases. It can be found on the "Services & APIs" page of the Google
## Play developer console.
## A Google Play license key is required to perform in-app purchases. It can be
## found in the Google Play developer console, under "Monetize" > "Monetization
## Setup" > "Licensing".
# define build.google_play_key = "..."

View file

@ -194,7 +194,7 @@ screen input(prompt):
window:
add Image("gui/textbox_no_hitch.png", xalign=0.5, yalign=1.0, yoffset=gui.input_yoffset) #for mobile OSK
vbox:
xalign gui.dialogue_text_xalign
xanchor gui.dialogue_text_xalign
xpos gui.dialogue_xpos
xsize gui.dialogue_width
ypos gui.dialogue_ypos
@ -251,7 +251,7 @@ style choice_button is default:
activate_sound "audio/ui/uiRollover.wav"
style choice_button_text is default:
properties gui.button_text_properties("choice_button")
properties gui.text_properties("choice_button")
## 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
## menus.
screen quick_button(filename, label, function):
screen quick_button(filename, label, function=NullAction(), function2=NullAction()):
button:
xsize 71
ysize 71
action function
alternate function2
if 'Return' in label or 'Back' in label or 'Menu' in label:
activate_sound "audio/ui/uiBack.wav"
else:
activate_sound "audio/ui/uiClick.wav"
fixed:
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() ], .. ]
# Reuse the same image string and keep things 'neat'.
screen quick_buttons(filename, 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():
@ -292,27 +293,12 @@ screen quick_menu():
use quick_buttons("gui/button/uioptionbuttons/template_idle.png",
[
[ _("Skip"), Skip() ],
[ _("Save"), ShowMenu('save') ],
[ _("Auto"), Preference("auto-forward", "toggle") ],
[ _("Load"), ShowMenu('load') ]
[ _("Skip"), Skip(), Skip(fast=True, confirm=True) ],
[ _("Save"), ShowMenu('save'), NullAction() ],
[ _("Auto"), Preference("auto-forward", "toggle"), NullAction() ],
[ _("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
## the player has not explicitly hidden the interface.
init python:
@ -359,7 +345,7 @@ screen navigation():
textbutton _("Load") activate_sound "audio/ui/uiClick.wav" action ShowMenu("load")
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 _("Options") activate_sound "audio/ui/uiClick.wav" action ShowMenu("preferences")
@ -390,7 +376,7 @@ style navigation_button:
properties gui.button_properties("navigation_button")
style navigation_button_text:
properties gui.button_text_properties("navigation_button")
properties gui.text_properties("navigation_button")
## Main Menu screen ############################################################
@ -410,8 +396,8 @@ screen main_menu_button(filename, label, function):
else:
activate_sound "audio/ui/uiClick.wav"
fixed:
add filename xalign 0.5 yalign 0.5 zoom 1 xanchor 0 xcenter 0.5 ycenter 0.5
text label xalign 0.5 yalign 0.5 xanchor 0.5
add filename xalign 0.5 yalign 0.5 zoom 1
text label xalign 0.5 yalign 0.5
image bonus_flash:
@ -437,23 +423,21 @@ image template_black:
screen bonus_chapter_button(f="gui/button/menubuttons/template_idle.png"):
#("gui/button/menubuttons/template_idle.png", "Bonus Chapters", ShowMenu("ex_ch_menu"))
button:
xmaximum 500
ymaximum 129
xysize (500, 129)
action ShowMenu("ex_ch_menu")
activate_sound "audio/ui/uiClick.wav"
fixed:
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_bonus_chapters = persistent.bonus_chapters
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
$ 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() ], .. ]
# 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
## 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
## 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
## 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"
@ -629,6 +613,8 @@ screen game_menu(title, scroll=None, yinitial=0.0):
side_yfill True
vbox:
spacing spacing
transclude
elif scroll == "vpgrid":
@ -644,6 +630,8 @@ screen game_menu(title, scroll=None, yinitial=0.0):
side_yfill True
spacing spacing
transclude
else:
@ -894,27 +882,41 @@ screen file_slots(title, flag=False):
key "save_delete" action FileDelete(slot)
## Buttons to access other pages.
hbox:
vbox:
style_prefix "page"
xalign 0.5
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:
textbutton _("{#auto_page}A") activate_sound "audio/ui/uiClick.wav" action FilePage("auto")
if config.has_autosave:
textbutton _("{#auto_page}A") activate_sound "audio/ui/uiClick.wav" action FilePage("auto")
if config.has_quicksave:
textbutton _("{#quick_page}Q") activate_sound "audio/ui/uiClick.wav" action FilePage("quick")
if config.has_quicksave:
textbutton _("{#quick_page}Q") activate_sound "audio/ui/uiClick.wav" action FilePage("quick")
## range(1, 10) gives the numbers from 1 to 9.
for page in range(1, 10):
textbutton "[page]" activate_sound "audio/ui/uiClick.wav" action FilePage(page)
## range(1, 10) gives the numbers from 1 to 9.
for page in range(1, 10):
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
@ -932,7 +934,7 @@ style page_label:
ypadding 5
style page_label_text:
text_align 0.5
textalign 0.5
layout "subtitle"
hover_color gui.hover_color
@ -940,13 +942,13 @@ style page_button:
properties gui.button_properties("page_button")
style page_button_text:
properties gui.button_text_properties("page_button")
properties gui.text_properties("page_button")
style slot_button:
properties gui.button_properties("slot_button")
style slot_button_text:
properties gui.button_text_properties("slot_button")
properties gui.text_properties("slot_button")
## 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 _("Transitions") action [Function(onclick_audio, preferences.transitions, True), ToggleVariable("preferences.transitions", 0, 2)]
if config.developer:
vbox:
style_prefix "check"
label _("Developer Tools")
textbutton _("Enable Debug Scores") action ToggleVariable("persistent.enable_debug_scores", True, False)
textbutton _("Enable Chapter Select") action ToggleVariable("persistent.enable_chapter_select", True, False)
vbox:
style_prefix "check"
label _("Developer Tools")
textbutton _("Enable Debug Scores") action ToggleVariable("persistent.enable_debug_scores", True, False)
textbutton _("Enable Chapter Select") action ToggleVariable("persistent.enable_chapter_select", True, False)
vbox:
style_prefix "check"
@ -1018,6 +1019,11 @@ screen preferences():
else:
$ 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:
xsize 676
style_prefix "check"
@ -1143,7 +1149,7 @@ style radio_button:
foreground "gui/button/radio_[prefix_]foreground.png"
style radio_button_text:
properties gui.button_text_properties("radio_button")
properties gui.text_properties("radio_button")
style check_vbox:
spacing gui.pref_button_spacing
@ -1153,7 +1159,7 @@ style check_button:
foreground "gui/button/check_[prefix_]foreground.png"
style check_button_text:
properties gui.button_text_properties("check_button")
properties gui.text_properties("check_button")
style slider_slider:
xsize 525
@ -1164,7 +1170,7 @@ style slider_button:
left_margin 15
style slider_button_text:
properties gui.button_text_properties("slider_button")
properties gui.text_properties("slider_button")
style slider_vbox:
xsize 675
@ -1185,7 +1191,7 @@ screen history():
## Avoid predicting this screen, as it can be very large.
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"
@ -1244,7 +1250,7 @@ style history_name:
style history_name_text:
min_width gui.history_name_width
text_align gui.history_name_xalign
textalign gui.history_name_xalign
style history_text:
xpos gui.history_text_xpos
@ -1252,7 +1258,7 @@ style history_text:
xanchor gui.history_text_xalign
xsize 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")
style history_label:
@ -1291,7 +1297,7 @@ screen extrasnavigation():
vbox:
spacing 10
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",
[
[ _("Help"), ShowMenu("help") ],
@ -1417,7 +1423,7 @@ screen mouse_help():
text _("Accesses the game menu. Also escapes the Gallery.")
hbox:
label _("Mouse Wheel Up\nClick Rollback Side")
label _("Mouse Wheel Up")
text _("Rolls back to earlier dialogue.")
hbox:
@ -1439,13 +1445,12 @@ screen gamepad_help():
label _("Right Shoulder")
text _("Rolls forward to later dialogue.")
hbox:
label _("D-Pad, Sticks")
text _("Navigate the interface.")
hbox:
label _("Start, Guide")
label _("Start, Guide, B/Right Button")
text _("Accesses the game menu.")
hbox:
@ -1466,7 +1471,7 @@ style help_button:
xmargin 12
style help_button_text:
properties gui.button_text_properties("help_button")
properties gui.text_properties("help_button")
style help_label:
xsize 375
@ -1535,14 +1540,14 @@ style confirm_frame:
yalign .5
style confirm_prompt_text:
text_align 0.5
textalign 0.5
layout "subtitle"
style confirm_button:
properties gui.button_properties("confirm_button")
style confirm_button_text:
properties gui.button_text_properties("confirm_button")
properties gui.text_properties("confirm_button")
## Skip indicator screen #######################################################
@ -1729,7 +1734,7 @@ style nvl_label:
yanchor 0.0
xsize gui.nvl_name_width
min_width gui.nvl_name_width
text_align gui.nvl_name_xalign
textalign gui.nvl_name_xalign
style nvl_dialogue:
xpos gui.nvl_text_xpos
@ -1737,7 +1742,7 @@ style nvl_dialogue:
ypos gui.nvl_text_ypos
xsize 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")
style nvl_thought:
@ -1746,7 +1751,7 @@ style nvl_thought:
ypos gui.nvl_thought_ypos
xsize 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")
style nvl_button:
@ -1758,6 +1763,94 @@ style nvl_button_text:
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
@ -1792,10 +1885,10 @@ screen quick_menu():
yalign 0.975
use quick_buttons("gui/button/uioptionbuttons/template_idle.png", \
[ \
[ _("Back"), Rollback() ], \
[ _("Skip"), Skip() ], \
[ _("Auto"), Preference("auto-forward", "toggle") ], \
[ _("Menu"), ShowMenu() ] \
[ _("Back"), Rollback(), NullAction()], \
[ _("Skip"), Skip(), Skip(fast=True, confirm=True) ], \
[ _("Auto"), Preference("auto-forward", "toggle"), NullAction() ], \
[ _("Menu"), ShowMenu(), NullAction() ] \
] )
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:
add "gui/snootgame.png"
vbox:
spacing 25
spacing 10
xpos 1885
yalign 0.9
ypos (1269 if persistent.enable_chapter_select else 1130)
use main_menu_buttons("gui/button/menubuttons/template_idle.png",
[
[ _("Help"), ShowMenu("help") ],
[ _("About"), ShowMenu("about") ],
[ _("Gallery"), ShowMenu("cg_gallery") ],
*([(_("Chapter Select"), Start("chapter_select"))] if persistent.enable_chapter_select else []),
[ _("Mods"), ShowMenu("mod_menu") ],
[ _("Return"), ShowMenu("main_menu") ]
] )
add Null(0, 129)
style radio_button:
variant "mobile"

View file

@ -2539,14 +2539,14 @@ label chapter_13C:
easein_cubic 1 xalign 1.85
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
with None
show naser rstained surprised
hide chillicheesefries
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
with dissolve
@ -2554,7 +2554,7 @@ label chapter_13C:
show naser rstained shocked
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
with Dissolve(.22)
@ -2635,7 +2635,7 @@ label chapter_13C:
show naser fullystained shocked
hide chillicheesefries
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
with Dissolve(.22)

View file

@ -335,7 +335,7 @@ label chapter_8:
show reed happy flip:
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
hide reed with Dissolve(.25)
play sound 'audio/effects/anonGardenFall.ogg'
@ -1279,7 +1279,6 @@ label chapter_8:
with Dissolve(0.2)
pause 0.3
hide anonfacecloseup
FD "Out. {w=0.3}{b}Now{/b}."

View file

@ -13,12 +13,10 @@ init 2 python:
CG_PATHS = []
#path: folder, name: shows up in gallery, eval: runs eval() on string
"""
Data structure that holds the data for each cg and button
item is name, cg is the image definition
{ item: str; cg: Displayable; }
(reference in this init python, actually used in screens)
"""
# Data structure that holds the data for each cg and button
# item is name, cg is the image definition
# { item: str; cg: Displayable; }
# (reference in this init python, actually used in screens)
gallery_dic = {}
@ -89,10 +87,10 @@ init 2 python:
# Bullshit for the scrollbar to reset back to the beggining. Bless the renpy Discord :pray:
default adjust = ui.adjustment()
"""
CG Gallery screen - A screen that shows the image gallery
Built-in Gallery Object has terrible defaults, so I just wrote my own stuff
"""
# CG Gallery screen - A screen that shows the image gallery
# Built-in Gallery Object has terrible defaults, so I just wrote my own stuff
screen cg_gallery(origin = 'CG'):
if main_menu:
@ -162,9 +160,8 @@ screen cg_gallery(origin = 'CG'):
for i in range(0, empty_spaces):
null height 20
"""
if/else flow control & extra parameters for Buttons
"""
# if/else flow control & extra parameters for Buttons
screen flag_button(item, origin):
$ flag = renpy.seen_image(item['item'])
@ -200,9 +197,8 @@ screen view_movie(item, _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):
tag menu
key "game_menu" action (Hide('view_image'), _origin)
@ -211,7 +207,7 @@ screen view_image(item, _origin):
viewport id "vie":
#Ren'Py isn't smart enough to not edgescroll while pressed,
#so we'll have to disable this for mobile
if renpy.variant("pc"):
if renpy.variant("pc") and persistent.gallery_edgescroll:
edgescroll (300, 1800)
draggable True
arrowkeys True

View file

@ -31,7 +31,7 @@ screen ex_ch_button(filename, label, function):
activate_sound "audio/ui/uiClick.wav"
fixed:
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() ], .. ]
# Reuse the same image string and keep things 'neat'.

View file

@ -1063,7 +1063,7 @@ image naomi prom lessblurred = im.Flip(im.Blur('images/naomi/naomi prom neutral.
#image emptyroomnight = "images/backgrounds/emptyroomnight.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 ending_d_cg = 'images/cgs/golden ending.webp'

View file

@ -132,7 +132,7 @@ transform rright:
#misc transforms
transform shudder:
subpixel True
around (.5, .5) alignaround (.5, .5) xalign .5 yalign .5
alignaround (.5, .5) xalign .5 yalign .5
rotate 0
linear 0.0 rotate -0.75
block:
@ -175,8 +175,7 @@ screen mousedetect():
zoom 0.8
rotate 12.5
mousearea:
ypos -75
area(432, 0, 795, 1100)
area(432, -75, 795, 1100)
# xalign 0.5 yanchor 0 ypos 0
hovered Hide("prompt" )
unhovered Show("prompt")
@ -198,7 +197,7 @@ screen textscroll():
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))
xsize 284
ysize 107

File diff suppressed because it is too large Load diff

View file

@ -3118,7 +3118,7 @@ translate ru lGetStartedOnStudy_65a33de5:
translate ru lGetStartedOnStudy_75551969:
# SV "Yeah, a {i}study{/i} session."
SV "Агась, {i}‘учились’{/ i} вместе."
SV "Агась, {i}‘учились’{/i} вместе."
# game/script/8.anon-and-fang-study-together.rpy:2073
translate ru lGetStartedOnStudy_393f7659: