Перейти к содержимому
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 не лежат

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


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

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

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

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

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

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

Войти

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

Войти сейчас


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

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

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

    • Естественно, не отображаются.  У меня моник 144hz, а фактически вообще 120.  144 — это разгон, и когда включаешь 144hz, то диапазон RGB переключается на YCbCr.  Я иногда ставлю 144hz, но в основном у меня 120.   Для отзывчивости управления важен сам fps, даже если визуально ты его не видишь. 
    • @adidas76 тут только один парень делает перевод и поддерживает для новых версий)) Можно было бы у него на бусти и посмотреть/спросить(хотя у него спросили уже несколько раз))) А так да, @larich отписал там в комментах, что занимается обновлением.
    • https://disk.yandex.ru/d/RSp32_D4Av940g Скрипт на Python для распаковки/запаковки как файлов, так и текста готов. Текст может быть любой длины (отличатся от оригинала), скрипт всё должен запаковать правильно При запаковке файлов в конечный файл игры необходимо скопировать в папку с переведенными DAT нулевой файл, распакованный изначально (в нем нет текста, поэтому он не обрабатывается этой программой, но он необходим игре) Те кто использует Excel файлы, для скрипта их необходимо сохранить как “CSV UTF-8”  
    • За вами явно палата плачет. Делать игру на своем языке это норма. Языкофоб тут только вы, со своими фразами —  “Я ещё трейлер тогда на мове посмотрел и живот чуть не порвал.”. Лицемерие так и прет.  
    • Привет парни вышло новое DLC — Wishblossom Ranch. Будет ли обновлён русификатор для данного DLC.
    • Которые, опять-таки, нигде и никак у тебя не отображаются? В том числе ты уж говорил про инпут лаг, а не про то, что ты видишь кадры, которые тебе твой монитор физически не рисует. Пройди тест, поменяй отклик монитора между 1 мс и 7 мс, сравни свой результат. Улучшился ли он вообще вне пределов погрешности. В том числе это-то физически увидеть ещё сможешь, то есть это даст тебе представление о том, помогла бы тебе в теории улучшить твою реакцию смена монитора с нынешнего на монитор аж на тысячу герц. Но вот кадры, которые монитор не рисует никак нигде — нет. Банально чем именно это улучшит твою реакцию, если визуально картинка идентична? За счёт чего твоя реакция, твой личный инпут лаг организма может улучшиться, если ты видишь и воспринимаешь буквально одно и то же в обоих случаях? Вот как он есть эффект плацебо.
    • @M2X2 нет русика, не бери
    • @piton4 про dlls не в курсе (у меня fsr ) но при изменении настроек надо нажать применить у тебя не выставлены важные галочки 3 и 8 пункта  причёску поставь с выбритыми висками и зрачки красный + для большей крутизны стиля
    • За основу лучше взять английский перевод, он по логике и структуре больше подходит к русскому. Лагофаст перевели с китайского какой-то нейронкой, и из-за этого там очень много треша.    
    • @Tirniel я вот про что:  “Задержка ввода напрямую связана со временем кадра, которое определяется частотой кадров (fps). Время отклика панели — это технологическое ограничение самого монитора. Для времени кадра 4,1 мс нужна частота 240 fps. Чтобы получить время кадра 1 мс, понадобится 1000 fps” Я чувствую разницу, условно —  между 1000fps и 200.   Поэтому в “лёгкие” метрошки, по возможности играю с разблоченным fps.  
  • Изменения статусов

    • fevralski  »  SerGEAnt

      привет, есть что по хмурому?
      · 0 ответов
    • Netulogina  »  SerGEAnt

      Здравствуйте.
      Назрел такой вопрос. Существует ли архив/резервная копия переводов которые хранятся на данном сайте?
      · 5 ответов
    • Jimmi Hopkins  »  SerGEAnt

      Добавились версии для Linux и MAC OS
       
      · 0 ответов
    • Jimmi Hopkins  »  SerGEAnt

      Прошу обновить файл в архиве на https://disk.yandex.ru/d/suqA593ocxIJTQ
      или https://boosty.to/jimmihopkins/posts/d1df8532-9ac5-4a23-a87c-df2610efaf26
      Финальный релиз.
      Значительные изменения
      · 0 ответов
    • ElikaStudio

      https://www.youtube.com/watch?v=Nqcr83D8xhw
      https://www.youtube.com/watch?v=yRh3i7FKwOQ
      https://vk.com/video-48153754_456239346
      https://vk.com/video-48153754_456239345?list=ln-xnLZUtIyCEc6eshGvW
      https://ibb.co/p6BtMqWQ
      Перед тем, как ступить на борт корабля капитана Синей Бороды, нужно скачать озвучку!

      Life is Strange: Before the Storm:
      Эпизод 1: "Прoбуждeниe"
      Эпизод 2: "О дивный новый мир"
      Бонусный эпизод: "Прощание"
      Русская озвучка уже доступна для скачивания!

      ElikaStudio выражает огромную благодарность всем, кто принял участие в создании проекта! 
      Группе [club76249462|Mechanics VoiceOver R.G. MVO] , в частности их руководителю Дмитрию за неоценимую помощь в выпуске эпизода.

      Скачать для PC Classic (2018):
      GDrive: - https://drive.google.com/file/d/19CL_L80Mz0sIxcb54Ss64byAkeZmV22r/view?usp=sharing

      Скачать для PC Remastered (2022):
      GDrive: - https://drive.google.com/file/d/13q58Lpvw5_aYPYeZ7OGYZlAKOoS1gEbL/view?usp=sharing

      Скачать для Свитч(2022):
      GDrive: - https://drive.google.com/file/d/15e—T1LQiGQCYIHeNnj_C2qJA16Gvh1i/view?usp=sharing


      Баг репорт в обсуждении:
      https://vk.com/topic-48153754_52801766
      ___________________________________________
      Финансовый аппарат:
      www.donationalerts.com/r/elikastudio
      Пожертвовать средства на наши проекты:
      Кошелек ЮMoney 4100 1188 6818 3009
      карта Сбер банк 2202 2018 6334 1042
      карта Альфа банк 5559 4937 0209 8584
      Спасибо за вашу поддержку!
      #elikastudio #waylandteam #русскаяозвучка
      · 0 ответов
  • Лучшие авторы


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

×