Merge branch 'Monster-Update-6' into chapter-5-choreo

# Conflicts:
#	game/script.rpy
#	game/script/1.first-two-days-anon-meets-fang.rpy
#	game/script/2.fourth-day-of-school.rpy
#	game/script/5.fang-and-anon-cut-class-to-talk-on-the-roof.rpy
This commit is contained in:
Bowie 2021-08-02 14:38:11 +01:00
commit 8bd3a58d18
37 changed files with 2464 additions and 1943 deletions

3
.gitignore vendored
View File

@ -31,3 +31,6 @@ ehthumbs_vista.db
#backups
*.bak
#android
.android.json

BIN
android-icon_foreground.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 81 KiB

BIN
android-presplash.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 262 KiB

View File

@ -23,10 +23,10 @@ init python:
## The colors of text in the interface.
## An accent color used throughout the interface to label and highlight text.
define gui.accent_color = '#FF00FC'
define gui.accent_color = '#A2029F'
## The color used for a text button when it is neither selected nor hovered.
define gui.idle_color = '#FFFE00'
define gui.idle_color = '#D5D507'
## The small color is used for small text, which needs to be brighter/darker to
## achieve the same effect.
@ -103,6 +103,8 @@ define gui.main_menu_text_size = 60
## The images used for the main and game menus.
define gui.main_menu_background = "gui/main_menu.png"
define gui.game_menu_background = "gui/game_menu.png"
define gui.extras_submenu_background = "gui/overlay/extras_submenu.png"
define gui.extras_submenu_panel = "gui/overlay/extras_submenu_panel.png"
## Dialogue ####################################################################
##
@ -119,11 +121,9 @@ define gui.textbox_yalign = 1.0
## The placement of the speaking character's name, relative to the textbox.
## These can be a whole number of pixels from the left or top, or 0.5 to center.
define gui.name_xpos = 350
define gui.name_xpos = 395 #350
define gui.name_ypos = -85
define gui.name_large_xpos = 395
## The horizontal alignment of the character's name. This can be 0.0 for left-
## aligned, 0.5 for centered, and 1.0 for right-aligned.
define gui.name_xalign = 0.5
@ -445,14 +445,14 @@ init python:
## Font sizes.
gui.text_size = 44
gui.name_text_size = 48
gui.name_text_size = 46
gui.notify_text_size = 38
gui.interface_text_size = 45
gui.button_text_size = 45
gui.label_text_size = 51
## Namebox
gui.name_xpos = 345
gui.name_xpos = 395
gui.name_ypos = -85
## Adjust the location of the textbox.

Binary file not shown.

After

Width:  |  Height:  |  Size: 23 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 86 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 215 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 425 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 549 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 210 KiB

View File

Before

Width:  |  Height:  |  Size: 226 KiB

After

Width:  |  Height:  |  Size: 226 KiB

View File

Before

Width:  |  Height:  |  Size: 246 KiB

After

Width:  |  Height:  |  Size: 246 KiB

View File

Before

Width:  |  Height:  |  Size: 204 KiB

After

Width:  |  Height:  |  Size: 204 KiB

View File

Before

Width:  |  Height:  |  Size: 167 KiB

After

Width:  |  Height:  |  Size: 167 KiB

View File

Before

Width:  |  Height:  |  Size: 183 KiB

After

Width:  |  Height:  |  Size: 183 KiB

View File

Before

Width:  |  Height:  |  Size: 198 KiB

After

Width:  |  Height:  |  Size: 198 KiB

View File

Before

Width:  |  Height:  |  Size: 199 KiB

After

Width:  |  Height:  |  Size: 199 KiB

View File

Before

Width:  |  Height:  |  Size: 266 KiB

After

Width:  |  Height:  |  Size: 266 KiB

View File

Before

Width:  |  Height:  |  Size: 214 KiB

After

Width:  |  Height:  |  Size: 214 KiB

54
game/mods/README.md Normal file
View File

@ -0,0 +1,54 @@
The game loads an alternate storyline.rpy, this allows you to control the flow of the game's storytelling
Examples include:
- You want to inject more stuff inbetween chapters, maybe you hate time skip writing
- You want to have more of an after story kind of ordeal, for example expanding Ending 2
- You want to replace the entire story route
You can still call the vanilla game's chapters like the intro (call chapter_1) for example but you might want to either copy the vanilla scripts and mix in your edits to have full control
You will need to learn bit of Ren'Py & bit of actual Python anyways but you don't have to think too hard in learning anything new other than familiarizing with this game's script.rpy's already defined Character objects and images, you can freely ignore most of the UI and so on for the inexperienced but passionate artist and/or writer.
Textbox limitation: ~300 characters / four lines, the maximum in the vanilla game's script is around roughly ~278 and that only barely overflows to four lines, so <200 characters / three lines of text should be fine.
--- Ideal file structure of your mod ---
In the root of the mods folder:
folder_of_your_mod_name
- name_of_storyline.rpy
-> asset_folder
- asset.png
-> script_folder
- script.rpy
name_of_storyline.rpy
```
init python:
# Modding Support variables
# All mod rpy files must have title of their mod (this shows up on a button)
# and finally the label that controls the flow of dialogue
mod_menu_access += [{
'Name': "Mod Name",
'Label': "mod_storyline"
}];
image template_sample = Image("mods/folder_of_your_mod_name/asset_folder/asset.png")
label mod_storyline:
call chapter_1_new
```
script_folder/script.rpy
```
label chapter_1_new:
show template_sample at scenter
"Sample Text"
hide template_sample
play music 'audio/OST/Those Other Two Weirdos.ogg'
show anon neutral flip at aright with dissolve
A "Sample Text"
return
```
The funny thing is I don't even like 'fanfictions' to begin with but this mod support allows these 'fanfictions', ironic.

View File

@ -0,0 +1,11 @@
label chapter_2_new:
show template_sample at scenter
"Sample Text"
hide template_sample
play music 'audio/OST/Those Other Two Weirdos.ogg'
show anon neutral flip at aright with dissolve
A "Sample Text"
return

Binary file not shown.

After

Width:  |  Height:  |  Size: 468 B

View File

@ -0,0 +1,15 @@
init python:
# Modding Support variables
# All mod rpy files must have title of their mod (this shows up on a button)
# and finally the label that controls the flow of dialogue
mod_menu_access += [{
'Name': "Example Mod Name",
'Label': "storyline_ex"
}];
image template_sample = Image("mods_example/template/img/sample.png")
label storyline_ex:
call chapter_2_new

View File

@ -23,7 +23,7 @@ define gui.show_name = True
## The version of the game.
define config.version = "Patchy-patch5"
define config.version = "Monster-Update-6"
## Text that is placed on the game's about screen. Place the text between the
## triple-quotes, and leave a blank line between paragraphs.
@ -77,7 +77,7 @@ define config.exit_transition = dissolve
## Between screens of the game menu.
define config.intra_transition = dissolve
define config.intra_transition = Dissolve(0.20)
## A transition that is used after a game has been loaded.
@ -185,6 +185,11 @@ init python:
build.classify('**/#**', None)
build.classify('**/thumbs.db', None)
# Do not include mod_examples as part of the build process
build.classify('game/mods_example/**', None)
build.classify('game/mods_example/.**', None)
## To archive files, classify them as 'archive'.
# build.classify('game/**.png', 'archive')

File diff suppressed because it is too large Load Diff

View File

@ -13,24 +13,30 @@
#Why yes all my code was formerly in one massive file called "script" thats 28k lines long, how could you tell?
#Licensed under the GNU AGPL v3, for more information check snootgame.xyz or the LICENSE file that should have came with this work.
init -1 python:
# Modding Support variables
# All mod rpy files must run a small init python script
mod_dir = "mods/";
mod_menu_access = [];
init python:
import random
import webbrowser
#function for insult layers
def showCG():
import random
import webbrowser
#function for insult layers
def showCG():
files = ["text0", "text1", "text2", "text3", "text4", "text5", "text6", "text7", "text8", "text9"]
length = len(files)
picked = random.randint(0,length - 1)
fileName = files[picked]
renpy.show(fileName, at_list=[randPosition])
# extra music channel so we can do crossfade instead of fadeout followed by fadein
# TODO: function for stopping both channels with optional fadeout so we don't have to keep track of which channel is playing
renpy.music.register_channel("music1","music",True,tight=True)
# allows playing looped ambience alongside music
renpy.music.register_channel("ambient","sfx",True,tight=True)
renpy.music.register_channel("ambient1","sfx",True,tight=True)
renpy.music.register_channel("ambient2","sfx",True,tight=True)
if persistent.scroll == True:
# extra music channel so we can do crossfade instead of fadeout followed by fadein
# TODO: function for stopping both channels with optional fadeout so we don't have to keep track of which channel is playing
renpy.music.register_channel("music1","music",True,tight=True)
# allows playing looped ambience alongside music
renpy.music.register_channel("ambient","sfx",True,tight=True)
renpy.music.register_channel("ambient1","sfx",True,tight=True)
renpy.music.register_channel("ambient2","sfx",True,tight=True)
if persistent.scroll == True:
config.keymap['dismiss'].append('mousedown_4')
transform randPosition:
@ -111,35 +117,33 @@ define long_textbox = { "window_background": long_textbox_img, 'namebox_style':
#Characters
define base = Character (ctc="ctc_end_marker", ctc_pause="ctc_mid_marker", ctc_timedpause=Null(), ctc_position="nestled") # try to remember some of the basics of CTC
define I = Character(kind=base) # for internal dialogue i.e narration. Required for CTC indicators working with Anon's thoughts
define A = Character ('Anon', base, color="#36E12D") #Light Green
define F = Character ('Fang', base, color="#7E2DE1") #Purple
define Lucy = Character ('Lucy', base, color="#7E2DE1") #Purple
define Ro = Character ('Rosa', base, color="#E12D36") #Red
define St = Character ('Stella', base, color="#E17E2D") #orang
define N = Character ('Naomi', base, color="#2D36E1") #Blue
define Nas = Character ('Naser', base, color="#501D5E") #Dark Purple
define T = Character ('Trish', base, color="#8A0036") #Maroon
define Attendant = Character ('Attendant', base, color="#8A0036") #Maroon
define Sp = Character ('Spears', base, color="#7B8A00") #Dark Yellow
define Re = Character ('Reed', base, color="#368A00") #Dark Green
define D = Character ('Driver', base, color="#098A00")
define FM = Character ('Fangs Mom', base, color="#EA1A84")
define FD = Character ('Fangs Dad', base, color="#1A1CEA")
define Tsuki = Character ('Mr. Tsuki', base, color="#CEAF23")
define unknown = Character ('(???)', base, color="#000000")
define jingo = Character ('Mr. Jingo', base, color="#42C053")
define MaitD = Character ('Maitre D', base, color="#42C053")
define Moe = Character('Moe', base, color="#42C053")
define Vince = Character ('Vince', base, color="#3C770D") #Dark Green
define Waitress = Character ('Waitress', base, color="#C89B19") #Gold
define A = Character ('Anon', base, color="#36E12D", who_outlines=[(1, '#0C300A')]) # Light Green
define F = Character ('Fang', base, color="#B4D4CE", who_outlines=[(1, '#112D27')]) # Light Cyan
define Lucy = Character ('Lucy', base, color="#B4D4CE", who_outlines=[(1, '#112D27')]) # Light Cyan
define Ro = Character ('Rosa', base, color="#FE712B", who_outlines=[(1, '#3D1809')]) # Red-Orange
define St = Character ('Stella', base, color="#D2FFAA", who_outlines=[(1, '#203011')]) # Light Green
define N = Character ('Naomi', base, color="#F8B9A0", who_outlines=[(1, '#291A1B')]) # Peach
define Nas = Character ('Naser', base, color="#F89E38", who_outlines=[(1, '#2D2D2D')]) # Orange
define T = Character ('Trish', base, color="#B675E6", who_outlines=[(1, '#1F0632')]) # Purple
define Attendant = Character ('Attendant', base, color="#8A0036", who_outlines=[(1, '#FFFFFF')]) # Maroon
define Sp = Character ('Spears', base, color="#C4C3C3", who_outlines=[(1, '#272727')]) # Light Grey
define Re = Character ('Reed', base, color="#ED4C5B", who_outlines=[(1, '#361013')]) # Bright Red
define D = Character ('Driver', base, color="#FFC63A", who_outlines=[(1, '#4D280A')]) # Yellow-Orange
define FM = Character ('Fangs Mom', base, color="#FFD8F6", who_outlines=[(1, '#361730')]) # Bright Pink
define FD = Character ('Fangs Dad', base, color="#D8A09A", who_outlines=[(1, '#190E0F')]) # Desaturated Orange
define Tsuki = Character ('Mr. Tsuki', base, color="#A7F2A2", who_outlines=[(1, '#320E3B')]) # Pear Green
define unknown = Character ('(???)', base, color="#000000", who_outlines=[(1, '#FFFFFF')]) # Black
define jingo = Character ('Mr. Jingo', base, color="#CD8283", who_outlines=[(1, '#0F0D49')]) # Desaturated Red
define MaitD = Character ('Maitre D', base, color="#241630", who_outlines=[(1, '#241630')]) # Cobalt Blue
define Moe = Character('Moe', base, color="#A5BEED", who_outlines=[(1, '#342210')]) # Desaturated Blue
define Vince = Character ('Vince', base, color="#FFC63A", who_outlines=[(1, '#4D280A')]) # Yellow-Orange
define Waitress = Character ('Waitress', base, color="#F691C8", who_outlines=[(1, '#402E3A')]) # Pink
#long TB chars
define AnonAndFang = Character('Anon and Fang', base, color="34F313", **long_textbox)
define SV = Character ('Street Vendor', base, color="#420046", **long_textbox)
define carl = Character ('Mr. Carldewskii', base, color="#4963A5", **long_textbox)
define Drf = Character ('Dr. Fernsworth', base, color="#4963A5", **long_textbox)
define FRT = Character ('Fang Reed & Trish', base, color="#4963A5", **long_textbox)
define AnonAndFang = Character('Anon and Fang', base, color="72DFA8", who_outlines=[(1, '#113623')])
define SV = Character ('Street Vendor', base, color="#F8E120", who_outlines=[(1, '#361504')])
define carl = Character ('Mr. Carldewskii', base, color="#E19E40", who_outlines=[(1, '#03223B')])
define Drf = Character ('Dr. Fernsworth', base, color="#253354", who_outlines=[(1, '#334573')])
define FRT = Character ('Fang Reed & Trish', base, color="#4963A5", who_outlines=[(1, '#FFFFFF')])
#Extra image translations
#siloettes
@ -334,6 +338,13 @@ image dimmer_darker = "#00000088"
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

View File

@ -359,7 +359,7 @@ label chapter_1:
N "I had this prepared just for you!"
show anon neutral flip
show anon neutral flip
show naomi neutral
with dissolve
pause .25
@ -437,7 +437,7 @@ label chapter_1:
N "ahem"
show anon neutral flip
show anon neutral flip
show naomi neutral
with Dissolve(.25)
@ -656,7 +656,7 @@ label chapter_1:
pause 0.5
"{cps=*.2}Yay me.{/cps}"
scene black with fade
# SCENE UPDATED
@ -741,7 +741,7 @@ label chapter_1:
I "I stand from my seat and face the class.{w=0.5} Once again all eyes on me and the tightness in my chest returns.{w} I inhale deep,{w=0.3} willing my erratic heart to slow."
$ renpy.music.set_volume(0.3, 0, 'ambient1')
play ambient1 'audio/effects/heartbeat.ogg' fadein 4
@ -782,7 +782,7 @@ label chapter_1:
A "uh{cps=*0.2}...{/cps}{w=0.4} I{cps=*0.2}...{/cps}"
I "Theres whispers now.{w} The hushed tones,{w=0.3} silenced snickers,{w=0.3} blending with the everpresent stares."
I "My heart hammers at my chest and I am sure that they all can hear it.{w=0.5} See the cold chill racing over me."
show dimmer_darker behind anon, jinflip with dissolve
@ -871,7 +871,7 @@ label chapter_1:
$ renpy.music.set_volume(1, 1, 'ambient')
hide dimmer_light with dissolve
show anon sad flip behind naser with Dissolve(0.25)
pause 0.75
@ -1022,7 +1022,7 @@ label chapter_1:
show naomi explanatory flip:
easein 0.4 xalign 0.9
N "Hey!{w=0.4} Dont leave me out of the conversation!"
show naomi happy flip with dissolve
@ -1472,7 +1472,7 @@ label chapter_1:
show anon:
easein_quad 0.5 xalign 0.825
pause .5
pause .5
A "Seriously?"
@ -1486,7 +1486,7 @@ label chapter_1:
Nas "Look,{w=0.5} whatever happens{w=0.3} promise you wont hold this against them."
Nas "They're actually a really a nice person once you get to know them"
Nas "They're actually a really nice person once you get to know them"
pause 0.6
A "Naser why did you just murder the english language in cold blood?"
@ -1524,7 +1524,7 @@ label chapter_1:
I "Im just getting thrown around today.{w=0.5} I dont know."
I "She looks familiar."
stop ambient fadeout 1
pause 1.0
@ -1540,7 +1540,7 @@ label chapter_1:
pause .5
play music 'audio/OST/its_the_piece_of_shit_you_asked_for.ogg' volume 1
with hpunch
pause 2
pause 2
I "What I thought was a guitar sounded horrifically wrong,{w=0.5} far too heavy."
@ -2213,7 +2213,7 @@ label chapter_1:
Re "Bro,{w=0.4} youve known Im in a band for like,{w=0.4} a year now."
show reed neutral flip
pause 0.7
show naomi angry:
easein 0.25 xalign 0.1
@ -2963,14 +2963,14 @@ label chapter_1:
menu:
"Grab the cookies you fatass":
pass
"That sandwich looks good":
pass
pause .5
pause .5
I "Why not both?"
I "Hence my tray stacked high with desserts and the tastiest looking sandwich from the lunchline."
@ -3121,7 +3121,7 @@ label chapter_1:
show naser:
linear 0.2 xalign .7
pause .7
I "{i}I realize now that I had been laughing with them.{/i}"
pause .5

View File

@ -115,32 +115,32 @@ label chapter_10:
A "...Fine..."
scene wounds1 with fade
scene wounds01 with fade
pause 2
scene black with fade
"I step into my tiny shower stall and turn on the water."
"The shower head sputters before it starts weakly spraying lukewarm water."
scene wounds2 with fade
scene wounds02 with fade
"The temperature of the water doesnt help the tension in my muscles or the bruises marring my skin."
"I stretch around and see massive blotches of purple and black splattered across my torso."
scene wounds3
scene wounds03
"Each contusion is hot to the touch under my fingers and the pain is intense."
scene wounds4
scene wounds04
"The worst is across my chest where the bollard hit me."
scene wounds5
scene wounds05
"I eventually get finished examining my wicked wounds and step out of the bathroom. Fang is on her phone doing Raptor Jesus knows what."
scene wounds6
scene wounds06
"Fang then pats the bed"
@ -148,7 +148,7 @@ label chapter_10:
"I walk over and lie down on my stomach"
scene wounds7
scene wounds07
F "Jesus that's bad..."
@ -193,11 +193,11 @@ label chapter_10:
A "Hm?"
F "I need to do the front."
scene wounds8
scene wounds08
"Oh."
"Okay then. I roll over onto my back."
scene wounds9
scene wounds09
"And find myself face to beak with her."
"Dangerously close."
@ -350,4 +350,4 @@ label chapter_10:
stop music fadeout 1.0
"..."
return
return

View File

@ -1853,8 +1853,6 @@ label chapter_13D:
"Curled up around my pillow, suckling on her thumb."
"And my present to her still hung around securely on her neck."
"I go back to the scrapbook, enjoying the memories Ive shared with my friends."
"And to think I wanted to stay a loner when I first got here."

View File

@ -1,7 +1,7 @@
label chapter_2:
scene room anon dark with fade
I "{cps=*0.2}-- Two Days Later --{/cps}"
pause .6
@ -588,7 +588,7 @@ label chapter_2:
A "Yeah what she said."
pause .5
stop music fadeout 2.5
show farnsworth behind fang:
@ -644,7 +644,7 @@ label chapter_2:
show fang:
easein_back .4 xalign -0.3
F "I. Am. Non.{fast} Binary."
I "How was I supposed to know something so trivial would set something like this off?!"
pause .5
@ -675,17 +675,17 @@ label chapter_2:
stop music fadeout 0.1
play sound 'audio/effects/slapstickSuperPunch.ogg'
# fuk u renpy, let me do more than one goddamn thing at once without resorting to this hacky bullshit
show fang shocked:
xalign -0.3
show farnsworth concerned:
easein_elastic 1 xalign 1.0
Drf "{b}FANG{/b}.{nw}" with Fade(.1, 0, .4, color="#fff")
Drf "{b}FANG{/b}.{nw}" with Fade(.1, 0, .4, color="#fff")
extend "" with vpunch
# show fang:
# xalign -0.3
# xalign -0.3
# show fang shocked with Dissolve(.2)
show dimmer_darker behind fang with Dissolve(.25)
@ -1195,7 +1195,7 @@ label chapter_2:
A "Y{w=.2}-yeah.{w=.4} {cps=*.2}Haha.{/cps}"
A "I{w=.1}-I mean,{w=.3} concert?"
show trish neutral flip with Dissolve(.25)
pause .5
@ -1310,7 +1310,7 @@ label chapter_2:
I "The bell announces lunchtime,{w=.4} and the rest of the students collectively rise and start shuffling out the door."
play music 'audio/OST/Those Other Two Weirdos.ogg' fadein 1
play music 'audio/OST/Those Other Two Weirdos.ogg' fadein 1
stop sound fadeout 1.0
A "Lunch hour,{w=.4} been a blast talking to you guys."
@ -1413,7 +1413,7 @@ label chapter_2:
I "I need to find Reed."
I "I double back to the classroom I just left and find it empty."
I "{i}Fuck.{/i}"
I "Maybe hes getting his lunch now.{w=.4} Cafeteria then."
@ -1716,10 +1716,10 @@ label chapter_2:
F "Wow.{w=.5} That is hilariously depressing."
show dimmer_light behind anon, trish, reed, fang
show anon sad flip
show anon sad flip
with Dissolve(.25)
I "I hate everyone here."
show anon neutral flip behind reed
show anon neutral flip behind reed
hide dimmer_light
with dissolve
@ -1740,7 +1740,7 @@ label chapter_2:
F "{cps=*.65}Uuuuuuuuuuuuuuuuurrrrrrrrrrggggghhhhhhh.{/cps}{w=.4} Trish?"
show fang neutral
show trish smug flip
show trish smug flip
with Dissolve(.25)
T "The morons swapped backpacks and now theyre best friends or something."
@ -1759,7 +1759,7 @@ label chapter_2:
F "Is he?"
show trish neutral flip
show anon neutral
show anon neutral
with Dissolve(.25)
A "{cps=*.1}...{/cps}Didnt you already grab your lunch,{w=.3} Reed?"
@ -1821,7 +1821,7 @@ label chapter_2:
show fang neutral
with Dissolve(.25)
F "No,{w=.3} fuck that.{w=.5} I would never wear something that retarded."
hide dimmer_lighter with dissolve
I "As for Reed{cps=*.1}...{/cps}"
@ -1850,7 +1850,7 @@ label chapter_2:
Re "I can."
show reed neutral
show anon neutral flip
show anon neutral flip
with Dissolve(.25)
A "Huh?"
@ -1892,7 +1892,7 @@ label chapter_2:
label .PostCheckLinkOut:
show reed explanatory
Re "Xrox is better anyways,{w=.4} you see the whole lineup they had prepared for{cps=*.1}...{/cps}"
@ -1902,14 +1902,14 @@ label chapter_2:
I "I thought he was just an airhead,{w=.4} but{cps=*.1}...{/cps}"
I "I totally cant get a read on this guy."
show reed neutral
hide dimmer_lighter
hide dimmer_lighter
with dissolve
F "Well,{w=.3} anyways."
show anon neutral
show anon neutral
show fang considering
with Dissolve(.25)
pause .25
@ -1928,7 +1928,7 @@ label chapter_2:
I "Trish and Fang babble to each other about their daily activities all through the lunch line."
I "Reed on the other hand has pulled out a tablet from his backpack to show me something."
scene cafeteria
show anon neutral:
xalign -0.2 yalign 0.1
@ -1939,7 +1939,7 @@ label chapter_2:
show trish neutral flip:
xalign 1.125 yalign 0.0
with fade
pause .5
pause .5
show reed explanatory flip
Re "So like,{w=.4} yknow we got a band,{w=.2} yeah?"
@ -1961,12 +1961,12 @@ label chapter_2:
play music 'audio/OST/The (audiophile edition).ogg'
with vpunch
pause .6
I "Even through the poor recording quality I can see and hear just how atrocious the band is."
I "I bite back the grimace threatening to come out as I give the video my full attention."
pause .5
F "W{w=.2}-well?"
show trish happy flip with Dissolve(.25)
@ -2002,7 +2002,7 @@ label chapter_2:
"Very nice ironic reference to Beethovens Für Elise.":
pass
pause .5
$ renpy.music.set_volume(0, 0.1, 'ambient')
@ -2031,7 +2031,7 @@ label chapter_2:
play music 'audio/OST/Bayside Bumming it.ogg'
show trish neutral flip
show reed explanatory flip
show reed explanatory flip
with Dissolve(.25)
Re "Jeez man,{w=.4} you got the ears of a bat?"
show reed neutral flip
@ -2223,7 +2223,7 @@ label chapter_2:
show naomi explanatory with Dissolve(.25)
N "What a great opportunity for real friendship Anon!{w=.5} Im so happy for you!"
show naomi neutral
show naser considering
with Dissolve(.25)
@ -2260,7 +2260,7 @@ label chapter_2:
pause 1
show naser considering flip
show naomi neutral
show naomi neutral
with dissolve
I "The bells loud sound rings on our ears"

View File

@ -24,7 +24,7 @@ label chapter_5:
"Its Saturday after all."
pause .5
scene outside school fog with Dissolve(1)
"Except{w=.4} Im walking to school."
@ -135,7 +135,7 @@ label chapter_5:
St "Oh,{w=.2} wonderful!"
"My eyes are drawn to the green stego,{w=.4} who I immediately recognize from that encounter with the cards."
show stella neutral with Dissolve(.25)
show anon:
@ -215,13 +215,13 @@ label chapter_5:
show fang neutral flip
show rosa:
ease 0.5 xalign 0.05
stop music fadeout 3
play sound 'audio/effects/spearYellRumbleVoice.ogg'
Sp "GET ALL YOUR ASSES OUT FRONT RIGHT NOW!" with hpunch
pause .5
show anon neutral
show anon neutral
show fang neutral
show rosa considering
show stella considering
@ -439,7 +439,7 @@ label chapter_5:
A "If you say so{cps=*.1}...{/cps}"
pause .5
show anon:
easein_cubic 1 yalign -0.5
show fang:
@ -460,7 +460,7 @@ label chapter_5:
show fang considering with Dissolve(.25)
F "Dont feel like getting down.{w=.4} Come on,{w=.2} you cant be that weak."
pause .5
pause .5
"Whatever.{w=.4} {nw}"
show anon:
@ -519,7 +519,7 @@ label chapter_5:
A "FANG!" with vpunch
stop music fadeout 3
image fang tail = Movie(play="animations/fangtail.webm",loop=True)
image fang tail = Movie(play="animations/fang tail.webm",loop=True)
scene fang tail with Dissolve(1)
@ -536,7 +536,7 @@ label chapter_5:
pass
"Tug Her Ankle":
pass
pause .5
"As I reach out to her she drops another clump into my eyes,{w=.4} blinding me."
@ -559,9 +559,9 @@ label chapter_5:
show black with Fade(.1, 0, 1, color="#fff")
pause .5
# B: Going by the script Anon is supposed to be laying in the flowerbed
# until Rosa picks him up, and Fang still up on the ladder, but there's not
# really any good-looking way of showing this I can think of - hence the
# B: Going by the script Anon is supposed to be laying in the flowerbed
# until Rosa picks him up, and Fang still up on the ladder, but there's not
# really any good-looking way of showing this I can think of - hence the
# disparity between the visuals and dialogue in this segment
"Suddenly stars explode in my sight impaired eyes and I fall backwards."
@ -728,7 +728,7 @@ label chapter_5:
show fang considering flip
with Dissolve(.25)
Ro "Wh-{w=.3}yo-{w=.3}why-{w=.6} {nw}"
Ro "Wh-{w=.3}yo-{w=.3}why-{w=.6} {nw}"
play sound 'audio/effects/slapStickPunch.ogg'
show rosa:
easein_elastic 0.5 xalign 0.6
@ -779,9 +779,9 @@ label chapter_5:
Ro "SORRY?{w=.5} What kind of pendejo manages to fall that hard into my Middlemist Red Camelias that hard on his own?!?"
"I shrug apologetically."
show fang considering flip with Dissolve(.25)
show fang considering flip with Dissolve(.25)
Ro "I just{cps=*.1}...{/cps}{w=.3} URGH!{w=.4} Do you have {i}any{/i} idea how long it takes for those to bloom!"
Ro "Name!{w=.4} What is your name?!"
@ -811,7 +811,7 @@ label chapter_5:
easein 0.5 xalign -0.1
show anon neutral with dissolve
pause .5
A "You trying to rip my arm off?"
"She grabs a bicep proudly."
@ -1039,7 +1039,7 @@ label chapter_5:
stop ambient fadeout 3
pause .5
show fang:
easein_elastic 0.5 xalign 0.1
show fang angry flip with Dissolve(.25)
@ -1262,7 +1262,7 @@ label chapter_5:
play sound 'audio/effects/whoosh.ogg'
pause .15
play sound 'audio/effects/slapstickBigPunch.ogg'
scene black with Fade(.1, 0, 1, color="#fff")
scene black with Fade(.1, 0, 1, color="#fff")
"My head snaps to the side,{w=.4} a burning sting radiating from my cheek."
@ -1420,7 +1420,7 @@ label chapter_5:
show stella unimpressed flip with Dissolve(.25)
St "You should go find Fang and apologize.{w=.5} And bring her back."
show stella sad flip with Dissolve(.25)
St "If you dont share someones pain,{w=.4} you can never understand them."
pause .5
@ -1440,14 +1440,14 @@ label chapter_5:
hide anon with dissolve
stop music fadeout 4
show rosa:
easein_cubic 1 xalign 0.4
show rosa bossy flip with Dissolve(.25)
Ro "You better!"
pause .5
scene outside school
scene outside school
with Fade(1,0,1)
"There arent many cars in the parking lot,{w=.4} so Fang shouldnt be too hard to find."
@ -1648,7 +1648,7 @@ label chapter_5:
pass
"{b}GET THE FUCK OUT OF DODGE.{/b}":
pass
scene black with fade
"Fang immediately bolts towards the front of the school."
@ -1690,7 +1690,7 @@ label chapter_5:
show fang:
easein_cubic 1 xalign 1.2#
pause .2
show fang angry with dissolve
show fang angry with dissolve
"Her sneer returns and she makes to turn away."
pause .5
@ -1972,7 +1972,7 @@ label chapter_5:
Sp "Dismissed."
pause .5
show spears neutral with Dissolve(.25)
hide spears with easeoutright
pause .5
@ -1986,7 +1986,7 @@ label chapter_5:
Ro "Not you,{w=.3} An-{w=.1}on!{w=.4} You stay!"
show anon concerned with dissolve
pause .25
Ro "Right!{w=.4} And before everyone goes{cps=*.1}...!{/cps}"
show stella neutral flip:
@ -2001,7 +2001,7 @@ label chapter_5:
pause .25
show anon neutral
show fang happy
show fang happy
with Dissolve(.25)
"The small crowd gets a bit more energetic."
@ -2050,7 +2050,7 @@ label chapter_5:
pause .5
show rosa considering flip
show anon neutral
show anon neutral
with dissolve
"I dont really{cps=*.1}...{/cps}{w=.3} get compliments."
@ -2174,7 +2174,7 @@ label chapter_5:
scene flower garden with Dissolve(1)
pause .5
"Fang seems to have disappeared,{w=.4} guess she didnt want to stick around longer than she had to after all."
pause .5
@ -2374,7 +2374,7 @@ label chapter_5:
"{cps=*.05}...{/cps}"
pause 1
#Heart to Heart
play music 'audio/OST/punk_revamp.ogg' fadein 1
@ -2489,7 +2489,7 @@ label chapter_5:
pause .5
A "ow{cps=*.1}...{/cps}"
show reed explanatory flip with Dissolve(.25)
Re "Bro{cps=*.1}.....{/cps}{w=.3} that sucks{cps=*.1}.....{/cps}"
show reed neutral flip with Dissolve(.25)
@ -2514,7 +2514,7 @@ label chapter_5:
pause .2
hide reed with dissolve
pause .5
show anon sad:
alpha 0
yalign -0.8 xalign -0.1
@ -2636,7 +2636,7 @@ label chapter_5:
easein_cubic 1 xalign 0.55
T "{i}Youll{/i} talk to Fang?{w=.6} Youll probably make it worse.{w=.6} {i}I{/i} should be the one to talk with them."
pause .5
A "So why havent you?"
pause .5
@ -2730,14 +2730,14 @@ label chapter_5:
"I cant think of anything that would be appropriate around normal highschoolers."
pause .5
show trish:
easein_cubic 1 xalign 0.5
show trish happy with Dissolve(.25)
"Trish raises her hand and jumps in place."
T "How about the Count of Monte Cristo?"
show reed explanatory flip
Re "Oh,{w=.3} I know that one!{w=.4} The actors in that one are pretty great{cps=*.1}...{/cps}"
show reed neutral flip with Dissolve(.25)
@ -2755,7 +2755,7 @@ label chapter_5:
with None
show trish neutral flip with Dissolve(.25)
pause .5
"Trish and Reed stop and stare at me."
pause .5
@ -2773,7 +2773,7 @@ label chapter_5:
play sound 'audio/effects/schoolBell.ogg'
I "{cps=*20}{i}DING-{w=0.7}DONG {w=0.65}BING-{w=0.7}BONG{/i}{/cps}"
show trish considering flip with Dissolve(.25)
show trish considering flip with Dissolve(.25)
pause 0.5
play music 'audio/OST/The.ogg' fadein 1.0
@ -2840,7 +2840,7 @@ label chapter_5:
"Still unseen?"
"{cps=*.1}...{/cps}"
hide anonphone with easeoutbottom
pause .5
@ -2870,7 +2870,7 @@ label chapter_5:
"There are only two in the building."
"I sprint to the first bathroom,{w=.4} closer to the back of the school and nestled away in the special needs area."
"My knuckles rap against the door,{w=.4} locked and preoccupied."
pause .5
@ -2882,7 +2882,7 @@ label chapter_5:
unknown "{cps=*.4}The one you seek is elsewhere.{/cps}"
pause .5
"Who the fuck{cps=*.1}...{/cps}{w=.3} Wait{cps=*.1}...{/cps}"
A "Youre that weird stego chick{cps=*.1}...{/cps}{w=.3} Stella?"
@ -2976,7 +2976,7 @@ label chapter_5:
easein 1 xalign 0.0
with dissolve
pause 1
A "Mr. Jingos hall pass.{w=.5} I uh{cps=*.1}...{/cps}{w=.3} kinda need help with sheet music again."
show fang unimpressed flip with Dissolve(.25)
@ -3067,7 +3067,7 @@ label chapter_5:
pause .5
F "Not once after all the work Ive put into VVURM DRAMA has anyone ever told me it was good."
show fang sad flip with dissolve
pause .5
"Her eyes wetten.{w=.6} Her voice roughens.{w=.6} Her shoulders quake."
@ -3226,7 +3226,7 @@ label chapter_5:
show fang angry with Dissolve(.25)
F "Hes always trying."
pause .5
show fang:
easein_cubic 1 xalign 0.4
show fang very angry with dissolve
@ -3266,7 +3266,7 @@ label chapter_5:
"Interrupt":
pause .5
jump interrupt4d
show fang:
easein_quart 1 xalign 0.2
show fang ultra angry with Dissolve(.25)
@ -3369,7 +3369,7 @@ label chapter_5:
"Fang grips my jacket with both hands,{w=.4} digging in."
pause .5
scene fangroofcry with Dissolve(.25)
pause 1
@ -3606,17 +3606,17 @@ label chapter_5:
show fang very sad with dissolve
F "My baby brother,{w=.3} just 9 years old,{w=.4} had jumped off the bluff,{w=.5} thinking he could fly!"
"Fangs eyes grow wet again."
"Fangs eyes grow wet again."
show anon behind fang:
ease_cubic 1 xalign 0.7
pause .5
hide fang
hide anon
show fanganonhug
with dissolve
"Without a second thought I draw her into a hug,{w=.4} comforting her."
"Her voice is muffled by my jacket but she continues."
@ -3676,7 +3676,7 @@ label chapter_5:
pause .25
F "Useless?{w=.5} Something like that."
show fang neutral with Dissolve(.25)
pause .5
@ -3746,7 +3746,7 @@ label chapter_5:
pause .5
"Fang removes her head from her knees and looks to me with pleading eyes."
pause .5
F "What?"
pause .5
@ -3811,7 +3811,7 @@ label chapter_5:
F "{cps=*.1}...{/cps}"
pause .5
show fang sad with dissolve
pause .5
@ -3824,7 +3824,7 @@ label chapter_5:
label postinterruption:
show anon behind fang:
ease_cubic 1 xalign 0.9
"I put my arm on Fangs shoulder."
@ -3871,12 +3871,12 @@ label chapter_5:
A "You dont have to do it alone."
pause .5
show anon behind fang
show fang:
ease_cubic 1 xalign 0.8
pause .5
hide fang
hide anon
show fanganonhug
@ -4000,11 +4000,11 @@ label chapter_5:
"More natural."
pause .5
"Im careful to hoist her to her feet.{w=.5} Mindful of her injured palm."
"Im careful to hoist her to her feet.{w=.5} Mindful of her injured palm."
show weridkissu with Dissolve(.25)
pause 1
"But her beak accidentally bumps into my cheek on her way up."
pause 1
@ -4321,4 +4321,9 @@ label chapter_5:
"{cps=*.05}...{/cps}"
return
return
# I'm guessing this is for the gallery?
label fang_movie:
scene fang tail with fade
""

View File

@ -2598,7 +2598,7 @@ label chapter_6:
A "Like… Like her passion, Naser. She adores music. Adores {i}playing{/i} music."
A "And she has theses… moments where I can see the softer side of her."
A "And she has these… moments where I can see the softer side of her."
"The pop of knuckles from Naser tells me I should rephrase that."
@ -2685,4 +2685,4 @@ label chapter_6:
"..."
return
return

View File

@ -174,11 +174,11 @@ label chapter_7:
#>>golden
St "Upright Strength"
St "OH! I dont think you need to worry about whats to come, Anon."
elif anonscore >= 3 and fangscore <= 2:
elif anonscore >= 3 and fangscore <= 3:
#>>tradwife
St "Inverted Hierophant."
St "You need to be wary of your words and actions, Anon."
elif anonscore <= 2 and fangscore >= 3:
elif anonscore <= 3 and fangscore >= 3:
#>>doomer
St "Inverted Hermit."
St "Anon, if you ever feel lonely you can come to me."
@ -641,166 +641,167 @@ label chapter_7:
F "T-tuesday?"
"Fang fell out of tempo with Reeds drums, stumbling over the end of the song."
"Its silent."
"Its silent."
"I began to clap, followed by several other patrons."
"I began to clap, followed by several other patrons."
"Including Stella who looked seconds away from being curb-stomped."
"Including Stella who looked seconds away from being curb-stomped."
"Rosa is on the other side of the room, too entranced by the music to care."
"Rosa is on the other side of the room, too entranced by the music to care."
play music 'audio/OST/Summertime Synth.ogg' fadein 1.0
scene moebackrooms
show anon neutral flip at aright
with fade
"My eyes scan the room before noticing Trish, the sheer vehement rage radiating from her visibly distorting the air around her."
play music 'audio/OST/Summertime Synth.ogg' fadein 1.0
scene moebackrooms
show anon neutral flip at aright
with fade
"My eyes scan the room before noticing Trish, the sheer vehement rage radiating from her visibly distorting the air around her."
"Fuck."
stop music fadeout 1.0
"Fuck."
stop music fadeout 1.0
"My jaw aches as I picture myself in Stellas place, courtesy of one pissed of womanlet."
"My jaw aches as I picture myself in Stellas place, courtesy of one pissed of womanlet."
"Before I have the chance to escape I hear my one saving grace."
"Before I have the chance to escape I hear my one saving grace."
show fang very happy with moveinleft:
xalign 0.6 yalign 0.1
show fang very happy with moveinleft:
xalign 0.6 yalign 0.1
F "ANON!"
F "ANON!"
"Fang reaches me before Trish leaves the stage, extending her hand for a high-five."
show fang happy with dissolve
"Fang reaches me before Trish leaves the stage, extending her hand for a high-five."
show fang happy with dissolve
F "We did it!"
show trish unimpressed at tleft with moveinleft
T "No thanks to that asshole!"
F "We did it!"
show trish unimpressed at tleft with moveinleft
T "No thanks to that asshole!"
"Oh no."
"Oh no."
show fang neutral flip behind anon with dissolve
show fang neutral flip behind anon with dissolve
F "Whats wrong?"
F "Whats wrong?"
show trish angry with dissolve
show trish angry with dissolve
T "Skinnie sabotaged the show!"
T "Skinnie sabotaged the show!"
T "I told him not to touch the wires and look what happened!"
T "I told him not to touch the wires and look what happened!"
A "I was only trying to help."
A "I was only trying to help."
show trish annoyed with dissolve
show trish annoyed with dissolve
"Trish holds up her hand to my face, waving the other around in grand gestures."
"Trish holds up her hand to my face, waving the other around in grand gestures."
show trish indignant with dissolve
show trish indignant with dissolve
T "You ruined the big finale! We missed our chance to make it big!"
T "You ruined the big finale! We missed our chance to make it big!"
T "Why is it that only my bass cut out anyways?!"
T "Why is it that only my bass cut out anyways?!"
T "Are you actively trying to ruin us?!"
T "Are you actively trying to ruin us?!"
T "I told you Reed knew what he was doing!"
T "I told you Reed knew what he was doing!"
T "Do you not trust him and I?"
T "Do you not trust him and I?"
show fang sad flip
show trish fury point:
yalign 10.0
with dissolve
show fang sad flip
show trish fury point:
yalign 10.0
with dissolve
"Tears trickle down her sweat-glazed face."
"Tears trickle down her sweat-glazed face."
T "Is Fang really the only one here you care about?!"
T "Is Fang really the only one here you care about?!"
T "You are not the only person in the world!"
show trish sad at tleft with dissolve
show anon sad flip with dissolve
T "You are not the only person in the world!"
show trish sad at tleft with dissolve
show anon sad flip with dissolve
"This hypocritical bitch!"
"This hypocritical bitch!"
"The sharp words cut right through me."
"The sharp words cut right through me."
F "Jeez, Trish. The show went great! Our first good concert!"
F "Jeez, Trish. The show went great! Our first good concert!"
show fang neutral flip
with dissolve
F "The crowd actually clapped this time!"
show fang neutral flip
with dissolve
F "The crowd actually clapped this time!"
T "No thanks to him."
T "No thanks to him."
A "I didnt do it on purpose."
A "I didnt do it on purpose."
"Even though you deserved it."
"Even though you deserved it."
"Before she could interrogate me further, Fang grabbed Trish on the arm."
"Before she could interrogate me further, Fang grabbed Trish on the arm."
show fang happy flip with dissolve
F "Trish! Didnt you say you wanted to set up our merch!"
show trish unimpressed with dissolve
show anon neutral flip with dissolve
show fang happy flip with dissolve
F "Trish! Didnt you say you wanted to set up our merch!"
show trish unimpressed with dissolve
show anon neutral flip with dissolve
"Trish winces, then gives a begrudging sigh, lowering her accusatory finger."
"Trish winces, then gives a begrudging sigh, lowering her accusatory finger."
show trish unimpressed with dissolve
show trish unimpressed with dissolve
T "Ugh, you arent worth it."
T "Ugh, you arent worth it."
hide trish with dissolve
show fang neutral flip with dissolve
"Trish storms off leaving Fang and I alone."
hide trish with dissolve
show fang neutral flip with dissolve
"Trish storms off leaving Fang and I alone."
"And Reed who was listening the entire time."
"And Reed who was listening the entire time."
show reed neutral at rleft with moveinleft
pause 1
show reed considering with dissolve
pause 1
show reed neutral with dissolve
pause 1
show reed explanatory with dissolve
Re "Anon, dude… you really should trust others, yknow?"
show reed neutral at rleft with moveinleft
pause 1
show reed considering with dissolve
pause 1
show reed neutral with dissolve
pause 1
show reed explanatory with dissolve
Re "Anon, dude… you really should trust others, yknow?"
Re "Its like they say… trust is the building block of our economy, or something."
Re "Its like they say… trust is the building block of our economy, or something."
"What."
"What."
Re "There are two kinds of people in this world, bro... people who believe and people who trust."
Re "There are two kinds of people in this world, bro... people who believe and people who trust."
Re "And you believed in something false, your impulsiveness."
show reed shocked
show fang surprised
show anon neutral
with dissolve
"Before I can begin to comprehend Reeds capitalist sermon, my ears are assaulted by very Italian yelling."
Re "And you believed in something false, your impulsiveness."
show reed shocked
show fang surprised
show anon neutral
with dissolve
"Before I can begin to comprehend Reeds capitalist sermon, my ears are assaulted by very Italian yelling."
Moe "AY, KIDS!"
Moe "AY, KIDS!"
#moe now has vvurm drama apron
show moealt with moveinright:
xalign 1.8 yalign 0.0
#moe now has vvurm drama apron
show moealt with moveinright:
xalign 1.8 yalign 0.0
Moe "LOOKIT DIS ERE AH-PRON YA LIL TRIGGA FRIEN SOL ME!"
Moe "LOOKIT DIS ERE AH-PRON YA LIL TRIGGA FRIEN SOL ME!"
"Reed looks almost jealous of Moes new garb."
"Reed looks almost jealous of Moes new garb."
show reed neutral
show reed neutral
Re "Nice threads, compadre."
Re "Nice threads, compadre."
show fang happy with dissolve
show fang happy with dissolve
unknown "Hey! Someone took ma apron!"
unknown "Hey! Someone took ma apron!"
Moe "GIT BACK TA WORK JERRY YER ON DA CLOCK!"
Moe "GIT BACK TA WORK JERRY YER ON DA CLOCK!"
F "It uh… looks nice, Uncle Moe."
F "It uh… looks nice, Uncle Moe."
Moe "Anyways, youse all gonna be helpin wit da clean up, right?"
Moe "Anyways, youse all gonna be helpin wit da clean up, right?"
"I look at the absolute mess around us."
"I look at the absolute mess around us."
"Fuck."
"Fuck."
stop music fadeout 1.0
scene black with fade
scene moebackrooms with fade
@ -812,7 +813,7 @@ label chapter_7:
"Rosa wanted to stay and help clean buuut…"
"{i}Ro I am so sorry Stella! Come, I shall nurse you back at my home!{/i}"
Ro "{i}I am so sorry Stella! Come, I shall nurse you back at my home!{/i}"
"Id feel more sorry for Stella but Rosa looked capable of helping her."

292
game/src/cg_gallery.rpy Normal file
View File

@ -0,0 +1,292 @@
init python:
# CONST PARAMS
ALLOW_ZOOM = False
GALLERY_COLS = 3
PREFERRED_WIDTH = 432 #px (1920 * 0.225)
PREFERRED_HEIGHT = 243 #px (1080 * 0.225)
PREFERRED_ASPECT_RATIO = 16.0/9.0 # 1.7777..
DEFAULT_WIDTH_SCALE_RATIO = round(float(PREFERRED_WIDTH) / float(1920), 4)
DEFAULT_HEIGHT_SCALE_RATIO = round(float(PREFERRED_HEIGHT) / float(1080), 4)
NOT_UNLOCKED_COVER = im.FactorScale("gui/gallery/unlocked_cg_button_cover.png", DEFAULT_WIDTH_SCALE_RATIO, DEFAULT_HEIGHT_SCALE_RATIO)
ACCEPTED_EXTENSIONS = ["jpg", "webm"]
CG_PATHS = [
#CG doesn't really make sense
{ 'path': "images/cgs/", 'name': "CG", 'eval': None },
{ 'path': "images/animations/", 'name': "Animations", 'eval': None },
{ 'path': "images/NotForKids!/", 'name': "Lewd",
'eval': 'persistent.lewd == True'
}
]
#path: folder, name: shows up in gallery, eval: runs eval() on string
"""
Data structure that holds the data for each cg and button
item is name, fn is fullpath
ext is the file extension
{ item: str; fn: str; cg: Displayable; ext: str; wh: [] }[]
(reference in this init python, actually used in screens)
"""
gallery_items = []
# key dict pair, cg <-> cgs' galleryitems []
gallery_dic = {} #
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
#scale = box_ratio(wh)
return im.FactorScale(fname, scale, scale, False)
# Reads /images/cgs dir for all image files
# Populates galleryItems
# () -> None
def loadGallery():
list_img = renpy.list_images()
#if ext is "webm":
# Add each image to the gallery
for str in list_img:
for cp in CG_PATHS:
for ext in ACCEPTED_EXTENSIONS:
path = cp['path']
_str = path+str+"."+ext
if renpy.loadable(_str): #brute force
image = renpy.image_size(Image(_str))
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()
# 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'
gallery_dic['Animations'] = [{
"item": 'fang tail',
"fn": fang_webm,
"cg": Movie(fang_webm),#cg(_str, 'webm', 1920),
"ext": 'webm',
"wh": [1920, 1080]
}]
#for zooming in and out
zoom_arr = [0.25, 0.375, 0.5, 0.625, 0.75, 0.875, 1.0, 1.125, 1.25, 1.5, 1.75, 2.0]
"""
for x in range(1,5):
_zoom = 1.0
_zoom *= 1+(x*0.25)
zoom_arr.append(_zoom)
for y in range(9,1,-1):
_zoom = 1.0
_zoom *= (y*0.125)
zoom_arr.append(_zoom)
zoom_arr.sort()
"""
"""
'Recursive' / Loopable / Roundtrip Screens
_0 <-> _1
"""
#There is renpy.restart_interaction but since I wrote all this, it's too late
#screen cg_gallery(flag, __yoffset = 0, origin = 'CG'):
screen cg_gallery_0(__yoffset = 0, origin = 'CG'):
tag menu
use cg_gallery('1', __yoffset, origin)
screen cg_gallery_1( __yoffset = 0, origin = 'CG'):
tag menu
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)):
tag menu
use view_image(fn, _origin, zoom, 'b')
screen view_image_b(fn, _origin, zoom = zoom_arr.index(1.0)):
tag menu
use view_image(fn, _origin, zoom, 'a')
"""
CG Gallery screen - A screen that shows the image gallery
Basically Gallery Object has terrible defaults, so I just wrote my own stuff
"""
screen cg_gallery(flag, __yoffset = 0, origin = 'CG'):
if main_menu:
key "game_menu" action ShowMenu("main_menu")
frame:
pass
add gui.main_menu_background
add gui.game_menu_background
tag menu
python:
empty_spaces = gallery_rows = item_counter = 0
gallery_items = gallery_dic[origin]
items = len(gallery_items)
gallery_rows = (items / GALLERY_COLS) + 1
empty_spaces = GALLERY_COLS - (items % GALLERY_COLS)
vbox:
transform:
zoom 0.95
hbox:
style_prefix "navigation"
xalign 0.5
spacing gui.navigation_spacing
for cp in CG_PATHS:
if cp['name'] == origin:
textbutton _(cp['name']) text_color gui.selected_color text_xalign 0.5
else:
if cp['eval'] is None:
textbutton _(cp['name']) action ShowMenu('cg_gallery_'+flag, 0, cp['name']) text_xalign 0.5
elif eval(cp['eval']):
textbutton _(cp['name']) action ShowMenu('cg_gallery_'+flag, 0, cp['name']) text_xalign 0.5
else:
textbutton _(cp['name']) text_xalign 0.5
textbutton _("Return") action ShowMenu('main_menu') text_xalign 0.5
if _in_replay:
textbutton _("End Replay") action EndReplay(confirm=True)
elif not main_menu:
textbutton _("Main Menu") action MainMenu()
transform:
zoom 0.95
xcenter 0.525
ycenter 0.525
viewport:
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))
use flag_button(item, yoffset, origin)
for i in range(0, empty_spaces):
null height 20
"""
if/else flow control & extra parameters for Buttons
"""
screen flag_button(item, yoffset, origin):
python:
flag = renpy.seen_image(item['item'])
if flag:
button:
if item['ext'] == "webm":
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))
xcenter 0.5 ycenter 0.5
padding (1,0,1,2)
vbox:
text item["item"] xalign 0.5
add item["cg"] fit 'contain' xcenter 0.5 ycenter 0.5 size (PREFERRED_WIDTH, PREFERRED_HEIGHT)
else:
vbox:
ymaximum PREFERRED_HEIGHT
xcenter 0.5 ycenter 0.5
text "? ? ?" xalign 0.5
add NOT_UNLOCKED_COVER
screen view_movie(item, _origin):
tag menu
key "game_menu" action _origin
python:
renpy.movie_cutscene(item['item'], None, -1)
frame:
pass
#scene fang tail with fade
"""
view_image, Loads the image in fullscreen with viewport control.
"""
screen view_image(item, _origin, zoom = zoom_arr.index(1.0), flag='a'):
python:
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
# mousewheel & insert+delete
if (ALLOW_ZOOM):
if zoom < len(zoom_arr)-1: #zoom in
key 'mousedown_4' action zoom_a_f
key 'K_INSERT' action zoom_a_f
if zoom > 0: #and (item['wh'][0] <= 1920 or item['wh'][1] <= 1080):
key 'mousedown_5' action zoom_b_f
key 'K_DELETE' action zoom_b_f
viewport id "vie":
#Ren'Py isn't smart enough to not edgescroll while pressed,
#so we'll have to disable this for mobile
if renpy.variant("pc"):
edgescroll (300, 1800)
draggable True
arrowkeys True
pagekeys True
xfill False
yfill False
add item['fn'] zoom zoom_arr[zoom] anchor (0.55, 0.55)
#Reuse quick buttons, Ren'Py handles touch input lazy, it doesn't have
#double finger pinch zoom, it translates taps as mouse events - have to use
#buttons
hbox:
style_prefix "quick"
xalign 0.5
yalign 0.975
if (ALLOW_ZOOM) and renpy.variant("small"):
use quick_buttons("gui/button/uioptionbuttons/template_idle.png",
[
[ "+", zoom_a_f ],
[ "-", zoom_b_f ],
[ "Return", zoom_b_f ]
] )
else:
use quick_buttons("gui/button/uioptionbuttons/template_idle.png",
[
[ "Return", _origin ]
] )

69
game/src/mod_menu.rpy Normal file
View File

@ -0,0 +1,69 @@
# Mod Menu screen ############################################################
##
## Handles jumping to the mods scripts
## Could be more lean but if this is going to one of last time I touch the UI,
## then fine by me
##
#similar to quick_button funcs
screen mod_menu_button(filename, label, function):
button:
xmaximum 600
ymaximum 129
action function
fixed:
add filename xalign 0.5 yalign 0.5 zoom 0.9
text label xalign 0.5 yalign 0.5 xanchor 0.5 size 34
# arr is [{
# 'Name': string (name that appears on the button)
# 'Label': string (jump label)
# }, { .. } ]
# Reuse the same image string and keep things 'neat'.
screen mod_menu_buttons(filename, arr):
for x in arr:
use mod_menu_button(filename, x['Name'], Start(x['Label']))
screen mod_menu():
tag menu
style_prefix "main_menu"
add gui.main_menu_background
frame:
xsize 420
yfill True
background "gui/overlay/main_menu.png"
#side_yfill True
vbox:
xpos 1940
yalign 0.03
if persistent.splashtype == 1:
add "gui/sneedgame.png"
else:
add "gui/snootgame.png"
viewport:
# this could be better but its ok for now
xpos 1885-540
xmaximum 540
ymaximum 0.8
ypos 200
yinitial 0
scrollbars "vertical"
mousewheel True
draggable True
pagekeys True
vbox:
#xpos 1885
spacing 18
#yalign 0.98
#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:
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)

View File

@ -58,4 +58,4 @@ label ending:
if tradwife:
scene c10 with fade
pause 20
return
return