forked from Cavemanon/SnootGame
New Russo Translation
This commit is contained in:
@@ -1,305 +1,311 @@
|
||||
# Don't remove init offset as that breaks translations for some reason
|
||||
init 999 python:
|
||||
|
||||
#don't do a halo infinite moment
|
||||
#hard code the header & footer
|
||||
#then iterate the list_credits
|
||||
|
||||
list_og_credits = {
|
||||
_('Coded By:'): [
|
||||
'/dev/non',
|
||||
"[[Untitled] Anon",
|
||||
'Schizodev Anon',
|
||||
'Starmanon',
|
||||
'Nutbuster Anon',
|
||||
'Inhumanon',
|
||||
'Spigot the Bear Anon'
|
||||
],
|
||||
_('Written by:'): [
|
||||
'AVGN Anon',
|
||||
'Coomer Anon',
|
||||
'/trash/ Anon',
|
||||
'FreemAnon',
|
||||
'Ccp Anon',
|
||||
'Kokichi Anon',
|
||||
'Alex Anon',
|
||||
'Punished Anon',
|
||||
'Finn Anon'
|
||||
],
|
||||
_('Story by:'): [
|
||||
'AVGN Anon',
|
||||
'Coomer Anon',
|
||||
'Alex Anon',
|
||||
'Singularity Anon',
|
||||
'Tombstone Anon'
|
||||
],
|
||||
_('Production Designer'): [
|
||||
'Alex Anon'
|
||||
],
|
||||
_('Artwork by:'): [
|
||||
'Alex Anon',
|
||||
'Mormon Anon',
|
||||
'Ccp Anon',
|
||||
'Aome Anon',
|
||||
'/trash/ Anon',
|
||||
'Skeleton Anon',
|
||||
'eyeh Xinnix Anon',
|
||||
'Brit Anon',
|
||||
'Dark-N-Wolf Anon',
|
||||
'Hotel Anon',
|
||||
'Multi Anon',
|
||||
'Ionanon'
|
||||
],
|
||||
_('Additional Artwork by:'): [
|
||||
_('Backup Anon 1'),
|
||||
_('Backup Anon 2'),
|
||||
_('Backup Anon 3'),
|
||||
_('Backup Anon 4'),
|
||||
_('Backup Anon 5'),
|
||||
_('Backup Anon 6'),
|
||||
],
|
||||
_("\"Love theme\" by:"): [
|
||||
_('Only Person In The Team With A\nPortfolio/Experience Anon'),
|
||||
],
|
||||
_('Music By'): [
|
||||
'Shampoo Anon',
|
||||
'Melo Anon'
|
||||
],
|
||||
_('Egg Hunt Contest\nWinner:'): [
|
||||
'Olivia Anon'
|
||||
],
|
||||
_('Character Design\nContest Winner:'): [
|
||||
'Mono Anon',
|
||||
],
|
||||
_('Special Thanks:'): [
|
||||
'Commission Anon',
|
||||
]
|
||||
}
|
||||
# The difference between adding in the special thanks and not I have found is about 480px, just to note down.
|
||||
# group translators by language, not by role
|
||||
|
||||
list_translator_credits = {
|
||||
_('Translators (Spanish):'): [
|
||||
'Queso2033 Anon',
|
||||
'TheShadowTrAnon'
|
||||
],
|
||||
_('Proofreaders (Spanish):'): [
|
||||
'ElBan Anón',
|
||||
'GMAnon'
|
||||
],
|
||||
_('Asset help (Spanish):'): [
|
||||
'Arkiangelo Anon'
|
||||
],
|
||||
_('Translators (Russian):'): [
|
||||
'2ch.hk_fur Anon',
|
||||
'rutracker Anon'
|
||||
],
|
||||
_('Proofreaders (Russian):'): [
|
||||
'rutracker Anon'
|
||||
],
|
||||
_('Asset help (Russian):'): [
|
||||
'rutracker Anon'
|
||||
]
|
||||
}
|
||||
|
||||
textlist = []
|
||||
|
||||
alignargs = {'xalign': 0.5, 'yalign': 0.5, 'text_align': 0.5}
|
||||
|
||||
#sizes in px
|
||||
SIZE_SNOT_GAMES = 68*3+10
|
||||
SIZE_TITLE = 32*3+10
|
||||
SIZE_ENTRY = 22*3+10
|
||||
SIZE_TL = 22*2+10
|
||||
SIZE_ENDER = 52*3+10
|
||||
|
||||
#there is line_spacing but don't usei t
|
||||
textlist.append(Text(_("Snoot Game"), size=SIZE_SNOT_GAMES, **alignargs))
|
||||
textlist.append(Null(1, 16*1))
|
||||
textlist.append(Text(_("By CaveManon"), size=SIZE_TITLE, **alignargs))
|
||||
textlist.append(Null(1, 16*18))
|
||||
textlist.append(Text(_("developed in Ren'py"), size=SIZE_ENTRY, **alignargs))
|
||||
textlist.append(Null(1, 16*12))
|
||||
|
||||
for key, arr in list_og_credits.items():
|
||||
textlist.append(Text(key, size=SIZE_TITLE, **alignargs))
|
||||
textlist.append(Null(1, 16*6))
|
||||
concatstr = ""
|
||||
for item in arr:
|
||||
concatstr += __(item) + '\n'
|
||||
textlist.append(Text(concatstr, size=SIZE_ENTRY, **alignargs))
|
||||
textlist.append(Null(1, 16*2))
|
||||
|
||||
#smaller font and gridonate for translators
|
||||
TL_WIDTH = 2
|
||||
TL_HEIGHT = (len(list_translator_credits)+1)//2
|
||||
|
||||
tgrid = []
|
||||
|
||||
for key, arr in list_translator_credits.items():
|
||||
vb = []
|
||||
vb.append(Text(key, size=SIZE_ENTRY, **alignargs))
|
||||
vb.append(Null(1, 16*6))
|
||||
concatstr = ""
|
||||
for item in arr:
|
||||
concatstr += item + '\n'
|
||||
vb.append(Text(concatstr, size=SIZE_TL, **alignargs))
|
||||
vb.append(Null(1, 16*2))
|
||||
vb = VBox(*vb)
|
||||
tgrid.append(vb)
|
||||
|
||||
for x in range(len(tgrid), TL_WIDTH*TL_HEIGHT):
|
||||
tgrid.append(Null())
|
||||
pass
|
||||
|
||||
tgrid = Grid(TL_WIDTH, TL_HEIGHT, *tgrid)
|
||||
|
||||
textlist.append(tgrid)
|
||||
textlist.append(Null(1, 16*12)) #check
|
||||
|
||||
textlist.append(Text(_("T H E E N D"), size=SIZE_ENDER, **alignargs))
|
||||
textlist.append(Null(1, 16*4))
|
||||
textlist.append(Text(_("Snoot game started development\n on June 19, 2020"), size=SIZE_ENTRY, **alignargs))
|
||||
|
||||
credits_hbox = Fixed(VBox(*textlist, xalign=0.5), xalign=0.5)
|
||||
renpy.image('credits_hbox', credits_hbox)
|
||||
#
|
||||
|
||||
|
||||
label test_credits:
|
||||
scene black
|
||||
stop ambient
|
||||
#play music '<loop 12.809525>audio/abloop.wav'
|
||||
"test"
|
||||
window auto hide
|
||||
|
||||
pause 0.5
|
||||
show c_credits_text:
|
||||
crop (0, 0, 1920, 670)
|
||||
pause 1.1
|
||||
show c_credits_text:
|
||||
crop None
|
||||
pause 2.75
|
||||
show credits_base at Pan((0, -1080),(0, 8100), 65) behind c_credits_text:
|
||||
subpixel True
|
||||
show c_credits_text at Pan((0, 0),(0, 12155), 65):
|
||||
crop None
|
||||
subpixel True
|
||||
|
||||
#pause 50
|
||||
#queue music "audio/abend.wav" noloop
|
||||
|
||||
|
||||
pause
|
||||
scene black with Dissolve(3)
|
||||
|
||||
|
||||
# Credits definitions moved here so everything that needs to be changed is is one place.
|
||||
|
||||
# Anytime the credits changes to include more translators, you're just going to have to guess what the correct
|
||||
# value to offset everything is again. Mainly concerning values that control the panning destination of credits text,
|
||||
# and the height of the credits text itself
|
||||
# My recommendation is to imagine a square on top of the "T" in "THE END"
|
||||
# The square is as long as one of those characters, and the top of the square should touch the top of the screen
|
||||
# when the credits stop scrolling
|
||||
# Someone please come up with an exact formula pls
|
||||
#too much lore above; make it look good within reason
|
||||
|
||||
# Remember, ending sketch is always +550 of when the Pan stops
|
||||
|
||||
image credits_coverup:
|
||||
"black"
|
||||
crop (0, 0, 1920, 1080)
|
||||
|
||||
image b_credits_text = Composite(
|
||||
(1920, 13235),
|
||||
(0, 390), "credits_hbox",
|
||||
(0, 12705), "b_sketch"
|
||||
)
|
||||
image c_credits_text = Composite(
|
||||
(1920, 13235),
|
||||
(0, 390), "credits_hbox",
|
||||
(0, 12705), "c_sketch"
|
||||
)
|
||||
image d_credits_text = Composite(
|
||||
(1920, 13235),
|
||||
(0, 390), "credits_hbox",
|
||||
(0, 12705), "d_sketch"
|
||||
)
|
||||
|
||||
|
||||
label lending:
|
||||
call get_ending from _call_get_ending_4
|
||||
if _return == 4:
|
||||
pause 0.5
|
||||
show snootgame_big with dissolve: # Renpy not allowing you to grab images from the gui folder is serious bullshit
|
||||
subpixel True
|
||||
xalign 0.5
|
||||
yalign 0.5
|
||||
linear 6 zoom 1.2
|
||||
pause 1.75
|
||||
show d_credits_text with dissolve:
|
||||
subpixel True
|
||||
crop (0, 670, 1920, 1080)
|
||||
ypos 670
|
||||
xalign 0.5
|
||||
linear 3 zoom 1.1
|
||||
pause 2
|
||||
|
||||
hide d_credits_text
|
||||
hide snootgame_big
|
||||
with dissolve
|
||||
|
||||
show credits_base at Pan((0, -1080),(0, 8100), 65):
|
||||
subpixel True
|
||||
show d_credits_text at Pan((0, 0),(0, 12155), 65):
|
||||
subpixel True
|
||||
show credits_coverup at Pan((0, 0),(0, 12155), 65):
|
||||
subpixel True
|
||||
|
||||
pause 50
|
||||
queue music 'audio/OST/amberlight brillance live end.ogg'
|
||||
queue music "<silence 1.0>" loop
|
||||
elif _return == 3:
|
||||
play music "audio/OST/Dino Destiny Reader.ogg"
|
||||
pause 0.5
|
||||
show c_credits_text:
|
||||
crop (0, 0, 1920, 670)
|
||||
pause 1.1
|
||||
show c_credits_text:
|
||||
crop None
|
||||
pause 2.75
|
||||
show credits_base at Pan((0, -1080),(0, 8100), 65) behind c_credits_text:
|
||||
subpixel True
|
||||
show c_credits_text at Pan((0, 0),(0, 12155), 65):
|
||||
crop None
|
||||
subpixel True
|
||||
else:
|
||||
play music "audio/OST/Dino Destiny Reader.ogg"
|
||||
pause 0.5
|
||||
show b_credits_text:
|
||||
crop (0, 0, 1920, 670)
|
||||
pause 1.1
|
||||
show b_credits_text:
|
||||
crop None
|
||||
pause 2.75
|
||||
show credits_base at Pan((0, -1080),(0, 8100), 65) behind b_credits_text:
|
||||
subpixel True
|
||||
show b_credits_text at Pan((0, 0),(0, 12155), 65):
|
||||
crop None
|
||||
subpixel True
|
||||
pause
|
||||
stop music fadeout 5
|
||||
scene black with Dissolve(3)
|
||||
pause 2
|
||||
if tradwife:
|
||||
scene c10 with Dissolve(1.5)
|
||||
pause 20
|
||||
scene black with Dissolve(2)
|
||||
pause 1
|
||||
elif anonscore >= 4 and fangscore >= 4:
|
||||
scene golden ending with Dissolve(1.5)
|
||||
pause 20
|
||||
scene black with Dissolve(2)
|
||||
pause 1
|
||||
return
|
||||
# Don't remove init offset as that breaks translations for some reason
|
||||
init 999 python:
|
||||
|
||||
#don't do a halo infinite moment
|
||||
#hard code the header & footer
|
||||
#then iterate the list_credits
|
||||
|
||||
list_og_credits = {
|
||||
_('Coded By:'): [
|
||||
'/dev/non',
|
||||
"[[Untitled] Anon",
|
||||
'Schizodev Anon',
|
||||
'Starmanon',
|
||||
'Nutbuster Anon',
|
||||
'Inhumanon',
|
||||
'Spigot the Bear Anon'
|
||||
],
|
||||
_('Written by:'): [
|
||||
'AVGN Anon',
|
||||
'Coomer Anon',
|
||||
'/trash/ Anon',
|
||||
'FreemAnon',
|
||||
'Ccp Anon',
|
||||
'Kokichi Anon',
|
||||
'Alex Anon',
|
||||
'Punished Anon',
|
||||
'Finn Anon'
|
||||
],
|
||||
_('Story by:'): [
|
||||
'AVGN Anon',
|
||||
'Coomer Anon',
|
||||
'Alex Anon',
|
||||
'Singularity Anon',
|
||||
'Tombstone Anon'
|
||||
],
|
||||
_('Production Designer'): [
|
||||
'Alex Anon'
|
||||
],
|
||||
_('Artwork by:'): [
|
||||
'Alex Anon',
|
||||
'Mormon Anon',
|
||||
'Ccp Anon',
|
||||
'Aome Anon',
|
||||
'/trash/ Anon',
|
||||
'Skeleton Anon',
|
||||
'eyeh Xinnix Anon',
|
||||
'Brit Anon',
|
||||
'Dark-N-Wolf Anon',
|
||||
'Hotel Anon',
|
||||
'Multi Anon',
|
||||
'Ionanon'
|
||||
],
|
||||
_('Additional Artwork by:'): [
|
||||
_('Backup Anon 1'),
|
||||
_('Backup Anon 2'),
|
||||
_('Backup Anon 3'),
|
||||
_('Backup Anon 4'),
|
||||
_('Backup Anon 5'),
|
||||
_('Backup Anon 6'),
|
||||
],
|
||||
_("\"Love theme\" by:"): [
|
||||
_('Only Person In The Team With A\nPortfolio/Experience Anon'),
|
||||
],
|
||||
_('Music By'): [
|
||||
'Shampoo Anon',
|
||||
'Melo Anon'
|
||||
],
|
||||
_('Egg Hunt Contest\nWinner:'): [
|
||||
'Olivia Anon'
|
||||
],
|
||||
_('Character Design\nContest Winner:'): [
|
||||
'Mono Anon',
|
||||
],
|
||||
_('Special Thanks:'): [
|
||||
'Commission Anon',
|
||||
]
|
||||
}
|
||||
# The difference between adding in the special thanks and not I have found is about 480px, just to note down.
|
||||
|
||||
list_translator_credits = {
|
||||
_('Translators (Spanish):'): [
|
||||
'Queso2033 Anon',
|
||||
'TheShadowTrAnon'
|
||||
],
|
||||
_('Translators (Russian):'): [
|
||||
'Gexahord',
|
||||
'strelook21',
|
||||
'YtkaGen',
|
||||
'DatFeelFrog',
|
||||
'CMDR Andrea Dornan'
|
||||
],
|
||||
_('Proofreaders (Spanish):'): [
|
||||
'ElBan Anón',
|
||||
'GMAnon'
|
||||
],
|
||||
_('Proofreaders (Russian):'): [
|
||||
'Gexahord',
|
||||
'strelook21',
|
||||
'YtkaGen',
|
||||
'DatFeelFrog'
|
||||
],
|
||||
_('Asset help (Spanish):'): [
|
||||
'Arkiangelo Anon'
|
||||
],
|
||||
_('Asset help (Russian):'): [
|
||||
'Gexahord',
|
||||
'YtkaGen',
|
||||
'2ch Anon'
|
||||
]
|
||||
}
|
||||
|
||||
textlist = []
|
||||
|
||||
alignargs = {'xalign': 0.5, 'yalign': 0.5, 'text_align': 0.5}
|
||||
|
||||
#sizes in px
|
||||
SIZE_SNOT_GAMES = 68*3+10
|
||||
SIZE_TITLE = 32*3+10
|
||||
SIZE_ENTRY = 22*3+10
|
||||
SIZE_TL = 22*2+10
|
||||
SIZE_ENDER = 52*3+10
|
||||
|
||||
#there is line_spacing but don't usei t
|
||||
textlist.append(Text(_("Snoot Game"), size=SIZE_SNOT_GAMES, **alignargs))
|
||||
textlist.append(Null(1, 16*1))
|
||||
textlist.append(Text(_("By CaveManon"), size=SIZE_TITLE, **alignargs))
|
||||
textlist.append(Null(1, 16*18))
|
||||
textlist.append(Text(_("developed in Ren'py"), size=SIZE_ENTRY, **alignargs))
|
||||
textlist.append(Null(1, 16*12))
|
||||
|
||||
for key, arr in list_og_credits.items():
|
||||
textlist.append(Text(key, size=SIZE_TITLE, **alignargs))
|
||||
textlist.append(Null(1, 16*6))
|
||||
concatstr = ""
|
||||
for item in arr:
|
||||
concatstr += __(item) + '\n'
|
||||
textlist.append(Text(concatstr, size=SIZE_ENTRY, **alignargs))
|
||||
textlist.append(Null(1, 16*2))
|
||||
|
||||
#smaller font and gridonate for translators
|
||||
TL_WIDTH = 2
|
||||
TL_HEIGHT = (len(list_translator_credits)+1)//2
|
||||
|
||||
tgrid = []
|
||||
|
||||
for key, arr in list_translator_credits.items():
|
||||
vb = []
|
||||
vb.append(Text(key, size=SIZE_ENTRY, **alignargs))
|
||||
vb.append(Null(1, 16*6))
|
||||
concatstr = ""
|
||||
for item in arr:
|
||||
concatstr += item + '\n'
|
||||
vb.append(Text(concatstr, size=SIZE_TL, **alignargs))
|
||||
vb.append(Null(1, 16*2))
|
||||
vb = VBox(*vb)
|
||||
tgrid.append(vb)
|
||||
|
||||
for x in range(len(tgrid), TL_WIDTH*TL_HEIGHT):
|
||||
tgrid.append(Null())
|
||||
pass
|
||||
|
||||
tgrid = Grid(TL_WIDTH, TL_HEIGHT, *tgrid)
|
||||
|
||||
textlist.append(tgrid)
|
||||
textlist.append(Null(1, 16*12)) #check
|
||||
|
||||
textlist.append(Text(_("T H E E N D"), size=SIZE_ENDER, **alignargs))
|
||||
textlist.append(Null(1, 16*4))
|
||||
textlist.append(Text(_("Snoot game started development\n on June 19, 2020"), size=SIZE_ENTRY, **alignargs))
|
||||
|
||||
credits_hbox = Fixed(VBox(*textlist, xalign=0.5), xalign=0.5)
|
||||
renpy.image('credits_hbox', credits_hbox)
|
||||
#
|
||||
|
||||
|
||||
label test_credits:
|
||||
scene black
|
||||
stop ambient
|
||||
#play music '<loop 12.809525>audio/abloop.wav'
|
||||
"test"
|
||||
window auto hide
|
||||
|
||||
pause 0.5
|
||||
show c_credits_text:
|
||||
crop (0, 0, 1920, 670)
|
||||
pause 1.1
|
||||
show c_credits_text:
|
||||
crop None
|
||||
pause 2.75
|
||||
show credits_base at Pan((0, -1080),(0, 8100), 65) behind c_credits_text:
|
||||
subpixel True
|
||||
show c_credits_text at Pan((0, 0),(0, 12155), 65):
|
||||
crop None
|
||||
subpixel True
|
||||
|
||||
#pause 50
|
||||
#queue music "audio/abend.wav" noloop
|
||||
|
||||
|
||||
pause
|
||||
scene black with Dissolve(3)
|
||||
|
||||
|
||||
# Credits definitions moved here so everything that needs to be changed is is one place.
|
||||
|
||||
# Anytime the credits changes to include more translators, you're just going to have to guess what the correct
|
||||
# value to offset everything is again. Mainly concerning values that control the panning destination of credits text,
|
||||
# and the height of the credits text itself
|
||||
# My recommendation is to imagine a square on top of the "T" in "THE END"
|
||||
# The square is as long as one of those characters, and the top of the square should touch the top of the screen
|
||||
# when the credits stop scrolling
|
||||
# Someone please come up with an exact formula pls
|
||||
|
||||
# Remember, ending sketch is always +550 of when the Pan stops
|
||||
|
||||
image credits_coverup:
|
||||
"black"
|
||||
crop (0, 0, 1920, 1080)
|
||||
|
||||
image b_credits_text = Composite(
|
||||
(1920, 13235),
|
||||
(0, 390), "credits_hbox",
|
||||
(0, 12705), "b_sketch"
|
||||
)
|
||||
image c_credits_text = Composite(
|
||||
(1920, 13235),
|
||||
(0, 390), "credits_hbox",
|
||||
(0, 12705), "c_sketch"
|
||||
)
|
||||
image d_credits_text = Composite(
|
||||
(1920, 13235),
|
||||
(0, 390), "credits_hbox",
|
||||
(0, 12705), "d_sketch"
|
||||
)
|
||||
|
||||
|
||||
label lending:
|
||||
call get_ending from _call_get_ending_4
|
||||
if _return == 4:
|
||||
pause 0.5
|
||||
show snootgame_big with dissolve: # Renpy not allowing you to grab images from the gui folder is serious bullshit
|
||||
subpixel True
|
||||
xalign 0.5
|
||||
yalign 0.5
|
||||
linear 6 zoom 1.2
|
||||
pause 1.75
|
||||
show d_credits_text with dissolve:
|
||||
subpixel True
|
||||
crop (0, 670, 1920, 1080)
|
||||
ypos 670
|
||||
xalign 0.5
|
||||
linear 3 zoom 1.1
|
||||
pause 2
|
||||
|
||||
hide d_credits_text
|
||||
hide snootgame_big
|
||||
with dissolve
|
||||
|
||||
show credits_base at Pan((0, -1080),(0, 8100), 65):
|
||||
subpixel True
|
||||
show d_credits_text at Pan((0, 0),(0, 12155), 65):
|
||||
subpixel True
|
||||
show credits_coverup at Pan((0, 0),(0, 12155), 65):
|
||||
subpixel True
|
||||
|
||||
pause 50
|
||||
queue music 'audio/OST/amberlight brillance live end.ogg'
|
||||
queue music "<silence 1.0>" loop
|
||||
elif _return == 3:
|
||||
play music "audio/OST/Dino Destiny Reader.ogg"
|
||||
pause 0.5
|
||||
show c_credits_text:
|
||||
crop (0, 0, 1920, 670)
|
||||
pause 1.1
|
||||
show c_credits_text:
|
||||
crop None
|
||||
pause 2.75
|
||||
show credits_base at Pan((0, -1080),(0, 8100), 65) behind c_credits_text:
|
||||
subpixel True
|
||||
show c_credits_text at Pan((0, 0),(0, 12155), 65):
|
||||
crop None
|
||||
subpixel True
|
||||
else:
|
||||
play music "audio/OST/Dino Destiny Reader.ogg"
|
||||
pause 0.5
|
||||
show b_credits_text:
|
||||
crop (0, 0, 1920, 670)
|
||||
pause 1.1
|
||||
show b_credits_text:
|
||||
crop None
|
||||
pause 2.75
|
||||
show credits_base at Pan((0, -1080),(0, 8100), 65) behind b_credits_text:
|
||||
subpixel True
|
||||
show b_credits_text at Pan((0, 0),(0, 12155), 65):
|
||||
crop None
|
||||
subpixel True
|
||||
pause
|
||||
stop music fadeout 5
|
||||
scene black with Dissolve(3)
|
||||
pause 2
|
||||
if tradwife:
|
||||
scene c10 with Dissolve(1.5)
|
||||
pause 20
|
||||
scene black with Dissolve(2)
|
||||
pause 1
|
||||
elif anonscore >= 4 and fangscore >= 4:
|
||||
scene golden ending with Dissolve(1.5)
|
||||
pause 20
|
||||
scene black with Dissolve(2)
|
||||
pause 1
|
||||
return
|
||||
|
@@ -1,130 +1,130 @@
|
||||
init offset = -1
|
||||
|
||||
screen OkPrompt(message, go_menu):
|
||||
|
||||
modal True
|
||||
|
||||
zorder 200
|
||||
|
||||
style_prefix "confirm"
|
||||
|
||||
add "gui/overlay/confirm.png"
|
||||
|
||||
frame:
|
||||
|
||||
vbox:
|
||||
xalign .5
|
||||
yalign .5
|
||||
spacing 30
|
||||
|
||||
label _(message):
|
||||
style "confirm_prompt"
|
||||
xalign 0.5
|
||||
|
||||
hbox:
|
||||
xalign 0.5
|
||||
spacing 100
|
||||
|
||||
textbutton _("OK") activate_sound "audio/ui/uiClick.wav" action If(go_menu, true=MainMenu(False,False), false=Hide())
|
||||
|
||||
default persistent.seenWarning = []
|
||||
|
||||
init python:
|
||||
|
||||
from math import ceil
|
||||
|
||||
notice = _("NOTICE: Please keep in mind this is a fan translation, and as such it may not be completely accurate to the original intent of any written lines.")
|
||||
|
||||
languages = [
|
||||
{'image': 'gui/flag/USofA.png', 'name': 'English', 'value': None },
|
||||
{'image': 'gui/flag/Mexico.png', 'name': 'Español', 'value': 'es'},
|
||||
{'image': 'gui/flag/Rus.png', 'name': 'Русский', 'value': 'ru'}
|
||||
]
|
||||
|
||||
#This was done so it would work with whatever amount of languages you wanted, I tried it with up to 200 and it worked nicely.
|
||||
|
||||
maxItems = len(languages)
|
||||
maxRows = ceil(maxItems/4)
|
||||
if maxItems > 4:
|
||||
maxItems = 4*maxRows
|
||||
|
||||
init:
|
||||
transform renpysdumb: # Needed to scale down the imagebuttons.
|
||||
zoom 0.5
|
||||
transform icon: #For the preferences screen
|
||||
truecenter
|
||||
zoom 0.1
|
||||
|
||||
transform glowie(img):
|
||||
img
|
||||
easein_cubic 0.30 matrixcolor TintMatrix(Color((255, 255, 255)))
|
||||
|
||||
transform darkie(img):
|
||||
img
|
||||
easeout_cubic 0.30 matrixcolor TintMatrix(Color((255/2, 255/2, 255/2)))
|
||||
|
||||
screen lang_sel():
|
||||
|
||||
tag menu
|
||||
|
||||
frame:
|
||||
|
||||
background Transform(gui.main_menu_background, matrixcolor=TintMatrix('#222'))
|
||||
|
||||
padding (120, 40)
|
||||
|
||||
vbox:
|
||||
style_prefix "navigation"
|
||||
vbox:
|
||||
label _("Choose Your Language") text_size 80
|
||||
add Null(0, 40)
|
||||
|
||||
vpgrid:
|
||||
if maxItems <= 4:
|
||||
cols maxItems
|
||||
rows 1
|
||||
else:
|
||||
cols 4
|
||||
rows maxRows
|
||||
#spacing 30
|
||||
draggable True
|
||||
mousewheel True
|
||||
|
||||
if maxRows > 3:
|
||||
scrollbars "vertical"
|
||||
|
||||
for i in range(maxItems):
|
||||
fixed:
|
||||
xsize 400
|
||||
ysize 300
|
||||
vbox:
|
||||
if i<len(languages):
|
||||
text languages[i]["name"] at top
|
||||
add Null(0,10)
|
||||
imagebutton:
|
||||
idle darkie(languages[i]["image"])
|
||||
hover glowie(languages[i]["image"])
|
||||
action If(languages[i]["value"] in persistent.seenWarning or languages[i]["value"] == None,
|
||||
true = [Language(languages[i]["value"]), MainMenu(False,False)],
|
||||
# Important to change the language before calling notice. Otherwise it will be in english.
|
||||
false = [Language(languages[i]["value"]), AddToSet(set=persistent.seenWarning, value=languages[i]["value"]), Show(screen="OkPrompt", message=notice, go_menu=True)]
|
||||
)
|
||||
at renpysdumb # Scales the imagebutton down. No, you can't just specify the zoom here. It has to be a defined transform.
|
||||
else:
|
||||
# Renpy seethes if a vpgrid doesn't have the exact maximum amount of items for some reason.
|
||||
add Null(0,0)
|
||||
at truecenter
|
||||
|
||||
screen lang_button(lang):
|
||||
hbox:
|
||||
spacing 15
|
||||
textbutton lang["name"]:
|
||||
activate_sound "audio/ui/uiRollover.wav"
|
||||
action If(lang["value"] in persistent.seenWarning or lang["value"] == None,
|
||||
true = [Language(lang["value"])],
|
||||
false = [Language(lang["value"]), AddToSet(set=persistent.seenWarning, value=lang["value"]), Show(screen="OkPrompt", message=notice, go_menu=False)]
|
||||
)
|
||||
if _preferences.language == lang["value"]:
|
||||
add glowie(lang["image"]) at icon
|
||||
else:
|
||||
add darkie(lang["image"]) at icon
|
||||
init offset = -1
|
||||
|
||||
screen OkPrompt(message, go_menu):
|
||||
|
||||
modal True
|
||||
|
||||
zorder 200
|
||||
|
||||
style_prefix "confirm"
|
||||
|
||||
add "gui/overlay/confirm.png"
|
||||
|
||||
frame:
|
||||
|
||||
vbox:
|
||||
xalign .5
|
||||
yalign .5
|
||||
spacing 30
|
||||
|
||||
label _(message):
|
||||
style "confirm_prompt"
|
||||
xalign 0.5
|
||||
|
||||
hbox:
|
||||
xalign 0.5
|
||||
spacing 100
|
||||
|
||||
textbutton _("OK") activate_sound "audio/ui/uiClick.wav" action If(go_menu, true=MainMenu(False,False), false=Hide())
|
||||
|
||||
default persistent.seenWarning = []
|
||||
|
||||
init python:
|
||||
|
||||
from math import ceil
|
||||
|
||||
notice = _("NOTICE: Please keep in mind this is a fan translation, and as such it may not be completely accurate to the original intent of any written lines.")
|
||||
|
||||
languages = [
|
||||
{'image': 'gui/flag/USofA.png', 'name': 'English', 'value': None },
|
||||
{'image': 'gui/flag/Mexico.png', 'name': 'Español', 'value': 'es'},
|
||||
{'image': 'gui/flag/Rus.png', 'name': 'Русский', 'value': 'ru'}
|
||||
]
|
||||
|
||||
#This was done so it would work with whatever amount of languages you wanted, I tried it with up to 200 and it worked nicely.
|
||||
|
||||
maxItems = len(languages)
|
||||
maxRows = ceil(maxItems/4)
|
||||
if maxItems > 4:
|
||||
maxItems = 4*maxRows
|
||||
|
||||
init:
|
||||
transform renpysdumb: # Needed to scale down the imagebuttons.
|
||||
zoom 0.5
|
||||
transform icon: #For the preferences screen
|
||||
truecenter
|
||||
zoom 0.1
|
||||
|
||||
transform glowie(img):
|
||||
img
|
||||
easein_cubic 0.30 matrixcolor TintMatrix(Color((255, 255, 255)))
|
||||
|
||||
transform darkie(img):
|
||||
img
|
||||
easeout_cubic 0.30 matrixcolor TintMatrix(Color((255/2, 255/2, 255/2)))
|
||||
|
||||
screen lang_sel():
|
||||
|
||||
tag menu
|
||||
|
||||
frame:
|
||||
|
||||
background Transform(gui.main_menu_background, matrixcolor=TintMatrix('#222'))
|
||||
|
||||
padding (120, 40)
|
||||
|
||||
vbox:
|
||||
style_prefix "navigation"
|
||||
vbox:
|
||||
label _("Choose Your Language") text_size 80
|
||||
add Null(0, 40)
|
||||
|
||||
vpgrid:
|
||||
if maxItems <= 4:
|
||||
cols maxItems
|
||||
rows 1
|
||||
else:
|
||||
cols 4
|
||||
rows maxRows
|
||||
#spacing 30
|
||||
draggable True
|
||||
mousewheel True
|
||||
|
||||
if maxRows > 3:
|
||||
scrollbars "vertical"
|
||||
|
||||
for i in range(maxItems):
|
||||
fixed:
|
||||
xsize 400
|
||||
ysize 300
|
||||
vbox:
|
||||
if i<len(languages):
|
||||
text languages[i]["name"] at top
|
||||
add Null(0,10)
|
||||
imagebutton:
|
||||
idle darkie(languages[i]["image"])
|
||||
hover glowie(languages[i]["image"])
|
||||
action If(languages[i]["value"] in persistent.seenWarning or languages[i]["value"] == None,
|
||||
true = [Language(languages[i]["value"]), MainMenu(False,False)],
|
||||
# Important to change the language before calling notice. Otherwise it will be in english.
|
||||
false = [Language(languages[i]["value"]), AddToSet(set=persistent.seenWarning, value=languages[i]["value"]), Show(screen="OkPrompt", message=notice, go_menu=True)]
|
||||
)
|
||||
at renpysdumb # Scales the imagebutton down. No, you can't just specify the zoom here. It has to be a defined transform.
|
||||
else:
|
||||
# Renpy seethes if a vpgrid doesn't have the exact maximum amount of items for some reason.
|
||||
add Null(0,0)
|
||||
at truecenter
|
||||
|
||||
screen lang_button(lang):
|
||||
hbox:
|
||||
spacing 15
|
||||
textbutton lang["name"]:
|
||||
activate_sound "audio/ui/uiRollover.wav"
|
||||
action If(lang["value"] in persistent.seenWarning or lang["value"] == None,
|
||||
true = [Language(lang["value"])],
|
||||
false = [Language(lang["value"]), AddToSet(set=persistent.seenWarning, value=lang["value"]), Show(screen="OkPrompt", message=notice, go_menu=False)]
|
||||
)
|
||||
if _preferences.language == lang["value"]:
|
||||
add glowie(lang["image"]) at icon
|
||||
else:
|
||||
add darkie(lang["image"]) at icon
|
Reference in New Issue
Block a user