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

Проблема с запаковкой текста

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

Добрый вечер.
Имеется проблема с запаковкой текста в этот файл. Вытащить текст — легко. Обратно — уже вызывает вопросы.
Сам файл:
https://yadi.sk/d/CUMcRWxyNzQ0nw
Описание формата:

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

 

//------------------------------------------------
//--- 010 Editor v10.0.2 Binary Template
//
//      File: tuscrdata.bt
//   Authors: bqio
//   Version: 1.0
//   Purpose: 
//  Category: Text
// File Mask: tuscrdata.bin
//  ID Bytes: 
//   History: 
//------------------------------------------------

local int i;
local int j;
local int languageRelativePos;
local int tableRelativePos;

struct FILE {
  struct FILE_HEADER {
    uint numOfLanguages <name="Number of Languages">;
    struct LANGUAGE_PTRS {
      uint ptr <name="Pointer">;
      uint size <name="Size">;
    } LanguagePtrs [numOfLanguages] <name="Language Pointers">;
  } FileHeader <name="Header">;
  
  for (i = 0; i < FileHeader.numOfLanguages; i++) {
    FSeek(FileHeader.LanguagePtrs.ptr);
    languageRelativePos = FTell();
    
    struct LANGUAGE {
      struct LANGUAGE_HEADER {
        uint numOfTables <name="Number of Tables">;
        struct TABLE_PTRS {
          uint ptr <name="Pointer">;
          uint size <name="Size">;
        } TablePtrs [numOfTables] <name="Table Pointers">;
      } LanguageHeader <name="Header">;

      tableRelativePos = FTell();
            
      struct FIRST_TABLE {
        struct FIRST_TABLE_HEADER {
          uint magic <name="Magic">;
          ushort tableSize <name="Table Size">;
          ushort unk;
          ushort numOfMessages <name="Number of Messages">;
          ushort ptrSize <name="Pointer Size">;
          ushort headerSize <name="Header Size", comment="Maybe uint">;
          ushort unk;
          uint unk;
          uint unk;
          struct FIRST_TABLE_TEXT_PTRS {
            uint ptr <name="Pointer">;
            uint unk;
            uint unk;
            uint unk;
            uint unk;
          } FirstTableTextPtrs [numOfMessages] <name="Text Pointers">;
        } FirstTableHeader <name="Header">;
        for (j = 0; j < FirstTableHeader.numOfMessages; j++) {
          FSeek(tableRelativePos + FirstTableHeader.headerSize + FirstTableHeader.FirstTableTextPtrs[j].ptr);
          struct FIRST_TABLE_TEXT {
            char line[ReadStringLength(FTell())] <name="Value">;
          } FirstTableText <name="Text">;
        }
      } FirstTable <name="First Table", comment="Header size = 0x18">;

      tableRelativePos = LanguageHeader.TablePtrs[1].ptr + languageRelativePos;
      FSeek(tableRelativePos);
        
      struct SECOND_TABLE {
        struct SECOND_TABLE_HEADER {
          uint magic <name="Magic">;
          ushort tableSize <name="Table Size">;
          ushort unk;
          ushort numOfMessages <name="Number of Messages">;
          ushort ptrSize <name="Pointer Size">;
          uint headerSize <name="Header Size">;
          uint unk;
          uint secondTableTextPtrs [numOfMessages] <name="Text Pointers">;
        } SecondTableHeader <name="Header">;
        for (j = 0; j < SecondTableHeader.numOfMessages; j++) {
          FSeek(tableRelativePos + SecondTableHeader.headerSize + SecondTableHeader.secondTableTextPtrs[j]);
          struct SECOND_TABLE_TEXT {
            char line[ReadStringLength(FTell())] <name="Value">;
          } SecondTableText <name="Text">;
        }
      } SecondTable <name="Second Table">;
    } Language <name="Language">;
  }
} File <name="File">;

 

 

 

 

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

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


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

for (i = 0; i < FileHeader.numOfLanguages; i++) {
    FSeek(FileHeader.LanguagePtrs.ptr);
    languageRelativePos = FTell();

исправь на FSeek(FileHeader.LanguagePtrs[ i ].ptr);

 

 P.S. скинь скрипт файлом, а то  [ i ] форум удаляет

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

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


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

исправь на FSeek(FileHeader.LanguagePtrs[ i ].ptr);

 

 P.S. скинь скрипт файлом, а то  [ i ] форум удаляет

https://yadi.sk/d/KW_Nq4caT-q1Mw

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


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

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

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

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

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

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

Войти

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

Войти сейчас

  • Похожие публикации

    • Автор: Sudakov Pavel
      Решил выложить исходники программ, которые я делал для некоторых игр, а также исходники программы TTG Tools от @Den Em, которую пытался поддерживать вплоть до ремастеров серии игр Сэм и Макс.
      По игре Doctor Who: the adventure games
      По играм от Telltale Games/Skunkape Games:
      По игре Crash Bandicoot N. Sane Trilogy:
      По игре Shrek 2 Team Action:
       
      По первым трём частям игры Professor Layton:
       
      Остальные программы:
      Sonic and All-Star Racing Transformed (https://gitflic.ru/project/pashok6798/sonic-all-star-racing-repacker-tool):
      Пытался по скрипту aluigi сделать полноценный инструментарий для возможного редактирования текста, шрифтов и текстур, но в итоге хватило сил на распаковку/перепаковку архивов. Остальное я забросил.
       
      Who wants to be a millionaire: special edition questions editor (https://gitflic.ru/project/pashok6798/wwbam-se-questions-editor):
      Редактор вопросов к игре Кто хочет стать миллионером: особое издание (2012 года выпуска игра).
       
      По игре Shantae and the Pirate’s curse:
      Shantae tool (https://gitflic.ru/project/pashok6798/shantae-tool):
      Пытался сделать инструментарий для редактирования текста, шрифтов и текстур, но в итоге получилось распаковать/запаковать ресурсы и редактировать текст. С шрифтами и текстурами не удалось мне решить проблему.
       
      UPK environment (https://gitflic.ru/project/pashok6798/upk-environment):
      Пытался сделать оболочку для библиотеки upkpacker.dll, чтобы было проще работать, а ещё пытался сжимать некоторые архивы после перепаковки, но в итоге забросил данную оболочку для игр на Unreal Engine 3.
       
      Надеюсь, кому-нибудь данные инструментарии пригодятся. Я больше не собираюсь поддерживать данные приложения.
       
      P.S. продублировал на github и gitverse исходники и сборки инструментариев.
      Вот ссылка на github: https://github.com/zenderovpaulo95
      А вот ссылка на GitVerse: https://gitverse.ru/pashok6798
    • Автор: SerGEAnt

      «С учётом динамики спроса, мы ожидаем, что в ближайшее время вся первая партия будет полностью реализована».
      Крупнейший российский ритейлер «М.Видео-Эльдорадо» сегодня утром открыл предзаказ на консоль Nintendo Switch 2.
      За эти несколько часов он зафиксировал «большой спрос на новую консоль». Ее цена в России составляет 60 тысяч рублей.
      По его же данным, с 2017 по 2024 год в России было продано порядка 500 тысяч консолей Nintendo Switch.


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

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

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

    • Есть те, кто уже собрал полный перевод включая тексты игры или смогли их извлечь?
    • Да там уже перевели. Ждём полноценного перевода.
    • Да. Я это сам написал. Количеством контента. У демки, мало, у базовой версии по больше, но не всё, и у версии со всеми dlc весь контент — полная версия.  Что будешь делать если игра песочница? или у игры нет конца, как у ммо? Они все демки раз не проходимы?) Действительно какой интересный способ. Ну не хочешь отвечать, не отвечай. Я понимаю что ты споришь, потому что тебе просто скучно. Ну во первых я уже ответил. Полная версия у тебя, та, которая содержит весь актуальный контент. То есть грубо говоря публикуется разраб только в стиме. Значит в  стиме всегда будет полная версия. Хоть она 0.3 хоть 1.0 хоть 2.0.  Я ничему не противоречу. Играй когда хочешь. В какую версию хочешь. Просто факт, что если есть версия с более полным контентом, то твоя без этого контента — не полная. А если ее нету в природе, то значит у тебя полная версия. Мне нужно просто показать текст, из которого ты понял причину нападения сектантов друг на друга. Ты его показывать отказываешься. Толпа не толпа какая разница, если никто не может показать текст из которого к ним пришло понимание. Я не знаю язык оригинала. И поэтому не очень верю, что в оригинале они не называют никаких причин, и начинают убивать друг друга. И не надо меня отправлять к нейросетям, они не точные в переводах.  
    • Почему же, на геймплей очень даже влияет. Игроку приятнее смотреть на более интересный для себя скин. В т.ч. может быть и прямое влияние от того, что скин может перекрывать больше или меньше экрана, имея больше или меньше материала. То есть есть даже косвенное влияние и на пвп из-за того, что хитбокс не меняется, а моделька становится “обширнее”, из-за чего противнику проще промахнуться, попав в часть скина, не имеющую хитбокса, либо затрудняя прицеливание тем, что моделька в скине стала визуально меньше или менее заметной. А в случае соревновательных игр с видом от третьего лица, скины, делающие персонажа менее “обширным”, расширяют для этого игрока зону видимости, т.е. меньше экрана заполняется персонажем, из-за чего проще быстрее увидеть противника. Ну и да, как игра может быть “полной” без косметических длс, если в ней не “не всё”. Один из главных твоих аргументов же именно в полноте, в том, что контент должен быть вообще весь-весь, забыл? А тут бац, и оказывается, что всё-таки в игре может быть не всё-всё, но тогда как же она может считаться “полной”. “Полноценной” по твоей личной логике — возможно, но “полной” — по твоим же определениям, которые ты сам же и давал ранее — ни разу.
    • После беглой разборки того текста, который выдёргивает автопереводчик, есть подозрение, что тексты игра хранит в том же формате, в котором они лежали на psp. Но пока вообще ничего похожего я найти в ресурсах не смогла. Шрифты заменила, всё отлично работает. При желании можно собрать миниперевод (только интерфейс).
    • Я про то, что без них игра ведь тоже не будет полной. И собственно какая разница, что кто-то не считает их за контент, вы же сами писали, что если кому-то какие-то длц не нужны, то это сути дела не меняет, это всего лишь его личные предпочтения. И я правильно понимаю, что длц которые добавляют уберпредметы или кучу денег на старте считаются вами за полноценные длц, ведь они в отличие от косметики влияют на баланс, на геймплей и дают игроку преимущества. Получается без таких длц игра тоже полной не будет верно?
    • Спасибо mognet, перевод получился хорошим и шрифты классные! Правда иногда встречаются английские слова в появляющихся списках, когда получаешь какой-то предмет или при сборе лута. Это надо исправить!
    • Потому что ее не принято считать контентом. Косметика не влияет на баланс, на геймплей, не дает никаких преимуществ в пвп, или в пве. Поэтому разрабы продают  внешки, а игроки особо не жалуются, потому что на игровом процессе это не сказывается. Так и есть. Некоторые спорят за полноценность продукта, не понимая что это разные вещи. Завершенной игра может никогда не быть вообще, яркий пример это ММО, пока ММО популярно к ней клепают DLC называя это обновами, бесконечно продолжая как основной сюжет так и добавляя сайд контент. При этом, если ММО теряет популярность, то просто обрывают все линии сюжета и закрывают проект. Тоже самое по сути с сингл проектами, только там это разделяют на разные игры. Пока Ассасин популярен и приносит доход, он будет выходить и выходить и выходить. Что в принципе с ним и произошло. Но если вдруг что, то мы можем никогда не узнать конец истории, или его сольют. Скажут “Так мы закрываемся, это последняя игра в серии, вот вам концовка, не жалуйтесь что вас оставили без концовки”, хотя по факту у них там был план еще на 3 игры, как минимум и естественно с совершенно другой концовкой. У японцев которые публикуются, такое постоянно, издательство говорит “все сворачиваемся”, и автор спешно пишет концовку чтобы его не заклевали. Что поделать, мы живем в таком мире. Но полная версия, это просто весь вышедший контент. И ничего более.  Сидеть рассуждать, что моды фанатские это часть этого вышедшего контента, это ударяться в крайности. Говорить что продолжение в виде новой игры, это новая полная версия, а не новый продукт — тоже крайность. У ассасинов которых я выше упоминал, каждая игра — это отдельный продукт со своими DLC. Каждый кто играет в игры, общается с геймерами это все понимает. Почему у некоторых — если из игры вырезали контент как например уровень с аэропортом в колл оф дюти, то это уже не полная версия. А вот если контент добавили, но в их версии,базовой, его нету, то это уже не считается что у них не полная версия. В одну сторону логика работает у них, а в другую уже нет.
    • Открытая концовка — это всё равно концовка. Демка от самой игры отличается в первую очередь чем? Количеством контента, демка не даёт пройти игру, но отсутствие длс не мешает этому, то есть не делает из игры демку ну никоим образом. Ну хоть ты тресни, но от твоих хотелось суть демок не поменяется. Вот и мне интересно, почему ты так избегаешь отвечать на любые хоть сколкьо-то неудобные для тебя вопросы. Какой интересный способ перевести стрелки, пытаясь убедить собеседника, что это не он задавал вопрос тебе, а он сам должен ответить на вопрос, заданный тебе. И нет, конкретно в этой реплике тебе задавался совсем иной вопрос, не про “полноту”. Ты так и не удосужился ответить про геншин. Когда у него наступит момент с “полной версией”?) Уж не говорю о том, что ты постоянно лавируешь между оценками с “неполноценностью”, осуждением отсутствия длс и “полнотой” тогда, когда это удобно тебе, регулярно то забывая собственные слова, то вспоминая их. И каким образом это относится к длс? Ты тему-то завязывай менять. Уж молчу о том, что буквально на днях ты упарывался, доказывая нам, что ранние версии, как и продолжения игры “это другое”. И опять тот же вопрос, что и раньше. А играть-то когда? В том числе по твоей же более ранней оценке если ты знаешь, что у игры будет более полная версия, то твоя нынешняя версия уже является неполной и неполноценной. Но сейчас ты говоришь обратное, противореча самому же себе. Как так-то? Запутался в собственных же словах? Ну не представляю, как вообще возможно научить человека понимать написанные слова. Тебе и так целая толпа народа разжёвывала, что там происходило и почему. Научить тебя работать головой, понимая то, что понимают остальные, лично я не в силах, это выше моих способностей. В языке оригинальном уточнения, которое было сделано в английском переводе, тоже нет, собственно. Но это не мешало понимать происходящее всем. Всем, кроме тебя одного. Не иначе как ты только один не телепат, а все прочие телепаты. Ага, несомненно.
    • На PS1 без фильтрации текстур смотрится посимпатичнее чем на эмуле.
  • Изменения статусов

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

×