2016-09-02 8 views
0

Существует игра на основе RenPy, которая использует пользовательские классы Python для некоторых игровых объектов. Недавно мы переименовали некоторые модули и классы как часть рефакторинга. Это сломало загрузку старых игр, потому что Pickle не может найти классы.Как отремонтировать игру RenPy сохранить загрузку после переименования маринованного класса python?

Самого Рассол поддерживает механизм, чтобы правильно обрабатывать ситуацию с классом переименованием: https://wiki.python.org/moin/UsingPickle/RenamingModules

Однако я не могу применить этот код к игре, потому что RenPy сохранить/процесс загрузки контролируется RenPy в его loadsave.py модуля. Есть ли способ исправить загрузку без исправления кода RenPy? Любые идеи обезьяны?

ответ

1

Что я обычно делаю, когда я перемещаю вещи в Ren'Py, это просто создать псевдоним от старого имени класса до нового имени. Этого достаточно для маринования - он ищет старое имя и создает класс с новым именем.

Например, если бы я был

class OldClass(object): 
    pass 

и хотел переименовать его в NewClass, я бы код:

class NewClass(object): 
    pass 

OldClass = NewClass 

Это работает через модули тоже.

 Смежные вопросы

  • Нет связанных вопросов^_^