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

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

The Legend of Korra: Video Game

Жанр: Action / 3rd Person / 3D

Платформы: PC XONE X360 PS4 PS3

Разработчик: PlatinumGames

Издатель: Activision

Дата выхода: 21 октября 2014 года

Игра на том же движке, что и Metal Gear Rising Revengeance, хотя и не так сложна в разборе. Нешифрованные DDS-текстуры в файлах DDT (шрифты там же). Текст пока ищу.

 

Spoiler

 

# CRI CPK archives (script 0.3)quickbmsver "0.5.32"endian bigcomtype cpkidstring "CPK "set query_offset long 0set query_index long 0set query_name string "TocOffset"callfunction query_utf 1set toc_offset long UTF_VALUEif toc_offset == 0    set query_name string "ITocOffset"    callfunction query_utf 1    set toc_offset long UTF_VALUEendifset query_name string "ContentOffset"callfunction query_utf 1set content_offset long UTF_VALUEset query_name string "Files"callfunction query_utf 1set CpkHeader_count long UTF_VALUEset query_name string "Align"callfunction query_utf 1set CpkAlignment long UTF_VALUEgoto toc_offsetgetdstring signature 4if signature != "TOC "if signature != "ITOC"    print "Error: TOC signature not found at offset %toc_offset|x%"    cleanexitendifendifset query_offset long toc_offsetset query_index long 0set query_name string ""callfunction query_utf 1set CpkHeader_count2 long UTF_VALUEset toc_entries long table_info_rows    # it remains saved after the callif CpkHeader_count == 0    math CpkHeader_count = CpkHeader_count2endif    set query_offset long toc_offset    set query_index long 0    set query_name string "FilesL"    callfunction query_utf 1    set itoc_filesl string UTF_VALUE    set query_name string "FilesH"    callfunction query_utf 1    set itoc_filesh string UTF_VALUE    set query_name string "DataL"    callfunction query_utf 1    set itoc_datal string UTF_VALUE    xmath itoc_datal "itoc_datal + toc_offset + 8 + table_info_data_offset"    set query_name string "DataH"    callfunction query_utf 1    set itoc_datah string UTF_VALUE    xmath itoc_datah "itoc_datah + toc_offset + 8 + table_info_data_offset"    math FORCE_CONTENT_OFFSET = 1    math query_offset = itoc_datah    for query_index = 0 < itoc_filesh        callfunction EXTRACT 1        xmath content_offset "file_offset + file_size"    next query_index    math FORCE_CONTENT_OFFSET = 1    math query_offset = itoc_datal    for query_index = 0 < itoc_filesl        callfunction EXTRACT 1        xmath content_offset "file_offset + file_size"    next query_indexmath FORCE_CONTENT_OFFSET = 0math query_offset = toc_offsetfor query_index = 0 < toc_entries    callfunction EXTRACT 1next query_indexstartfunction EXTRACT    if content_offset < 0           # "if" can't be unsigned        set add_offset long query_offset    elif query_offset < 0        set add_offset long content_offset    elif content_offset < query_offset        set add_offset long content_offset    else        if FORCE_CONTENT_OFFSET != 0            set add_offset long content_offset        else            set add_offset long query_offset        endif    endif    set query_name string "DirName"    callfunction query_utf 1    set file_name string UTF_VALUE    set query_name string "FileName"    callfunction query_utf 1    set file_name2 string UTF_VALUE    string file_name += /    string file_name += file_name2    set query_name string "FileSize"    callfunction query_utf 1    set file_size long UTF_VALUE    set query_name string "ExtractSize"    callfunction query_utf 1    set extract_size long UTF_VALUE    set query_name string "FileOffset"    callfunction query_utf 1    set file_offset long UTF_VALUE    math file_offset += add_offset    if CpkAlignment != 0        if file_offset % CpkAlignment            xmath file_offset "file_offset + CpkAlignment - (file_offset % CpkAlignment)"        endif    endif    if extract_size > file_size        clog file_name file_offset file_size extract_size    else        log file_name file_offset file_size    endifendfunctionstartfunction query_utf    set COLUMN_STORAGE_MASK     long 0xf0    set COLUMN_STORAGE_PERROW   long 0x50    set COLUMN_STORAGE_CONSTANT long 0x30    set COLUMN_STORAGE_ZERO     long 0x10    set COLUMN_TYPE_MASK        long 0x0f    set COLUMN_TYPE_DATA        long 0x0b    set COLUMN_TYPE_STRING      long 0x0a    set COLUMN_TYPE_FLOAT       long 0x08    set COLUMN_TYPE_8BYTE2      long 0x07    set COLUMN_TYPE_8BYTE       long 0x06    set COLUMN_TYPE_4BYTE2      long 0x05    set COLUMN_TYPE_4BYTE       long 0x04    set COLUMN_TYPE_2BYTE2      long 0x03    set COLUMN_TYPE_2BYTE       long 0x02    set COLUMN_TYPE_1BYTE2      long 0x01    set COLUMN_TYPE_1BYTE       long 0x00    set UTF_VALUE_OFFSET long 0    set UTF_VALUE string ""    xmath offset "query_offset + 0x10" # needed by the tool    goto offset    set table_info_table_offset long offset    getdstring UTF_signature 4    if UTF_signature != "@UTF"        print "Error: not a @UTF table at %offset|x%"        cleanexit    endif    get table_info_table_size long    set table_info_schema_offset long 0x20    get table_info_rows_offset long    get table_info_string_table_offset long    get table_info_data_offset long    get table_name_string long    get table_info_columns short    get table_info_row_width short    get table_info_rows long    for i = 0 < table_info_columns        get schema_type byte        get schema_column_name long        putarray 0 i schema_type        putarray 1 i schema_column_name        putarray 2 i -1     # schema_constant_offset        xmath TMP "schema_type & COLUMN_STORAGE_MASK"        if TMP == COLUMN_STORAGE_CONSTANT            savepos schema_constant_offset            putarray 2 i schema_constant_offset            xmath TMP "schema_type & COLUMN_TYPE_MASK"            if TMP == COLUMN_TYPE_STRING                getdstring DUMMY 4            elif TMP == COLUMN_TYPE_DATA                getdstring DUMMY 8            elif TMP == COLUMN_TYPE_FLOAT                getdstring DUMMY 4            elif TMP == COLUMN_TYPE_8BYTE2                getdstring DUMMY 8            elif TMP == COLUMN_TYPE_8BYTE                getdstring DUMMY 8            elif TMP == COLUMN_TYPE_4BYTE2                getdstring DUMMY 4            elif TMP == COLUMN_TYPE_4BYTE                getdstring DUMMY 4            elif TMP == COLUMN_TYPE_2BYTE2                getdstring DUMMY 2            elif TMP == COLUMN_TYPE_2BYTE                getdstring DUMMY 2            elif TMP == COLUMN_TYPE_1BYTE2                getdstring DUMMY 1            elif TMP == COLUMN_TYPE_1BYTE                getdstring DUMMY 1            else                print "Error: unknown type for constant %TMP%"                cleanexit            endif        endif    next i    xmath TMP "table_info_string_table_offset + 8 + offset"    xmath string_table_size "table_info_data_offset - table_info_string_table_offset"    log MEMORY_FILE TMP string_table_size    for i = query_index < table_info_rows        xmath row_offset "table_info_table_offset + 8 + table_info_rows_offset + (i * table_info_row_width)"        for j = 0 < table_info_columns            getarray type 0 j            getarray column_name 1 j            getarray constant_offset 2 j            if constant_offset >= 0                math data_offset = constant_offset            else                math data_offset = row_offset            endif            xmath TMP "type & COLUMN_STORAGE_MASK"            if TMP == COLUMN_STORAGE_ZERO                set value long 0            else                goto data_offset                xmath TMP "type & COLUMN_TYPE_MASK"                if TMP == COLUMN_TYPE_STRING                    get string_offset long                    goto string_offset MEMORY_FILE                    get value string MEMORY_FILE                elif TMP == COLUMN_TYPE_DATA                    get vardata_offset long                    get vardata_size long                    # currently ignore it                    #goto vardata_offset MEMORY_FILE                    #getdstring value vardata_size MEMORY_FILE                    set value string vardata_offset                elif TMP == COLUMN_TYPE_FLOAT                    get value long                elif TMP == COLUMN_TYPE_8BYTE2                    get DUMMY long  # no 64 bit support!                    get value long                elif TMP == COLUMN_TYPE_8BYTE                    get DUMMY long  # no 64 bit support!                    get value long                elif TMP == COLUMN_TYPE_4BYTE2                    get value long                elif TMP == COLUMN_TYPE_4BYTE                    get value long                elif TMP == COLUMN_TYPE_2BYTE2                    get value short                elif TMP == COLUMN_TYPE_2BYTE                    get value short                elif TMP == COLUMN_TYPE_1BYTE2                    get value byte                elif TMP == COLUMN_TYPE_1BYTE                    get value byte                else                    print "Error: unknown normal type %TMP%"                    cleanexit                endif                if constant_offset < 0                    savepos row_offset  # row_offset += bytes_read                endif            endif            goto column_name MEMORY_FILE            get column_name string MEMORY_FILE            if column_name == query_name                set UTF_VALUE string value  # result_value_value (qthis)                math i = table_info_rows    # break                math j = table_info_columns # break            endif        next j    next iendfunction

 

Перевод игры: http://notabenoid.org/book/64255/

Прогресс перевода: 214.png

Изменено пользователем 0wn3df1x
  • +1 1

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


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

 

LinkOFF извиняюсь, что не по теме, если эта игра на том же движке, что и MGRR сможешь поправить руссификатор на MGRR, там кое-где текст вылез за рамки и с титрами проблема

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


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

Программы flatz'а для MGRR не совсем подходят к файлам игры, а моих, и так скудных познаний, не хватит для того, чтобы приблизится к тексту (MCD-файлы). Так что ждите желающих ковырять игру. На руках только парочка шрифтов, до остального не доберусь.

Что-то в настройках не нашел включение сабов.

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

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


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

А текст точно в .mcd файлах?

Через скрипт лажово будет паковать, наверное.

Распакуй архив .cpk далее распаковывай .dat архивы и увидишь там .mcd файлы

Пример после распаковки архива .cpk (Имя_папки\*.dat):

Команда для распаковки архива *.dat:

dattool.exe unpack Наш_файл.dat Папка_с_таким_же_названием_как_наш_файл/

 

Команда для запаковки архива *.dat:

dattool.exe repack Наш_файл.dat Новое_название_файла.dat Папка_с_таким_же_названием_как_наш_файл/

 

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


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

 

makc_ar, так все эти манипуляции я провернул, mcdtool не принимает файлы.

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


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

LinkOFF

Сравни заголовки тех и тех файлов.

А как шрифты в игре сделать такими же? Должны же быть где-то разметки на них.

4adcb3d5fd0a.jpg

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


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

makc_ar, разметки вроде бы тоже в mcd. В игре нет субтитров вообще, только интерфейс.

Вот с заголовками проблема: у меня нет MGRR.

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


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

LinkOFF

А ты текстуры сможешь перерисовать? Перепакуй .dat далее запакуй .cpk и посмотри игра стартанёт у тебя. С текстурам .dtt также сделай.

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

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


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

 

makc_ar, с перерисовкой у меня проблемы. Я все, кроме CPK, хексом разбирал. С тем же размером все стартанет.

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


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

LinkOFF

Ты можешь дёрнуть все текстуры с игры? Кинь потом их в тему.

Всё гуд. Я перепаковал .dat, dtt и запаковал в .cpk где размер получился больше.

Требуется художник для перерисовки текстур

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


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

 

danilnv007, не особо. То есть совсем нет.

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


Ссылка на сообщение
danilnv007, не особо. То есть совсем нет.

Весьма прискорбно.

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


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

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

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

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

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

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

Войти

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

Войти сейчас

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

    • Автор: ger4manpi
      Outpost: Infinity Siege

      Метки: Роботы, 3D, Строительство базы, Башенная защита, Шутер от первого лица Платформы: PC Разработчик: Team Ranger Издатель: Lightning Games Серия: Lightning Games Дата выхода: 26 марта 2024 года Отзывы Steam: 11168 отзывов, 66% положительных
    • Автор: Lord_Draconis
      Pixel Heroes: Byte & Magic

      Метки: Ролевая игра, Инди, Пиксельная графика, Приключение, Упрощённый рогалик Платформы: PC PS4 iOS An MAC LIN Разработчик: The Bitfather Издатель: Headup Серия: Headup Дата выхода: 07.02.2015 Отзывы Steam: 295 отзывов, 77% положительных  

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

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

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

    • Я читал что сейчас весьма сильно,ветки разные,в том же блитце даже движки будут разные, наш будет на своем,а вгшнвй на уе5. Совершенно  разные новые ветки танков  и премы. Акции есвено и коллаборации то же разные. Леста запустил программы поддержки музеев ветеранов,празднования проводила 23 9 мая и т..д У лесты подлодки  ввели  Я в посте выше накидал что знаю
    • Так у нас и круг активных любителей порассуждать на отвлеченные и не очень темы, довольно постоянный. Пересчитать их можно по пальцам обеих рук и одной ноги, наверное. Так что ничего удивительного и странного в этом нет. С этим советом есть один нюанс. Насколько помню, были жалобы на то, что некоторые группы или категории форумчан не поддаются сокрытию путем внесения из в черный список. Например, "заслуженные переводчики", чей ник окрашен в ровно такой же цвет, как и у пользователей группы "техноблоги". 
    • Но Сержант ждал именно чай, а 3dfx, мало того, что принёс кумыс, так ещё и судя по фотографии, даже им не поделился.
    • Если верить “первоисточнику”, предположительно тому, кто сидит слева, то он пьёт кумыс, зачем ему чай-то.
    • Любопытно, как иногда стремление казаться объективным и неизбирательным приводит к построению целых теорий о собственной роли “санитара форума”, который просто вынужден реагировать на “особенно активных”. И ведь совершенно случайно оказывается, что круг этих “особенно нуждающихся в исправлении” удивительно узок и постоянен. Отрицание избирательности собственного внимания - это, конечно, мощный инструмент самопрезентации. Но факты систематического “случайного” присутствия говорят громче любых деклараций. Что ж, отрицание - это тоже форма реакции, предваряющая принятие. И да, говоря о стадиях и реакциях, нельзя не отметить, что нынешнее развитие событий, увы, было вполне предсказуемо. Я, конечно же, с некоторой долей вероятности подозревал подобный исход еще тогда, когда в пылу известного негодования кое-кто начал лихорадочно цепляться за абсолютно любую соломинку, даже за случайные реплики третьих лиц, лишь бы хоть как-то попытаться меня задеть. Уже тогда промелькнула мысль: это сиюминутный аффект или начало чего-то более затяжного и... навязчивого? Увы, как показала практика, второй вариант оказался ближе к истине. Признаться, я и не предполагал, что обычная форумная дискуссия способна произвести на отдельных индивидуумов столь мощный и пролонгированный психологический эффект, вызывая такую фиксацию. Но раз уж я коснулся таких деликатных материй, как психологическая стабильность и способы выхода из зацикленных состояний, то позволю себе несколько общих, ни к кому конкретно не обращенных наблюдений. Специалисты в таких случаях обычно рекомендуют начать с самого сложного - с признания наличия проблемы. Ведь пока человек упорно отрицает очевидное, убеждая себя и других в альтруизме своих мотивов ("просто указываю на слабые позиции", "просто он много говорит"), ни о каком движении вперед речи быть не может. Далее, крайне продуктивным считается сознательное перенаправление фокуса внимания. Мир огромен и многообразен, и зацикливание на одном объекте, вызывающем столь сильный эмоциональный отклик (особенно негативный), обедняет собственное восприятие. Также полезно найти конструктивный выход для накопившейся энергии: вместо того чтобы выплескивать ее в бесплодных попытках “исправить” кого-то в интернете, можно заняться спортом, творчеством, волонтерством - да чем угодно, что приносит реальное удовлетворение и пользу. Ну и, конечно, развитие навыков эмоциональной саморегуляции, умение отпускать ситуации, не принимать каждую дискуссию близко к сердцу - это основа здорового взаимодействия в любой среде, особенно в токсичной атмосфере онлайн-баталий. Иногда простой шаг назад и глубокий вдох творят чудеса. P.S. И еще один момент, раз уж речь зашла о способах совладания с навязчивыми состояниями. Если вдруг кто-то чувствует, что определенный участник форума или его сообщения вызывают непреодолимую, почти обсессивную потребность постоянно реагировать, преследовать его по темам или пытаться "исправить" каждое его слово, то есть простой технический совет. Если навести курсор на аватар такого, скажем так, "триггерного" участника, в появившемся окошке профиля, обычно в его нижней части, имеется весьма полезная функция - "Игнорировать". Это может быть отличным первичным шагом для того, чтобы помочь себе вернуть душевное равновесие. На этой почти терапевтической ноте позвольте окончательно откланяться от дальнейшего участия в этом специфическом диалоге. Прошу принять к сведению, что любые дальнейшие попытки вызвать мою реакцию, адресовать мне сообщения или как-либо комментировать мои действия в публичном поле будут тщетны - я их попросту не увижу, о чем и предупреждаю заблаговременно, дабы сэкономить ваше время и усилия. Также вынужден предупредить. Если в дальнейшем до меня дойдут сведения о продолжении поведения, выражающегося в систематическом преследовании участников и т.п., то, к сожалению, начнет применяться административный ресурс. Искренне надеюсь, что до таких мер не дойдет. Всего доброго.
    • Я не особо слежу за блогами Wargaming, знаю только крупные отличия Но что известно в Мире танков есть огнеметные танки, штурм САУ. и танки 11 уровня. Способ получения которого навеян из кораблей, а именно сброс веток и получения специальных очков за новую прокачку, которые можно в дальнейшем потратить на покупку этой техники.  У них этого нету. Также разные инвенты, балансные правки. В кораблях например у Варгеминга появляется новый режим авиация у АВ, они так по своему пытаются бороться с тотальным засветом. У нас все ещё по старому.
    • Можешь сделать краткую сравнительную сводку принципиальных различий для тех, кто не в теме?
    • Если что, я буквально с любыми собеседниками общаюсь (скорее всего со многими активными форумчанами разного толка успел уже что-либо обсудить в той или иной мере). Если кто-то попадается для беседы чаще прочих, то это лишь признак того, что такой человек чаще говорит - не больше, не меньше. Если я вижу заведомо слабую позицию, я указываю на неё (если вижу и если диалог не успел уйти слишком далеко к моему появлению) вне зависимости от того, кто её ввёл. Ну а то, что кто-то льёт такие слабые спорные позиции целыми вёдрами (таких персон, если что, больше одного), ну это уже показательно — просто невозможно удержаться. Тот, для кого в руке держат чай.
  • Изменения статусов

    • 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 ответов
    • Ob1tel

      Таксист Стример Анимешник https://www.twitch.tv/harddcore_gamer
      https://www.youtube.com/@HarddcorGamer
      · 0 ответов
  • Лучшие авторы


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

×