Компиляция/декомпиляция
Метод 1.
К сожалению, утилита Вендора не позволяет (во всяком случае, мне это сделать так и не удалось) вносить изменения в файлы, в которых определяются строковые переменные, такие как имена, кнопки меню, разработчики и прочее, в частности в файл ui_strings-RU.rpyc. Так что второй метод нам тоже придётся освоить :)))
Метод 2.
Очевидно, что описанные выше в методе 2 операции можно проводить и над другими файлами, например, script-a1-monday-RU.rpyc, просто это, по-моему, проще и удобнее делать в утилите Вендора. Впрочем, допускаю, что у каждой утилиты есть какие-то косяки, с которыми я пока не сталкивался.
Метод 3.
http://honyaku-subs.ru/forums/viewtopic.php?f=20&t=144#p1726
- Качаем vendor_utils.zip, распаковываем во временную папку, например, \Katawa Shoujo\_temp
- Туда же копируем содержимое папки \Katawa Shoujo\game\RU, например, script-a1-monday-RU.rpyc
- Запускаем GetText.bat, получаем два файла: script-a1-monday-RU.TXT и script-a1-monday-RU.BIN
- Глумимся над полученным файлом с расширением TXT (в BIN не лезем!!!)
- Запускаем InsertText.bat, получаем новый вариант файла script-a1-monday-RU.rpyc
- Перемещаем (это важно, если временную папку вы создали вложенной в главную папку игры, иначе игра будет ругаться на дубликаты, т.к. она найдёт ваш забытый во временной папке rpyc-файл и попытается его подключить к проекту) новый script-a1-monday-RU.rpyc обратно в \Katawa Shoujo\game\RU
- Запускаем игру…
К сожалению, утилита Вендора не позволяет (во всяком случае, мне это сделать так и не удалось) вносить изменения в файлы, в которых определяются строковые переменные, такие как имена, кнопки меню, разработчики и прочее, в частности в файл ui_strings-RU.rpyc. Так что второй метод нам тоже придётся освоить :)))
Метод 2.
- Качаем lolbot_decompile.zip, распаковываем в папку с игрой (в результате файл decompile.rpy из архива должен оказаться в папке \Katawa Shoujo\game)
- Запускаем игру и некоторое время ждём, до тех пор, пока игра не начнётся. Всё, из игры можно выходить. Наигрались :)
- Если первые два пункта выполнены без ошибок, то в корневой папке \Katawa Shoujo увидите огромное количество файлов с длинными названиями, например, интересующий нас _Users_delta_Documents_ks svn_Katawa Shoujo Act 1_game_RU_ui_strings-RU.rpy.txt. Это – исходный код во всей красе. Он менее читабелен, чем полученный в методе 1, зато делать с ним можно ну всё, что угодно. В том числе править имена персонажей, меню и прочее. Файл decompile.rpy из папки \Katawa Shoujo\game можно удалять, иначе при каждом запуске игра будет генерить эти многочисленные файлы.
- После внесения изменений вспоминаем, что движок RenPy, в случае, если не находит файла rpyc, сам генерит этот файл из rpy. Итак, стираем по пути \Katawa Shoujo\game\RU файл ui_strings-RU.rpyc, в эту папку копируем уже исправленный _Users_delta_Documents_ks svn_Katawa Shoujo Act 1_game_RU_ui_strings-RU.rpy.txt и переименовываем его в ui_strings-RU.rpy
- Запускаем игру…
- После запуска получаем свежесгенерённый файл \Katawa Shoujo\game\RU файл ui_strings-RU.rpyc, а файл ui_strings-RU.rpy можно стирать
Очевидно, что описанные выше в методе 2 операции можно проводить и над другими файлами, например, script-a1-monday-RU.rpyc, просто это, по-моему, проще и удобнее делать в утилите Вендора. Впрочем, допускаю, что у каждой утилиты есть какие-то косяки, с которыми я пока не сталкивался.
Метод 3.
- В папке \Katawa Shoujo\game создаём файл script.rpy со следующим содержимым:
init python:
image_files = [
fn
for dir, fn in renpy.loader.listdirfiles()
if not fn.lower().endswith(«.rpy») and not fn.lower().endswith(«.rpyc») and not fn.lower().endswith(«.rpa») and not fn.lower().endswith(«.rpyb»)
if not fn[0] == «_»
]
def unarchive(original_filename, new_filename):
import os
import os.path
new_filename = config.basedir + «/» + new_filename
dirname = os.path.dirname(new_filename)
if not os.path.exists(dirname):
os.makedirs(dirname)
orig = renpy.file(original_filename)
new = file(new_filename, «wb»)
new.write(orig.read())
new.close()
orig.close()
label start:
python:
for img in image_files:
unarchive(img, «extracted/»+img)
return
- Меняем расширение оригинальному файлу ui_labels.rpyc, например, так: ui_labels.rpyc_
- Копируем полученный по 2-му методу в эту папку файл ui_labels.rpy, в котором удаляем блок, начинающийся с label start:
- Запускаем игру, жмём «Начать» и ждём, пока снова не появится меню, после чего выходим из игры
- В новой папке \Katawa Shoujo\extracted получаем ВСЁ, кроме, как мне показалось, самих скриптов (каковые мы без труда можем получить 2-м методом, например), т.е. видео, музыку, аудио, шрифты.
- Удаляем файлы 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
Комментарии
Блог перевода
Рубрики:Перевод
- Перевод:
- текст с английского на русский
- Создан:
- 23 мая 2013, владелец: 6_aman
- Скачали:
- 44 чел.
- Права доступа:
-
войти все видеть чужие версии все скачивать результат никто оценивать перевод группа комментировать перевод группа переводить группа читать блог все комментировать блог все писать в блог группа анонсировать модераторы редактировать оригинал никто редактировать описание никто управлять группой никто Участие в группе по приглашению от создателя - Готово:
-
90.06% КП = 1.0

it's alive! но неудобно, к сожалению.
скрытые комментарии (7 шт.)
Почему неудобно? Мне, так вообще в кайф. Я неплохо знаком с движком RenPy и поэтому очень приятно работать в знакомой среде. А если бы ещё научиться разъединять картинки от музыки, то-есть понять как разархивировать файлы данных, было бы вообще здорово, хотя и при такой раскладке уже можно вживлять в игру свои изображения и музыку. Ха, может моя задумка таки исполнится... написать ещё парочку роутов
Неудобно выводится текст в .txt файле) я об этом)
С ренпишкой и сам работал, в питоне также кумекаю :3
А что именно неудобно?
Давай я конвертер напишу. Ты пришли мне в почту два файлега – исходный и то, что хочется из него получить, а я подумаю. Хотя, если ты в Питоне сам разбираешься, то можешь и сам написать, теоретически ;)
А я его чё-то совсем ниасилил :( Впрочем, и нужды (конкретной задачи) не было :)
да ладно. Неудобство не явное, вполне можно выцепить нужный текст ) Просто .txt файл представляет код в формате адресов, а не в привычном глазу обычном ренпи коде.
А ты пользуешься первым способом? Тогда да, лучше использовать второй – он работает намного корректнее.
+100500
А я ведб когда-то нечто подобное делал... Только не помню, с YMK или KS... И как-то просто оно всё. И, да, я использовал инструменты Вендора, это я точно помню.
Вот озвучку бы... Кто у нас тут самый басистый? Чтобы эдаким гроулом Мишу озвучить? :))))))
Добавил 3-й метод.
скрытые комментарии (9 шт.)
чё то он не фурычит у меня... Игра вообще не запускается, пока не удалишь созданный файл script.rpy
Всё, разобрался. Не нужно там создавать дополнительный файл. Просто в файле ui_labels.rpy меняем блок старта и всё. Игру запускаем именно стартом, как новую, потом закрываем. Всё это на официальном сайте движка RenPy написано в закладке «Cookbook» ;)
Кстати неплохое это дело. Можно и названия вывесок на русском поисправлять ;)))
Во! Это крутотенюшка, конечно, была бы, но не против ли будут авторы новеллы?
Только вопрос – как потом картинки новые встроить в новеллку? Т.е., думаю, способов тоже масса, но я пока их не знаю. Будет день – будет пища. А вообще, очень надеюсь на помощь в технических вопросах Вендора или w8m с Хоняк, т.к. у нас тут нет спецов такого уровня, как я понимаю :(
Ну да, можно и так.
Да, якобы оно там лежит, но тут же какое дело – если б знать заранее, ЧТО и ГДЕ искать... :)))
Там же написано, что при создании файла script.rpy с приведённым выше скриптом, и при запуске выскакивает сообщение ошибки, а в нём написано где всё находится. В нашем случае выскакивает сообщение, что блок «старт» находится в файле ui_labels.rpy на строке 1171 и ниже. Вот кстати ссылка на видео примера, как это всё работает, если кому интересно: http://kinostok.tv/video/257223/rabota-s-kodami-v-RenPy
Вах, красавчег! :)
Молодца.
На самом деле, я что думаю... После того, как мы допилим всё, предлагаю сделать проект открытым, кому-нить блог наш и комменты могут пригодиться, думаю.
Да, это хорошая идея! Думаю, мы не одни такие, сталкиваемся со всеми этими проблемами. Кстати сейчас зайду в группу ВКонтакте (по RenPy'ю), может там чего интересного найду =)