From b21dbb6cbff109cc65cd1159bba0c755829b8b84 Mon Sep 17 00:00:00 2001 From: LoafyLemon Date: Thu, 13 Jul 2023 17:33:37 +0100 Subject: [PATCH] Save compatibility * Added dequeue method for event objects * Updated save compatibility patch --- game/scripts/events/queue.rpy | 19 +++++++++++++++++++ game/scripts/utility/updater.rpy | 10 ++++++++++ 2 files changed, 29 insertions(+) diff --git a/game/scripts/events/queue.rpy b/game/scripts/events/queue.rpy index caf0b88f..4808e79d 100644 --- a/game/scripts/events/queue.rpy +++ b/game/scripts/events/queue.rpy @@ -200,6 +200,25 @@ init -1 python: queue.append(self) self.queued = True + def dequeue(self, queue=None): + if queue: + queue = getattr(store, queue).queue + else: + queue = self.queue + + if self in queue: + if config.developer: + rollback = f"{stdcol.UNDERLINE}(Rollback){stdcol.END} " if renpy.in_rollback() else "" + name = getattr(store, self._queue).id + caller_id = renpy.get_filename_line() + + if not "/00start.rpy" in caller_id[0]: + print(f"{rollback}Dequeued '{stdcol.GREEN}{self.id}{stdcol.END}' from '{stdcol.BLUE}{name}{stdcol.END}' ...") + + queue.remove(self) + + self.queued = False + def requirements_met(self): if self.req: return eval(self.req) diff --git a/game/scripts/utility/updater.rpy b/game/scripts/utility/updater.rpy index 1823a108..493ddac5 100644 --- a/game/scripts/utility/updater.rpy +++ b/game/scripts/utility/updater.rpy @@ -121,6 +121,16 @@ init python: j.group = objects j.is_stale() + # Patch removed events + events = ["her_ev_handjob_t1_to_t3_e1", "her_ev_titjob_t1_to_t4_e1", "her_ev_sex_t1_to_t5_e1", "her_ev_panty_thief_t1_to_t3"] + + for i in events: + ev = getattr(store, i, None) + + if ev: + ev.dequeue() + delattr(store, i) + # Fix cardgame events delattr(states.twi.ev.cardgame, "delay")