Перейти к содержимому
Zone of Games Forum
Tericonio

Руководство по русификации игр от Adventure Game Studio

Рекомендованные сообщения

Программы для работы с файлами

agsutils, Любой HEX-редактор, Photoshop, Notepad++

 

Скрытый текст

 

Поддержка версии Adventure Game Studio (2.0 + /3.0 +)

Для распаковки исполняемого файла нам понадобится agsutils

Скачиваем с репозитория и извлекаем архив в удобное место к примеру на диск D:\

Переносим в папку agutils —  исполняемый файл с которым будем работать и запускаем из этой директории CMD

Команда распаковки исполняемого файла: agstract file.exe folder1

Команда распаковки AGS файла: agstract file.ags folder1

Если имя исполняемого файла с пробелом то закомментируем в кавычки, так же и Папку куда распаковывать, если у папки будет пробел

Скрытый текст

acsprset.spr // Спрайты игры

*.wfn //Информация о шрифте

*.ttf //Шрифт

agspack.exestub // Игровой Player или исполняемый файл самого движка

agspack.info //Информация о распакованных файлах

*.ogg //Внутренние файлы диалогов персонажей или комментариев разработчиков либо ещё музыка может быть

*.dta //Информация с текстами на кнопки, расположение текста и т.д.

*.pcx //Загрузочный экран — открывается в Photoshop

room*.crm //Комнаты в которых тоже присутствует текст и часть скриптов за их вывод

sprindex.dat // Всякие данные о спрайтах

 

 

Скрытый текст

 

agscriptxtract -oblf folder1 folder2

Редактирование *.s скриптов в folder2

Открываем в Notepad++ и находим через поиск li ax, "

В строке li ax, " — Будет текст диалогов

Ниже строк __NEWSCRIPTSTART — операнды диалогов из li ax 

Всё что ниже __NEWSCRIPTSTART  вырезаем в другой файл и сохраняем чтобы не мешало, пока переводим, а когда переведёте, верните назад в файл

Текст замещаем только в li ax, ",  а также смотрим на регулярки внимательно : \? & \’  \”

Пример 1: What…\? — Что\?.. = Что?..  ← Итог

Пример 2: &What… — &Что... = Что...  ← Итог

Пример 3: \’ What\’ … — \’ Что\’... = ‘Что’... ←  Итог

Теперь преобразовываем в кодировку ANSI и сохраняем

 

Скрытый текст

agssemble folder2/script.s

 

Скрытый текст

 

К примеру, мы распаковали игру и у нас вышли такие *.s скрипты

dialogscript.s / gamescript0.s /gamescript1.s /globalscript.s /room1.s /room2.s

Упаковка будет такая:

agsinject 0 RU_s/globalscript.o RU/game*.dta   //(0 — первый скрипт на упаковку в *.dta) (Первый глобальный)
agsinject 1 RU_s/dialogscript.o RU/game*.dta  //(1 — второй скрипт на упаковку в *.dta) (Второй диалоговый)
agsinject 2 RU_s/gamescript0.o RU/game*.dta  //(2 — третий скрипт на упаковку в *.dta) (Третий внутриигровой)
agsinject 3 RU_s/gamescript1.o RU/game*.dta  //(3 — четвёртый скрипт на упаковку в *.dta) (Четвёртый внутриигровой)

и т.д. если gamescript2 то уже будет после:  agsinject 4

Для комнат всегда будет 0
agsinject 0 RU_s/room1.o RU/room1.crm  //(0 — первый скрипт на упаковку в *.crm поскольку скрипт в комнате всегда будет один)
agsinject 0 RU_s/room2.o RU/room2.crm  //(0 — первый скрипт на упаковку в *.crm поскольку скрипт в комнате всегда будет один)

 

Поскольку текст не весь распаковывается из скриптов то часть остаётся ещё в *.crm и *.dta

 

Скрытый текст

После того как уже перевели в скриптах диалоги и вставили обратно в *.crm

Открываем в HEX-редакторе *.crm поэтапно

Первые 3 байта заголовок комнаты 21 00 01

2-3 байта размер секции или смещение (будем править после перевода до секции SCOMS/SCOMZ — самого скрипта)

с 5/6 байт по 0a — 0 байты

Со смещения 0x0b начинается первый отрезок комнаты и будет начало первого отрезка указанное в смещении 0x03

Теперь переходим к смещению 0x101, если первый текст объекта No hotspot или Hotspot*, то такие не переводим, а ищем между ними или же бывает объекты начинаются для перевода со смещения 0x101 (сам текст) а размер на смещении 0xFD

Включаем режим вставки, чтобы текст не замещался а вставлялся в кодировке ANSI (А  — С0) и перед объектом-текста за минусом 4 байта длина текста

Пример: 04 00 00 00 54 65 78 74 00 00 00 00 (04 — размер  3 байта нулевых поскольку предложение даже не превышает значение ff  и дальше пошёл текст 54 65 78 74 — Text)

Когда всё перевели между No hotspot и Hotspot* и заменили размер байтов перед текстом, ищем Начало следующей части комнаты, а именно SCOMZ или SCOMS,  и слева от SCOM через -9 байт будет начало первого нашего отрезка, сразу же после разделителя 07 (ID Скрипта) — И теперь выделяем с этой части и до 0x0b и будет наш размер или смещение на первую часть, и вписываем в смещение с 0x03 в перевёрнутом виде : 1с20 = 201с или 10020 = 200001

 

Как только заменили первый участок, ищем следующий через текст юКпѕ — сразу после него будет разделитель комнаты — 1 байт, а после будет уже размер отрезка — начало отсчёта 8 байт (количество объектов) после смещения и будет отрезок до следующего разделителя, и переводим так же как и в начале *.crm файла и после перевода и исправления размера перед текстом правим размер этого отрезка и сохраняем и так проделываем со всеми скриптами *.crm

 

Скрытый текст

После того как упаковали все скрипты обратно в *.dta 

Открываем в HEX-редакторе в 3 частях файла

 

Первая часть

После смещения 1800 будет первый текст на объекты или предметы, который надо переводить

Здесь не включаем Режим вставки, а просто замещаем текст 

Размер общего блока под объект/предмет 44 байта, под текст где-то 16 байт 

Править смещения не надо или размер общего файла

 

Вторая часть

Теперь переходи к последнему скрипту SCOM по поиску через юКпѕ

И после этих строк до btn или lbl находим имена персонажей, оставшиеся диалоги выбора или какой либо ещё текст

Для имён персонажей 24 байта для вариантов ответов или вопросов или диалогов 94 байта

Так же вставляем текст как и в первой части

 

Третья часть

Это оставшаяся часть с редактированием текста в btn  или lbl, и сам размер перед текстом  -4 байт и с включённым режимом вставки

В этом же месте можно изменить расположение текста и кнопок по осям X и Y (позднее напишу)

 

Скрытый текст

agspack -e folder1/ file.exe

Под обновление

Изменено пользователем Tericonio
  • Спасибо (+1) 3

Поделиться сообщением


Ссылка на сообщение

В игре Rosewater (движок версии 3.6.0) есть уже файл German.tra с немецким переводом. Может есть способ проще русифицировать игру, без ковыряния ассетов в Rosewater.ags? Просто правкой этого German.tra? По инструкциям, которые нашёл, утилитой AGSUnpacker почему-то ничего не получается.  Декомпилирую .tra в .trs, делаю правки в файле. Затем снова компилирую в German.tra. В игре ничего не меняется :( В чём может быть причина? Утилита не работает?

Поделиться сообщением


Ссылка на сообщение

@Chaves Dudevich у меня ничего не получается. Делаю изменения в немецком тексте в .trs, компилирую в .tra, и в игре изменения не отображаются. Вижу только что некоторые немецкие буквы поломались... На немецкий язык в настройках, естественно, меняю. Вы какой утилитой делаете изменения? Дайте её, пожалуйста.

Поделиться сообщением


Ссылка на сообщение
2 часа назад, Chaves Dudevich сказал:

@Amigaser В самой игре язык поменяйте, чтобы German.tra работал.
 photo-2025-04-01-17-58-55.jpg

1 час назад, Amigaser сказал:

@Chaves Dudevich у меня ничего не получается. Делаю изменения в немецком тексте в .trs, компилирую в .tra, и в игре изменения не отображаются. Вижу только что некоторые немецкие буквы поломались... На немецкий язык в настройках, естественно, меняю. Вы какой утилитой делаете изменения? Дайте её, пожалуйста.

По опыту официальной локализации игр на движке Adventure Game Studio могу сказать, что важно соблюдать исконную кодировку файла при работе с ним. 

Смотрите. Допустим, вы открыли .trs файл в Notepad++. Внимательно посмотрите на немецкий текст — вы увидите, что часть немецких букв искажена из-за того, чтобы кодировка при открытии определилась неправильно. 

okGVquz.png

А теперь меняем кодировку с ANSI на ISO-8859-1.DOS и получаем:
gjek5aB.png


Хотя не знаю, сохранит ли Notepad++ нормально.
В своё время я менял текст в trs файлах от этих игр через wxMEdit.

Изменено пользователем 0wn3df1x

Поделиться сообщением


Ссылка на сообщение

@Chaves Dudevich я тоже именно ей всё делаю. Использую последнюю версию (08) из репозитория. Там, по сути, две кнопки Decompile TRA и Compile TRS. Не получается как у вас изменить текст. А в каком редакторе вы редактировали текст в trs-файле? В какой кодировке он у вас открывается в редакторе?

@0wn3df1x Я редактирую trs-файл в Notepad++. В нём этот файл, который создала утилита AGSUnpacker, открывается в UTF-8 кодировке, и там все немецкие буквы отображаются нормально. Попробовал менять кодировки trs-файла, но ничего не помогает. Текст, который я добавляю в немецкую фразу вообще не появляется. :( Но про немецкие буквы вы правы, напр., если компилировать trs в ISO-кодировке, то буквы во фразах не ломаются. Но на кнопках всё равно ломаются.

Поделиться сообщением


Ссылка на сообщение

@Amigaser Редактировал в Notepad ++. Файл открывается в кодировке UTF-8. Предварительно еще распаковал ресурсы и сгенерировал game.id.

Поделиться сообщением


Ссылка на сообщение
1 час назад, Chaves Dudevich сказал:

Предварительно еще распаковал ресурсы и сгенерировал game.id.

Это для чего? В общем разобрался с текстом во фразах. Он появляется только если делать правку в “нумерных” строчках. Но шрифты в игре без русских букв.  Внешние русские шрифты agsfntХ.ttf не кушает. Вернее кушает, но русские буквы не отображаются. :( 

UPD. Со шрифтами разобрался. Они отображаются когда файл trs перед компиляцией переконвертировать из UTF-8 в ANSI. 

Изменено пользователем Amigaser

Поделиться сообщением


Ссылка на сообщение

Непонятно что делать с кнопками меню и пр. надписями. Изменения в текстах отображаются только для “нумерованных” строк. А все надписи на кнопках и в меню — в “обычных” строках. Видимо, утилита не всё правильно “декомпилирует” из tra. :( 

Поделиться сообщением


Ссылка на сообщение

@Amigaser 

Через *.trs не весь текст подхватывается, сам движок AGS так устроен, что часть текста не может декомпилировать в данные текста в файл *.trs

Часть текста бывает в изображениях — Надо смотреть файлы спрайтов и потрошить их

Часть текста бывает в сценах — Надо смотреть файлы комнат и потрошить их

Поэтому я и написал руководство по русификации на движке AGS, а не руководство по *.trs

Изменено пользователем Tericonio

Поделиться сообщением


Ссылка на сообщение

Понятно. Сильно заморочно русифицировать такие игры. Я попробовал перевести текст кнопки в начальном меню по вашей инструкции. Но, к сожалению, не получилось, игра крашилась. Наверно, что-то не так сделал. Видимо, не буду заниматься переводом игры. Инструкция полезная, но слишком сложно для не профессионалов. Особенно возня с правками в hex-редакторе. Жаль что нет удобных GUI утилит для прямой правки ресурсов игры, напр., как для Unity.

Изменено пользователем Amigaser

Поделиться сообщением


Ссылка на сообщение

@Amigaser рано сдались. Сгенерированный trs файл конкретно для Rosewater должен быть в UTF-8. Если файл получен из tra, то в его начало нужно добавить строчку “//#Encoding=UTF-8”, тогда проблем с порченными символами не будет. Это бага в AGSUnpacker v08, он не считывает кодировку из tra файла если в нем есть блок настроек.

Что касается непереводимости текста кнопок в меню… На самом деле все переводится, просто разработчик для немецкого языка захардкодил текст этих самых кнопок на немецком. Проще говоря, когда выбран немецкий язык, игра ищет перевод не для “New Game”, а для “Neues Spiel”. Если в trs файл добавить перевод для этой строки, то текст начинает подхватываться.

HOKATvI.jpeg

Содержимое trs файла:

//#GameId=1087995093
//#GameName=Rosewater
//#Encoding=UTF-8
Neues Spiel+
TEST+

 

Поделиться сообщением


Ссылка на сообщение

@adm-244 с кодировкой понятно. А вот куда добавлять перевод строки, так и не понял. :( Утилита AGSUnpacker делает trs-файл German.trs, в котором есть вот такие строки

……
New Game+
Neues Spiel+
New Game
Neues Spiel
Load Game
Spiel laden
Settings
Einstellungen
Continue
Weiter
Quit Game
Spiel beenden
…...

Где и что мне нужно поменять, чтобы изменить надпись на кнопке, напр., Neues Spiel, чтобы это отобразилось в игре? В самом начале в первом меню игры. Объясните, пожалуйста, мне тупому… А лучше скиньте такой правленный trs-файл.

Поделиться сообщением


Ссылка на сообщение

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас


  • Продвигаемые темы

  • Последние сообщения

    • Я постарался всё автоматизировать, чтобы было как можно быстрее и легче. Да, щас проблема с этим форматированием, из-за чего и вылеты, но думаю если ты проходишь сейчас игру, может как раз быстро сможешь поправлять. Я пока первую часть пройду, потом приступлю ко второй. В инструментарии всё указано где какой файл, и полный xliff — там Ctrl + H и почистить эти все поломанные форматирование. Я думаю их прям не должно быть критически много. @ivdos Скачай инструментарий, сразу открой файл “translete.xliff” в VS Code или какой ты используешь текстовый редактор. Найди ту клятую строку с форматированием с кириллицей — с помощью Ctrl + H замени (на пустою, если удалять) все возможные дубликаты. Далее открой “TranslatorApp.pyw” нажми сначала “1. Декомпилировать DAT”, выбери эту папку сцен с игры, и после “4. Применить перевод”. Твоя редактура сразу применится и потом “5. Собрать в DAT”. Ну и замени все сцены в папке игры на те, что появились в папке “complete_dat”.
      Принципе работы на 10 минут, проверь, перестанет вылетать игра. 
    • @Luchik другие игры не планируете переводить похожим образом? Какую-нибудь Citizen Sleeper 2 например.
    • @Stamir о своевременно. А то тот инструментарий которые делает xlsx из скриптов меня вводит в уныние. Я уж хотел свой велосипед писать.
    • Инструкция по редактированию игровых файлов игры. Так как я предоставил первый этап русификатора (нейронный перевод Gemini 2.5 Pro), русификатор требует исправления ошибок и редактирования. Я не состою в группе энтузиастов-переводчиков, по этому здесь я полагаюсь на помощь сообщества, тем, кто проходит игру и есть свободное время покопаться в файлах, чтобы исправить критические ошибки перевода или разобраться в фиксе вылетов игры. В данном посте я выложу свой инструментарий перевода и моё объяснение как его использовать — вы можете вносить свой вклад и отправлять сюда результаты фиксов. ❗Я обновлю шапку (закреплённый пост) если здесь будут выкладываться обновлённые файлы нашего с вами труда. Существует 2 вида текстовых игровых ресурсов: TBL и DAT.

      Свой инструментарий я выложил на GitHub: архив на скачивание находится в релизе под названием “ColdSteel-TranslationApp.zip” (не перепутайте). Эти инструменты подходят для создания русификатора от 1 до 4 части. - Редактирование TBL файлов таблиц. TBL-файлы это файлы таблицы текста, которые отображаются в игровом интерфейсе игры. Например: меню, настройки, дневник, карта, и т.д. Для их редактирования нужны схемы — это файлы которые описывают внутреннюю структуру каждой отдельной .tbl таблицы. Для работы с ними воспользуйтесь программой tbled-v1.0.exe находящаяся в корне рабочей директории. Файлы оригинальной игры (английский) находятся в папке “ToCS 2 Original/text/dat_us/”. После открытия программы выберите “Schemas — Use builtin schemas for SC2” — это загрузит готовую схему. Далее выберите любой файл .tbl в меню “File — Load tbl with curret schema”. Вы увидите обычную таблицу и ячейки с текстом для редактирования.  Вы можете редактировать текст прям в нём, или экспортировать как JSON с помощью “Export tbl to json” и сохраняете в папку “Parser TBL”. Далее открываем файл в папке “Parser TBL/Parser.py”, спускаемся вниз и находим строку:  Так же открываем ваш JSON и смотрим на его структуру. Как видите, у нас есть поле “text” которое нужно заменить на русский (или отредактировать уже русификатор). В Parser.py меняете “json_file” на имя вашего файла, а “text_fields_to_translate” на этот ключ. Если ключей несколько (несколько полей для редактирования) то перечисляете через запятую, например: ["text", "text1", "text2"]. Запускаете P.bat и у вас появляется рядом файл .xliff Возвращаемся в основную директорию, открываем файл  “SSD1_6/xliff_editor_gui.py” с помощью Python (исполняем файл) и у нас откроется редактор. С помощью него, перейдя в режим “Текст” вы можете исправлять перевод или переводить заново. В этом режиме очень хорошо и легко кидать весь текст на перевод нейросетям.  В конце редактирования открываем файл “Parser TBL/Return.py” и так же меняем на название нашего файла последние строки: И выполняем “R.bat” чтобы произвести замену в нашем JSON всех строк на наши изменённые\переведённые. Последнее осталось вернуть и встроить это в TBL файл. Снова открываем tbled-v1.0.exe, загружаем схему, выбираем наш .tbl файл и здесь уже используем меню “Import — Import tbl from json” выбираем наш отредактированный .json файл. Смотрим, чтобы весь текст поменялся на наш отредактированный. Если всё в порядке — “File — Save as...” и называем файл точно таким же именем как оригинал.  Готово! Вы отредактировали .tbl файл. Перемещайте его в папку с русификатором\игрой и проверяйте.   - Редактирование DAT файлов таблиц. Это основные файлы для нашей работы. DAT-файлы которые находятся в папке “ToCS 2 Original/scripts/” отвечают за все локации, игровые события, диалоги и многое другое. Это основная логика игры. По этому когда у нас происходит вылет, чаще всего проблема может крыться в этих файлах, так как в файле допущена какая-то ошибка при русификации. Основная директория для работы со сценами находится в папке “SSD1_6”. Для работы с этими файлами я автоматизировал всё с помощью скрипта “TranslatorApp.pyw” просто запустите его.  Вы увидите простой интерфейс, слева логирование — справа кнопки с указанием шага. Для начала нажмите “Декомпилировать DAT”. Выберите папку с .dat файлами (в папке scene/dat_us например 366 файлов). Подождите пока у вас скрипт обработает все файлы и поместит в папку “recompiled_files” все Excel таблицы для каждой сцены. На самом деле — здесь уже можно работать, это обычные листы Excel в которых всё просто — ячейка с подписью “dialog” вмещает в себе игровой текст который, внимание, является диалогом  Вы можете править вручную их, или продолжить шаги в программе TranslatorApp. Далее, в папке “SSD1_6” лежит файл “translete.xliff” — это основной файл с моим русификатором, то есть я достал из всех 366 файлов строки диалога и поместил с помощью скрипта в этот файл. Вы можете открыть его с помощью кнопки “3. Открыть редактор” или вручную с помощью любого текстового редактора (например VS Code). Вы увидите такую структуру, которую сможете редактировать: Здесь “source” это исходная строка оригинала и “target” строка перевода. Вы можете править её, редактируя перевод на более верный и исправлять ошибки. Или же, вы можете заниматься этим в моём редакторе “xliff_editor_gui.py”, как и в JSON. ❗Смотрите, с каждой строкой вместе идёт графа note в которой пишется имя файла с какого взята строка. Это помогает нам вычислить в какой именно сцене происходит краш\вылет игры. Вы можете вернуть оригинальный .dat файл (анг. ориг. ресурсы находится в папке “ToCS 2 Original”) место русифицированного чтобы проверить работоспособность игры (выявить проблему в файле) и заняться исправлением багов в этой сцене. Доработка русификатора: Если мы откроем файл “TranslatorApp.pyw” в VS Code и найдём строку: if isinstance(cell_value, str) and cell_value.lower() == 'dialog': Мы можем поменять здесь “dialog” на “string”. Далее запустим этот файл (запустится окно лаунчера), нажмём кнопку “2. Создать Xliff” — у нас появится новый .xliff файл (но старый перезапишет, будьте внимательны, делайте бэкапы). Там будет более 130 тыс. строк большинство из которых — названия функций и методов игры которые трогать нельзя, но и с ними другие строки нуждающиеся в переводе, такие как имена, текст внутриигровых кнопок, названий локаций и прочего. Вы может вносить перевод, игнорируя игровые функции, и скрипт при выборе “4. Применить перевод” заменит только те строки, у которых поле TARGET не пустое.  В конце работы нажимаем “5. Собрать в DAT” скрипт обратно соберёт .dat из ваших отредактированных Excel таблиц в папку “complete_dat”. От туда их перемещаем в игру или русификатор и тестируем!   На этом всё, я постарался кратко и информативно расписать как начать заниматься редактурой этого русификатора, даже тем кто не знаком с программированием — для вас всё автоматизировано. Если вы сможете это провернуть, ждём ваши файлы здесь — я внесу обновление в шапку.  Скриншоты с пояснением интерфейса:
    • Да, короче вылет в крепости. В символах форматирования вместо латиницы была кириллица. В итоге игровой парсер от таких приколов ломается и игра вылетает. И сколько там подобных сюрпризов может быть даже не представляю. И обычной заменой по регекспу тут будет сложно обойтись.
    • Дежурно сообщаю, что русификатор не работает на текущей версии игры в Стиме.
    • Прошел нулевую зону, дошёл до босса первой, но так и не понял — почему она «одна из самых влиятельных ролевых игр за последние 20 лет»? Откуда такое количество крайне положительных отзывов?! Чёрт с ним, с графонием — она просто… никакая. Помниццо, лет 10 назад был скандал с Кинопоиском и в качестве протеста народ в топ вывел “Зелёного слоника” — аж 9,1 ему накрутили. Может и здесь так же, а? Ни или я вообще нихрена не понимаю в колбасных обрезках. =(
    • Китайский перевод я бегло глянула, у них и правда местами треш . Причём он не просто плох — иногда безумно трудно понять о чём идёт речь в диалоге. Авторы перевода решили передать “старину” текста используя устаревшие конструкции в неудачной связке с современным языком. Для примерного понимания: Представьте, что у вас одна часть текста написана на современном русском, вторая часть на болгарском, а третья на старославянском. При этом посреди современной кириллицы могут встречаться символы ꙋ ѿ ѫ. Не знаю кому поручили переводить, но лучше бы перевод отложили. Тем более, китайцы, поигравшие в демку, жаловались же.    
    • Есть официальный русский перевод: Everhood 2 (2025)
      (тема на форуме)
  • Изменения статусов

    • Дмитрий Соснов  »  Tirniel

      Привет! ты разбираешься в компьютерном железе, сможешь помочь с советом по апгрейду старого компа?
      · 1 ответ
    • SHAMAH

      Куда вход на сайт убрали и ЗАЧЕМ? Хотел файл скачать, там только медленная загрузка и “зарегистрируйтесь”. Все. Пришлось вручную страницу входа прописывать.
      · 0 ответов
    • Nosferatu  »  behar

      Добрый вечер.
      Подскажите пожалуйста, у вас не осталось случайно исходников для фикса на широкоформатные мониторы для игры Vampire The Masquerade Redemption?
      Если да, то не могли бы вы ими поделиться, а если нет, то прошу прощенья что побеспокоил.
      Заранее спасибо.
      · 0 ответов
    • AlcoKolyic  »  makc_ar

      Здраствуйте! Извините, а можно попросить ссылку на место где можно взять перевод (патч или образ игры с переводом) El Shaddai: Ascension of the Metatron для ps3, пожалуйста? А то в теме к этой игре у меня не получилось найти работающие ссылки… Первая ведет в группу в которой удалены большинство постов, а пост с этой игрой ведет на сайт https://psnext.ru который сейчас не имеет отношения к видеоиграм. 
      · 0 ответов
    • oleg72  »  Boor

      https://www.skidrowcodex.net/fate-reawakened-goldberg/
      · 0 ответов
  • Лучшие авторы


Zone of Games © 2003–2025 | Реклама на сайте.

×