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

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


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

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

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

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

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

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

Войти

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

Войти сейчас

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

    • Автор: Dark_Sonic

       
      Год выпуска: 2024
      Жанр: Action-adventure, Platform
      Разработчик: Sonic Team
      Издательство: Sega
      Платформы: PS4, PS5, Xbox Series, PC, Switch, Switch 2
       
      «Беги, чтобы спасти мир!»
      Sonic Generations
      Когда Соник сталкивается с таинственным врагом, он встречается с могущественным противником из своего прошлого и местом для приключения.
      Там он встречает другого себя...
      Shadow Generations
      Шедоу вновь сталкивается с прошлым между временем и пространством.
      Что ждёт его, когда он осознаёт могучую силу тьмы
      и стоит между выбором - светом и тьмой...?
      Два мира, рождённые из искривления пространств.
      Истории Соника и Шедоу начинают раскрываться!
       
       
      Последняя игра, анонсированная на фестивале.
      Также, мы сделали полный дубляж пролога Sonic X Shadow Generations: Тёмное начало!
       
       
      Переходите в нашу группу ВК, где можете увидеть способы нас поддержать!
    • Автор: Damin72

      Жанр: Rail Shooter
      Платформы: Switch PC
      Разработчик: MegaPixel SA
      Издатель: Forever Entertaiment SA
      Издатель в России: -
      Дата выхода: 8 августа 2025
      Продолжение знаменитой The House of The Dead. Дело Кюриена из 1998-го было лишь началом кошмара. Нашествие мутантов в 2000-ом застигает агентов AMS врасплох. Только Джеймс и Гэри могут спасти ситуацию и разобраться с истинным зачинщиком нового кошмара.
       

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

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

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

    • Обидно, честное слово.  Разрабы наши, хотел поддержать. Но … Да, в такое на релизе — лучше не играть, конечно.
    • Альфа версия это как раз таки не готовая локализация. Как будет готова сразу выложим. Насчёт беты ещё подумать можно было бы, но в текущем виде ещё слишком сыро. Всё очень просто. Сплит это платный проект со сборами и горящими сроками. У психов же никогда не было сборов и сроков. Был один спонсор с крупным донатом (и на условиях, что сроки для него не важны), который покрыл около половины стоимости, а остальное как раз таки записывалось за счёт тех самых платных проектов, ну и + вся наша работа бесплатно. К тому же проект совместный и текстовая часть в своё время сильно задержалась (на то были весомые причины у ребят и это не в укор командам, которые здесь занимались текстом, просто факт), а мы не могли всё это время сидеть и ждать его. 
    • UPD: добавил новые шрифты
         
    • @Alex Po Quest @Tirniel если лень ждать ремейк Готики, но прям хотите на новогодние поиграть, уже вполне можно — кайфанёте. Но
      Для примера о чём я выше писал, чтобы вы понимали суть проблемы. 3 глава, основные возможные квесты главы закрыты, идем строго по главному, т.е. в Мире по пути делать пока нечего и даже противников нет, т.к. все тропинки уже зачищены. И вот вы в точке начала очередного шага квеста (быстрого перемещения пока НЕТ, и с ним позже лучше не станет) это 7-12 мин реального времени (в зависимости от вашей выносливости и знания карты, если конечно вы её уже открыли). Думаете всё?  Потом обратно отчитываться. Это реально больно, осознавать как разработчики крадут время игроков. И это при том, что я прохожу уже 2 раз, еще помня, что за чем последует, и стараюсь раньше времени в локи, в которые отправят позже, не лезть, т.е. тут даже будущие гайды не позволят сократить подобное, а этого в игре много. Баги и остальное поправят, а вот эту механику, при отсутствии быстрого перемещения в любой форме, никак, если только не введут руны, свитки или проводников. 
    • Пресс Ф. Великий мужик был, одни из лучших шутеров делал. Жаль, что так рано ушёл, сколько ещё хорошего он пог сделать.
    • Ничего, лучше уж подожду пару-тройку месяцев для первых “хотфиксов”. Мне не горит играть прям на релизе. Например, как в случае рог трейдера совсем не жалею того, что ждал больше года патчей и балансовых фиксов (как оказалось, стоило бы даже подольше подождать).
    • @kokos89 выпустил русификатор текста для квеста Scholar Adventure: Mystery of Silence, вышедшего пару недель назад. @kokos89 выпустил русификатор текста для квеста Scholar Adventure: Mystery of Silence, вышедшего пару недель назад.
  • Изменения статусов

    • maddante665  »  parabelum

      https://disk.yandex.ru/d/A7W9aHwW7wLTjg
      ссылка на торрент , в нем архив с игрой.
      единстенное в геймпасее папка TotalChaos_Data так, а в стиме Total Chaos_Data, но если пробел убрать в архиве с ркссификатором все равно не работает, ломаются надписи , просто прозрачные. я пробовал только текст .
      · 1 ответ
    • АлинаQT

      Играю в СТИМовскую версию. Столкнулась с непроходимым багом: при входе в Клуб капитанов игра вылетает на Рабочий стол и закрывается. Собрала 6 ингредиентов из 7, нужен мел. Но не могу войти. Пробовала войти на английской версии без русификатора, все равно вылетает и закрывается. Есть решение для этой проблемы? Буду рада любой помощи.
      · 0 ответов
    • Jimmi Hopkins  »  SerGEAnt

       
      Добавлена ONLINE версия. Проверено в steam — достижения, поддержка по сети.
      · 0 ответов
    • fevralski  »  SerGEAnt

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

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


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

×