Декомпиляция rpyc- и rpa-файлов. Утилиты от Vendor’а, Lolbot’а и скрипт от Eliont’а.
В этой статье я расскажу о трёх способах декомпиляции rpyc- и rpa-файлов. Эти методы просты и не требуют каких-то дополнительных программных средств, но, к сожалению, они не универсальны и не всесильны. Соответственно, если они не смогли справиться с имеющимися в вашем распоряжении архивами, то не стоит унывать, есть и другие утилиты и скрипты (например, unrpec или rpatool), просто они могут быть более сложными в применении и требовать установки дополнительных программ.

Метод 1. Утилита от Vendor’а (тексты)

Эта утилита подойдёт тем, кто хочет перевести небольшую одноязычную новеллу и не хочет разбираться со скриптами.

1. Качаем vendor_utils.zip, распаковываем во временную папку (например, \Katawa Shoujo\_temp)
2. Туда же копируем интересующие файлы. Например, script-a1-monday-RU.rpyc
3. Запускаем GetText.bat, получаем два файла: script-a1-monday-RU.TXT и script-a1-monday-RU.BIN
4. Глумимся над полученным файлом с расширением TXT (в BIN не лезем!!!)
5. Запускаем InsertText.bat, получаем новый вариант файла script-a1-monday-RU.rpyc
6. Перемещаем (это важно, если временную папку вы создали вложенной в главную папку игры, иначе игра будет ругаться на дубликаты, т.к. она найдёт ваш забытый во временной папке rpyc-файл и попытается его подключить к проекту) новый script-a1-monday-RU.rpyc обратно.
7. Запускаем игру…

Ссылку на первоисточник, к сожалению, найти не смог :(




Метод 2. Утилита от lolbot’а (скрипты)

Эта утилита позволяет получить исходники всех скриптов, включая системные, и подойдёт для любого уровня проекта, лишь бы справилась…

1. Качаем lolbot_decompile.zip, распаковываем в папку с игрой (в результате файл decompile.rpy из архива должен оказаться в папке \game, например \Katawa Shoujo\game)
2. Запускаем игру и некоторое время ждём, пока игра не начнётся. Всё, из игры можно выходить. Наигрались :)
3. Если первые два пункта выполнены без ошибок, то в корневой папке игры (например, \Katawa Shoujo) увидите огромное количество файлов с длинными названиями, например _Users_delta_Documents_ks svn_Katawa Shoujo Act 1_game_RU_ui_strings-RU.rpy.txt. Это – исходный код во всей красе. Он менее читабелен, чем полученный в методе 1, зато делать с ним можно ну всё что угодно. В том числе править имена персонажей, меню и прочее. Файл decompile.rpy из папки \game можно удалять, иначе при каждом запуске игра будет генерить эти многочисленные файлы.
4. После внесения изменений вспоминаем, что движок RenPy сам генерит этот файл rpyc из rpy. Итак, в папку игры копируем уже исправленный файл (например, _Users_delta_Documents_ks svn_Katawa Shoujo Act 1_game_RU_ui_strings-RU.rpy.txt) и приводим его название в нормальный вид (например, ui_strings-RU.rpy)
5. Запускаем игру…
6. После запуска получаем свежесгенерённый rpyc-файл, а rpy-файл можно стирать

Очевидно, что описанные выше операции можно проделывать и над другими файлами, например над script-a1-monday-RU.rpyc.

Ссылка: https://github.com/lolbot-iichan/decompile.rpy




Метод 3. Скрипт от Eliont’а (графика, звук, шрифты и т.п.)

Для небольшой новеллы:

1. В папке \game (например, \Sugars Delight\game) переименовываем файлы script.rpyc и (если есть) script.rpy в script.rpyc_ и script.rpy_, соответственно.
2. В папке \game (например, \Sugars Delight\game) создаём файл script.rpy со следующим содержимым:

3. Запускаем игру, жмём «Начать» и ждём, пока снова не появится меню (т.е. игра не запустится), после чего выходим из игры.
4. В новой папке \extracted (например, \Sugars Delight\extracted) получаем всё, кроме самих скриптов, т.е. видео, музыку, аудио, шрифты.
5. Удаляем наш script.rpy, переименовываем описанные в п.1 файлы script.rpyc_ и script.rpy_ обратно в script.rpyc и script.rpy.

Для новеллы побольше:

0. Перво-наперво нам понадобятся исходники скриптов, которые можно получить методом 2.
1. Находим файл, содержащий метку label start:. Меняем расширение оригинальному файлу (например, ui_labels.rpyc переименовываем в ui_labels.rpyc_)
2. Копируем полученный по 2-му методу в эту папку одноимённый файл (например, ui_labels.rpy), в котором удаляем блок, начинающийся с label start:.
3. В папке \game (например, \Katawa Shoujo\game) создаём файл script.rpy со следующим содержимым:

4. Запускаем игру, жмём «Начать» и ждём, пока снова не появится меню (т.е. игра не запустится), после чего выходим из игры.
5. В новой папке \extracted (например, \Katawa Shoujo\extracted) получаем всё, кроме самих скриптов, т.е. видео, музыку, аудио, шрифты.
6. Удаляем изменённые файлы, в которых мы удаляли блок (например, ui_labels.rpy, ui_labels.rpyc), а также и сам script.rpy, меняем расширение файла оригинальным файлам (например, ui_labels.rpyc_ обратно в ui_labels.rpyc).

Ссылка: http://honyaku-subs.ru/forums/viewtopic.php?f=20&t=144#p1726

Автор материала: DOOMer
Материал от пользователя сайта.



Ren'Py 30.09.14 11094 DOOMer Кодинг, rpa, RenPy, rpyc 5.0/6

Комментарии (6):
0
1 Sota   (30.09.14 19:58)
132
О, нужная вещь, спасибо :3

0
2 Veshurik   (05.04.15 21:29)
5379
Не помогло, к сожалению... У новеллы файлы другого типа. Но тоже от RenPy.

0
3 eliont   (24.04.15 06:46)
1110
https://vk.com/renpy?w=wall-7553243_10364

0
4 AnimeMe   (08.07.15 12:47)
2250
Спасибо! happy funny love

0
5 hcfkh   (23.11.16 00:16)
11251
У меня не получается с четвертого пункта способа утилиты от лолбота.
Копирую файл в ту же папку и переименовываю, но вообще ничего не выходит. Подскажет, может, кто? cry

0
6 Slenderman   (05.12.16 20:45)
23387
У меня ничего не выходит, получилось только с этим файлом. smile_11
https://vk.com/doc152123376_437641741?hash=dbe3b4db635623b4cb&dl=3afb21eb99d61f9432

Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]