JSearUK / Playthroughs

The aim is to create the system in such a way that it can be safely dropped into any other project
The Unlicense
0 stars 0 forks source link

New playthrough will accept "quick" as a playthrough name ONCE after a persistent wipe #20

Closed JSearUK closed 2 years ago

JSearUK commented 3 years ago

Do not remember if I purged the disk files when I did this. Result: input screen closed, menu screen closed Re-entered menu No playthrough named "quick", but slots displayed are quicksaves Create playthrough no longer accepts "quick"

JSearUK commented 3 years ago

Using the Navigation screen Quit button while the mod is in this state results in:

I'm sorry, but an uncaught exception occurred.

While running game code:
  File "game/screens.rpy", line 586, in execute
    screen save():
  File "game/screens.rpy", line 586, in execute
    screen save():
  File "game/screens.rpy", line 590, in execute
    use file_slots(_("Save"))
  File "game/JSearUK's Save System/overridescreen-fileslots.rpy", line 217, in execute
    screen file_slots(title):
  File "game/JSearUK's Save System/overridescreen-fileslots.rpy", line 217, in execute
    screen file_slots(title):
  File "game/JSearUK's Save System/overridescreen-fileslots.rpy", line 218, in execute
    if persistent.save_system == "original":
  File "game/JSearUK's Save System/overridescreen-fileslots.rpy", line 221, in execute
    use playthrough_file_slots(title=title)
  File "game/JSearUK's Save System/overridescreen-fileslots.rpy", line 323, in execute
    screen playthrough_file_slots(title):
  File "game/JSearUK's Save System/overridescreen-fileslots.rpy", line 323, in execute
    screen playthrough_file_slots(title):
  File "game/JSearUK's Save System/overridescreen-fileslots.rpy", line 326, in execute
    use game_menu(title):
  File "game/screens.rpy", line 420, in execute
    screen game_menu(title, scroll=None, yinitial=0.0):
  File "game/screens.rpy", line 420, in execute
    screen game_menu(title, scroll=None, yinitial=0.0):
  File "game/screens.rpy", line 429, in execute
    frame:
  File "game/screens.rpy", line 432, in execute
    hbox:
  File "game/screens.rpy", line 438, in execute
    frame:
  File "game/screens.rpy", line 441, in execute
    if scroll == "viewport":
  File "game/screens.rpy", line 472, in execute
    transclude
  File "game/JSearUK's Save System/overridescreen-fileslots.rpy", line 326, in execute
    use game_menu(title):
  File "game/JSearUK's Save System/overridescreen-fileslots.rpy", line 336, in execute
    fixed:
  File "game/JSearUK's Save System/overridescreen-fileslots.rpy", line 339, in execute
    hbox:
  File "game/JSearUK's Save System/overridescreen-fileslots.rpy", line 441, in execute
    vbox:
  File "game/JSearUK's Save System/overridescreen-fileslots.rpy", line 449, in execute
    if persistent.current_playthrough:
  File "game/JSearUK's Save System/overridescreen-fileslots.rpy", line 469, in execute
    viewport:
  File "game/JSearUK's Save System/overridescreen-fileslots.rpy", line 473, in execute
    vbox:
  File "game/JSearUK's Save System/overridescreen-fileslots.rpy", line 477, in execute
    for slot in persistent.current_playthrough.sorted_slots:
  File "game/JSearUK's Save System/overridescreen-fileslots.rpy", line 477, in <module>
    for slot in persistent.current_playthrough.sorted_slots:
  File "game/JSearUK's Save System/overridescreen-fileslots.rpy", line 72, in sorted_slots
    return sorted(self.slots, key=lambda x: getattr(x, persistent.sortby), reverse=True)
  File "game/JSearUK's Save System/overridescreen-fileslots.rpy", line 64, in slots
    save_info = SaveInfo(save, renpy.slot_mtime(save), save_split[1], slot_json["_version"], slot_json["_save_name"], slot_json.get("locked_status", "UNLOCKED"))
TypeError: 'NoneType' object has no attribute '__getitem__'

-- Full Traceback ------------------------------------------------------------

Full traceback:
  File "renpy/common/_layout/screen_load_save.rpym", line 35, in script
    $ ui.interact()
  File "renpy/ast.py", line 923, in execute
    renpy.python.py_exec_bytecode(self.code.bytecode, self.hide, store=self.store)
  File "renpy/python.py", line 2235, in py_exec_bytecode
    exec(bytecode, globals, locals)
  File "renpy/common/_layout/screen_load_save.rpym", line 35, in <module>
    $ ui.interact()
  File "renpy/ui.py", line 298, in interact
    rv = renpy.game.interface.interact(roll_forward=roll_forward, **kwargs)
  File "renpy/display/core.py", line 3276, in interact
    repeat, rv = self.interact_core(preloads=preloads, trans_pause=trans_pause, pause=pause, pause_start=pause_start, **kwargs)
  File "renpy/display/core.py", line 3694, in interact_core
    root_widget.visit_all(lambda i : i.per_interact())
  File "renpy/display/core.py", line 568, in visit_all
    d.visit_all(callback, seen)
  File "renpy/display/core.py", line 568, in visit_all
    d.visit_all(callback, seen)
  File "renpy/display/core.py", line 568, in visit_all
    d.visit_all(callback, seen)
  File "renpy/display/screen.py", line 432, in visit_all
    callback(self)
  File "renpy/display/core.py", line 3694, in <lambda>
    root_widget.visit_all(lambda i : i.per_interact())
  File "renpy/display/screen.py", line 443, in per_interact
    self.update()
  File "renpy/display/screen.py", line 631, in update
    self.screen.function(**self.scope)
  File "game/screens.rpy", line 586, in execute
    screen save():
  File "game/screens.rpy", line 586, in execute
    screen save():
  File "game/screens.rpy", line 590, in execute
    use file_slots(_("Save"))
  File "game/JSearUK's Save System/overridescreen-fileslots.rpy", line 217, in execute
    screen file_slots(title):
  File "game/JSearUK's Save System/overridescreen-fileslots.rpy", line 217, in execute
    screen file_slots(title):
  File "game/JSearUK's Save System/overridescreen-fileslots.rpy", line 218, in execute
    if persistent.save_system == "original":
  File "game/JSearUK's Save System/overridescreen-fileslots.rpy", line 221, in execute
    use playthrough_file_slots(title=title)
  File "game/JSearUK's Save System/overridescreen-fileslots.rpy", line 323, in execute
    screen playthrough_file_slots(title):
  File "game/JSearUK's Save System/overridescreen-fileslots.rpy", line 323, in execute
    screen playthrough_file_slots(title):
  File "game/JSearUK's Save System/overridescreen-fileslots.rpy", line 326, in execute
    use game_menu(title):
  File "game/screens.rpy", line 420, in execute
    screen game_menu(title, scroll=None, yinitial=0.0):
  File "game/screens.rpy", line 420, in execute
    screen game_menu(title, scroll=None, yinitial=0.0):
  File "game/screens.rpy", line 429, in execute
    frame:
  File "game/screens.rpy", line 432, in execute
    hbox:
  File "game/screens.rpy", line 438, in execute
    frame:
  File "game/screens.rpy", line 441, in execute
    if scroll == "viewport":
  File "game/screens.rpy", line 472, in execute
    transclude
  File "game/JSearUK's Save System/overridescreen-fileslots.rpy", line 326, in execute
    use game_menu(title):
  File "game/JSearUK's Save System/overridescreen-fileslots.rpy", line 336, in execute
    fixed:
  File "game/JSearUK's Save System/overridescreen-fileslots.rpy", line 339, in execute
    hbox:
  File "game/JSearUK's Save System/overridescreen-fileslots.rpy", line 441, in execute
    vbox:
  File "game/JSearUK's Save System/overridescreen-fileslots.rpy", line 449, in execute
    if persistent.current_playthrough:
  File "game/JSearUK's Save System/overridescreen-fileslots.rpy", line 469, in execute
    viewport:
  File "game/JSearUK's Save System/overridescreen-fileslots.rpy", line 473, in execute
    vbox:
  File "game/JSearUK's Save System/overridescreen-fileslots.rpy", line 477, in execute
    for slot in persistent.current_playthrough.sorted_slots:
  File "game/JSearUK's Save System/overridescreen-fileslots.rpy", line 477, in <module>
    for slot in persistent.current_playthrough.sorted_slots:
  File "game/JSearUK's Save System/overridescreen-fileslots.rpy", line 72, in sorted_slots
    return sorted(self.slots, key=lambda x: getattr(x, persistent.sortby), reverse=True)
  File "game/JSearUK's Save System/overridescreen-fileslots.rpy", line 64, in slots
    save_info = SaveInfo(save, renpy.slot_mtime(save), save_split[1], slot_json["_version"], slot_json["_save_name"], slot_json.get("locked_status", "UNLOCKED"))
TypeError: 'NoneType' object has no attribute '__getitem__'

Windows-10-10.0.19041
Ren'Py 7.4.8.1895
Playthroughs 0.1
Wed Aug 11 16:35:11 2021