From c278e9d5517184fd09585569e0dc1a0a233c7beb Mon Sep 17 00:00:00 2001 From: LoafyLemon Date: Sat, 10 Sep 2022 21:51:00 +0100 Subject: [PATCH] Bugfix * Fixed numbered additional layers ignoring their assigned number layer * Added save compatibility patch --- game/scripts/doll/clothes.rpy | 6 ++++-- game/scripts/utility/updater.rpy | 9 +++++++++ 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/game/scripts/doll/clothes.rpy b/game/scripts/doll/clothes.rpy index 3e392476..454ba113 100644 --- a/game/scripts/doll/clothes.rpy +++ b/game/scripts/doll/clothes.rpy @@ -58,6 +58,8 @@ init python: path = "{}{}_{}.webp".format(self.imagepath, i, x) if renpy.loadable(path): self.__dict__[x].append(path) + else: + self.__dict__[x].append(None) path = "{}outline_{}.webp".format(self.imagepath, x) self.__dict__[x+"_outline"] = path if renpy.loadable(path) else None @@ -147,7 +149,7 @@ init python: def get_back(self): """Returns a list of layers displayed in the back of object/character""" back_outline = [self.back_outline] if self.back_outline else [] - sprites = [self.apply_color(x, n) for n, x in enumerate(self.back)] + back_outline + sprites = [self.apply_color(x, n) for n, x in enumerate(self.back) if x] + back_outline if sprites: return (Fixed(*sprites, fit_first=True), -100+self.zorder) @@ -157,7 +159,7 @@ init python: def get_front(self): """Returns a list of layers displayed in the front of object/character""" front_outline = [self.front_outline] if self.front_outline else [] - sprites = [self.apply_color(x, n) for n, x in enumerate(self.front)] + front_outline + sprites = [self.apply_color(x, n) for n, x in enumerate(self.front) if x] + front_outline if sprites: return (Fixed(*sprites, fit_first=True), 100+self.zorder) diff --git a/game/scripts/utility/updater.rpy b/game/scripts/utility/updater.rpy index 365915ed..92a94502 100644 --- a/game/scripts/utility/updater.rpy +++ b/game/scripts/utility/updater.rpy @@ -101,6 +101,15 @@ init python: col = Color(tuple(col)) store.colorpicker.favorites[i] = col + if current <= 1.433: + for i in CHARACTERS: + char = get_character_object(i) + + for c in char.wardrobe_list: + c.set_layers() + + char.rebuild() + if current > latest: raise Exception("Loaded save file is incompatible. (Save Version: {}, Game Version: {})".format(current, latest))