Руководство
пользователя
Автоматический рефакторинг модов под Ren'Py R8. Разработан ROOTWIN PROJECT.
Руководство ориентировано на мододелов и переводчиков, которым нужно привести старый мод Python 2 / Ren'Py 7 к совместимости с Ren'Py 8 / Python 3.
R-Migrator автоматизирует типовые исправления. Это не гарантия идеального переноса кастомного кода — всегда тестируйте мод после миграции, особенно там, где автор писал нестандартный Python.
Исправления Python 2 → Python 3
R-Migrator сканирует .rpy-файлы и применяет эти исправления автоматически.
print-statement -> print()
except X, e -> except X as e / raise X, msg -> raise X(msg)
has_key / iteritems / iterkeys / itervalues -> эквиваленты Python 3
xrange -> range
long / L-суффикс, восьмеричные 0755, ur"...", `expr` -> синтаксис Python 3
unicode() / basestring -> str
патч в poem- и game-скриптах
float/int в ATL-трансформах и random.randint
Пошаговый алгоритм работы
Запуск
Откройте R-Migrator. На главном экране — список того, что умеет чинить утилита, и кнопка «ВЫБРАТЬ ЦЕЛИ».
Выбор папки с модом
Нажмите «ВЫБРАТЬ ЦЕЛИ» и укажите папку, где лежит мод. R-Migrator читает подпапки внутри неё как цели миграции.
Цели и резервная копия
Отметьте нужные подпапки галочками. Чекбокс «Создавать .bak перед патчем» включён по умолчанию — оставьте его включённым, чтобы рядом с каждым изменённым файлом сохранялась резервная копия.
Согласие на сторонние утилиты
Если в выбранных папках найдутся .rpa-архивы или .rpyc без соответствующего .rpy, R-Migrator предложит сначала распаковать/декомпилировать их через rpatool.py и unrpyc.py. Перед этим один раз за сессию появится диалог согласия.
Запуск миграции
Нажмите «ИСПОЛНИТЬ». Консоль внизу в реальном времени показывает каждый обработанный файл, предупреждения и категории исправлений.
Проверка результата
По завершении консоль выводит итоговое число пропатченных файлов. Для проверки или отката загляните в .bak-файлы и в папку logs/.
Резервные копии и сторонние утилиты
Резервная копия .bak
При включённой опции резервного копирования рядом с каждым файлом сохраняется .bak-копия перед перезаписью. Держите опцию включённой, если у вас нет своей резервной копии.
Сторонние утилиты распаковки
Распаковка .rpa и декомпиляция .rpyc используют rpatool.py и unrpyc.py — код, который не написан R-Migrator. Продолжайте только с архивами из проверенного источника.
Полная копия мода
Помимо опции .bak на файл, храните отдельную полную копию мода до миграции — подстраховку, не зависящую от инструмента.
Логи сессии
Каждый запуск миграции пишет отдельный лог-файл в папку logs/ рядом с программой — с датой и временем запуска в названии, ничего не перезаписывается между сессиями.
Прочие элементы управления
Переключает светлую и тёмную тему.
Переключает язык интерфейса.
Открывает окно с информацией о ROOTWIN PROJECT, ссылками и возможностью поддержать разработку.
Обратная связь
Что включить в отчёт об ошибке
- logs/rmigrator_{дата}.log — лог-файл сессии, в которой произошла ошибка
- Скриншот консоли в момент ошибки
- Версию Ren'Py мода (6, 7 или 8) и был ли он упакован в .rpa/.rpyc