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


      Sonic Frontiers — игра нового вектора во франшизе Соника. Издатель Sega выпустил для нашей русской аудитории субтитры, но ещё ни разу не сделал дубляж. Команда “Dark Sonic & Co." объявляет о сборе средств на русскую озвучку!
      Давайте же расширим границы и отправимся в это загадочное путешествие на родном языке. Наши возможности напрямую зависят от вашей поддержки. Все собранные средства пойдут на реализацию проекта, и по мере готовности мы будем публиковать результаты.
      Судьбу дубляжа определяете именно вы. Если вы приветствуете русский дубляж игр в целом, даже если вам безразлична вселенная Соника, рассмотрите возможность поддержать нас — сейчас от этого многое зависит. Общими усилиями мы ускорим процесс выхода проекта!
      Переходите в нашу группу в ВК или в описании под видео можете увидеть способы нас поддержать!

       
    • Автор: 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

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

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

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

    • Отзывы по игре хорошие.
      Довольно много графики на обязательный перевод. Осложнено вариативностью диалогов с разными концовками. Буду по возможности ковырять… А там посмотрим
    • Да там когда от зубастика бежишь скольжение хорошо помогает, у меня нормально скользилось, ты с клавы играл? я с геймпада. ой вру я с клавы же в нее играл.) в общем нормально у меня со скольжением все было.
    • @allodernat И кто-то покупает такое? 
    • Хреново. На Кинопоиске уже оценка ниже семи. Не могут наши в жанровое кино, нет ни сценаристов, ни режиссёров.
    • Прошел дэмку. Классная штука! С мяосм может и правда чутка перебор, но это фишка Восставшего, так что претензии мимо. Местами прям отсылки к фильмам видны. Загадки не то чтобы сложные, но код от второго закрытого шкафа я не нашел, хотя особо и не старался. Местное скольжение так толком и не освоил. Получается раз через пять, и это плохо. Там местами при побеге от сенобитов оно бы сильно пригодилось. 
    • @piton4  а вот сделал 1080р и ФСР на ултра производительность чтобы игра уперлась в проц, в общем проц тут вроде могет еще под 160фпс почти как у Вадика.
    • Посмотрел 5 и 6 серии Трудно быть богом. Чем дальше тем хуже на мой взгляд. И проблема не в том, что книжных персонажей переделали. Заявлено “по мотивам”, хрен бы с ним. Но логика повествования и персонажей куда-то срулила. 
    • Я дк5елаю, новыложить только после ьдюлгрсы смогу я делаю и он по а по гнвиьдипей альт +f1
    • @Japple долго расписывать)) делает сборы на машинные переводы jrpg, потом продаёт по 500р. 99% переводов под пейволом до сих пор, там и яндекс переводчик с некоторыми правками, и дипл и не так давно на ии переводы перешёл. Но кичится до сих пор этими самыми правками и считает, что его платные машинные переводы лучше бесплатных)) Но это можно только на слово поверить, хоть и звучит очень сомнительно)) Тем более, что в сейчас в условиях доступных ии-сетей машинный перевод может сделать каждый. К примеру не так давно тут granblue reink качественный нейромашинный русификатор сделал человек, и поддерживает его, бесплатный. А аркания до сих пор продаёт свою полудипл поделку со сломанными тэгами. А негативную славу заслужил тем, что брал чужие наработки, включая слитые ручные русификаторы, что-то допереводил машиной, к примеру dlc, а потом продавал. В общем не переводчик, а коммерсант)
    • Тоже собираюсь, пускай весь выйдет.
  • Изменения статусов

    • axe66  »  SerGEAnt

      здравствуйте. можете добавить на сайт раздел для игры She’s Leaving и русификатор к нему? и как и куда вам скинуть фото и сам русификатор?
      [h2] Версия: 1.0.1 (от 22.05.2026)
      Совместимость: для сборки 20909321 [/h2]
       Информация:
      Машинный перевод моделью gemma2:9b-instruct с несколькими этапами автоматической перепроверки (модель "самопроверялась") и финальными ручными правками.
      Это не финальная версия — по мере нахождения ошибок перевода будут выходить обновления.
      Известные нюансы:
      * Возможны неточности и ошибки в переводе.
      * Некоторые элементы интерфейса остались без перевода.
       Установка:
      1. Запустить Russifier.exe
      2. Нажать "Выбрать папку"
      3. Выбрать папку с игрой и нажать ОК
      4. Нажать "Установить"
      5. Дождаться завершения установки и закрыть программу.
      После установки запустите игру и наслаждайтесь!
      Если заметили ошибки или некорректные формулировки — оставляйте комментарии, будем исправлять!
       
      Автор: Serjik Sokolov История изменений:   Версия 1.0.1 от 22.05.2026 - Установщик теперь автоматически определяет корневую папку игры, даже если случайно выбрана вложенная папка.   Версия 1.0.0 от 03.12.2025 - Релиз
      · 1 ответ
    • Perfect End Strange  »  SerGEAnt

      Привет, озвучку для Silent Hill 4: The Room выпустил энтузиаст под ником Perfect End Strange, а вы написали совсем другую студию, пожалуйста, исправьте эту оплошность
      · 0 ответов
    • Jimmi Hopkins  »  SerGEAnt

      я его уже открыл в свободный доступ, чтобы не потерялось среди новинок
      · 0 ответов
    • NekoNya  »  Onzi

      https://www.dropbox.com/scl/fi/4xncxr2tqy77vz4644q08/text_RU_FINAL.json?rlkey=xckxss3jkql4gjmc1ah6qjb5e&st=k5ql651f&dl=0 
       
      Вот, то что вышло. Извинюсь, что зря говорил, что помогу (
      · 2 ответа
    • serfly  »  SerGEAnt

      Доброго времени! Недавно столкнулся с проблемой автоперевода XUnity AutoTranslator BeplnEx iL2cc. Пару последних лет часто пользовался, теперь консольные команды виснут на стадии загрузки библиотек, хотя они есть там изначально. На GitHub есть подобные вопросы, но ни одного рабочего ответа я не нашел. А Вы что можете посоветовать?
      · 0 ответов
  • Лучшие авторы


×