This commit is contained in:
Mappening 2022-11-14 15:44:37 -06:00
commit 2dec3784f0
33 changed files with 1929 additions and 323 deletions

BIN
game/gui/flag/Mexico.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 36 KiB

BIN
game/gui/flag/USofA.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 285 KiB

After

Width:  |  Height:  |  Size: 696 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.7 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.8 MiB

View File

@ -13,6 +13,7 @@
## The _() surrounding the string marks it as eligible for translation.
define config.name = _("SnootGame")
#define config.cache_surfaces = True
## Determines if the title given above is shown on the main menu screen. Set

View File

@ -1,22 +1,5 @@
###Updater Python stuff###
init python:
if renpy.variant("pc"): #Don't run this on mobile, not supported
if persistent.updateresult is None:
persistent.updateresult = "No new version is available"
if persistent.autoup is None:
persistent.autoup = False
if persistent.updateWebServer is None:
persistent.updateWebServer = "http://updates.snootgame.xyz/updates.json"
def UpdateCheck():
# WHY YES I ONLY ALLOW PEOPLE USING MY FRAMEWORK TO CHECK FOR AN UPDATE EVERY SIX FUCKING HOURS HOW DID YOU KNOW
# NOPE check_interval=5 (5 SECONDS) FUCK YOU
pendingVersion = updater.UpdateVersion(persistent.updateWebServer, check_interval=5)
if pendingVersion == None or pendingVersion == config.version or "TEST" in pendingVersion:
persistent.updateresult = "No new version is available"
else:
persistent.updateresult = pendingVersion
init -1 python:
#idk non-functional dummies for uisounds hackery
#coming soon
@ -27,15 +10,6 @@ init python:
audio_filename=["audio/ui/uiOptionOff.wav", "audio/ui/uiOptionOn.wav"]
renpy.play(audio_filename[int(bool(flag))])
def ToggleAutoUpdate():
onclick_audio(persistent.autoup)
persistent.autoup = not persistent.autoup
def ToggleAutoForwardMove():
onclick_audio(persistent.afm_enable)
preferences.afm_enable = not preferences.afm_enable
# def ToggleMuteAll():
# if preferences.all_mute == True:
# renpy.play("audio/ui/uiOptionOff.wav")
@ -459,6 +433,7 @@ screen bonus_chapter_button(f="gui/button/menubuttons/template_idle.png"):
button:
xmaximum 500
ymaximum 129
xysize (500, 129)
action ShowMenu("ex_ch_menu")
activate_sound "audio/ui/uiClick.wav"
fixed:
@ -501,10 +476,14 @@ screen main_menu():
fixed:
xalign 0.125
yalign 0.5
xsize 1920/2
ysize 1080/4
add Solid(gui.accent_color)
xsize int(1920/2)
ysize int(1080/4)
at bonus_notif
fixed:
add Solid("#000")
add Solid(gui.accent_color) xysize ( int(1920/2)-20, int(1080/4)-12 ):
xalign 0.5
yalign 0.5
if persistent.endings == 0b1111:
text "You have unlocked all bonus chapters!" style "main_menu_text" yalign 0.5
else:
@ -543,7 +522,7 @@ screen main_menu():
[ "Extras", ShowMenu("extras") ], \
[ "Quit", Quit(confirm=not main_menu) ]
] )
on "show" action renpy.start_predict_screen("cg_gallery")
#on "show" action renpy.start_predict_screen("cg_gallery")
style main_menu_frame is empty
style main_menu_vbox is vbox
@ -992,6 +971,8 @@ screen preferences():
label _("Naughty Stuff")
textbutton _("Enable Lewd Images") action [Function(onclick_audio, persistent.lewd), ToggleVariable("persistent.lewd", True, False)]
use translator_roulette
vbox:
style_prefix "check"
label _("Requires Restart")
@ -1263,11 +1244,11 @@ screen extrasnavigation():
[
[ "Help", ShowMenu("help") ],
[ "About", ShowMenu("about") ],
[ "Updates", ShowMenu("updates") ],
[ "Gallery", ShowMenu("cg_gallery_0") ],
[ "Mods", ShowMenu("mod_menu") ],
[ "Return", ShowMenu("main_menu") ]
] )
add Null(0, 129)
## Help screen #################################################################
##
@ -1738,7 +1719,7 @@ style pref_vbox:
#redefine function
screen quick_button(filename, label, function):
variant "small mobile"
variant "mobile"
button:
xmaximum 124
ymaximum 124
@ -1748,7 +1729,7 @@ screen quick_button(filename, label, function):
text label xalign 0.5 yalign 0.5 size 42 style "quick_button_text"
screen quick_menu():
variant "small mobile"
variant "mobile"
zorder 100
if quick_menu:
hbox:
@ -1765,7 +1746,7 @@ screen quick_menu():
] )
screen extrasnavigation(): #Updates are removed (not even supported by Ren'Py)
variant "small mobile"
variant "mobile"
vbox:
xpos 1940
yalign 0.03
@ -1787,73 +1768,73 @@ screen extrasnavigation(): #Updates are removed (not even supported by Ren'Py)
] )
style radio_button:
variant "small mobile"
variant "mobile"
foreground "gui/phone/button/radio_[prefix_]foreground.png"
style check_button:
variant "small mobile"
variant "mobile"
foreground "gui/phone/button/check_[prefix_]foreground.png"
style nvl_window:
variant "small mobile"
variant "mobile"
background "gui/phone/nvl.png"
style game_menu_outer_frame:
variant "small mobile"
variant "mobile"
background "gui/phone/overlay/game_menu.png"
style game_menu_navigation_frame:
variant "small mobile"
variant "mobile"
xsize 510
style game_menu_content_frame:
variant "small mobile"
variant "mobile"
top_margin 0
style pref_vbox:
variant "small mobile"
variant "mobile"
xsize 600
style bar:
variant "small mobile"
variant "mobile"
ysize gui.bar_size
left_bar Frame("gui/phone/bar/left.png", gui.bar_borders, tile=gui.bar_tile)
right_bar Frame("gui/phone/bar/right.png", gui.bar_borders, tile=gui.bar_tile)
style vbar:
variant "small mobile"
variant "mobile"
xsize gui.bar_size
top_bar Frame("gui/phone/bar/top.png", gui.vbar_borders, tile=gui.bar_tile)
bottom_bar Frame("gui/phone/bar/bottom.png", gui.vbar_borders, tile=gui.bar_tile)
style scrollbar:
variant "small mobile"
variant "mobile"
ysize gui.scrollbar_size
base_bar Frame("gui/phone/scrollbar/horizontal_[prefix_]bar.png", gui.scrollbar_borders, tile=gui.scrollbar_tile)
thumb Frame("gui/phone/scrollbar/horizontal_[prefix_]thumb.png", gui.scrollbar_borders, tile=gui.scrollbar_tile)
style vscrollbar:
variant "small mobile"
variant "mobile"
xsize gui.scrollbar_size
base_bar Frame("gui/phone/scrollbar/vertical_[prefix_]bar.png", gui.vscrollbar_borders, tile=gui.scrollbar_tile)
thumb Frame("gui/phone/scrollbar/vertical_[prefix_]thumb.png", gui.vscrollbar_borders, tile=gui.scrollbar_tile)
style slider:
variant "small mobile"
variant "mobile"
ysize gui.slider_size
base_bar Frame("gui/phone/slider/horizontal_[prefix_]bar.png", gui.slider_borders, tile=gui.slider_tile)
thumb "gui/phone/slider/horizontal_[prefix_]thumb.png"
style vslider:
variant "small mobile"
variant "mobile"
xsize gui.slider_size
base_bar Frame("gui/phone/slider/vertical_[prefix_]bar.png", gui.vslider_borders, tile=gui.slider_tile)
thumb "gui/phone/slider/vertical_[prefix_]thumb.png"
style slider_pref_vbox:
variant "small mobile"
variant "mobile"
xsize None
style slider_pref_slider:
variant "small mobile"
variant "mobile"
xsize 900

View File

@ -20,6 +20,7 @@ init -1 python:
mod_menu_access = []
init python:
import random
import webbrowser
#function for insult layers
@ -48,6 +49,14 @@ init python:
if persistent.autoup == None:
persistent.autoup = False
def randomize_choices(choices):
# fine for size of 2
if (renpy.random.randint(0, 1)):
choices.reverse()
return choices
pass
transform randPosition:
alpha 0.0
xalign random.uniform(0.2,0.8)
@ -817,7 +826,7 @@ image naomi prom lessblurred = im.Flip(im.Blur('images/naomi/naomi prom neutral.
#image naomifangcg = "images/cgs/naomifangcg.png"
image naomifangcg blur = im.Blur("images/cgs/naomifangcg.jpg", 1.5)
image naomiletter = 'images/cgs/naomiletter.jpg'
image ending_d_cg = 'images/cgs/golden ending.jpg'
#image ending_d_cg = 'images/cgs/golden ending.jpg'
image photoviewfinder = 'images/other/photoviewfinder.png'
@ -1144,19 +1153,6 @@ image hotel = "images/backgrounds/hotellobby.jpg"
image airport = "images/backgrounds/airport.jpg"
image fromairplane = "images/backgrounds/fromairplane.jpg"
#WAOH ITS THE TITLE SCREEN!!!!
label splashscreen:
$ persistent.splashtype = random.randint(0,2000 - 1)
$ renpy.movie_cutscene("images/intros/CaveManonProductions.webm")
if persistent.autoup:
python:
UpdateCheck()
if persistent.updateresult != "No new version is available":
updater.update(persistent.updateWebServer, force=True)
stop sound
return
#Custom Vars for positions
transform scenter:

View File

@ -2265,14 +2265,14 @@ label chapter_1:
# affects dialogue with Spears when entering his office
$ late_to_spears = True
pause .5
jump .naserBro
jump lnaserBro
"I don't wanna piss off the caveman.":
$ late_to_spears = False
pause .5
jump .pissOffCaveman
jump lpissOffCaveman
# Anon tries to find Naser before heading to Spear's office
label .naserBro:
label lnaserBro:
"Principal caveman can wait. I want to apologize to Naser about yesterday{cps=*0.1}...{/cps}"
@ -2702,10 +2702,10 @@ label chapter_1:
stop ambient fadeout 3
# Branch joins up again at Spear's office, with some small dialogue differences
jump .spears_office
jump lspears_office
label .pissOffCaveman:
label lpissOffCaveman:
"Probably best I try and not make the principal pissed at me."
"Campus beautification sounds like slave labor. And my arms are strictly for shitposting and gaming."
@ -2878,7 +2878,7 @@ label chapter_1:
stop ambient fadeout 3
label .spears_office:
label lspears_office:
play music 'audio/OST/we just turned on the microphone in our programmers_ house.ogg' fadein 3
scene office spears with Fade(1, 0, 1)
@ -3125,7 +3125,7 @@ label chapter_1:
pause .5
# Anon has already spoken with Naser and seen Trish
jump .postCavemanConference
jump lpostCavemanConference
else:
"I thank Mr. Spears one last time and head out."
@ -3137,7 +3137,7 @@ label chapter_1:
pause .5
label .finding_naser:
label lfinding_naser:
play ambient 'audio/effects/schoolLoop.ogg' fadein 1.5
scene hallway with Dissolve(1.5)
@ -3362,7 +3362,7 @@ label chapter_1:
scene black with Dissolve(1.5)
label .postCavemanConference:
label lpostCavemanConference:
pause 0.5
"The periods pass and eventually its lunchtime again."

View File

@ -439,7 +439,7 @@ label chapter_11:
if _return == 2:
stop music fadeout 3
pause 2
jump .PromAnnouncement
jump lPromAnnouncement
scene hallway
show anon neutral at acenter
@ -574,13 +574,13 @@ label chapter_11:
call get_ending
if _return == 4:
jump .SortingThings # Golden
jump lSortingThings # Golden
elif _return == 3:
jump .MendingThings # Tradwife
jump lMendingThings # Tradwife
else:
jump .BreakingThings # Shooter
jump lBreakingThings # Shooter
label .SortingThings:
label lSortingThings:
stop music fadeout 4
A "Whys that?"
@ -1842,9 +1842,9 @@ label chapter_11:
window auto
pause .5
jump .PromAnnouncement
jump lPromAnnouncement
label .MendingThings:
label lMendingThings:
A "Its because Im human, isnt it."
@ -2311,6 +2311,8 @@ label chapter_11:
with Dissolve(1)
pause .5
$ renpy.mark_image_seen('fullbody_fangarm')
"She lays her head on my arm, very carefully. It was fast becoming her preferred pillow here."
pause .5
@ -4900,9 +4902,9 @@ label chapter_11:
window auto
pause .5
jump .PromAnnouncement
jump lPromAnnouncement
label .BreakingThings:
label lBreakingThings:
A "I dont follow."
pause .5
@ -5200,7 +5202,7 @@ label chapter_11:
pause 1
#Anouncement
label .PromAnnouncement:
label lPromAnnouncement:
"{cps=*.2}-- April first --{/cps}"
pause .5

View File

@ -45,6 +45,8 @@ label chapter_12C:
show kissu1
with dissolve
$ renpy.mark_image_seen('fullbody_kissu1')
Lucy "You're so good to me."
A "Thanks. F- Lucy."
@ -206,6 +208,8 @@ label chapter_12C:
with Dissolve(1)
pause .5
$ renpy.mark_image_seen('fullbody_kissu2')
Lucy "See? Getting better."
A "Mmm…"
@ -214,7 +218,7 @@ label chapter_12C:
window hide
window auto
pause .5
scene black with Dissolve(1)
pause 0.5
A "Y-yeah,{w=0.2} same."
@ -262,7 +266,7 @@ label chapter_12C:
with Dissolve(0.25)
pause 3.0
scene sepiagarden
show grain_effect
show grain_effect
show sepiastella explanatory flip behind grain_effect at sright:
xalign 0.8
show sepiaanon neutral behind grain_effect at acenter:
@ -278,7 +282,7 @@ label chapter_12C:
A "{i}Right, right. Lunar eclipse. Is that the one where you cant see the Moon or the one where you cant see the sun?{/i}"
show sepiastella unimpressed flip with dissolve
show sepiastella unimpressed flip with dissolve
St "{i}*sigh*{/i}"
St "{i}Its also called a Blood Moon for its color?{/i}"
@ -298,7 +302,7 @@ label chapter_12C:
with dissolve
Ro "{i}Oh, yes!{/i}"
Ro "{i}My backyard is very big. Long bus ride to school.{/i}"
Ro "{i}But I see the stars at night so well, so Stella has slumber parties often!{/i}"
@ -500,7 +504,7 @@ label chapter_12C:
pause 0.5
St "Eventide draws near. I believe it best we sojourn from the fated ones, Rosa. My scrying glass awaits."
pause 0.5
show fang neutral behind rosa
show rosa considering
@ -896,5 +900,5 @@ label chapter_12C:
window hide
window auto
pause 1
return
return

View File

@ -2465,6 +2465,8 @@ label chapter_13D:
with dissolve
pause 1
$ renpy.mark_image_seen('fullbody_dpromdance')
A "Alright, I think she said like this{cps=*.1}...{/cps}"
show fanganon_promdance:
@ -3310,6 +3312,8 @@ label chapter_13D:
with Dissolve(1)
pause 1
$ renpy.mark_image_seen('fullbody_christmas')
"Im sitting in my bed, looking through one of my favorite presents."
"Fangs mom was right, I am happy about all those photos."

View File

@ -854,6 +854,8 @@ label chapter_14A:
ypos 0
with Dissolve(2)
$ renpy.mark_image_seen('fullbody_fang_shooter')
F "A-Anon{cps=*.1}...{/cps} WHY ARE YOU-!"
A "Aaaah{cps=*.1}...{/cps}{w=.4} haaaah{cps=*.1}...{/cps} Fang{cps=*.1}...{/cps}{w=.4} why{cps=*.1}...{/cps}?"

View File

@ -796,6 +796,8 @@ label chapter_14C:
with Dissolve(1)
pause 1
$ renpy.mark_image_seen('fullbody_c06')
"I draw Lucy close to my chest."
"She snuggles up to me."
@ -862,6 +864,8 @@ label chapter_14C:
with dissolve
pause 1
$ renpy.mark_image_seen('fullbody_c07')
"I embrace her, I could tell she was getting tense, but slowly she relaxes in my arms."
"When I said that we're being together was all that mattered, she hugged me back."
@ -979,6 +983,8 @@ label chapter_14C:
show c09 with Dissolve(1)
pause 1.25
$ renpy.mark_image_seen('fullbody_c09')
A "Urgh-- it's ok, Lucy."
pause .5

View File

@ -230,14 +230,14 @@ label chapter_2:
"Ask whats up":
pause .5
jump .naomiWhatsUp
jump lnaomiWhatsUp
"Not my place to pry":
pause .5
jump .naomiNotMyPlace
jump lnaomiNotMyPlace
label .naomiWhatsUp:
label lnaomiWhatsUp:
A "You alright?"
@ -249,9 +249,9 @@ label chapter_2:
N "Not really{cps=*.1}...{/cps}{w=.4} A bit, I guess{cps=*.1}...{/cps}"
pause .5
jump .naomiStressMerge
jump lnaomiStressMerge
label .naomiNotMyPlace:
label lnaomiNotMyPlace:
"Nah, I dont know her that well."
@ -260,9 +260,9 @@ label chapter_2:
N "Im sorry, Ive been a bit stressed lately, Anon{cps=*.1}...{/cps}"
jump .naomiStressMerge
jump lnaomiStressMerge
label .naomiStressMerge:
label lnaomiStressMerge:
N "Ive just been worried about Naser recently{cps=*.1}...{/cps}"
@ -2139,7 +2139,7 @@ label chapter_2:
A "Its funny in a way, yeah."
jump .PostCheckLinkOut
jump lPostCheckLinkOut
"Save it for later":
@ -2147,7 +2147,7 @@ label chapter_2:
"I'll save this one for when I get home."
label .PostCheckLinkOut:
label lPostCheckLinkOut:
show reed explanatory
Re "Xrox is better anyways, you see the whole lineup they had prepared for{cps=*.1}...{/cps}"

View File

@ -935,11 +935,11 @@ label chapter_3:
# TODO: phone overlay with Elliot Raptor, and the text he made some valid points :^)
show layeredanonphone shitpost_elliot with dissolve
"Ah yes, perfect."
"Ah yes, perfect."
show layeredanonphone shitpost_elliotbp with dissolve
"Click post."
pause .5
show layeredanonphone shitpost_elliotsuccess with dissolve
show layeredanonphone shitpost_elliotsuccess with dissolve
pause .5
show layeredanonphone shitpost_elliotwait with dissolve
"{cps=*.3}Aaaand{/cps} now to wait."
@ -1679,16 +1679,15 @@ label chapter_3:
window auto
pause .5
menu:
"Speak Up":
pause .5
jump .GuitarQuestionSpeakUp
"Stay Silent":
pause .5
jump .GuitarQuestionStaySilent
python:
#menu item text then label to jump into
choices = [(_('Speak Up'), 'GuitarQuestionSpeakUp'),
(_('Stay Silent'), 'GuitarQuestionStaySilent')]
_value = renpy.display_menu(randomize_choices(choices))
renpy.pause(0.5)
renpy.jump(_value)
label .GuitarQuestionSpeakUp:
label GuitarQuestionSpeakUp:
$ fangscore += 1
@ -1747,10 +1746,10 @@ label chapter_3:
show anon behind dimmer_light
with dissolve
jump .postguitarscene
jump lpostguitarscene
label .GuitarQuestionStaySilent:
label GuitarQuestionStaySilent:
"Cant guarantee their style wont be better than dogshit if I lose this challenge."
@ -1864,10 +1863,10 @@ label chapter_3:
show trish considering flip
with dissolve
jump .postguitarscene
jump lpostguitarscene
label .postguitarscene:
label lpostguitarscene:
stop music fadeout 3
pause .5

View File

@ -385,7 +385,7 @@ label chapter_4:
hide dimmer_light with Dissolve(.5)
hide mask3
# hide mask3
pause .75
A "VVURM DRAMA?{w=.4} Thats an{cps=*.1}...{/cps}{w=.2} interesting name{cps=*.1}...{/cps}{w=.4} and whats with the date on it?"
@ -644,15 +644,15 @@ label chapter_4:
pause .5
stop music fadeout 5
menu:
"Heads, ask Fang for help":
pause .5
jump .Heads
"Tails, leave Fang alone":
pause .5
jump .Tails
label .Heads:
python:
choices = [(_('Heads, ask Fang for help'), 'lHeads'),
(_('Tails, leave Fang alone'), 'lTails')]
_value = renpy.display_menu(randomize_choices(choices))
renpy.pause(0.5)
renpy.jump(_value)
label lHeads:
$ fangscore += 1
@ -813,10 +813,10 @@ label chapter_4:
yalign 0.1 xalign 0.15
with Fade(1, 0, 1)
jump .PostFlip
jump lPostFlip
label .Tails:
label lTails:
stop music fadeout 3
@ -929,10 +929,10 @@ label chapter_4:
yalign 0.1 xalign 0.15
with Fade(1, 0, 1)
jump .PostFlip
jump lPostFlip
label .PostFlip:
label lPostFlip:
pause .5
# TODO: Fuck You I Like This Chick
@ -1264,20 +1264,18 @@ label chapter_4:
rotate 12.5
mousearea:
ypos -75
area(0.225, 0, 795, 1100)
area(432, 0, 795, 1100)
# xalign 0.5 yanchor 0 ypos 0
hovered Hide("prompt")
hovered Hide("prompt" )
unhovered Show("prompt")
# kick the player back out in X seconds in case they can't find the 'close' button
# timer 10.0 action Return()
add "white"
timer 2 action(Show("mousedetect"), Show("prompt"))
screen textscroll():
timer 2.0 action(Show("mousedetect"), Show("prompt"))
add Solid("FFF")
transform: # thanks based nutbuster
transform:
zoom 0.8
rotate 12.5
viewport:
@ -1287,14 +1285,15 @@ label chapter_4:
arrowkeys True
# edgescroll(400, 800)
add "texts"
yinitial 1.0
imagebutton auto "fangbutton%s" xalign 0.53 yalign 0.5:
ypos 65+(107/2)
ypos 65+(int(107/2))
xsize 284
ysize 107
action (Hide("mousedetect"), Hide("prompt"), Hide("textscroll", transition=Dissolve(1.0)), Return())
add "texts"
add "fang phone"
call screen textscroll with dissolve

View File

@ -1181,19 +1181,15 @@ label chapter_5:
window auto
pause .5
menu:
python:
choices = [(_('Explain it to her honestly, she should understand by now'), 'lbeHonest'),
(_('Joking is a good way to move past mistakes.'), 'ljokeAround')]
_value = renpy.display_menu(randomize_choices(choices))
renpy.music.stop(fadeout=3)
renpy.pause(0.5)
renpy.jump(_value)
"Explain it to her honestly, she should understand by now":
stop music fadeout 3
pause .5
jump .beHonest
"Joking is a good way to move past mistakes.":
stop music fadeout 3
pause .5
jump .jokeAround
label .beHonest:
label lbeHonest:
$ anonscore += 1
@ -1300,10 +1296,10 @@ label chapter_5:
"Suddenly an orange terror descends upon me like I set off some sort of alarm."
$ punched_into_flowerbed = False
jump .postAnonLaughReveal
jump lpostAnonLaughReveal
label .jokeAround:
label ljokeAround:
"Were good enough friends now, right?{w=.4} Thisll be {cps=*.3}fiiiine.{/cps}"
window hide
@ -1375,10 +1371,10 @@ label chapter_5:
"Rosa isnt stunned for long though, and suddenly an orange terror descends upon me like I set off some sort of alarm."
$ punched_into_flowerbed = True
jump .postAnonLaughReveal
jump lpostAnonLaughReveal
label .postAnonLaughReveal:
label lpostAnonLaughReveal:
pause .5
@ -3272,12 +3268,16 @@ label chapter_5:
window auto
pause .5
menu:
"Stay quiet...":
pause .5
"Interrupt":
pause .5
jump .interrupt4b
python:
choices = [(_('Stay quiet...'), 'Snot'),
(_('Interrupt'), 'linterrupt4')]
choices = randomize_choices(choices)
_value = renpy.display_menu(choices)
_tick = 1
renpy.pause(0.5)
if _value != 'Snot':
renpy.jump(_value+chr(0x61+_tick))
"Theres a time to speak and a time to listen."
pause .5
@ -3407,12 +3407,12 @@ label chapter_5:
window auto
pause .5
menu:
"Stay quiet...":
pause .5
"Interrupt":
pause .5
jump .interrupt4c
python:
_value = renpy.display_menu(choices)
_tick += 1
renpy.pause(0.5)
if _value != "Snot":
renpy.jump(_value+chr(0x61+_tick))
$ wingStory = True
@ -3496,12 +3496,12 @@ label chapter_5:
window auto
pause .5
menu:
"Stay quiet...":
pause .5
"Interrupt":
pause .5
jump .interrupt4d
python:
_value = renpy.display_menu(choices)
_tick += 1
renpy.pause(0.5)
if _value != "Snot":
renpy.jump(_value+chr(0x61+_tick))
show fang:
easein_quart 1 xalign 0.2
@ -3578,12 +3578,12 @@ label chapter_5:
window auto
pause .5
menu:
"Stay quiet...":
pause .5
"Interrupt":
pause .5
jump .interrupt4e
python:
_value = renpy.display_menu(choices)
_tick += 1
renpy.pause(0.5)
if _value != "Snot":
renpy.jump(_value+chr(0x61+_tick))
$ fangscore += 1
$ anonscore += 1
@ -3865,6 +3865,8 @@ label chapter_5:
show fanganonhug
with dissolve
$ renpy.mark_image_seen('fullbody_fanganonhug')
"Without a second thought I draw her into a hug, comforting her."
"Her voice is muffled by my jacket but she continues."
@ -3948,7 +3950,7 @@ label chapter_5:
jump postFangAndAnonTalk
label .interrupt4b:
label linterrupt4b:
"She seems at a loss for words."
@ -3984,7 +3986,7 @@ label chapter_5:
jump postinterruption
label .interrupt4c:
label linterrupt4c:
"Heres a good place to butt in."
pause .5
@ -4017,7 +4019,7 @@ label chapter_5:
jump postinterruption
label .interrupt4d:
label linterrupt4d:
"Nows a good time."
pause .5
@ -4048,7 +4050,7 @@ label chapter_5:
jump postinterruption
label .interrupt4e:
label linterrupt4e:
"Here we go."
pause .5
@ -4203,6 +4205,8 @@ label chapter_5:
with Dissolve(1)
pause .5
$ renpy.mark_image_seen('fullbody_hallpass')
"She takes it from my hands, our fingers brushing for a second."
"She blushes while she handles the acoustic bathroom pass."

View File

@ -1696,16 +1696,14 @@ label chapter_6:
window auto
pause .5
menu:
"Excuse myself":
pause .5
jump .AnonExcusesHimself
"Wait for Fang":
pause .5
jump .AnonWaitsForFang
python:
choices = [(_('Excuse myself'), 'lAnonExcusesHimself'),
(_('Wait for Fang'), 'lAnonWaitsForFang')]
_value = renpy.display_menu(randomize_choices(choices))
renpy.pause(0.5)
renpy.jump(_value)
label .AnonExcusesHimself:
label lAnonExcusesHimself:
"I need to get away from here,{w=.4} fast."
window hide
@ -1917,7 +1915,7 @@ label chapter_6:
jump troodon
label .AnonWaitsForFang:
label lAnonWaitsForFang:
$ anonscore += 1
"{cps=*.1}...{/cps}No."
@ -2088,15 +2086,14 @@ label chapter_6:
window auto
pause .5
menu:
"Ask Naser":
pause .5
jump .AskNaser
"Ask Fang":
pause .5
jump .AskFang
python:
choices = [(_('Ask Naser'), 'lAskNaser'),
(_('Ask Fang'), 'lAskFang')]
_value = renpy.display_menu(randomize_choices(choices))
renpy.pause(0.5)
renpy.jump(_value)
label .AskNaser:
label lAskNaser:
A "Actually, Naser."
@ -2304,10 +2301,10 @@ label chapter_6:
F "You think Id stop at a black eye?"
jump .postAsking
jump lpostAsking
label .AskFang:
label lAskFang:
$ fangscore += 1
@ -2509,10 +2506,10 @@ label chapter_6:
"With that Naser and Naomi leave, turning the corner onto another street."
show anon neutral with dissolve
jump .postAsking
jump lpostAsking
label .postAsking:
label lpostAsking:
stop music fadeout 3
play ambient 'audio/effects/cityLoop.ogg' fadein 4
@ -2872,17 +2869,17 @@ label chapter_6:
menu:
"At least its a novelty.":
pause .5
jump .buyTheRoomba
jump lbuyTheRoomba
"No way am I paying forty bucks on this shit.":
pause .5
jump .notBuyingTheFuckingRoomba
jump lnotBuyingTheFuckingRoomba
label .buyTheRoomba:
label lbuyTheRoomba:
A "Fuck it, fine."
jump .RoombaConvergence
jump lRoombaConvergence
label .notBuyingTheFuckingRoomba:
label lnotBuyingTheFuckingRoomba:
show anon shrug with dissolve
A "Fang, we can find the place on our own."
@ -2897,7 +2894,7 @@ label chapter_6:
A "Fine you fucking cunt."
show anon neutral with Dissolve(.25)
label .RoombaConvergence:
label lRoombaConvergence:
"I slap down the money on Reeds maybe-familys booth."
pause .5

View File

@ -300,7 +300,7 @@ label chapter_7:
window auto
pause 0.15
play sound 'audio/effects/whoosh.ogg'
# show stella neutral alt flip with Dissolve(.25)
show stella:
easeout_quad 0.6 xalign -0.5
@ -470,11 +470,11 @@ label chapter_7:
pause .5
define LeftStage = False
menu:
"Leave the stage as-is":
jump LeaveStageAsIs
"Fix the cables":
jump FixCables
python:
choices = [(_('Leave the stage as-is'), 'LeaveStageAsIs'),
(_('Fix the cables'), 'FixCables')]
renpy.jump(renpy.display_menu(randomize_choices(choices)))
label LeaveStageAsIs:
$ anonscore += 1
@ -518,7 +518,7 @@ label chapter_7:
stop music fadeout 3
scene black with Dissolve(1)
scene moes pizza
scene moes pizza
show fang hiding at sright
with Dissolve(1)
pause 0.5
@ -900,7 +900,7 @@ label chapter_7:
# zoom 0.8
# xalign 1.0 yalign -0.1
#with dissolve
"Trish looks like shes sucked on a lemon with how twisted her face is."
"The tiny triceratops pulls Fang out of my hands, and I can picture my fist twisting that horn right off her face."
@ -909,7 +909,7 @@ label chapter_7:
pause 0.5
hide fanganonhug
hide trish
hide trish
show fang neutral flip at scenter
show anon neutral flip at sright:
@ -973,7 +973,7 @@ label chapter_7:
show moealt with dissolve:
xalign 2.0
easein_cubic 1 xalign 1.6 yalign 0.0
show fang happy
show fang happy
show anon neutral behind fang
show trish surprised
with Dissolve(0.5)
@ -1221,7 +1221,7 @@ label chapter_7:
show fang:
easein_cubic 1 xalign 0.3
show fang happy flip with Dissolve(0.5)
F "Trish! Didnt you say you wanted to set up our merch!"
show trish unimpressed
show anon neutral flip
@ -1414,7 +1414,7 @@ label chapter_7:
Re "Er{cps=*.1}...{/cps} Probably shouldnt have mentioned that…"
A "Fang wasnt herself?"
show reed explanatory flip with Dissolve(0.5)
show reed explanatory flip with Dissolve(0.5)
Re "Honestly{cps=*.1}...{/cps} Thats probably something to be left for Fang and Fang alone to talk about{cps=*.1}...{/cps} Sorry."
@ -1486,7 +1486,7 @@ label chapter_7:
show fang neutral with dissolve:
xalign -1.0
easein_cubic 1 xalign -0.5
easein_cubic 1 xalign -0.5
pause 0.5
F "Come on Anon, dont you have any good memories from your old school?"
@ -1515,8 +1515,8 @@ label chapter_7:
A "I didnt say I was good at it. I was just clicking buttons and seeing what stuck."
A "And spoiler alert, nothing did."
show trish considering flip
show fang happy
show trish considering flip
show fang happy
with Dissolve(0.25)
"That got a giggle out of Fang and a look from Trish."
@ -1618,7 +1618,7 @@ label chapter_7:
easein_cubic 0.5 xalign 0.175
ease_cubic 0.75 xalign 0.2
show reed neutral flip with Dissolve(0.25)
"Reed gives me a fist bump."
pause 0.5
@ -1643,7 +1643,7 @@ label chapter_7:
$ renpy.music.set_volume(0.35, 1, 'music')
play ambient 'audio/effects/heartbeat.ogg' volume 0.5 fadein 0.5
show anon concerned
show anon concerned
show dimmer_darker behind anon
with Dissolve(0.5)
@ -1671,7 +1671,7 @@ label chapter_7:
stop music fadeout 5.0
A "Yeah, yeah, thanks man."
T "Sounds personal, guess we shouldnt pry."
T "Were all friends here, after all."
@ -1703,7 +1703,7 @@ label chapter_7:
easein_cubic 1 xalign 1.2
show moe alt flip with dissolve:
xalign -1.0 yalign 0.1
xalign -1.0 yalign 0.1
easein_cubic 1.4 xalign -0.7
pause 0.25

View File

@ -257,7 +257,7 @@ label chapter_8:
# xalign 0.3 yalign 0.1
#show student3:
# xalign 0.6 yalign 0.1
#with dissolve
#with dissolve
"With that the sea of students begins to funnel out of the auditorium."
@ -266,9 +266,9 @@ label chapter_8:
#show student2:
# ease_quart 1.5 xalign -0.5 alpha 0.0
#with Dissolve(1.0)
#pause 1.0
#pause 1.0
#hide student1
#hide student2
#hide student2
# pause 0.3
#show student3:
@ -276,13 +276,13 @@ label chapter_8:
#show teacher4:
# ease_quart 1.8 xalign -0.5 alpha 0.0
#with Dissolve(1.0)
#pause 1.0
#pause 1.0
#hide student3
#hide teacher4
# pause 0.4
#show teacher1:
# ease_quart 1.5 xalign 1.5 alpha 0.0
# ease_quart 1.5 xalign 1.5 alpha 0.0
#show teacher2:
# ease_quart 1.8 xalign 1.5 alpha 0.0
#show teacher3:
@ -381,7 +381,7 @@ label chapter_8:
pause 0.5
show trish:
easeout_cubic 1 xalign 1.4 alpha 0.0
easeout_cubic 1 xalign 1.4 alpha 0.0
show trish neutral with dissolve
hide trish with dissolve
pause 0.25
@ -449,16 +449,16 @@ label chapter_8:
"OH GO FUCK YOURSELF BILL WITHERS."
window hide
window auto
show fang behind anon:
easeout_cubic 1 xpos 0.0 alpha 0.0
show anon:
show anon:
easeout_cubic 1 xalign -0.2 alpha 0.0
show fang unimpressed flip with Dissolve(0.25)
pause 0.25
hide fang
hide anon
hide anon
with dissolve
pause 0.25
@ -576,6 +576,8 @@ label chapter_8:
with dissolve
pause 0.5
$ renpy.mark_image_seen('fullbody_fangguitar')
F "Uhm{cps=*.1}...{/cps} This is just how I get ready for studying."
F "Strumming along puts me at ease."
@ -619,14 +621,13 @@ label chapter_8:
window auto
pause .5
menu:
"Play The Guitar":
jump LetFangPlayGuit
"Get to Studying":
jump GetStartedOnStudy
python:
choices = [(_('Play The Guitar'), 'lLetFangPlayGuit'),
(_('Get to Studying'), 'lGetStartedOnStudy')]
renpy.jump(renpy.display_menu(randomize_choices(choices)))
label LetFangPlayGuit:
label lLetFangPlayGuit:
$ fangscore += 1
pause .5
@ -703,6 +704,8 @@ label chapter_8:
with dissolve
pause .5
$ renpy.mark_image_seen('fullbody_fanganonguitar')
"Shes standing RIGHT THE FUCK BEHIND ME!"
pause .5
@ -729,7 +732,7 @@ label chapter_8:
F "Alright, try these chords."
play sound 'audio/effects/goodA.ogg' fadein 0.5
"Her fingers press mine down, holding down the strings in an awkward position."
F "Then this."
play sound 'audio/effects/goodB.ogg' fadein 0.5
"My hands are slid down closer to the base of the neck and too close to my crotch."
@ -1429,7 +1432,7 @@ label chapter_8:
window hide
window auto
pause 0.5
show anonphone at scenter with easeinbottom
pause .5
@ -1530,7 +1533,7 @@ label chapter_8:
"Or rather proud of herself that she was that good of a music teacher."
"Her way of congratulating me was to hip-check me right into my locker, only to apologize while laughing her ass off."
"Her way of congratulating me was to hip-check me right into my locker, only to apologize while laughing her ass off."
pause 0.5
"Actually, the whole ordeal made me remember I had this old music program installed on my computer."
@ -1567,7 +1570,7 @@ label chapter_8:
return
label GetStartedOnStudy:
label lGetStartedOnStudy:
pause 0.5
"No, I should focus more on my midterms."
pause 0.5
@ -1631,7 +1634,7 @@ label chapter_8:
show anon neutral with dissolve
A "So, what? We take turns reading it?"
show fang unimpressed with Dissolve(0.25)
show fang unimpressed with Dissolve(0.25)
F "Too slow. Lets just huddle and read it together."
@ -1878,7 +1881,7 @@ label chapter_8:
"She reaches elbow-deep into her purse and pulls out a small flipbook."
FM "Oh Lucy, this is my FAVORITE little picture of you and Naser!"
show fangmom:
easein_cubic 1 xalign 0.0
pause 0.5
@ -1902,13 +1905,13 @@ label chapter_8:
pause 0.5
F "{cps=*1.3}Oh my god mom{/cps}, he doesnt have time for this!"
"Fang pulls me off the ground and begins to push me towards the door."
window hide
window auto
pause 0.25
#show anon neutral flip at acenter
#show anon neutral flip at acenter
#show fang angry flip at sleft:
# xalign 1.3
#with dissolve

View File

@ -563,7 +563,7 @@ label chapter_9:
linear 0.5 alpha 0
pause .25
show reed considering:
xalign 1.05
xalign 1.05
with Dissolve(0.2)
pause .2
show reed: #flip
@ -1076,20 +1076,14 @@ label chapter_9:
$ TalkedWithTrish = 0
menu:
python:
choices = [(_('Talk with Trish'), 'lTalkWithTrish'),
(_('Ignore Trish'), 'lIgnoreTrish')]
_value = renpy.display_menu(randomize_choices(choices))
renpy.pause(0.5)
renpy.jump(_value)
"Talk with Trish":
pause .5
jump .TalkWithTrish
"Ignore Trish":
pause .5
jump .IgnoreTrish
label .TalkWithTrish:
label lTalkWithTrish:
$ TalkedWithTrish = 1
@ -1169,10 +1163,10 @@ label chapter_9:
A "You should tell that to Fang."
pause .5
jump .PostSpearsOfficeTrish
jump lPostSpearsOfficeTrish
label .IgnoreTrish:
label lIgnoreTrish:
stop music fadeout 5
pause .5
@ -1202,7 +1196,7 @@ label chapter_9:
show anon neutral flip with dissolve
label .PostSpearsOfficeTrish:
label lPostSpearsOfficeTrish:
"Right before I clamp my hand on the doorknob, Spears speaks up."
Sp "Oh, and Anon.{w=0.3} Dont think I didnt notice."
@ -1293,18 +1287,18 @@ label chapter_9:
"Wait for Trish to exit the office":
pause .5
jump .WaitForTrishToExit
jump lWaitForTrishToExit
"Go Home Early":
pause .5
jump .GoHomeEarly
jump lGoHomeEarly
else:
jump .GoHomeEarly
jump lGoHomeEarly
label .WaitForTrishToExit:
label lWaitForTrishToExit:
$ anonscore += 1
#play music 'audio/OST/fighter.ogg' fadein 1.0
@ -1696,10 +1690,10 @@ label chapter_9:
"I catch up to Fang near the front of the school as I mentally prepare myself for whats coming."
pause .5
jump .WalkOfShame
jump lWalkOfShame
label .GoHomeEarly:
label lGoHomeEarly:
stop music fadeout 5
@ -1778,7 +1772,7 @@ label chapter_9:
"We make our way to the front of the school as I mentally prepare myself for whats coming."
pause .5
label .WalkOfShame:
label lWalkOfShame:
play music 'audio/OST/you can_t sage here.ogg' fadein 1.0
"Time for the Walk of Shame."

View File

@ -1,8 +1,11 @@
init python:
init 2 python:
import json
# CONST PARAMS
ALLOW_ZOOM = False
GALLERY_COLS = 3
GALLERY_COLS = 4
PREFERRED_WIDTH = 432 #px (1920 * 0.225)
PREFERRED_HEIGHT = 243 #px (1080 * 0.225)
PREFERRED_ASPECT_RATIO = 16.0/9.0 # 1.7777..
@ -34,18 +37,41 @@ init python:
for cp in CG_PATHS:
gallery_dic[cp['name']] = [] #
# Make a scaled cg button
# (cg: string; ext: string; w: float
def cg(fname, ext, w):
scale = PREFERRED_WIDTH * 100.0 / w / 100.0
def cg_(fname, ext, w):
scale = PREFERRED_WIDTH / w
#scale = box_ratio(wh)
return im.FactorScale(fname, scale, scale, False)
#image = im.FactorScale(fname, scale, scale, True)
if type(fname) is str:
image = im.FactorScale(fname, scale, scale, True)
return image
else:
return Transform(fname, zoom=scale)
#return Transform(fname, crop=(0,0,1920,1080), zoom=scale)
# Reads /images/cgs dir for all image files
# Populates galleryItems
# () -> None
def add_(str, _str, ext, cpname):
image = renpy.image_size(Image(_str))
item = {
"item": str,
"fn": _str,
"cg": cg_(_str, ext, image[0]),
"ext": ext,
"wh": image
}
gallery_dic[cpname].append(item)
pass
def loadGallery():
list_img = renpy.list_images()
#if ext is "webm":
@ -57,26 +83,28 @@ init python:
_str = path+str+"."+ext
if renpy.loadable(_str): #brute force
image = renpy.image_size(Image(_str))
add_(str, _str, ext, cp['name'])
gallery_dic[cp['name']] += [{
"item": str,
"fn": _str,
"cg": cg(_str, ext, image[0]),
"ext": ext,
"wh": image
}]
return
# Call to loading the gallery
loadGallery()
#renpy.start_predict_screen("cg_gallery")
#sort
# hard code the webm because renpy is really dumb and doesn't add Movies properly until much later
fang_webm = 'images/animations/fang tail.webm'
fang_webm = 'fang thumb'
webm_rcg = Fixed(Color("#000"), Text("Fang", size=280, xalign=0.5, yalign=0.5), xsize=1920)
renpy.seen_label('fang_movie')
gallery_dic['Animations'] = [{
"item": 'fang tail',
"fn": fang_webm,
"cg": Movie(fang_webm),#cg(_str, 'webm', 1920),
"fn": 'fang tail',
"cg": cg_('images/backgrounds/garden.jpg', None, 1920),
"ext": 'webm',
"wh": [1920, 1080]
}]
@ -97,6 +125,66 @@ init python:
zoom_arr.sort()
"""
def jsonloadandpop():
#CACHE_PATH = config.basedir.replace("\\","/") + "/game/cache/"
FILENAME = os.path.join(config.basedir, 'game/src/gallery_dataset.json')
#CACHE_PATH = config.basedir.replace("\\","/") + "/game/cache/"
fp = open(FILENAME)
data = json.load(fp)
list_img = renpy.list_images()
for x in data['tabs']:
tab_name = x['tab_name']
_eval = None
if 'eval' in x.keys():
_eval = x['eval']
CG_PATHS.append({'path': None, 'name': tab_name, 'eval': _eval})
gallery_dic[tab_name] = []
#gallery_dataset
if 'items' in x.keys():
for y in x['items']:
name = y["name"]
cg = y["image"]
rcg = renpy.get_registered_image(cg)
#print(rcg.get_size())
image_dimensions = (1920, 1080) #renpy.image_size(rcg)
item = {
"item": name,
"fn": rcg,
"cg": cg_(rcg, None, image_dimensions[0]),
"ext": None,
"wh": image_dimensions
}
gallery_dic[tab_name].append(item)
else: #folders
for str in list_img:
for cp in x['folders']:
for ext in ACCEPTED_EXTENSIONS:
path = cp #cp['path']
_str = path+str+"."+ext
#print(_str)
if renpy.loadable(_str): #brute force
add_(str, _str, ext, tab_name) #cp['name'])
#print(data)
pass
jsonloadandpop()
pass
"""
'Recursive' / Loopable / Roundtrip Screens
_0 <-> _1
@ -111,7 +199,7 @@ screen cg_gallery_1( __yoffset = 0, origin = 'CG'):
use cg_gallery('0', __yoffset, origin)
#screen view_image(fn, _origin, zoom=1):
screen view_image_a(fn, _origin, zoom = zoom_arr.index(1.0)):
screen view_image_a(fn, _origin = 0, zoom = zoom_arr.index(1.0)):
tag menu
use view_image(fn, _origin, zoom, 'b')
screen view_image_b(fn, _origin, zoom = zoom_arr.index(1.0)):
@ -176,29 +264,34 @@ screen cg_gallery(flag, __yoffset = 0, origin = 'CG'):
xcenter 0.525
ycenter 0.525
viewport:
yinitial __yoffset
vpgrid id "vpg":
#yinitial __yoffset
scrollbars "vertical"
mousewheel True
draggable True
pagekeys True
xfill True
grid GALLERY_COLS gallery_rows:
xcenter 0.5
ycenter 0.5
for item in gallery_items:
# Should properly fix with actual margin difference but good
# enough or the actual position
python:
item_counter += 1
yoffset = item_counter / 3 * PREFERRED_HEIGHT * 1.15
yoffset = int( yoffset + (PREFERRED_HEIGHT * 1.15))
xcenter 0.5
#ycenter 0.5
use flag_button(item, yoffset, origin)
spacing 20
for i in range(0, empty_spaces):
null height 20
#rows gallery_rows
cols GALLERY_COLS
for item in gallery_items:
# Should properly fix with actual margin difference but good
# enough or the actual position
python:
item_counter += 1
#yoffset = int( yoffset + (PREFERRED_HEIGHT * 1.15))
yoffset = int(item_counter / 3 * PREFERRED_HEIGHT + ((item_counter / 3)))
use flag_button(item, yoffset, origin)
for i in range(0, empty_spaces):
null height 20
"""
@ -214,6 +307,7 @@ screen flag_button(item, yoffset, origin):
action Replay('fang_movie')#ShowMenu('view_movie', item, ShowMenu('cg_gallery_0', yoffset, origin))
else:
action ShowMenu('view_image_a', item, ShowMenu('cg_gallery_0', yoffset, origin))
#action Show('view_image', None, item, ShowMenu('cg_gallery_0', yoffset, origin), _zorder=1)
xcenter 0.5 ycenter 0.5
padding (1,0,1,2)
vbox:
@ -227,6 +321,7 @@ screen flag_button(item, yoffset, origin):
add NOT_UNLOCKED_COVER
screen view_movie(item, _origin):
tag menu
key "game_menu" action _origin
@ -242,14 +337,16 @@ view_image, Loads the image in fullscreen with viewport control.
"""
screen view_image(item, _origin, zoom = zoom_arr.index(1.0), flag='a'):
python:
#_origin = Show('cg_gallery_0', 0, _origin)
zoom_a = zoom+1
zoom_a_f = ShowMenu('view_image_'+flag, item, _origin, zoom_a)
zoom_b = zoom-1
zoom_b_f = ShowMenu('view_image_'+flag, item, _origin, zoom_b)
tag menu
key "game_menu" action _origin
key "button_alternate" action _origin
key "game_menu" action [Hide('view_image'), _origin ] #Show('cg_gallery_0')] #_origin
key "button_alternate" action [Hide('view_image'), _origin ] # Show('cg_gallery_0')]
#key "button_alternate" action _origin
# mousewheel & insert+delete
if (ALLOW_ZOOM):

137
game/src/credits.rpy Normal file
View File

@ -0,0 +1,137 @@
init python:
#don't do a halo infinite moment
#hard code the header & footer
#then iterate the list_credits
list_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',
],
_('Translators (Spanish):'): [
'Queso2033 Anon',
'TheShadowTrAnon'
],
_('Proofreader (Spanish):'): [
'ElBan Anón',
'GMAnon'
],
_('Asset help (Spanish):'): [
'Arkiangelo 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 = 26*3+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*12))
textlist.append(Text(_("developed in Ren'py"), size=SIZE_ENTRY, **alignargs))
textlist.append(Null(1, 16*12))
for key, arr in list_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))
textlist.append(Text(_("T H E E N D"), size=SIZE_ENDER, **alignargs))
textlist.append(Null(1, 16*18))
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)
#
#slack: 2000
image s_credits = Composite(
(1920, 11000+1000),
(0, 0), "credits_base",
(0, 0), "credits_hbox",
(0, 10060+1000), "d_sketch"
)
label test_credits:
"test"
show s_credits at Pan((0, -500),(0, 9850+1000), 65) with fade
#show credits_hbox at Pan((0, -500),(0, 9850), 65) with fade
pause
scene black with Dissolve(3)

104
game/src/definitions.rpy Normal file
View File

@ -0,0 +1,104 @@
#dpromdance
# fang full body
init 1 python:
renpy.image('fang_thumb', Movie('images/animations/fang tail.webm'))
renpy.image('fullbody_hallpass', Composite(
(1920, 1080),
(0, 0), 'roof day',
(0, 0), 'hallpass')
)
renpy.image('fullbody_hallpass', Composite(
(1920, 1080),
(0, 0), 'roof day',
(0, 0), 'hallpass')
)
renpy.image('fullbody_fangguitar', Composite(
(1920, 1080),
(0, 0), 'fangroom',
(0, 0), 'fangguitar')
)
#full body fang anon wombo
renpy.image('fullbody_fangarm', Composite(
(1920, 1080),
(0, 0), 'room anon day alt', #check
(0, 47), Transform('fangarm', xsize=1920, fit='cover'))
)
renpy.image('fullbody_fanganonguitar', Composite(
(1920, 1080),
(0, 0), 'fangroom',
(213, 0), 'fanganonguitar')
)
#path to true ending only
renpy.image('fullbody_fanganonhug', Composite(
(1920, 1080),
(0, 0), 'roof day',
(0, 0), 'fanganonhug')
)
#crops
renpy.image('fullbody_kissu1', Composite(
(1920, 1080),
(0, 0), 'room anon night',
(0, 0), Transform('kissu1', crop=(49, 0, 1920, 1080)))
)
renpy.image('fullbody_kissu2', Composite(
(1920, 1080),
(0, 0), 'room anon day',
(213, 0), 'kissu2')
)
# ENDING 4
renpy.image('fullbody_dpromdance', Composite(
(1920, 1080),
(0, 0), 'park_night',
(0, 0), 'dpromdance')
)
renpy.image('fullbody_christmas', Composite(
(1920, 1080),
(0, 0), 'room anon day',
(0, 0), 'anonchristmasmorning')
)
# ENDING 3
renpy.image('fullbody_c06', Composite(
(1920, 1080),
(0, 0), 'park night',
(0, 0), 'c06')
)
renpy.image('fullbody_c07', Composite(
(1920, 1080),
(0, 0), 'park night',
(0, 0), 'c07')
)
renpy.image('fullbody_c09', Composite(
(1920, 1080),
(0, 0), 'city morning',
(0, 0), 'c09')
)
# ENDING 1
renpy.image('fullbody_fang_shooter', Composite(
(1920, 1080),
(0, 0), Transform('shooterroof', xsize=1920, fit='cover'),
(0, 0), Transform('fang shooter', crop=(0,0,1920,1080)))
)

View File

@ -0,0 +1,27 @@
{
"tabs":[
{
"tab_name": "Full body Fang",
"items": [
{ "name": "hallpass", "image": "fullbody_hallpass" },
{ "name": "fangguitar", "image": "fullbody_fangguitar" },
{ "name": "fangshooter", "image": "fullbody_fang_shooter" }
]
},
{
"tab_name": "Full body Fang & Anon",
"items": [
{ "name": "fanganonhug", "image": "fullbody_fanganonhug" },
{ "name": "fanganonguitar", "image": "fullbody_fanganonguitar" },
{ "name": "fangarm", "image": "fullbody_fangarm" },
{ "name": "kissu1", "image": "fullbody_kissu1" },
{ "name": "kissu2", "image": "fullbody_kissu2" },
{ "name": "c06", "image": "fullbody_c06" },
{ "name": "c07", "image": "fullbody_c07" },
{ "name": "c09", "image": "fullbody_c09" },
{ "name": "anonchristmasmorning", "image": "fullbody_christmas" }
]
}
]
}

View File

@ -67,7 +67,7 @@ screen mod_menu():
#buttons are messed up but that's ok
use mod_menu_button("gui/button/menubuttons/template_idle.png", "Return", ShowMenu("main_menu"))
if len(mod_menu_access) is not 0:
if len(mod_menu_access) != 0:
use mod_menu_buttons("gui/button/menubuttons/template_idle.png", mod_menu_access )
else:
use mod_menu_button("gui/button/menubuttons/template_idle.png", "You have no mods", None)

12
game/src/splashscreen.rpy Normal file
View File

@ -0,0 +1,12 @@
label splashscreen:
$ persistent.splashtype = random.randint(0,2000 - 1)
$ renpy.movie_cutscene("images/intros/CaveManonProductions.webm")
if (persistent.languaged_up is None):
$ persistent.languaged_up = True
call screen translator_popup
return

230
game/src/translation.rpy Normal file
View File

@ -0,0 +1,230 @@
init offset = -1
"""
In absolute hindsight, this could have been done very similar to bonus flash image
instead of the dynamic displayable stuff
"""
init python:
list_langs_buttons = [
{'image': 'gui/flag/USofA.png', 'name': 'English', 'value': None },
{'image': 'gui/flag/Mexico.png', 'name': 'Español', 'value': 'es'}
]
class LangCave: #todo: think of a better name
FPS = 1/60 #todo: fetch the actual target render framerate
#GRID_ROWS_COLS_TUPLE = (4, (len(list_langs_buttons)//4))
MAX_ITEMS_IN_ROW = 4 #column as well
GRID_ROWS_COLS_TUPLE = (MAX_ITEMS_IN_ROW,
len(list_langs_buttons)//MAX_ITEMS_IN_ROW + 1*((len(list_langs_buttons)%MAX_ITEMS_IN_ROW)>0))
lang_buttons = []
final_displayable = None
on_disable_interactable = False
LARGE_SIZE = (320, 240)
LARGE_SPACING = (80, 40)
SMALL_SIZE = (LARGE_SIZE[0]//3, LARGE_SIZE[1]//3)
SMALL_SPACING = (LARGE_SPACING[0]//2, LARGE_SPACING[1]//2)
class LangButton(renpy.Displayable):
def __init__(self, v, child, **kwargs):
super(LangCave.LangButton, self).__init__(**kwargs)
#self.childs = []
self.child = renpy.displayable(child)
# self.childs.append(child)
self.width = 0#w
self.height = 0#h
self.value = v
self.hover = True #renpy can't handle not/!
self.selected = False
def render(self, width, height, st, at):
root_render = renpy.Render(self.width, self.height) #canvas
args = {}
if (self.hover):
args = {'matrixcolor': TintMatrix("#AAA")}
if (LangCave.on_disable_interactable == False and self.selected):
args = {}
#force rendering to get width and height
self.width, self.height = renpy.render(Transform(child=self.child), 0, 0, 0.0, 0.0).get_size()
#for ch in self.childs: #draw every child
t = Transform(child=self.child, **args)
child_render = renpy.render(t, self.width, self.height, st, at)
root_render.blit(child_render, (0, 0))
return root_render
def event(self, ev, ex, ey, st): #getting clicked on
global LangCave
oldhover = self.hover
if ((ex > 0 and ey > 0) and (ex < self.width and ey < self.height)):
self.hover = False
if (renpy.map_event(ev, 'mouseup_1')): #1026
for lb in LangCave.lang_buttons:
lb.selected = False
self.selected = True
onclick_audio(True)
self.value() #todo: change to function, as value doesn't make sense
if LangCave.on_disable_interactable:
LangCave.on_disable_interactable = False
LangCave.recreate_lang_buttons_roulette_style(LangCave.SMALL_SIZE) #mostly going to happen
renpy.end_interaction(0)
for lb in LangCave.lang_buttons:
renpy.redraw(lb, 0)
else:
self.hover = True
pass
if self.hover == oldhover: #refresh on change
renpy.redraw(self, 0)
def visit(self):
return [self.child]
@staticmethod
def render_langcave(st, at):
global LangCave
return LangCave.final_displayable, LangCave.FPS
pass
@staticmethod
def procreate_lang_buttons(size, spacing):
"""
size: tuple
"""
global LangCave
LangCave.lang_buttons.clear()
for llb in list_langs_buttons:
tfi = Transform(Image(llb['image']), xysize=size, fit='contain', yalign=0.5)
#solid = Solid((22,22,22), xysize=size)
# = Solid((22,22,22), xysize=size)
_button = Fixed(tfi, xysize=size)
lang = Language(llb['value'])
button = LangCave.LangButton(lang, _button)
LangCave.on_disable_interactable = True
text = Text(llb['name'], outlines=[(2, "#000", 0, 0)], xalign=0.5)
final = VBox(text, button, style_prefix="navigation")
LangCave.lang_buttons.append(final)
#prevent underfill
remainder = len(list_langs_buttons)%LangCave.MAX_ITEMS_IN_ROW
for x in range(4-remainder):
n = Null(*size)
LangCave.lang_buttons.append(n)
LangCave.final_displayable = Grid(*LangCave.GRID_ROWS_COLS_TUPLE, *LangCave.lang_buttons,
xspacing=spacing[0], yspacing=spacing[1])
pass
@staticmethod
def recreate_lang_buttons_roulette_style(size, spacing=0):
global LangCave
LangCave.lang_buttons.clear()
LangCave.on_disable_interactable = False
for llb in list_langs_buttons:
tfi = Transform(Image(llb['image']), xsize=size[0], ysize=size[1], fit='contain', yalign=0.5)
#solid = Solid((22,22,22), xysize=(size))
_button = Fixed(tfi, xysize=(size))
text = Text(llb['name'], outlines=[(2, "#000", 0, 0)], xalign=0.5, text_size=16, yalign=0.5) #todo: text_size away
penultimate = HBox(text, _button, style_prefix="navigation", spacing=20)
#print(dir(penultimate))
lang = Language(llb['value'])
button = LangCave.LangButton(lang, penultimate)
if (_preferences.language == llb['value']):
button.selected = True
LangCave.lang_buttons.append(button)
LangCave.final_displayable = VBox(*LangCave.lang_buttons, spacing=spacing)
pass
if (persistent.languaged_up is None):
LangCave.procreate_lang_buttons(LangCave.LARGE_SIZE, LangCave.LARGE_SPACING)
else:
LangCave.recreate_lang_buttons_roulette_style(LangCave.SMALL_SIZE) #mostly going to happen
screen lang_buttons(filename_label_functions):
for f_l_f in filename_label_functions:
use lang_button(f_l_f[0], f_l_f[1], f_l_f[2])
screen lang_button(filename, label, function):
button:
xsize 360
ysize 240
action [function, Return()]
activate_sound "audio/ui/uiClick.wav"
#hovered Transform(matrixcolor=TintMatrix('#fff'))
fixed:
xsize 360
ysize 240
#xfit True
#yfit True
#fit_first 'height'
add "#222" xsize 360 ysize 240
add Transform(Image(filename), xsize=360, fit='contain', yalign=0.5)
text label xalign 0.5 yalign 0.0 xanchor 0.5 size 22 style "quick_button_text"
screen _translator_popup:
tag menu
add gui.main_menu_background
#add gui.game_menu_background
vbox:
style_prefix "navigation"
hbox:
label _("Choose Your Language")
grid 2 1: #hardcoded for now
spacing 20
use lang_buttons(list_langs_buttons)
screen translator_popup:
tag menu
frame:
#background gui.main_menu_background
background Transform(gui.main_menu_background, matrixcolor=TintMatrix('#222'))
padding (120, 40)
vbox:
style_prefix "navigation"
hbox:
label _("Choose Your Language") text_size 80
hbox:
add Null(80, 40)
add DynamicDisplayable(LangCave.render_langcave)
screen translator_roulette:
vbox:
label _("Language")
style_prefix "check"
add DynamicDisplayable(LangCave.render_langcave)

View File

@ -55,30 +55,37 @@ label storyline:
return
image b_credits = Composite(
(1920, 11000),
(0, 0), "credits",
(0, 10410), "b_sketch")
(1920, 11000+3000),
(0, 0), "credits_base",
(0, 0), "credits_hbox",
(0, 10060+3000), "b_sketch"
)
image c_credits = Composite(
(1920, 11000),
(0, 0), "credits",
(0, 10410), "c_sketch")
(1920, 11000+3000),
(0, 0), "credits_base",
(0, 0), "credits_hbox",
(0, 10060+3000), "c_sketch"
)
image d_credits = Composite(
(1920, 11000),
(0, 0), "credits",
(0, 10410), "d_sketch")
(1920, 11000+3000),
(0, 0), "credits_base",
(0, 0), "credits_hbox",
(0, 10060+3000), "d_sketch"
)
label .ending:
call get_ending
if _return == 4:
show d_credits at Pan((0, -500),(0, 9850), 65) with fade
show d_credits at Pan((0, -800),(0, 9850+3000), 65) with fade
elif _return == 3:
play music "audio/OST/Dino Destiny Reader.ogg"
show c_credits at Pan((0, -500),(0, 9850), 65) with fade
show c_credits at Pan((0, -800),(0, 9850+3000), 65) with fade
else:
play music "audio/OST/Dino Destiny Reader.ogg"
show b_credits at Pan((0, -500),(0, 9850), 65) with fade
show b_credits at Pan((0, -800),(0, 9850+3000), 65) with fade
pause
stop music fadeout 5
scene black with Dissolve(3)
@ -89,7 +96,7 @@ label .ending:
scene black with Dissolve(2)
pause 1
elif anonscore >= 4 and fangscore >= 4:
scene ending_d_cg with Dissolve(1.5)
scene golden ending with Dissolve(1.5)
pause 20
scene black with Dissolve(2)
pause 1

8
game/tl/es/common.rpy Normal file
View File

@ -0,0 +1,8 @@
# TODO: Translation updated at 2022-10-21 13:48
translate es strings:
# renpy/common/00accessibility.rpy:28
old "Self-voicing disabled."
new "Self-voicing disabled."

984
game/tl/test/common.rpy Normal file
View File

@ -0,0 +1,984 @@
# TODO: Translation updated at 2022-10-21 13:48
translate test strings:
# renpy/common/00accessibility.rpy:28
old "Self-voicing disabled."
new "Self-voicing disabled."
# renpy/common/00accessibility.rpy:29
old "Clipboard voicing enabled. "
new "Clipboard voicing enabled. "
# renpy/common/00accessibility.rpy:30
old "Self-voicing enabled. "
new "Self-voicing enabled. "
# renpy/common/00accessibility.rpy:32
old "bar"
new "bar"
# renpy/common/00accessibility.rpy:33
old "selected"
new "selected"
# renpy/common/00accessibility.rpy:34
old "viewport"
new "viewport"
# renpy/common/00accessibility.rpy:35
old "horizontal scroll"
new "horizontal scroll"
# renpy/common/00accessibility.rpy:36
old "vertical scroll"
new "vertical scroll"
# renpy/common/00accessibility.rpy:37
old "activate"
new "activate"
# renpy/common/00accessibility.rpy:38
old "deactivate"
new "deactivate"
# renpy/common/00accessibility.rpy:39
old "increase"
new "increase"
# renpy/common/00accessibility.rpy:40
old "decrease"
new "decrease"
# renpy/common/00accessibility.rpy:138
old "Font Override"
new "Font Override"
# renpy/common/00accessibility.rpy:142
old "Default"
new "Default"
# renpy/common/00accessibility.rpy:146
old "DejaVu Sans"
new "DejaVu Sans"
# renpy/common/00accessibility.rpy:150
old "Opendyslexic"
new "Opendyslexic"
# renpy/common/00accessibility.rpy:156
old "Text Size Scaling"
new "Text Size Scaling"
# renpy/common/00accessibility.rpy:168
old "Line Spacing Scaling"
new "Line Spacing Scaling"
# renpy/common/00accessibility.rpy:180
old "High Contrast Text"
new "High Contrast Text"
# renpy/common/00accessibility.rpy:182
old "Enable"
new "Enable"
# renpy/common/00accessibility.rpy:193
old "Self-Voicing"
new "Self-Voicing"
# renpy/common/00accessibility.rpy:197
old "Off"
new "Off"
# renpy/common/00accessibility.rpy:201
old "Text-to-speech"
new "Text-to-speech"
# renpy/common/00accessibility.rpy:205
old "Clipboard"
new "Clipboard"
# renpy/common/00accessibility.rpy:209
old "Debug"
new "Debug"
# renpy/common/00accessibility.rpy:215
old "Self-Voicing Volume Drop"
new "Self-Voicing Volume Drop"
# renpy/common/00accessibility.rpy:224
old "The options on this menu are intended to improve accessibility. They may not work with all games, and some combinations of options may render the game unplayable. This is not an issue with the game or engine. For the best results when changing fonts, try to keep the text size the same as it originally was."
new "The options on this menu are intended to improve accessibility. They may not work with all games, and some combinations of options may render the game unplayable. This is not an issue with the game or engine. For the best results when changing fonts, try to keep the text size the same as it originally was."
# renpy/common/00action_file.rpy:26
old "{#weekday}Monday"
new "{#weekday}Monday"
# renpy/common/00action_file.rpy:26
old "{#weekday}Tuesday"
new "{#weekday}Tuesday"
# renpy/common/00action_file.rpy:26
old "{#weekday}Wednesday"
new "{#weekday}Wednesday"
# renpy/common/00action_file.rpy:26
old "{#weekday}Thursday"
new "{#weekday}Thursday"
# renpy/common/00action_file.rpy:26
old "{#weekday}Friday"
new "{#weekday}Friday"
# renpy/common/00action_file.rpy:26
old "{#weekday}Saturday"
new "{#weekday}Saturday"
# renpy/common/00action_file.rpy:26
old "{#weekday}Sunday"
new "{#weekday}Sunday"
# renpy/common/00action_file.rpy:37
old "{#weekday_short}Mon"
new "{#weekday_short}Mon"
# renpy/common/00action_file.rpy:37
old "{#weekday_short}Tue"
new "{#weekday_short}Tue"
# renpy/common/00action_file.rpy:37
old "{#weekday_short}Wed"
new "{#weekday_short}Wed"
# renpy/common/00action_file.rpy:37
old "{#weekday_short}Thu"
new "{#weekday_short}Thu"
# renpy/common/00action_file.rpy:37
old "{#weekday_short}Fri"
new "{#weekday_short}Fri"
# renpy/common/00action_file.rpy:37
old "{#weekday_short}Sat"
new "{#weekday_short}Sat"
# renpy/common/00action_file.rpy:37
old "{#weekday_short}Sun"
new "{#weekday_short}Sun"
# renpy/common/00action_file.rpy:47
old "{#month}January"
new "{#month}January"
# renpy/common/00action_file.rpy:47
old "{#month}February"
new "{#month}February"
# renpy/common/00action_file.rpy:47
old "{#month}March"
new "{#month}March"
# renpy/common/00action_file.rpy:47
old "{#month}April"
new "{#month}April"
# renpy/common/00action_file.rpy:47
old "{#month}May"
new "{#month}May"
# renpy/common/00action_file.rpy:47
old "{#month}June"
new "{#month}June"
# renpy/common/00action_file.rpy:47
old "{#month}July"
new "{#month}July"
# renpy/common/00action_file.rpy:47
old "{#month}August"
new "{#month}August"
# renpy/common/00action_file.rpy:47
old "{#month}September"
new "{#month}September"
# renpy/common/00action_file.rpy:47
old "{#month}October"
new "{#month}October"
# renpy/common/00action_file.rpy:47
old "{#month}November"
new "{#month}November"
# renpy/common/00action_file.rpy:47
old "{#month}December"
new "{#month}December"
# renpy/common/00action_file.rpy:63
old "{#month_short}Jan"
new "{#month_short}Jan"
# renpy/common/00action_file.rpy:63
old "{#month_short}Feb"
new "{#month_short}Feb"
# renpy/common/00action_file.rpy:63
old "{#month_short}Mar"
new "{#month_short}Mar"
# renpy/common/00action_file.rpy:63
old "{#month_short}Apr"
new "{#month_short}Apr"
# renpy/common/00action_file.rpy:63
old "{#month_short}May"
new "{#month_short}May"
# renpy/common/00action_file.rpy:63
old "{#month_short}Jun"
new "{#month_short}Jun"
# renpy/common/00action_file.rpy:63
old "{#month_short}Jul"
new "{#month_short}Jul"
# renpy/common/00action_file.rpy:63
old "{#month_short}Aug"
new "{#month_short}Aug"
# renpy/common/00action_file.rpy:63
old "{#month_short}Sep"
new "{#month_short}Sep"
# renpy/common/00action_file.rpy:63
old "{#month_short}Oct"
new "{#month_short}Oct"
# renpy/common/00action_file.rpy:63
old "{#month_short}Nov"
new "{#month_short}Nov"
# renpy/common/00action_file.rpy:63
old "{#month_short}Dec"
new "{#month_short}Dec"
# renpy/common/00action_file.rpy:250
old "%b %d, %H:%M"
new "%b %d, %H:%M"
# renpy/common/00action_file.rpy:364
old "Save slot %s: [text]"
new "Save slot %s: [text]"
# renpy/common/00action_file.rpy:445
old "Load slot %s: [text]"
new "Load slot %s: [text]"
# renpy/common/00action_file.rpy:498
old "Delete slot [text]"
new "Delete slot [text]"
# renpy/common/00action_file.rpy:577
old "File page auto"
new "File page auto"
# renpy/common/00action_file.rpy:579
old "File page quick"
new "File page quick"
# renpy/common/00action_file.rpy:581
old "File page [text]"
new "File page [text]"
# renpy/common/00action_file.rpy:780
old "Next file page."
new "Next file page."
# renpy/common/00action_file.rpy:852
old "Previous file page."
new "Previous file page."
# renpy/common/00action_file.rpy:913
old "Quick save complete."
new "Quick save complete."
# renpy/common/00action_file.rpy:931
old "Quick save."
new "Quick save."
# renpy/common/00action_file.rpy:950
old "Quick load."
new "Quick load."
# renpy/common/00action_other.rpy:381
old "Language [text]"
new "Language [text]"
# renpy/common/00action_other.rpy:703
old "Open [text] directory."
new "Open [text] directory."
# renpy/common/00director.rpy:708
old "The interactive director is not enabled here."
new "The interactive director is not enabled here."
# renpy/common/00director.rpy:1481
old "⬆"
new "⬆"
# renpy/common/00director.rpy:1487
old "⬇"
new "⬇"
# renpy/common/00director.rpy:1551
old "Done"
new "Done"
# renpy/common/00director.rpy:1561
old "(statement)"
new "(statement)"
# renpy/common/00director.rpy:1562
old "(tag)"
new "(tag)"
# renpy/common/00director.rpy:1563
old "(attributes)"
new "(attributes)"
# renpy/common/00director.rpy:1564
old "(transform)"
new "(transform)"
# renpy/common/00director.rpy:1589
old "(transition)"
new "(transition)"
# renpy/common/00director.rpy:1601
old "(channel)"
new "(channel)"
# renpy/common/00director.rpy:1602
old "(filename)"
new "(filename)"
# renpy/common/00director.rpy:1631
old "Change"
new "Change"
# renpy/common/00director.rpy:1633
old "Add"
new "Add"
# renpy/common/00director.rpy:1636
old "Cancel"
new "Cancel"
# renpy/common/00director.rpy:1639
old "Remove"
new "Remove"
# renpy/common/00director.rpy:1674
old "Statement:"
new "Statement:"
# renpy/common/00director.rpy:1695
old "Tag:"
new "Tag:"
# renpy/common/00director.rpy:1711
old "Attributes:"
new "Attributes:"
# renpy/common/00director.rpy:1729
old "Transforms:"
new "Transforms:"
# renpy/common/00director.rpy:1748
old "Behind:"
new "Behind:"
# renpy/common/00director.rpy:1767
old "Transition:"
new "Transition:"
# renpy/common/00director.rpy:1785
old "Channel:"
new "Channel:"
# renpy/common/00director.rpy:1803
old "Audio Filename:"
new "Audio Filename:"
# renpy/common/00gui.rpy:445
old "Are you sure?"
new "Are you sure?"
# renpy/common/00gui.rpy:446
old "Are you sure you want to delete this save?"
new "Are you sure you want to delete this save?"
# renpy/common/00gui.rpy:447
old "Are you sure you want to overwrite your save?"
new "Are you sure you want to overwrite your save?"
# renpy/common/00gui.rpy:448
old "Loading will lose unsaved progress.\nAre you sure you want to do this?"
new "Loading will lose unsaved progress.\nAre you sure you want to do this?"
# renpy/common/00gui.rpy:449
old "Are you sure you want to quit?"
new "Are you sure you want to quit?"
# renpy/common/00gui.rpy:450
old "Are you sure you want to return to the main menu?\nThis will lose unsaved progress."
new "Are you sure you want to return to the main menu?\nThis will lose unsaved progress."
# renpy/common/00gui.rpy:451
old "Are you sure you want to end the replay?"
new "Are you sure you want to end the replay?"
# renpy/common/00gui.rpy:452
old "Are you sure you want to begin skipping?"
new "Are you sure you want to begin skipping?"
# renpy/common/00gui.rpy:453
old "Are you sure you want to skip to the next choice?"
new "Are you sure you want to skip to the next choice?"
# renpy/common/00gui.rpy:454
old "Are you sure you want to skip unseen dialogue to the next choice?"
new "Are you sure you want to skip unseen dialogue to the next choice?"
# renpy/common/00keymap.rpy:310
old "Failed to save screenshot as %s."
new "Failed to save screenshot as %s."
# renpy/common/00keymap.rpy:322
old "Saved screenshot as %s."
new "Saved screenshot as %s."
# renpy/common/00library.rpy:230
old "Skip Mode"
new "Skip Mode"
# renpy/common/00library.rpy:316
old "This program contains free software under a number of licenses, including the MIT License and GNU Lesser General Public License. A complete list of software, including links to full source code, can be found {a=https://www.renpy.org/l/license}here{/a}."
new "This program contains free software under a number of licenses, including the MIT License and GNU Lesser General Public License. A complete list of software, including links to full source code, can be found {a=https://www.renpy.org/l/license}here{/a}."
# renpy/common/00preferences.rpy:259
old "display"
new "display"
# renpy/common/00preferences.rpy:271
old "transitions"
new "transitions"
# renpy/common/00preferences.rpy:280
old "skip transitions"
new "skip transitions"
# renpy/common/00preferences.rpy:282
old "video sprites"
new "video sprites"
# renpy/common/00preferences.rpy:291
old "show empty window"
new "show empty window"
# renpy/common/00preferences.rpy:300
old "text speed"
new "text speed"
# renpy/common/00preferences.rpy:308
old "joystick"
new "joystick"
# renpy/common/00preferences.rpy:308
old "joystick..."
new "joystick..."
# renpy/common/00preferences.rpy:315
old "skip"
new "skip"
# renpy/common/00preferences.rpy:318
old "skip unseen [text]"
new "skip unseen [text]"
# renpy/common/00preferences.rpy:323
old "skip unseen text"
new "skip unseen text"
# renpy/common/00preferences.rpy:325
old "begin skipping"
new "begin skipping"
# renpy/common/00preferences.rpy:329
old "after choices"
new "after choices"
# renpy/common/00preferences.rpy:336
old "skip after choices"
new "skip after choices"
# renpy/common/00preferences.rpy:338
old "auto-forward time"
new "auto-forward time"
# renpy/common/00preferences.rpy:352
old "auto-forward"
new "auto-forward"
# renpy/common/00preferences.rpy:359
old "Auto forward"
new "Auto forward"
# renpy/common/00preferences.rpy:362
old "auto-forward after click"
new "auto-forward after click"
# renpy/common/00preferences.rpy:371
old "automatic move"
new "automatic move"
# renpy/common/00preferences.rpy:380
old "wait for voice"
new "wait for voice"
# renpy/common/00preferences.rpy:389
old "voice sustain"
new "voice sustain"
# renpy/common/00preferences.rpy:398
old "self voicing"
new "self voicing"
# renpy/common/00preferences.rpy:407
old "self voicing volume drop"
new "self voicing volume drop"
# renpy/common/00preferences.rpy:415
old "clipboard voicing"
new "clipboard voicing"
# renpy/common/00preferences.rpy:424
old "debug voicing"
new "debug voicing"
# renpy/common/00preferences.rpy:433
old "emphasize audio"
new "emphasize audio"
# renpy/common/00preferences.rpy:442
old "rollback side"
new "rollback side"
# renpy/common/00preferences.rpy:452
old "gl powersave"
new "gl powersave"
# renpy/common/00preferences.rpy:458
old "gl framerate"
new "gl framerate"
# renpy/common/00preferences.rpy:461
old "gl tearing"
new "gl tearing"
# renpy/common/00preferences.rpy:464
old "font transform"
new "font transform"
# renpy/common/00preferences.rpy:467
old "font size"
new "font size"
# renpy/common/00preferences.rpy:475
old "font line spacing"
new "font line spacing"
# renpy/common/00preferences.rpy:483
old "system cursor"
new "system cursor"
# renpy/common/00preferences.rpy:492
old "renderer menu"
new "renderer menu"
# renpy/common/00preferences.rpy:495
old "accessibility menu"
new "accessibility menu"
# renpy/common/00preferences.rpy:498
old "high contrast text"
new "high contrast text"
# renpy/common/00preferences.rpy:507
old "audio when minimized"
new "audio when minimized"
# renpy/common/00preferences.rpy:527
old "main volume"
new "main volume"
# renpy/common/00preferences.rpy:528
old "music volume"
new "music volume"
# renpy/common/00preferences.rpy:529
old "sound volume"
new "sound volume"
# renpy/common/00preferences.rpy:530
old "voice volume"
new "voice volume"
# renpy/common/00preferences.rpy:531
old "mute main"
new "mute main"
# renpy/common/00preferences.rpy:532
old "mute music"
new "mute music"
# renpy/common/00preferences.rpy:533
old "mute sound"
new "mute sound"
# renpy/common/00preferences.rpy:534
old "mute voice"
new "mute voice"
# renpy/common/00preferences.rpy:535
old "mute all"
new "mute all"
# renpy/common/00preferences.rpy:616
old "Clipboard voicing enabled. Press 'shift+C' to disable."
new "Clipboard voicing enabled. Press 'shift+C' to disable."
# renpy/common/00preferences.rpy:618
old "Self-voicing would say \"[renpy.display.tts.last]\". Press 'alt+shift+V' to disable."
new "Self-voicing would say \"[renpy.display.tts.last]\". Press 'alt+shift+V' to disable."
# renpy/common/00preferences.rpy:620
old "Self-voicing enabled. Press 'v' to disable."
new "Self-voicing enabled. Press 'v' to disable."
# renpy/common/00iap.rpy:219
old "Contacting App Store\nPlease Wait..."
new "Contacting App Store\nPlease Wait..."
# renpy/common/00updater.rpy:419
old "The Ren'Py Updater is not supported on mobile devices."
new "The Ren'Py Updater is not supported on mobile devices."
# renpy/common/00updater.rpy:548
old "An error is being simulated."
new "An error is being simulated."
# renpy/common/00updater.rpy:738
old "Either this project does not support updating, or the update status file was deleted."
new "Either this project does not support updating, or the update status file was deleted."
# renpy/common/00updater.rpy:752
old "This account does not have permission to perform an update."
new "This account does not have permission to perform an update."
# renpy/common/00updater.rpy:755
old "This account does not have permission to write the update log."
new "This account does not have permission to write the update log."
# renpy/common/00updater.rpy:783
old "Could not verify update signature."
new "Could not verify update signature."
# renpy/common/00updater.rpy:1084
old "The update file was not downloaded."
new "The update file was not downloaded."
# renpy/common/00updater.rpy:1102
old "The update file does not have the correct digest - it may have been corrupted."
new "The update file does not have the correct digest - it may have been corrupted."
# renpy/common/00updater.rpy:1252
old "While unpacking {}, unknown type {}."
new "While unpacking {}, unknown type {}."
# renpy/common/00updater.rpy:1624
old "Updater"
new "Updater"
# renpy/common/00updater.rpy:1631
old "An error has occured:"
new "An error has occured:"
# renpy/common/00updater.rpy:1633
old "Checking for updates."
new "Checking for updates."
# renpy/common/00updater.rpy:1635
old "This program is up to date."
new "This program is up to date."
# renpy/common/00updater.rpy:1637
old "[u.version] is available. Do you want to install it?"
new "[u.version] is available. Do you want to install it?"
# renpy/common/00updater.rpy:1639
old "Preparing to download the updates."
new "Preparing to download the updates."
# renpy/common/00updater.rpy:1641
old "Downloading the updates."
new "Downloading the updates."
# renpy/common/00updater.rpy:1643
old "Unpacking the updates."
new "Unpacking the updates."
# renpy/common/00updater.rpy:1645
old "Finishing up."
new "Finishing up."
# renpy/common/00updater.rpy:1647
old "The updates have been installed. The program will restart."
new "The updates have been installed. The program will restart."
# renpy/common/00updater.rpy:1649
old "The updates have been installed."
new "The updates have been installed."
# renpy/common/00updater.rpy:1651
old "The updates were cancelled."
new "The updates were cancelled."
# renpy/common/00updater.rpy:1666
old "Proceed"
new "Proceed"
# renpy/common/00gallery.rpy:627
old "Image [index] of [count] locked."
new "Image [index] of [count] locked."
# renpy/common/00gallery.rpy:647
old "prev"
new "prev"
# renpy/common/00gallery.rpy:648
old "next"
new "next"
# renpy/common/00gallery.rpy:649
old "slideshow"
new "slideshow"
# renpy/common/00gallery.rpy:650
old "return"
new "return"
# renpy/common/00gltest.rpy:89
old "Renderer"
new "Renderer"
# renpy/common/00gltest.rpy:93
old "Automatically Choose"
new "Automatically Choose"
# renpy/common/00gltest.rpy:100
old "Force GL Renderer"
new "Force GL Renderer"
# renpy/common/00gltest.rpy:105
old "Force ANGLE Renderer"
new "Force ANGLE Renderer"
# renpy/common/00gltest.rpy:110
old "Force GLES Renderer"
new "Force GLES Renderer"
# renpy/common/00gltest.rpy:116
old "Force GL2 Renderer"
new "Force GL2 Renderer"
# renpy/common/00gltest.rpy:121
old "Force ANGLE2 Renderer"
new "Force ANGLE2 Renderer"
# renpy/common/00gltest.rpy:126
old "Force GLES2 Renderer"
new "Force GLES2 Renderer"
# renpy/common/00gltest.rpy:136
old "Enable (No Blocklist)"
new "Enable (No Blocklist)"
# renpy/common/00gltest.rpy:159
old "Powersave"
new "Powersave"
# renpy/common/00gltest.rpy:173
old "Framerate"
new "Framerate"
# renpy/common/00gltest.rpy:177
old "Screen"
new "Screen"
# renpy/common/00gltest.rpy:181
old "60"
new "60"
# renpy/common/00gltest.rpy:185
old "30"
new "30"
# renpy/common/00gltest.rpy:191
old "Tearing"
new "Tearing"
# renpy/common/00gltest.rpy:207
old "Changes will take effect the next time this program is run."
new "Changes will take effect the next time this program is run."
# renpy/common/00gltest.rpy:214
old "Quit"
new "Quit"
# renpy/common/00gltest.rpy:242
old "Performance Warning"
new "Performance Warning"
# renpy/common/00gltest.rpy:247
old "This computer is using software rendering."
new "This computer is using software rendering."
# renpy/common/00gltest.rpy:249
old "This game requires use of GL2 that can't be initialised."
new "This game requires use of GL2 that can't be initialised."
# renpy/common/00gltest.rpy:251
old "This computer has a problem displaying graphics: [problem]."
new "This computer has a problem displaying graphics: [problem]."
# renpy/common/00gltest.rpy:255
old "Its graphics drivers may be out of date or not operating correctly. This can lead to slow or incorrect graphics display."
new "Its graphics drivers may be out of date or not operating correctly. This can lead to slow or incorrect graphics display."
# renpy/common/00gltest.rpy:259
old "The {a=edit:1:log.txt}log.txt{/a} file may contain information to help you determine what is wrong with your computer."
new "The {a=edit:1:log.txt}log.txt{/a} file may contain information to help you determine what is wrong with your computer."
# renpy/common/00gltest.rpy:264
old "More details on how to fix this can be found in the {a=[url]}documentation{/a}."
new "More details on how to fix this can be found in the {a=[url]}documentation{/a}."
# renpy/common/00gltest.rpy:269
old "Continue, Show this warning again"
new "Continue, Show this warning again"
# renpy/common/00gltest.rpy:273
old "Continue, Don't show warning again"
new "Continue, Don't show warning again"
# renpy/common/00gltest.rpy:281
old "Change render options"
new "Change render options"
# renpy/common/00gamepad.rpy:32
old "Select Gamepad to Calibrate"
new "Select Gamepad to Calibrate"
# renpy/common/00gamepad.rpy:35
old "No Gamepads Available"
new "No Gamepads Available"
# renpy/common/00gamepad.rpy:54
old "Calibrating [name] ([i]/[total])"
new "Calibrating [name] ([i]/[total])"
# renpy/common/00gamepad.rpy:58
old "Press or move the '[control!s]' [kind]."
new "Press or move the '[control!s]' [kind]."
# renpy/common/00gamepad.rpy:68
old "Skip (A)"
new "Skip (A)"
# renpy/common/00gamepad.rpy:71
old "Back (B)"
new "Back (B)"
# renpy/common/_errorhandling.rpym:555
old "Open"
new "Open"
# renpy/common/_errorhandling.rpym:557
old "Opens the traceback.txt file in a text editor."
new "Opens the traceback.txt file in a text editor."
# renpy/common/_errorhandling.rpym:559
old "Copy BBCode"
new "Copy BBCode"
# renpy/common/_errorhandling.rpym:561
old "Copies the traceback.txt file to the clipboard as BBcode for forums like https://lemmasoft.renai.us/."
new "Copies the traceback.txt file to the clipboard as BBcode for forums like https://lemmasoft.renai.us/."
# renpy/common/_errorhandling.rpym:563
old "Copy Markdown"
new "Copy Markdown"
# renpy/common/_errorhandling.rpym:565
old "Copies the traceback.txt file to the clipboard as Markdown for Discord."
new "Copies the traceback.txt file to the clipboard as Markdown for Discord."
# renpy/common/_errorhandling.rpym:594
old "An exception has occurred."
new "An exception has occurred."
# renpy/common/_errorhandling.rpym:617
old "Rollback"
new "Rollback"
# renpy/common/_errorhandling.rpym:619
old "Attempts a roll back to a prior time, allowing you to save or choose a different choice."
new "Attempts a roll back to a prior time, allowing you to save or choose a different choice."
# renpy/common/_errorhandling.rpym:622
old "Ignore"
new "Ignore"
# renpy/common/_errorhandling.rpym:626
old "Ignores the exception, allowing you to continue."
new "Ignores the exception, allowing you to continue."
# renpy/common/_errorhandling.rpym:628
old "Ignores the exception, allowing you to continue. This often leads to additional errors."
new "Ignores the exception, allowing you to continue. This often leads to additional errors."
# renpy/common/_errorhandling.rpym:632
old "Reload"
new "Reload"
# renpy/common/_errorhandling.rpym:634
old "Reloads the game from disk, saving and restoring game state if possible."
new "Reloads the game from disk, saving and restoring game state if possible."
# renpy/common/_errorhandling.rpym:637
old "Console"
new "Console"
# renpy/common/_errorhandling.rpym:639
old "Opens a console to allow debugging the problem."
new "Opens a console to allow debugging the problem."
# renpy/common/_errorhandling.rpym:652
old "Quits the game."
new "Quits the game."
# renpy/common/_errorhandling.rpym:673
old "Parsing the script failed."
new "Parsing the script failed."

8
game/tl/test/options.rpy Normal file
View File

@ -0,0 +1,8 @@
# TODO: Translation updated at 2022-10-21 13:48
translate test strings:
# game/options.rpy:15
old "SnootGame"
new "SnootGame"