Merge remote-tracking branch 'origin/Monster-Update-6' into bowie_choreo

This commit is contained in:
nutbuster 2021-10-06 09:21:06 +11:00
commit fb5cea8def
22 changed files with 347 additions and 108 deletions

36
.gitignore vendored
View file

@ -1,9 +1,9 @@
# IToddler files # macOS-related files
.DS_Store .DS_Store
.AppleDouble .AppleDouble
.LSOverride .LSOverride
# Windows cancer # Windows-related files
Thumbs.db Thumbs.db
Thumbs.db:encryptable Thumbs.db:encryptable
ehthumbs.db ehthumbs.db
@ -15,16 +15,36 @@ ehthumbs_vista.db
/traceback.txt /traceback.txt
/errors.txt /errors.txt
/log.txt /log.txt
log.txt
errors.txt
traceback.txt
#Vim swap files
.sw?
*~
*.bak
#save files & cache files
/game/saves/
/game/saves/*
/game/cache/*
/game/cache
saves
tmp
cache
env
#binary files
*.rpyc
*.rpyb
*.rpymc
*.pyc
*.pyo
#Vim (best text editor) swap files #Vim (best text editor) swap files
.sw? .sw?
#cache files
/game/cache/*
#save files
/game/saves/*
#binary files #binary files
*.rpyc *.rpyc
*.rpymc *.rpymc

Binary file not shown.

Binary file not shown.

BIN
game/audio/ui/uiBack.wav Normal file

Binary file not shown.

BIN
game/audio/ui/uiClick.wav Normal file

Binary file not shown.

BIN
game/audio/ui/uiFail.wav Normal file

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View file

@ -78,7 +78,8 @@ define gui.text_size = 42
## The size of character names. ## The size of character names.
define gui.name_text_size = 45 define gui.name_text_size = 45
define gui.name_text_outlines = [ (absolute(1.5), gui.name_outline, 0, 0) ] define gui.name_text_thickness = absolute(2.0)
define gui.name_text_outlines = [ (gui.name_text_thickness, gui.name_outline, 0, 0) ]
## The size of text in the game's user interface. ## The size of text in the game's user interface.
define gui.interface_text_size = 33 define gui.interface_text_size = 33

Binary file not shown.

Before

Width:  |  Height:  |  Size: 28 KiB

View file

@ -8,4 +8,29 @@ label chapter_2_new:
play music 'audio/OST/Those Other Two Weirdos.ogg' play music 'audio/OST/Those Other Two Weirdos.ogg'
show anon neutral flip at aright with dissolve show anon neutral flip at aright with dissolve
A "Sample Text" A "Sample Text"
F "Sample Text"
Lucy "Sample Text"
Ro "Sample Text"
St "Sample Text"
N "Sample Text"
Nas "Sample Text"
T "Sample Text"
Attendant "Sample Text"
Sp "Sample Text"
Re "Sample Text"
D "Sample Text"
FM "Sample Text"
FD "Sample Text"
Tsuki "Sample Text"
unknown "Sample Text"
jingo "Sample Text"
MaitD "Sample Text"
Moe "Sample Text"
Vince "Sample Text"
Waitress "Sample Text"
AnonAndFang "Sample Text"
SV "Sample Text"
carl "Sample Text"
Drf "Sample Text"
FRT "Sample Text"
return return

View file

@ -47,7 +47,13 @@ define build.name = "SnootGame"
define config.has_sound = True define config.has_sound = True
define config.has_music = True define config.has_music = True
define config.has_voice = False define config.has_voice = True
define config.play_channel = "uisounds"
##Custom Channels?
init -1 python:
renpy.music.register_channel("uisounds", "ui", loop=False, stop_on_mute=True)
## To allow the user to play a test sound on the sound or voice channel, ## To allow the user to play a test sound on the sound or voice channel,

View file

@ -1,24 +1,44 @@
###Updater Python stuff### ###Updater Python stuff###
init python: init python:
if renpy.variant("pc"): #Don't run this on mobile, not supported if renpy.variant("pc"): #Don't run this on mobile, not supported
if persistent.updateresult is None: if persistent.updateresult is None:
persistent.updateresult = "No new version is available" persistent.updateresult = "No new version is available"
if persistent.autoup is None: if persistent.autoup is None:
persistent.autoup = False persistent.autoup = False
if persistent.updateWebServer is None: if persistent.updateWebServer is None:
persistent.updateWebServer = "http://updates.snootgame.xyz/updates.json" persistent.updateWebServer = "http://updates.snootgame.xyz/updates.json"
def UpdateCheck(): def UpdateCheck():
# WHY YES I ONLY ALLOW PEOPLE USING MY FRAMEWORK TO CHECK FOR AN UPDATE EVERY SIX FUCKING HOURS HOW DID YOU KNOW # 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 # NOPE check_interval=5 (5 SECONDS) FUCK YOU
pendingVersion = updater.UpdateVersion(persistent.updateWebServer, check_interval=5) pendingVersion = updater.UpdateVersion(persistent.updateWebServer, check_interval=5)
if pendingVersion == None or pendingVersion == config.version or "TEST" in pendingVersion: if pendingVersion == None or pendingVersion == config.version or "TEST" in pendingVersion:
persistent.updateresult = "No new version is available" persistent.updateresult = "No new version is available"
else: else:
persistent.updateresult = pendingVersion persistent.updateresult = pendingVersion
#idk non-functional dummies for uisounds hackery
#coming soon
def onclick_audio(flag, audio_filename=["audio/ui/uiOptionOff.wav", "audio/ui/uiOptionOff.wav", "audio/ui/uiOptionOff.wav"]):
renpy.play(audio_filename[int(flag)])
def ToggleAutoUpdate():
onclick_audio(persistent.autoup)
preferences.autoup = not preferences.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")
# else:
# renpy.play("audio/ui/uiOptionOn.wav")
# preferences.all_mute = not preferences.all_mute
def ToggleAutoUpdate():
persistent.autoup = not persistent.autoup
################################################################################ ################################################################################
## Initialization ## Initialization
@ -48,6 +68,7 @@ style gui_text:
style button: style button:
properties gui.button_properties("button") properties gui.button_properties("button")
# activate_sound "audio/ui/uiClick.wav"
style button_text is gui_text: style button_text is gui_text:
properties gui.text_properties("button") properties gui.text_properties("button")
@ -250,6 +271,7 @@ style choice_vbox:
style choice_button is default: style choice_button is default:
properties gui.button_properties("choice_button") properties gui.button_properties("choice_button")
activate_sound "audio/ui/uiRollover.wav"
style choice_button_text is default: style choice_button_text is default:
properties gui.button_text_properties("choice_button") properties gui.button_text_properties("choice_button")
@ -265,6 +287,10 @@ screen quick_button(filename, label, function):
xmaximum 80 xmaximum 80
ymaximum 72 ymaximum 72
action function action function
if 'Return' in label or 'Back' in label or 'Menu' in label:
activate_sound "audio/ui/uiBack.wav"
else:
activate_sound "audio/ui/uiClick.wav"
fixed: fixed:
add filename xalign 0.5 yalign 0.5 zoom 1 add filename xalign 0.5 yalign 0.5 zoom 1
text label xalign 0.5 yalign 0.5 xanchor 0.5 size 22 style "quick_button_text" text label xalign 0.5 yalign 0.5 xanchor 0.5 size 22 style "quick_button_text"
@ -350,22 +376,22 @@ screen navigation():
spacing gui.navigation_spacing spacing gui.navigation_spacing
textbutton _("History") action ShowMenu("history") textbutton _("History") activate_sound "audio/ui/uiClick.wav" action ShowMenu("history")
textbutton _("Save") action ShowMenu("save") textbutton _("Save") activate_sound "audio/ui/uiClick.wav" action ShowMenu("save")
textbutton _("Load") action ShowMenu("load") textbutton _("Load") activate_sound "audio/ui/uiClick.wav" action ShowMenu("load")
textbutton _("Delete") action ShowMenu("delete") textbutton _("Delete") activate_sound "audio/ui/uiClick.wav" action ShowMenu("delete")
textbutton _("Options") action ShowMenu("preferences") textbutton _("Options") activate_sound "audio/ui/uiClick.wav" action ShowMenu("preferences")
#textbutton _("Extras") action ShowMenu("extras") #textbutton _("Extras") action ShowMenu("extras")
textbutton _("Return") action Return() textbutton _("Return") activate_sound "audio/ui/uiBack.wav" action Return()
if _in_replay: if _in_replay:
textbutton _("End Replay") action EndReplay(confirm=True) textbutton _("End Replay") activate_sound "audio/ui/uiBack.wav" action EndReplay(confirm=True)
elif not main_menu: elif not main_menu:
textbutton _("Main Menu") action MainMenu() textbutton _("Main Menu") activate_sound "audio/ui/uiBack.wav" action MainMenu()
#textbutton _("Debug Score Card") action ShowMenu("score_menu") #textbutton _("Debug Score Card") action ShowMenu("score_menu")
#if renpy.variant("pc"): #if renpy.variant("pc"):
@ -398,6 +424,10 @@ screen main_menu_button(filename, label, function):
xmaximum 500 xmaximum 500
ymaximum 129 ymaximum 129
action function action function
if 'Back' in label or 'Return' in label or 'Quit' in label or 'Main Menu' in label:
activate_sound "audio/ui/uiBack.wav"
else:
activate_sound "audio/ui/uiClick.wav"
fixed: fixed:
add filename xalign 0.5 yalign 0.5 zoom 1 xanchor 0 xcenter 0.5 ycenter 0.5 add filename xalign 0.5 yalign 0.5 zoom 1 xanchor 0 xcenter 0.5 ycenter 0.5
text label xalign 0.5 yalign 0.5 xanchor 0.5 text label xalign 0.5 yalign 0.5 xanchor 0.5
@ -438,7 +468,7 @@ screen main_menu():
use main_menu_buttons("gui/button/menubuttons/template_idle.png", use main_menu_buttons("gui/button/menubuttons/template_idle.png",
[ [
[ "Start", Start() ], [ "Start", Start() ],
[ "Mods", ShowMenu("mod_menu") ], [ "Bonus Chapters", ShowMenu("ex_ch_menu") ],
[ "Load", ShowMenu("load") ], [ "Load", ShowMenu("load") ],
[ "Options", ShowMenu("preferences") ], [ "Options", ShowMenu("preferences") ],
[ "Extras", ShowMenu("extras") ], \ [ "Extras", ShowMenu("extras") ], \
@ -677,10 +707,12 @@ screen updates():
label _("Update Checker:") label _("Update Checker:")
label _("{color=#FFFFFF}{size=32}[persistent.updateresult!t]{/size}{/color}") label _("{color=#FFFFFF}{size=32}[persistent.updateresult!t]{/size}{/color}")
textbutton _("{size=36}Check for Update\n{/size}") action [Notify("Checking for update..."), Function(UpdateCheck)]
textbutton _("{size=36}Check for Update\n{/size}") activate_sound "audio/ui/uiClick.wav" action [Notify("Checking for update..."), Function(UpdateCheck)]
label _("Updater:") label _("Updater:")
label _("{color=#FFFFFF}{size=32}Server URL (click to edit):{/size}{/color}") label _("{color=#FFFFFF}{size=32}Server URL (click to edit):{/size}{/color}")
default input_on = False default input_on = False
button: button:
key_events True key_events True
@ -695,10 +727,9 @@ screen updates():
action ToggleScreenVariable('input_on') action ToggleScreenVariable('input_on')
style_prefix "quick" style_prefix "quick"
if persistent.updateresult != "No new version is available": if persistent.updateresult != "No new version is available":
textbutton _("{size=36}Update Now!\n{/size}") action updater.Update(persistent.updateWebServer, force=False) textbutton _("{size=36}Update Now!\n{/size}") activate_sound "audio/ui/uiNotification.wav" action [updater.Update(persistent.updateWebServer, force=False)]
else: else:
textbutton _("{size=36}Update Now!\n{/size}") action Notify("Nothing to update to!") textbutton _("{size=36}Update Now!\n{/size}") activate_sound "audio/ui/uiFail.wav" action [Notify("Nothing to update to!")]
use extrasnavigation use extrasnavigation
## Load and Save screens ####################################################### ## Load and Save screens #######################################################
@ -793,19 +824,19 @@ screen file_slots(title, flag=False):
spacing gui.page_spacing spacing gui.page_spacing
textbutton _("<") action FilePagePrevious() textbutton _("<") activate_sound "audio/ui/uiRollover.wav" action FilePagePrevious()
if config.has_autosave: if config.has_autosave:
textbutton _("{#auto_page}A") action FilePage("auto") textbutton _("{#auto_page}A") activate_sound "audio/ui/uiClick.wav" action FilePage("auto")
if config.has_quicksave: if config.has_quicksave:
textbutton _("{#quick_page}Q") action FilePage("quick") textbutton _("{#quick_page}Q") activate_sound "audio/ui/uiClick.wav" action FilePage("quick")
## range(1, 10) gives the numbers from 1 to 9. ## range(1, 10) gives the numbers from 1 to 9.
for page in range(1, 10): for page in range(1, 10):
textbutton "[page]" action FilePage(page) textbutton "[page]" activate_sound "audio/ui/uiClick.wav" action FilePage(page)
textbutton _(">") action FilePageNext() textbutton _(">") activate_sound "audio/ui/uiRollover.wav" action FilePageNext()
style page_label is gui_label style page_label is gui_label
@ -863,32 +894,31 @@ screen preferences():
vbox: vbox:
style_prefix "radio" style_prefix "radio"
label _("Display") label _("Display")
textbutton _("Window") action Preference("display", "any window") textbutton _("Window") activate_sound "audio/ui/uiOptionOn.wav" action Preference("display", "any window")
textbutton _("Fullscreen") action Preference("display", "fullscreen") textbutton _("Fullscreen") activate_sound "audio/ui/uiOptionOn.wav" action Preference("display", "fullscreen")
vbox: vbox:
style_prefix "radio" style_prefix "radio"
label _("Rollback Side") label _("Rollback Side")
textbutton _("Disable") action Preference("rollback side", "disable") textbutton _("Disable") activate_sound "audio/ui/uiOptionOn.wav" action Preference("rollback side", "disable")
textbutton _("Left") action Preference("rollback side", "left") textbutton _("Left") activate_sound "audio/ui/uiOptionOn.wav" action Preference("rollback side", "left")
textbutton _("Right") action Preference("rollback side", "right") textbutton _("Right") activate_sound "audio/ui/uiOptionOn.wav" action Preference("rollback side", "right")
vbox: vbox:
style_prefix "check" style_prefix "check"
label _("Naughty Stuff") label _("Naughty Stuff")
textbutton _("Enable Lewd Images") action ToggleVariable("persistent.lewd", True, False) textbutton _("Enable Lewd Images") action [Function(onclick_audio, persistent.lewd), ToggleVariable("persistent.lewd", True, False)]
vbox: vbox:
style_prefix "check" style_prefix "check"
label _("Requires Restart") label _("Requires Restart")
textbutton _("Enable Forward-Scroll Movement") action ToggleVariable("persistent.scroll", True, False) textbutton _("Enable Forward-Scroll Movement") action [Function(onclick_audio, persistent.scroll), ToggleVariable("persistent.scroll", True, False)]
vbox: vbox:
style_prefix "check" style_prefix "check"
label _("Skip") label _("Skip")
textbutton _("Unseen Text") action Preference("skip", "toggle") textbutton _("Unseen Text") action [Function(onclick_audio, preferences.skip_unseen), ToggleVariable("preferences.skip_unseen", True, False)]
textbutton _("After Choices") action Preference("after choices", "toggle") textbutton _("After Choices") action [Function(onclick_audio, preferences.skip_after_choices), ToggleVariable("preferences.skip_after_choices", True, False)]
textbutton _("Transitions") action InvertSelected(Preference("transitions", "toggle")) textbutton _("Transitions") action [Function(onclick_audio, preferences.transitions), ToggleVariable("preferences.transitions", 0, 2)]
## Additional vboxes of type "radio_pref" or "check_pref" can be ## Additional vboxes of type "radio_pref" or "check_pref" can be
## added here, to add additional creator-defined preferences. ## added here, to add additional creator-defined preferences.
@ -917,6 +947,12 @@ screen preferences():
hbox: hbox:
bar value Preference("music volume") bar value Preference("music volume")
if config.has_music:
label _("UI Sounds Volume")
hbox:
bar value Preference("ui volume")
if config.has_sound: if config.has_sound:
label _("Sound Volume") label _("Sound Volume")
@ -937,7 +973,7 @@ screen preferences():
if config.sample_voice: if config.sample_voice:
textbutton _("Test") action Play("voice", config.sample_voice) textbutton _("Test") action Play("voice", config.sample_voice)
if config.has_music or config.has_sound or config.has_voice: if config.has_music or config.has_sound or config.has_voice or config.has_ui:
null height gui.pref_spacing null height gui.pref_spacing
textbutton _("Mute All"): textbutton _("Mute All"):
@ -1135,16 +1171,17 @@ screen extrasnavigation():
else: else:
add "gui/snootgame.png" add "gui/snootgame.png"
vbox: vbox:
spacing 25 spacing 10
xpos 1885 xpos 1885
yalign 0.9 ypos 1130
use main_menu_buttons("gui/button/menubuttons/template_idle.png", use main_menu_buttons("gui/button/menubuttons/template_idle.png",
[ [
[ "Help", ShowMenu("help") ], [ "Help", ShowMenu("help") ],
[ "About", ShowMenu("about") ], [ "About", ShowMenu("about") ],
[ "Updates", ShowMenu("updates") ], [ "Updates", ShowMenu("updates") ],
[ "Gallery", ShowMenu("cg_gallery_0") ], [ "Gallery", ShowMenu("cg_gallery_0") ],
[ "Return", ShowMenu("main_menu") ] [ "Mods", ShowMenu("mod_menu") ],
[ "Return", ShowMenu("main_menu") ]
] ) ] )
## Help screen ################################################################# ## Help screen #################################################################
@ -1215,7 +1252,7 @@ screen keyboard_help():
hbox: hbox:
label _("Escape") label _("Escape")
text _("Accesses the game menu.") text _("Accesses the game menu. Also escapes the Gallery.")
hbox: hbox:
label _("Ctrl") label _("Ctrl")
@ -1258,7 +1295,7 @@ screen mouse_help():
hbox: hbox:
label _("Right Click") label _("Right Click")
text _("Accesses the game menu.") text _("Accesses the game menu. Also escapes the Gallery.")
hbox: hbox:
label _("Mouse Wheel Up\nClick Rollback Side") label _("Mouse Wheel Up\nClick Rollback Side")
@ -1359,8 +1396,8 @@ screen confirm(message, yes_action, no_action):
xalign 0.5 xalign 0.5
spacing 150 spacing 150
textbutton _("Yes") action yes_action textbutton _("Yes") activate_sound "audio/ui/uiClick.wav" action yes_action
textbutton _("No") action no_action textbutton _("No") activate_sound "audio/ui/uiBack.wav" action no_action
## Right-click and escape answer "no". ## Right-click and escape answer "no".
key "game_menu" action no_action key "game_menu" action no_action
@ -1659,9 +1696,9 @@ screen extrasnavigation(): #Updates are removed (not even supported by Ren'Py)
use main_menu_buttons("gui/button/menubuttons/template_idle.png", use main_menu_buttons("gui/button/menubuttons/template_idle.png",
[ [
[ "Help", ShowMenu("help") ], [ "Help", ShowMenu("help") ],
[ "About", ShowMenu("about") ], [ "About", ShowMenu("about") ],
[ "Gallery", ShowMenu("cg_gallery_0") ], [ "Gallery", ShowMenu("cg_gallery_0") ],
[ "Return", ShowMenu("main_menu") ] [ "Return", ShowMenu("main_menu") ]
] ) ] )
style radio_button: style radio_button:

View file

@ -24,7 +24,7 @@ init python:
import webbrowser import webbrowser
#function for insult layers #function for insult layers
def showCG(): def showCG():
files = ["text0", "text1", "text2", "text3", "text4", "text5", "text6", "text7", "text8", "text9"] files = ["text1", "text2", "text3", "text4", "text5", "text6", "text7", "text8", "text9"]
length = len(files) length = len(files)
picked = random.randint(0,length - 1) picked = random.randint(0,length - 1)
fileName = files[picked] fileName = files[picked]
@ -117,37 +117,36 @@ define long_textbox = { "window_background": long_textbox_img, 'namebox_style':
#Characters #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 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 narrator = Character(kind=base) define narrator = Character(kind=base)
define A = Character ('Anon', base, color="#36E12D", who_outlines=[(1, '#0C300A')]) # Light Green define A = Character ('Anon', base, color="#36E12D", who_outlines=[(gui.name_text_thickness, '#0C300A')]) # Light Green
define F = Character ('Fang', base, color="#B4D4CE", who_outlines=[(1, '#112D27')]) # Light Cyan define F = Character ('Fang', base, color="#B4D4CE", who_outlines=[(gui.name_text_thickness, '#0F3930')]) # Light Cyan
define Lucy = Character ('Lucy', base, color="#B4D4CE", who_outlines=[(1, '#112D27')]) # Light Cyan define Lucy = Character ('Lucy', base, color="#B4D4CE", who_outlines=[(gui.name_text_thickness, '#0F3930')]) # Light Cyan
define Ro = Character ('Rosa', base, color="#FE712B", who_outlines=[(1, '#3D1809')]) # Red-Orange define Ro = Character ('Rosa', base, color="#FE712B", who_outlines=[(gui.name_text_thickness, '#54230F')]) # Red-Orange
define St = Character ('Stella', base, color="#D2FFAA", who_outlines=[(1, '#203011')]) # Light Green define St = Character ('Stella', base, color="#D5FFAE", who_outlines=[(gui.name_text_thickness, '#294211')]) # Light Green
define N = Character ('Naomi', base, color="#F8B9A0", who_outlines=[(1, '#291A1B')]) # Peach define N = Character ('Naomi', base, color="#FDD2C1", who_outlines=[(gui.name_text_thickness, '#462628')]) # Peach
define Nas = Character ('Naser', base, color="#F89E38", who_outlines=[(1, '#2D2D2D')]) # Orange define Nas = Character ('Naser', base, color="#FFB561", who_outlines=[(gui.name_text_thickness, '#512322')]) # Orange
define T = Character ('Trish', base, color="#B675E6", who_outlines=[(1, '#1F0632')]) # Purple define T = Character ('Trish', base, color="#B675E6", who_outlines=[(gui.name_text_thickness, '#3A0C5D')]) # Purple
define Attendant = Character ('Attendant', base, color="#8A0036", who_outlines=[(1, '#FFFFFF')]) # Maroon define Attendant = Character ('Attendant', base, color="#5BF0F8", who_outlines=[(gui.name_text_thickness, '#121C68')]) # Aqua
define Sp = Character ('Spears', base, color="#C4C3C3", who_outlines=[(1, '#272727')]) # Light Grey define Sp = Character ('Spears', base, color="#C7C7C7", who_outlines=[(gui.name_text_thickness, '#272727')]) # Light Grey
define Re = Character ('Reed', base, color="#ED4C5B", who_outlines=[(1, '#361013')]) # Bright Red define Re = Character ('Reed', base, color="#ED4C5B", who_outlines=[(gui.name_text_thickness, '#421014')]) # Bright Red
define D = Character ('Driver', base, color="#FFC63A", who_outlines=[(1, '#4D280A')]) # Yellow-Orange define D = Character ('Driver', base, color="#FFECBC", who_outlines=[(gui.name_text_thickness, '#563010')]) # Yellow-Orange
define FM = Character ('Fangs Mom', base, color="#FFD8F6", who_outlines=[(1, '#361730')]) # Bright Pink define FM = Character ("Fang's Mom", base, color="#FFD8F6", who_outlines=[(gui.name_text_thickness, '#521947')]) # Bright Pink
define FD = Character ('Fangs Dad', base, color="#D8A09A", who_outlines=[(1, '#190E0F')]) # Desaturated Orange define FD = Character ("Fang's Dad", base, color="#D8A09A", who_outlines=[(gui.name_text_thickness, '#461B1F')]) # Desaturated Orange
define Tsuki = Character ('Mr. Tsuki', base, color="#A7F2A2", who_outlines=[(1, '#320E3B')]) # Pear Green define Tsuki = Character ('Mr. Tsuki', base, color="#A7F2A2", who_outlines=[(gui.name_text_thickness, '#471054')]) # Pear Green
define unknown = Character ('(???)', base, color="#000000", who_outlines=[(1, '#FFFFFF')]) # Black define unknown = Character ('(???)', base, color="#FFF", who_outlines=[(gui.name_text_thickness, '#000')]) # White
define jingo = Character ('Mr. Jingo', base, color="#CD8283", who_outlines=[(1, '#0F0D49')]) # Desaturated Red define jingo = Character ('Mr. Jingo', base, color="#CD8283", who_outlines=[(gui.name_text_thickness, '#0F0D49')]) # Desaturated Red
define MaitD = Character ('Maitre D', base, color="#241630", who_outlines=[(1, '#241630')]) # Cobalt Blue define MaitD = Character ('Maitre D', base, color="#AF9EFF", who_outlines=[(gui.name_text_thickness, '#241630')]) # Cobalt Blue
define Moe = Character('Moe', base, color="#A5BEED", who_outlines=[(1, '#342210')]) # Desaturated Blue define Moe = Character('Moe', base, color="#A5BEED", who_outlines=[(gui.name_text_thickness, '#1F253B')]) # Desaturated Blue
define Vince = Character ('Vince', base, color="#FFC63A", who_outlines=[(1, '#4D280A')]) # Yellow-Orange define Vince = Character ('Vince', base, color="#FFECBC", who_outlines=[(gui.name_text_thickness, '#563010')]) # Yellow-Orange
define Waitress = Character ('Waitress', base, color="#F691C8", who_outlines=[(1, '#402E3A')]) # Pink define Waitress = Character ('Waitress', base, color="#F691C8", who_outlines=[(gui.name_text_thickness, '#512040')]) # Pink
define Riley = Character ('Riley', base, color="#B675E6", who_outlines=[(1, '#1F0632')]) # TODO define Riley = Character ('Riley', base, color="#B675E6", who_outlines=[(gui.name_text_thickness, '#1F0632')]) # TODO
define Tana = Character ('Tana', base, color="#B675E6", who_outlines=[(1, '#1F0632')]) # TODO define Tana = Character ('Tana', base, color="#B675E6", who_outlines=[(gui.name_text_thickness, '#1F0632')]) # TODO
define Trevor = Character ('Trevor', base, color="#B675E6", who_outlines=[(1, '#1F0632')]) # TODO define Trevor = Character ('Trevor', base, color="#B675E6", who_outlines=[(gui.name_text_thickness, '#1F0632')]) # TODO
#long TB chars #long TB chars
define AnonAndFang = Character('Anon and Fang', base, color="72DFA8", who_outlines=[(1, '#113623')]) define AnonAndFang = Character('Anon and Fang', base, color="72DFA8", who_outlines=[(gui.name_text_thickness, '#113623')]) # Cyan
define SV = Character ('Street Vendor', base, color="#F8E120", who_outlines=[(1, '#361504')]) define SV = Character ('Street Vendor', base, color="#F8E120", who_outlines=[(gui.name_text_thickness, '#58260C')]) # Yellow
define carl = Character ('Mr. Carldewskii', base, color="#E19E40", who_outlines=[(1, '#03223B')]) define carl = Character ('Mr. Carldewskii', base, color="#EECB99", who_outlines=[(gui.name_text_thickness, '#082337')]) #Puke Orange
define Drf = Character ('Dr. Fernsworth', base, color="#253354", who_outlines=[(1, '#334573')]) define Drf = Character ('Dr. Fernsworth', base, color="#DCEEF5", who_outlines=[(gui.name_text_thickness, '#253354')]) #Yellow-Orange
define FRT = Character ('Fang Reed & Trish', base, color="#4963A5", who_outlines=[(1, '#FFFFFF')]) define FRT = Character ('Fang Reed & Trish', base, color="#DCBBF7", who_outlines=[(gui.name_text_thickness, '#191C78')]) #Light Purple
define TT = Character ('Tana & Trevor', base, color="#B675E6", who_outlines=[(1, '#1F0632')]) # TODO
#Extra image translations #Extra image translations
#siloettes #siloettes

View file

@ -0,0 +1,31 @@
label chapter_x1:
"1"
return
label chapter_x2:
"2"
return
label chapter_x3:
"3"
return
label chapter_x4:
"4"
return
label chapter_x5:
"5"
return
label chapter_x6:
"6"
return
label chapter_x7:
"7"
return
label chapter_x8:
"8"
return
label chapter_x9:
"9"
return
label chapter_x10:
"10"
return

View file

@ -520,7 +520,7 @@ label chapter_14D:
show fang d happy with dissolve show fang d happy with dissolve
"We chuckle together." "We chuckle together."
play music "audio/OST/Amberlight Brilliance.ogg" fadein 1.0 play music "audio/OST/Amberlight Brilliance D ending.ogg" fadein 1.0
A "Hey, Lucy…" A "Hey, Lucy…"
"I keep my eyes on the stars, even when Lucy turns to look at me." "I keep my eyes on the stars, even when Lucy turns to look at me."

View file

@ -158,17 +158,17 @@ screen cg_gallery(flag, __yoffset = 0, origin = 'CG'):
textbutton _(cp['name']) text_color gui.selected_color text_xalign 0.5 textbutton _(cp['name']) text_color gui.selected_color text_xalign 0.5
else: else:
if cp['eval'] is None: if cp['eval'] is None:
textbutton _(cp['name']) action ShowMenu('cg_gallery_'+flag, 0, cp['name']) text_xalign 0.5 textbutton _(cp['name']) activate_sound "audio/ui/uiClick.wav" action ShowMenu('cg_gallery_'+flag, 0, cp['name']) text_xalign 0.5
elif eval(cp['eval']): elif eval(cp['eval']):
textbutton _(cp['name']) action ShowMenu('cg_gallery_'+flag, 0, cp['name']) text_xalign 0.5 textbutton _(cp['name']) activate_sound "audio/ui/uiClick.wav" action ShowMenu('cg_gallery_'+flag, 0, cp['name']) text_xalign 0.5
else: else:
textbutton _(cp['name']) text_xalign 0.5 textbutton _(cp['name']) text_xalign 0.5
textbutton _("Return") action ShowMenu('main_menu') text_xalign 0.5 textbutton _("Return") activate_sound "audio/ui/uiBack.wav" action ShowMenu('main_menu') text_xalign 0.5
if _in_replay: if _in_replay:
textbutton _("End Replay") action EndReplay(confirm=True) textbutton _("End Replay") activate_sound "audio/ui/uiBack.wav" action EndReplay(confirm=True)
elif not main_menu: elif not main_menu:
textbutton _("Main Menu") action MainMenu() textbutton _("Main Menu") activate_sound "audio/ui/uiBack.wav" action MainMenu()
transform: transform:
zoom 0.95 zoom 0.95
@ -248,6 +248,7 @@ screen view_image(item, _origin, zoom = zoom_arr.index(1.0), flag='a'):
tag menu tag menu
key "game_menu" action _origin key "game_menu" action _origin
key "button_alternate" action _origin
# mousewheel & insert+delete # mousewheel & insert+delete
if (ALLOW_ZOOM): if (ALLOW_ZOOM):
@ -284,7 +285,7 @@ screen view_image(item, _origin, zoom = zoom_arr.index(1.0), flag='a'):
[ "-", zoom_b_f ], [ "-", zoom_b_f ],
[ "Return", zoom_b_f ] [ "Return", zoom_b_f ]
] ) ] )
else: elif renpy.variant("small"):
use quick_buttons("gui/button/uioptionbuttons/template_idle.png", use quick_buttons("gui/button/uioptionbuttons/template_idle.png",
[ [
[ "Return", _origin ] [ "Return", _origin ]

View file

@ -0,0 +1,102 @@
init python:
ex_chapters = [
[ "Chicxulub Gutterlanea", "chapter_x1" ],
[ "The Mous Pad", "chapter_x2" ],
[ "PTA Meeting", "chapter_x3" ],
[ "Passion of the Trigga I", "chapter_x4" ],
[ "Passion of the Trigga II", "chapter_x5" ],
[ "Passion of the Trigga III", "chapter_x6" ],
[ "Naomi's Tribulations I", "chapter_x7" ],
[ "Naomi's Tribulations II", "chapter_x8" ],
[ "Naomi's Tribulations III", "chapter_x9" ],
[ "RAYmba's Observations", "chapter_x10" ]
]
ex_chapters_menu = ex_chapters.copy()
if persistent.endings is None:
ending_image()
pass
#similar to quick_button funcs
screen ex_ch_button(filename, label, function):
button:
xmaximum 600
ymaximum 129
action function
if 'Back' in label or 'Return' in label or 'Quit' in label or 'Main Menu' in label:
activate_sound "audio/ui/uiBack.wav"
else:
activate_sound "audio/ui/uiClick.wav"
fixed:
add filename xalign 0.5 yalign 0.5 zoom 0.9
text label xalign 0.5 yalign 0.5 xanchor 0.5 size 34
# label_functions is [ [ "label", function() ], [ "foobar", foobar() ], .. ]
# Reuse the same image string and keep things 'neat'.
screen ex_ch_buttons(filename, label_functions):
for l_f in label_functions:
use ex_ch_button(filename, l_f[0], Start(l_f[1]) )
screen ex_ch_menu():
python:
global ex_chapters_menu
ex_chapters_menu = ex_chapters.copy()
e = persistent.endings #ending seen
if (e ^ 0b0000 == 0):
ex_chapters_menu.clear()
elif not (e & 0b1111 == 0b1111):
w = 4
for i in range(0, 4):
w -= persistent.endings >> i & 0b1 == 0b1
#trish
for i in range(5, 5-w, -1):
ex_chapters_menu.remove(ex_chapters[i])
#naomi
for i in range(8, 8-w, -1):
ex_chapters_menu.remove(ex_chapters[i])
ex_chapters_menu.pop()
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 12
#yalign 0.98
use ex_ch_button("gui/button/menubuttons/template_idle.png", "Return", ShowMenu("main_menu"))
#use ex_ch_button("gui/button/menubuttons/template_idle.png", str(e), ShowMenu("main_menu"))
if len(ex_chapters_menu):
use ex_ch_buttons("gui/button/menubuttons/template_idle.png", ex_chapters_menu )
for x in range(0, len(ex_chapters) - len(ex_chapters_menu)):
use ex_ch_button("gui/button/menubuttons/template_idle.png", "???", None)

View file

@ -10,6 +10,10 @@ screen mod_menu_button(filename, label, function):
xmaximum 600 xmaximum 600
ymaximum 129 ymaximum 129
action function action function
if 'Back' in label or 'Return' in label or 'Quit' in label or 'Main Menu' in label:
activate_sound "audio/ui/uiBack.wav"
else:
activate_sound "audio/ui/uiClick.wav"
fixed: fixed:
add filename xalign 0.5 yalign 0.5 zoom 0.9 add filename xalign 0.5 yalign 0.5 zoom 0.9
text label xalign 0.5 yalign 0.5 xanchor 0.5 size 34 text label xalign 0.5 yalign 0.5 xanchor 0.5 size 34
@ -21,7 +25,7 @@ screen mod_menu_button(filename, label, function):
# Reuse the same image string and keep things 'neat'. # Reuse the same image string and keep things 'neat'.
screen mod_menu_buttons(filename, arr): screen mod_menu_buttons(filename, arr):
for x in arr: for x in arr:
use mod_menu_button(filename, x['Name'], Start(x['Label'])) use mod_menu_button(filename, x['Name'], Start(x['Label']) )
screen mod_menu(): screen mod_menu():

View file

@ -1,3 +1,14 @@
init -1 python:
def ending_image():
#0b0000, ABCD, flash the bits with |=, check with &
endings = 0b0000
_e = 0b1
for i in range(1, 5):
fn = str(i)+"of4"
endings |= (_e * renpy.seen_image(fn))
_e = _e << 0b1
persistent.endings = endings
label storyline: label storyline:
call chapter_1 call chapter_1
call chapter_2 call chapter_2
@ -33,6 +44,7 @@ label storyline:
call chapter_12A call chapter_12A
call chapter_13A call chapter_13A
call chapter_14A call chapter_14A
$ ending_image()
$ renpy.quit() $ renpy.quit()
else: # this block is redundant since we should never hit it else: # this block is redundant since we should never hit it
#>>ERROR HANDLING OH SWEET BABY JESUS SHIT HIT THE FAN #>>ERROR HANDLING OH SWEET BABY JESUS SHIT HIT THE FAN
@ -47,6 +59,7 @@ label storyline:
St "Yes, but you have to have something wrong with you to speedrun a visual novel beta" St "Yes, but you have to have something wrong with you to speedrun a visual novel beta"
"/dev/non" "well shit. Please do report this bug and all the choices you made that lead to this point. Something fucked up real bad" "/dev/non" "well shit. Please do report this bug and all the choices you made that lead to this point. Something fucked up real bad"
#just liek maek gaem #just liek maek gaem
$ ending_image()
call .ending call .ending
return return