From 26ecf0e6f0d39a2aaa69f564ee260dfc901e636a Mon Sep 17 00:00:00 2001 From: Gouvernathor <44340603+Gouvernathor@users.noreply.github.com> Date: Thu, 16 Nov 2023 18:01:43 +0100 Subject: [PATCH] Use a grid for the inventory (cherry picked from commit c1ab7f7b85f153b174be6ad7bfa564880a639953) --- game/scripts/interface/inventory.rpy | 67 +++++++++++++++------------- 1 file changed, 35 insertions(+), 32 deletions(-) diff --git a/game/scripts/interface/inventory.rpy b/game/scripts/interface/inventory.rpy index 3f6651a0..ec9591d3 100644 --- a/game/scripts/interface/inventory.rpy +++ b/game/scripts/interface/inventory.rpy @@ -326,43 +326,46 @@ screen inventory_menuitem(xx, yy): action Return("inc") # Add items - for i in range(current_page*items_shown, (current_page*items_shown)+items_shown): - if i < menu_items_length: - $ row = (i // 9) % 4 - $ col = i % 9 - frame: - style "empty" - xsize 48 - ysize 48 - pos (24+58*(col), 113+58*(row)) - add gui.format("interface/achievements/{}/iconbox.webp") + grid 9 4: + style "empty" + pos (24, 113) - if current_item is not None and current_item.id == menu_items[i].id: - add "interface/achievements/glow.webp" align (0.5, 0.5) zoom 0.105 alpha 0.7 at rotate_circular + for i in range(current_page*items_shown, (current_page*items_shown)+items_shown): + if i < menu_items_length: + $ row = (i // 9) % 4 + $ col = i % 9 + frame: + style "empty" + xsize 48 + ysize 48 + add gui.format("interface/achievements/{}/iconbox.webp") - add crop_image_zoom(menu_items[i].get_image(), 42, 42, menu_items[i].owned <= 0) align (0.5, 0.5) + if current_item is not None and current_item.id == menu_items[i].id: + add "interface/achievements/glow.webp" align (0.5, 0.5) zoom 0.105 alpha 0.7 at rotate_circular - button: - style gui.theme("overlay_button") - background "interface/achievements/glass_iconbox.webp" - xsize 46 ysize 46 - action Return(["select", menu_items[i]]) - tooltip menu_items[i].name + add crop_image_zoom(menu_items[i].get_image(), 42, 42, menu_items[i].owned <= 0) align (0.5, 0.5) - if menu_items[i].limit > 1 and menu_items[i].owned > 0: - if menu_items[i].infinite: - text "{unicode}∞{/unicode}" size 20 align (0.1, 0.1) offset(-1, -9) color "#FFFFFF" outlines [ (1, "#000", 0, 0) ] - else: - text str(menu_items[i].owned) size 10 align (0.1, 0.1) color "#FFFFFF" outlines [ (1, "#000", 0, 0) ] - elif current_category == "Decorations": - if menu_items[i].in_use: - add "interface/topbar/icon_check.webp" anchor (1.0, 1.0) align (1.0, 1.0) offset (-3, -3) zoom 0.5 - elif current_category in ("Books", "Quest Items"): - if menu_items[i].used: - add "interface/topbar/icon_check.webp" anchor (1.0, 1.0) align (1.0, 1.0) offset (-3, -3) zoom 0.5 + button: + style gui.theme("overlay_button") + background "interface/achievements/glass_iconbox.webp" + xsize 46 ysize 46 + action Return(["select", menu_items[i]]) + tooltip menu_items[i].name - if inventory_mode == 1 and (not menu_items[i].givable or not states.active_girl in menu_items[i].usable_on): - add "#b2000040" + if menu_items[i].limit > 1 and menu_items[i].owned > 0: + if menu_items[i].infinite: + text "{unicode}∞{/unicode}" size 20 align (0.1, 0.1) offset(-1, -9) color "#FFFFFF" outlines [ (1, "#000", 0, 0) ] + else: + text str(menu_items[i].owned) size 10 align (0.1, 0.1) color "#FFFFFF" outlines [ (1, "#000", 0, 0) ] + elif current_category == "Decorations": + if menu_items[i].in_use: + add "interface/topbar/icon_check.webp" anchor (1.0, 1.0) align (1.0, 1.0) offset (-3, -3) zoom 0.5 + elif current_category in ("Books", "Quest Items"): + if menu_items[i].used: + add "interface/topbar/icon_check.webp" anchor (1.0, 1.0) align (1.0, 1.0) offset (-3, -3) zoom 0.5 + + if inventory_mode == 1 and (not menu_items[i].givable or not states.active_girl in menu_items[i].usable_on): + add "#b2000040" if menu_items_length <= 0: text "Nothing here yet" align (0.5, 0.5) anchor (0.5, 0.5) size 24