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

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

Sara is Missing - Переведено и издано командой TDoT

Ссылка для скачиванияhttps://www.tdot.space/sim/

Sara is Missing — это приключенческая игра с элементами головоломок и хоррора. Вам предстоит найти девушку, которая внезапно исчезла, анализируя её личные сообщения, заметки, электронные письма, фотографии и видеозаписи.

Как установить перевод: Из-за нестандартной структуры файлов и потенциальных трудностей с установкой перевода, было решено предоставлять игру уже с интегрированным переводом.
После загрузки архива распакуйте его в любом месте и приступайте к игре!Bk31lb-ewnQ.jpg?size=1920x1080&quality=9

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


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

Привет всем.

Ищем переводчиков для Simulacra 1. Если вас интересует перевод, у вас есть желание и свободное время, вы можете подать заявку на нашем дискорд-сервере.

Сразу хочу сказать, что текста довольно много. В основном это всякие сообщения, письма, субтитры. Иногда попадается сленг или переписки, состоящие из коротких простеньких предложений. Но в целом строк около 7000. 

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

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


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

Всем привет. Давно хотел перевести игру под названием Sara Is Missing, она работает на джава “движке” разработчика, написанном на libGDX.

Вся загвоздка в файле content.fs — это сериализированный набор каких-то текстовых данных, причём в нестандартном формате. Переводя его через HEX, проблема возникает, когда текст выходит длиннее оригинального, по итогу вся структура файла “съезжает” и приводит к ломанию игры на старте. 

Все игровые файлы лежат в sim.exe, который можно вскрыть при помощи 7-zip или Winrar.

Исходники игры, если кого заинтересовало:
https://drive.google.com/drive/folders/1hyVdLdSx_p1bGEKQ7H4c5zUpTaDgAncO?usp=sharing
 

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

Текст:
.fs файлы содержат текста сообщений, а .class файлы — надписи для GUI (путь: sim.exe\game23). 
В android-версии все эти классы запакованы в classes.dex.

Декомпиляция кода:
Логика игры хранится в sim.exe\sengine. Просмотреть код .class файлов удобно через JD-GUI.
Альтернативный вариант — скачать андроид версию, вытащить dex файлы и декомпилировать их.

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

Возможные форматы текстур:
JFIF, PVR, ETC1
Файлы содержат шапку 126 байт (иногда 128), начинающуюся с тега TextureFile. 
Они могут содержать как одно целое изображение, так и множество его фрагментов, поэтому просто удалить шапку будет недостаточно.
Если исходная текстура была большой, то она разрезается на части, не больше, чем 512х512. Порядок частей такой же, как они идут в двоичном файле. У некоторых текстур имеются мипмапы. В симулякре возможно чуть по другому, там ещё можно встретить фрагментированные изображения в виде отдельных текстур: 1|1.png.texture, 1|2.png.texture и т.д.

Для изучения можно вытянуть все картинки утилитой bulk_extractor:
@echo off
bulk_extractor -o D:\Output -R D:\TextureFiles
pause

Логика загрузки изображений:
sengine\graphics2d\texturefile

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

Скачать архив
Подменить файл Game.class по пути sim.exe\com\accurve\game23 (изменено значение поля RELEASE на false, чтобы включить режим отладки).
Запустить игру.
Теперь можно вызвать консоль по кнопке тильды (~) и использовать команды. Важно: надо всё делать на английской раскладке. 

При инициализации консоли импортируются классы из следующих пакетов:



import com.badlogic.gdx.*;
import sengine.*;
import sengine.graphics2d.*;
import com.accurve.game23.*;
import game23.hlapi.*;
import game23.*;
import game23.grid.*;

Пример простой команды:
ClassName.method(argument);
ClassName.field = new_value;

Также можно по пути C:\<username>\game23 положить autoexec.java, при запуске игры код из этого файла выполнится автоматически через консоль. Но только при включённой отладке.

Чтобы запустить свой скрипт файл данной командой:



Console.console.evalFile(fileName);

необходимо сперва выполнить команду 



import sengine.utils.Console;


---------------------------------------------------------------------------------------------------------------------------------------------------------
Для включения отладки в симулякре нужно ставить конфиг:
Создать текстовый файл по пути C:\<username>\game27\autoexec.cfg
В нём прописать:



Gdx.app.setLogLevel(Application.LOG_DEBUG);

Запустить игру.

При инициализации консоли импортируются классы из следующих пакетов:

import com.badlogic.gdx.*;
import sengine.*;
import sengine.graphics2d.*;
import sengine.animation.*;
import sengine.calc.*;
import sengine.utils.*;
import game27.*;
import game27.gb.*;
import game27.glitch.*;
import game27.model.*;
import game27.renderer.*;
import game27.triggers.*;
import game27.Globals;
import game27.triggers.Triggers;
import game27.triggers.ACT1;
import game27.triggers.ACT2;
import game27.triggers.ACT3;
Скрытый текст

В стим-обсуждениях можно найти инструкцию от разработчиков по созданию неофициальной локализации.
https://steamcommunity.com/app/712730/discussions/0/1742220290366328362/

Ниже перевод этого сообщения. Ссылки до сих пор рабочие, но самое интересное — раздел тестирования пуст. Я пробовал следовать этой инструкции на разных версия симулякры, но ничего не вышло. Возможно я просто что-то делал неправильно :(

На всякий случай бэкап файлов: экселевские таблицы, конфиг, документ.
P.S. По умолчанию в конфиге включена рекомпиляция, так что в дальнейшем игра будет загружаться с помощью новосозданных fs в кеш папке. Поэтому если игра перестала запускаться (чёрный экран или крахи), удалите содержимое C:\<username>\game27\compiled, и конфиг, в случае ненадобности.

Цитата

Я добавил в документ инструкцию о том как тестировать свою локализацию (смотрите раздел “Testing”).
https://docs.google.com/document/d/163xald8WbyuNL_3nBZJqVUzGZ0NJ6ffM96QTH3Ii3Sk/edit?usp=sharing

Сперва вам необходимо продублировать документы в Google Drive и добавить свой перевод. Затем скачать этот файл:
https://drive.google.com/open?id=1zSmD7RAsaVIamVdNjPBdFQc46KFXSVyo

Поместите его в C:\<username>\game27\autoexec.cfg
Отредактируйте файл и замените Google ссылки на свои.
Перезапускайте игру каждый раз, когда вносите изменения онлайн.
Нажмите кнопку тильды (~) во время загрузки игры, чтобы проверить сообщения об ошибках.
Игровые сохранения могут повредиться, если внести крупные изменения.

 

Simulacra, альтернативный вариант перевода — версия для Switch

 

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

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


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

P.S. Логика обработки content.fs лежит в java/sengine/File.java (к сожалению я её не осилил :()
Там есть такие интересные методы как unpackFS, packFS, unloadFS, loadFS.

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


Ссылка на сообщение
6 часов назад, Artie_Bow сказал:

Редактирование текста через HEX ломает структуру файла и приводит к критической ошибке при загрузке игры, если вместе с текстом меняется размер файла. Было бы здорово, если бы кто-то с ним разобрался, с его структурой. 

Перед каждой строкой есть ее размер в Big Endian. Как вариант попробуйте менять значение в зависимости от размера новой строки.

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


Ссылка на сообщение
10 часов назад, LinkOFF сказал:

Перед каждой строкой есть ее размер в Big Endian. Как вариант попробуйте менять значение в зависимости от размера новой строки.

Размер строк я меняю, но видимо этого недостаточно. Нужно править ещё какие-то значения, знать бы только какие.

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

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


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

@LinkOFF Может, проблема возникает в структуре sim.exe после вшивания в него отредактированного content.fs?

UPD. Я сейчас попробовал отредактированный content.fs засунуть в андроид-версию игры, и она тоже вылетает после загрузки, а значит проблема не в структуре sim.exe, нужно копать именно сам файл content.fs и там ещё что-то править.

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

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


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

Привет! Сам давно интересуюсь темой того, как работает эта игра. Для начала надо сказать, что у игры не свой движок. Игра работает на фреймворке LibGDX, но разработчики явно сами придумали методы обфускации. Далее: игра не задействует файл content.fs, хотя он и вызывает вылет игры. На самом деле все события игры вызываются из файла compiled.fs, который задействуется с запуска (но малейшее его изменение приведёт к неработоспособности игры).

Следующая информация скорее всего будет бесполезной, но покопавшись на некоторых форумах я узнал, как извлечь jpg-изображения из игры (хотя работает это не со всеми jpg).

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


Ссылка на сообщение
В 26.12.2021 в 17:40, cenya_filyushkin сказал:

Привет! Сам давно интересуюсь темой того, как работает эта игра. Для начала надо сказать, что у игры не свой движок. Игра работает на фреймворке LibGDX, но разработчики явно сами придумали методы обфускации. Далее: игра не задействует файл content.fs, хотя он и вызывает вылет игры. На самом деле все события игры вызываются из файла compiled.fs, который задействуется с запуска (но малейшее его изменение приведёт к неработоспособности игры).

Следующая информация скорее всего будет бесполезной, но покопавшись на некоторых форумах я узнал, как извлечь jpg-изображения из игры (хотя работает это не со всеми jpg).

Ну да, я в курсе про движок. Насчёт content.fs не соглашусь, он вполне используется. Ниже скриншоты, я отредактировал содержимое одной из смс без изменения длины текстового блока.
 

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

23af43901a1ba1b4aea29ba3101a2ec2.jpg275c394dffbb328da21ad193d65617b1.png

 

Будет не лишним, если ты расскажешь о картинках. Я только знаю кое что о зашифрованных видео. Что в этой игре, что в симулякре видеоролики зашифрованы одинаково. Расшифровать их можно при помощи сайта https://filext.com (кстати, аудиодорожка идёт отдельно от видео и без проблем воспроизводится). Ну и пример одного из расшифрованных видео, а также небольшая информация о нём в спойлере ниже (в т.ч. методы шифрования), может что-то похожее используется в файлах текстур.
 

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

 

d3419741d8dc355cf978467223b68c93.png52af21c4d63424a696d2a2b4df28a833.png

 

 

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

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


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

Хмм… Странно. У меня при изменении content.fs ничего не меняется (видимо, приколы ПК-версии игры). По поводу изображений: .jpeg.texture можно извлечь, если убрать из него всё до 0x80 байта (Но есть забавный момент, что некоторые .jpeg.texture-файлы на деле являются .png.texture, и наоборот). А вот как извлечь .png.texture — непонятно, ибо там нет ни малейшего намёка на структуру .png-файла (Заголовка там нет уж точно).

Кстати. Я смог перекомпилировать класс com.accurve.game23.Game изменив в нём одну переменную, что активирует дебаг-режим в ПК-версии игры (ссылка на jar: https://drive.google.com/file/d/1npYwQkK0gU2iamEwiE6IrRM9g4A7X15G/view?usp=sharing). Там можно вызвать консоль тильдой и вызывать разные команды (я так умудрился добавить иконку на главный экран и при этом поломать его отображение, скриншот ниже)javaw_2021-12-27_09-54-21-095.jpg?width=

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


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

Так, а вот сейчас что-то странное. Я попытался изменить текст сообщения на твой-же (размер не меняется), но моя игра при этом вылетает.

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


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

По сути дела текст в обычном txt формате лежит. Но очень здесь всё интересно реализовано 484 блока, думаю если заморочиться вполне реально сделать перевод. 

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

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


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

@KASaLEX вообще, как мы смогли выяснить, изначально текста диалогов скорее всего хранились в json и в дальнейшем были запакованы в .fs. Но есть вещь, которая меня ошарашила — если Debug-версию игры запускать не в jar, а в exe, то она будет работоспособной даже при удалённых из неё .fs-файлах, и даже будут все текста. json-ов в игровом архиве нет

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


Ссылка на сообщение
В 06.01.2022 в 22:51, cenya_filyushkin сказал:

@KASaLEX вообще, как мы смогли выяснить, изначально текста диалогов скорее всего хранились в json и в дальнейшем были запакованы в .fs. Но есть вещь, которая меня ошарашила — если Debug-версию игры запускать не в jar, а в exe, то она будет работоспособной даже при удалённых из неё .fs-файлах, и даже будут все текста. json-ов в игровом архиве нет

скорее всего у тебя рядом с exe лежат извлечённые файлы .fs которые игра и подтягивает. Дальше потратил я на это всё дело три вечера. Что могу сказать почти все файлы сжаты определенным образом, блоками идет блок сжатых данных потом в открытом виде и так далее. Если файл собрать разжав сжатые блоки и собрать получим оригинальный файл ….который игра не хавает. Проверка происходит по размеру разжатых данных, то есть если взять блок разжать получив оригинальный файл и снова сжать до меньшего размера или большего самого блока, игра будет работать если же изменить оригинальный файл и снова упаковать нет — идет проверка по размеру разжатого файла, даже лого с наушниками, что появляется в начале игры сжато таким образом, в файле данных о размере точно нет. Проверка происходит где-то в коде причем там должны храниться размеры всех файлов в таком случаи

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


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

скорее всего у тебя рядом с exe лежат извлечённые файлы .fs которые игра и подтягивает. Дальше потратил я на это всё дело три вечера. Что могу сказать почти все файлы сжаты определенным образом, блоками идет блок сжатых данных потом в открытом виде и так далее. Если файл собрать разжав сжатые блоки и собрать получим оригинальный файл ….который игра не хавает. Проверка происходит по размеру разжатых данных, то есть если взять блок разжать получив оригинальный файл и снова сжать до меньшего размера или большего самого блока, игра будет работать если же изменить оригинальный файл и снова упаковать нет — идет проверка по размеру разжатого файла, даже лого с наушниками, что появляется в начале игры сжато таким образом, в файле данных о размере точно нет. Проверка происходит где-то в коде причем там должны храниться размеры всех файлов в таком случаи

Миллион раз проверил — рядом fs нет, а поттягивает игра их только в случае, если запущена через jar.

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

скорее всего у тебя рядом с exe лежат извлечённые файлы .fs которые игра и подтягивает. Дальше потратил я на это всё дело три вечера. Что могу сказать почти все файлы сжаты определенным образом, блоками идет блок сжатых данных потом в открытом виде и так далее. Если файл собрать разжав сжатые блоки и собрать получим оригинальный файл ….который игра не хавает. Проверка происходит по размеру разжатых данных, то есть если взять блок разжать получив оригинальный файл и снова сжать до меньшего размера или большего самого блока, игра будет работать если же изменить оригинальный файл и снова упаковать нет — идет проверка по размеру разжатого файла, даже лого с наушниками, что появляется в начале игры сжато таким образом, в файле данных о размере точно нет. Проверка происходит где-то в коде причем там должны храниться размеры всех файлов в таком случаи

И да, кстати. В Debug-режиме в jar-е игра пересобирает все fs в отдельный каталог (compiled). Перепакованный файл content.fs весит меньше того, что лежит в игре. И если этот content.fs положить вместо оригинального — игра так-же будет работать

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


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

подтягивает и через exe. только что сравнил две версии под андроид изменения в них только в .fs файлах, выходит что и данные для проверки размеров в каком-то из них

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


Ссылка на сообщение
Только что, KASaLEX сказал:

подтягивает и через exe. только что сравнил две версии под андроид изменения в них только в .fs файлах, выходит что и данные для проверки размеров в каком-то из них

Уж больно подозрительно, что exe Debug-версии игры игнорирует даже изменённые fs внутри неё, а нигде в иных местах у меня fs не лежат

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


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

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

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

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

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

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

Войти

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

Войти сейчас


  • Сейчас популярно

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

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

    • Жалко что вы не понимаете о чем вообще речь. Вы проталкивали две вещи. Первое - что, вам кажется что раз в игре оно не надо, оно ей ничего не дает — то  и нахрен оно надо. Если вам на что-то пофиг, это не значит, что теперь игра без этого вашего “пофиг” полная. Нельзя назвать игру где DLC раскрывает историю одного из важных персонажей полной, если этого DLC у вас нет. Да можно с этой игры получить удовольствие. Но она просто не полная. Это как читать книгу, где редакция кучу всего повырезала, и называть ее полной, при том что существует полный не обрезанный вариант. Тоже самое, если вдруг автор решит дополнить свое творение, и расширит его в новом издании книги. Старая версия, уже просто перестанет быть полным вариантом. warcraft 2 и warcraft 3 Это разные игры. У них общее это одна вселенная, да жанр. Вот и всё. Это как  сравнивать окна и двери, что-то общее есть — ну и норм, одно и тоже теперь, ага.
    • Давайте еще раз по пунктам, новая игра, это новая игра даже если судя по всему новая игра это улучшение старой и старая не является не полноценной. Игра без DLC является не полноценной. Новая часть к игре не является новой и может вполне считаться DLC Я один вижу подвох?! Ошибся, НО ГДЕ?
    • а еще атомик, бг3, мисайд, темпест райзинг— игры. вау. только вот не одно и тоже это.
    • Жалко что вы не отвечаете на заданные вам вопросы, когда я писал свою точку зрения я писал про то, что как бы пофиг на DLC, но это вообще то не означало, что хороших нет. И ранее я приводил конкретные примеры DLC которые добавляют историю. Опять же возвращаясь к вашему примеру таки так и получается, что по вашей же логике БУКВАЛЬНО warcraft 2 не полноценная игра, потому что есть warcraft 3, но и по вашей же логике это не так, потому что это утрирование, но при этом игра Z для которой вышло DLC Elfs делает игру Z не полноценной, а если бы вышла игра Z 2 Elfs, то это бы все изменило и на это вы сказали, что это не так, вы женщина, скажите прямо?!
    • Это скорее всего лишь совпадение, кто там в эти часы стрим смотрел. Ну и как я уже сказал, процент тех или иных людей становится больше или меньше, а те с кем ты можешь пообщаться в определенном месте сильно влияет кто именно с тобой будет там общаться, не значит что остальных нет, они просто не хотят там общаться.  Как-то так.
    • Магнитики это косметика. Как DLC в виде парочки костюмов или, каких нить аватарок дополнительный при создании героя. Сравнения огонь. Конечно, вышла игра где есть две фракции, люди и орки, потом к ней вышло длс, где есть эльфы, гномы, элементали, нежить, ангелы, демоны. Вы до сих пор будете считать что у вас полная игра? Кампания за эти фракции, у вас может и полная. Но сама игра — нет. На старте она у вас была полная, теперь уже нет. Есть игра в процессе разработки, до релиза, а есть игра в процессе разработки после релиза. И ее пичкают не только тем что называется DLC, но иногда контент предоставляется и просто патчами. Если весь возможный вышедший игровой контент(квесты, дополнительные локации, фракции, персонажи, юниты, новые механики и прочие), находится у вас в игре, — то у вас игра полная. Если контент есть, в природе существует к этой игре контент дополнительный, но у вас его нет, потому что у вас базовая версия, то у вас игра не полная. Нормальные люди, которые в игры играют, те  называют  версию игры в которой есть весь вышедший контент “полной”. А версию игры в которой контент не весь, “не полной”. О чем тут можно спорить? Нету у вас всего доступного контента в вашей версии игры, какая у вас игра? Полная? А тогда какая она у тех у кого весь контент есть? Ультра полная что ли?
    • Нет, я просто действительно не могу понять, почему выход скажем продолжения основной сюжетной истории (или скажем слабо связанного с основным сюжетом куска истории, как это было в елден ринге) в виде дополнения делает основную игру неполноценной. Но если то же самое происходит в виде новой части игры, то это уже другое и старая игра остается полноценной.
    • я этого не увидел. и этого тоже. Там этого и в помине нет. именно так. Их аудитория увидела что инфантилу хреново, что дядька в 45 лет, неверивший в мошенников и думающий что это прикол какой-то, потому что ему ни разу никто не звонил, ему и Михаилу, может просто уйти в себя и не вернуться, поэтому и сделала акцент на поддержке, а не на “ну ты же сам виноват, будешь умнее”, такому как он сейчас такое только во вред. А по фактам, всё ему было высказано, не обязательно при указании ошибки делать это с напором и множество раз, если он умный поймет, а он явно не дурак, если повторит и не усвоит урок, то… и жить ему с этим.   ну если учесть твоё я не собираюсь тебя переубеждать, защищать IXBT, но если ты так расцениваешь произошедшее, то единственное что я могу тебе сказать, что когда в реальной жизни ты столкнешься с “преданным и верным комьюнити” подобных бойцов со “стукаликами”, точнее перейдешь им дорогу или станешь их целью, на себе (или твои близкие) испытаешь их методы, приемы, то не проси поддержки у “сброда”, который может быть рядом, а если он решит тебе помочь, просто плюй им в лицо, ибо они фанатики, а с тобой всё сделали правильно, ведь именно так это и должно работать, видимо, в мире, который тебя устраивает.
         
    • Разумеется, их можно обобщить общим термином — “конструктивные элементы зданий“ . Спасибо гуглу (которым ты почему-то на этот раз забыл воспользоваться) за подсказку.
    • Мне кажется у Dusker принцип — ни шагу назад, если он сказал то, что логически никак не вяжется и это показывают на практике, то он будет говорить все что угодно, лишь бы не признавать, что он не прав А по вашему получается, что без магнитиков на холодильник, холодильник использовать нельзя Или без занавесок — из окна — дует! Но то ладно, это не его логика, это дыры в вашей, он то так не думает...
  • Изменения статусов

    • Дмитрий Соснов  »  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 | Реклама на сайте.

×