Bug fixes

* Fixed an issue with rollback during event cancellation, rolling back attributes
* Fixed compatibility patch issue with None values
This commit is contained in:
LoafyLemon 2023-07-15 21:54:01 +01:00
parent ece2690030
commit ff952f6f90
2 changed files with 7 additions and 2 deletions

View File

@ -268,7 +268,10 @@ init -1 python:
rollback = f"{stdcol.UNDERLINE}(Rollback){stdcol.END} " if renpy.in_rollback() else "" rollback = f"{stdcol.UNDERLINE}(Rollback){stdcol.END} " if renpy.in_rollback() else ""
caller_id = _caller.id if _caller else renpy.get_filename_line() caller_id = _caller.id if _caller else renpy.get_filename_line()
print(f"{rollback}Cancelling '{stdcol.GREEN}{self.id}{stdcol.END}' caller '{stdcol.BLUE}{caller_id}{stdcol.END}'... ") print(f"{rollback}Cancelling '{stdcol.GREEN}{self.id}{stdcol.END}' caller '{stdcol.BLUE}{caller_id}{stdcol.END}'... ")
self.started = False self.started = False
self.completed = False
self.completed_failed = False
if self._track_completion in event_callbacks: if self._track_completion in event_callbacks:
event_callbacks.remove(self._track_completion) event_callbacks.remove(self._track_completion)
@ -279,6 +282,8 @@ init -1 python:
if renpy.get_return_stack(): if renpy.get_return_stack():
renpy.pop_call() renpy.pop_call()
renpy.block_rollback()
def _track_completion(self, label, abnormal): def _track_completion(self, label, abnormal):
if renpy.is_init_phase(): if renpy.is_init_phase():
return return

View File

@ -141,10 +141,10 @@ init python:
getattr(store, "letter_cards_store").wait = 7 getattr(store, "letter_cards_store").wait = 7
# Fix revertable types for modding # Fix revertable types for modding
mods_enabled = getattr(persistent, "mods_enabled", _set()) mods_enabled = getattr(persistent, "mods_enabled", _set()) or _set()
setattr(persistent, "mods_enabled", _set(mods_enabled)) setattr(persistent, "mods_enabled", _set(mods_enabled))
mods_list = getattr(persistent, "mods_list", _dict()) mods_list = getattr(persistent, "mods_list", _dict()) or _dict()
setattr(persistent, "mods_list", _dict(mods_list)) setattr(persistent, "mods_list", _dict(mods_list))
if current > latest: if current > latest: