From ef17df3698fedb3bb1bb36f5ee90759f905d4c1c Mon Sep 17 00:00:00 2001 From: Gouvernathor <44340603+Gouvernathor@users.noreply.github.com> Date: Sun, 19 Nov 2023 01:10:50 +0100 Subject: [PATCH] Make the wardrobe variables dynamic (cherry picked from commit 9ee1de9fd05225dfb2d13fc9d1ec01f286305894) --- game/scripts/wardrobe/wardrobe.rpy | 42 ++++++++++++++++++------------ 1 file changed, 25 insertions(+), 17 deletions(-) diff --git a/game/scripts/wardrobe/wardrobe.rpy b/game/scripts/wardrobe/wardrobe.rpy index 35cd37d1..ab43b627 100644 --- a/game/scripts/wardrobe/wardrobe.rpy +++ b/game/scripts/wardrobe/wardrobe.rpy @@ -236,34 +236,42 @@ screen wardrobe(xx, yy): use wardrobe_menuitem(20, 50) label wardrobe_menu(): + $ renpy.dynamic( + char_active = get_character_object(states.active_girl), + char_outfit = get_character_outfit(states.active_girl, type="last"), + ) + $ char_outfit.save() + + $ renpy.dynamic( + wardrobe_subcategories = char_active.wardrobe, + ) python: - - char_active = get_character_object(states.active_girl) - char_outfit = get_character_outfit(states.active_girl, type="last") - char_outfit.save() - - wardrobe_subcategories = char_active.wardrobe - if renpy.android: - wardrobe_subcategories.update( { "outfits": { k:char_active.outfits for k in {"load", "save", "delete", "schedule"} } } ) + wardrobe_subcategories.update(outfits=dict.fromkeys(("load", "save", "delete", "schedule"), char_active.outfits)) else: - wardrobe_subcategories.update( { "outfits": { k:char_active.outfits for k in {"load", "save", "delete", "schedule", "import", "export"} } } ) + wardrobe_subcategories.update(outfits=dict.fromkeys(("load", "save", "delete", "schedule", "import", "export"), char_active.outfits)) + $ renpy.dynamic( # Defaults - current_category = "head" - category_items = set_wardrobe_categories(current_category) - current_subcategory = list(category_items.keys())[0] if category_items else "" - current_item = char_active.get_equipped_wardrobe_item(category_items, current_subcategory) - last_track = renpy.music.get_playing() - rebuild_wardrobe_icons(category_items, current_subcategory) + current_category = "head", + category_items = set_wardrobe_categories(current_category), + ) + $ renpy.dynamic( + current_subcategory = next(iter(category_items), ""), + ) + $ renpy.dynamic( + current_item = char_active.get_equipped_wardrobe_item(category_items, current_subcategory), + last_track = renpy.music.get_playing(), + ) + $ rebuild_wardrobe_icons(category_items, current_subcategory) if wardrobe_music: play music "music/Spring_In_My_Step.ogg" fadein 1 if_changed + show screen wardrobe(662, 50) + label .after_init: - if not renpy.get_screen("wardrobe"): - show screen wardrobe(662, 50) $ renpy.hide(get_character_tag(states.active_girl)) $ renpy.config.skipping = None $ _game_menu_screen = None