From 73328cb2e1eb394044a2739f276c37a87e933221 Mon Sep 17 00:00:00 2001 From: Map Date: Wed, 2 Oct 2024 11:16:26 -0500 Subject: [PATCH] final overhaul that should make everything work Redid chapter names, sourced from the source snoot script Tightened up transitions in chapter select made all get_ending() checks use ending_route_number instead. --- game/src/chapter_select.rpy | 44 +++++++++++++++++++++++++------------ game/src/credits.rpy | 9 ++++---- game/src/storyline.rpy | 15 ++++++++----- game/src/utility.rpy | 2 +- 4 files changed, 45 insertions(+), 25 deletions(-) diff --git a/game/src/chapter_select.rpy b/game/src/chapter_select.rpy index 1ac2af6..831219c 100644 --- a/game/src/chapter_select.rpy +++ b/game/src/chapter_select.rpy @@ -13,28 +13,28 @@ define chapter_tuple = [ ] define ending_1_tuple = [ - ("11.5. Announcing a Plan", "chapter_11A") # this is supposed to be ch 12 (13, accounting for ch 5), but it somehow got counted as part of 11 internally + ("11.5. Announcing a Plan", "lPromAnnouncement"), # this is supposed to be ch 12 (13, accounting for ch 5), but it somehow got counted as part of 11 internally ("12. Let's all go to the Museum", "chapter_12A"), ("13. Prom is Complicated", "chapter_12_5D"), ("14. Bowling for Volcano High", "chapter_14A") ] define ending_2_tuple = [ - ("11.5. Announcing Nothing Important", "chapter_11B") + ("11.5. Announcing Nothing Important", "lPromAnnouncement"), ("12. Let's all go to a Concert", "chapter_12B"), ("13. Prom is For Suckers", "chapter_13B"), ("14. Anon and the Infinite Sadness", "chapter_14B") ] define ending_3_tuple = [ - ("11.5. Announcing a Date", "chapter_11C") + ("11.5. Announcing a Date", "lPromAnnouncement"), ("12. Let's all go Camping", "chapter_12C"), ("13. Prom is Suprising", "chapter_12_5C"), ("14. Volcano Highschool Musical", "chapter_14C") ] define ending_4_tuple = [ - ("11.5. Announcing a Show.", "chapter_11D") + ("11.5. Announcing a Show.", "lPromAnnouncement"), ("12. Let's all go to the Aquarium", "chapter_12D"), ("13. Prom is Memorable", "chapter_12_5D"), ("14. Fast Times at Volcano High", "chapter_14D") @@ -60,7 +60,7 @@ label chapter_select: stop music1 stop music2 scene black - with dissolve + with Dissolve(0.25) jump chapter_select_go_back # Technically we don't need to explicitly jump to the label just below here, but doing so anyway for clarity @@ -78,7 +78,7 @@ label chapter_select_go_back: "Ending 4": $ ending_route_number = 4 "Exit to main menu": - scene black with dissolve + scene black with Dissolve(0.25) return window hide @@ -88,7 +88,7 @@ label chapter_select_go_back: init python: def select_chapter(): - global current_chapter, quick_menu, ending_route_number, chapter_list_index + global current_chapter, quick_menu, ending_route_number, chapter_list_index, chapter_list, ending_chapters_determined, chapter_list_length ending_tuples = { 1: ending_1_tuple, @@ -98,7 +98,7 @@ init python: } # Chapter list to select from - chapter_tuples = chapter_tuple + ending_tuples{ending_route_number} + chapter_tuples = chapter_tuple + ending_tuples[ending_route_number] # Vars for displaying the choices chapters_per_page = 6 @@ -110,7 +110,7 @@ init python: # The loop that displays the chapter choices while True: # Displays the choices - selected_tuple = renpy.display_menu(chapter_tupless[start_index:end_index] + [("Next Page", "next_page"), ("Go Back", "chapter_select_go_back")]) + selected_tuple = renpy.display_menu(chapter_tuples[start_index:end_index] + [("Next Page", "chapter_select_next_page"), ("Go Back", "chapter_select_go_back")]) if selected_tuple == "chapter_select_next_page": # If we're at the last page, wrap around to the first @@ -120,20 +120,36 @@ init python: end_index = min(start_index + chapters_per_page, len(chapter_tuples)) elif selected_tuple == "chapter_select_go_back": - renpy.jump(chapter_select_go_back) + renpy.jump("chapter_select_go_back") else: break # We've selected a chapter - chapter_list += ending_routes{ending_route_number} # Actual chapter list for the game to run - current_chapter = selected_tuple + setup_ending(ending_route_number) + + store._window_auto = True # Find the index position of the selected chapter try: - chapter_list_index = chapter_list.index(current_chapter) + chapter_list_index = chapter_list.index(selected_tuple) except ValueError: # This crashes the game otherwise since it wouldn't find the correct chapter - MainMenu(confirm=False) () # Exits to the main menu + + # Make an exception for the 11A/B/C/D chapters, since we're technically supposed to start at the PromAnnouncement label + # Stank as fuck + if selected_tuple == "lPromAnnouncement": + chapter_list_index = 10 + current_chapter = "chapter_11" + toggle_debug() + quick_menu = True + renpy._window_auto = True + + renpy.jump("lPromAnnouncement") + else: + print("No such chapter exists!") + MainMenu(confirm=False) () # Exits to the main menu + + current_chapter = selected_tuple # Start playing the game toggle_debug() diff --git a/game/src/credits.rpy b/game/src/credits.rpy index 5b897e3..ebd18b9 100644 --- a/game/src/credits.rpy +++ b/game/src/credits.rpy @@ -241,8 +241,7 @@ image d_credits_text = Composite( label lending: - $ cached_ending = get_ending() - if cached_ending == 4: + if ending_route_number == 4: pause 0.5 show snootgame_big with dissolve: # Renpy not allowing you to grab images from the gui folder is serious bullshit subpixel True @@ -272,7 +271,7 @@ label lending: pause 50 queue music 'audio/OST/amberlight brillance live end.ogg' queue music "" loop - elif cached_ending == 3: + elif ending_route_number == 3: play music "audio/OST/Dino Destiny Reader.ogg" pause 0.5 show c_credits_text: @@ -304,12 +303,12 @@ label lending: stop music fadeout 5 scene black with Dissolve(3) pause 2 - if cached_ending == 3: + if ending_route_number == 3: scene c10 with Dissolve(1.5) pause 20 scene black with Dissolve(2) pause 1 - elif cached_ending == 4: + elif ending_route_number == 4: scene golden ending with Dissolve(1.5) pause 20 scene black with Dissolve(2) diff --git a/game/src/storyline.rpy b/game/src/storyline.rpy index 7df87c5..cce1556 100644 --- a/game/src/storyline.rpy +++ b/game/src/storyline.rpy @@ -36,10 +36,15 @@ init python: def setup_ending(ending): global ending_route_number, chapter_list, chapter_list_length, ending_chapters_determined - ending_route_number = ending + if not ending_chapters_determined: + ending_route_number = ending - # Add ending chapters - chapter_list.extend(ending_routes[ending_route_number]) - chapter_list_length = len(chapter_list) - 1 # chapter_list_length is updated to reflect the addition to the chapter_list array + # Add ending chapters + chapter_list.extend(ending_routes[ending_route_number]) + chapter_list_length = get_chapter_list_length() # chapter_list_length is updated to reflect the addition to the chapter_list array - ending_chapters_determined = True \ No newline at end of file + ending_chapters_determined = True + + def get_chapter_list_length(): + global chapter_list + return len(chapter_list) - 1 \ No newline at end of file diff --git a/game/src/utility.rpy b/game/src/utility.rpy index 23560dd..9618df7 100644 --- a/game/src/utility.rpy +++ b/game/src/utility.rpy @@ -23,7 +23,7 @@ init python: "chapter_list_length", "chapter_list_index", "ending_route_number", - "is_end_reached" + "ending_chapters_determined" ] for item in var_list: