Перейти к содержимому
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, не особо. То есть совсем нет.

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

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


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

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

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

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

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

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

Войти

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

Войти сейчас

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

    • Автор: Федот
      Страница игры в Steam

      Игромания хвалит сюжет и мультиплеер.
      Рецензия Игромании на Frozen Synapse
      Рецензии:
      «Простая на вид, но сложная внутри тактическая стратегия, сочетающая традиции Laser Squad Nemesis с идеальным мультиплеером» — Игромания 8/10
      «Захватывает дух» — EDGE 9/10
      «Превосходная и изобретательная... выдающееся творение» — Eurogamer 9/10
      «Самая затягивающая и великолепная игра, в которую я играл за последние годы» — bit-gamer > 95%
      Об игре:
      Frozen Synapse — это тактическая игра для ПК и Mac.
      Классическая пошаговая стратегия, в которой игроки совершают ходы одновременно друг с другом, получает современную обертку, а также позволяет вам давать подробные и точные приказы своему отряду. Планируйте свои действия, проверяйте их, а затем нажимайте кнопку «исполнить»: ваши ходы и ходы вашего противника будут выполняться одновременно. Глубокая и интуитивно понятная многопользовательская игра и огромная сюжетная кампания даст вам возможность наслаждаться великолепными тактическими возможностями Frozen Synapse на протяжении многих часов.
       
      Трейлер:
       
    • Автор: UncleStark

       
      Замечательная игра про барда-песеника, которой почему-то нет даже в списке игр ZoG
      Похоже, что сделана на Unity, может кого то заинтересует как проект для перевода, игра достойная
      Разбор ресурсов судя по всему не нужен https://steamcommunity.com/gid/103582791460101680/announcements/detail/1702822670432846434
      https://store.steampowered.com/app/530320/Wandersong/

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

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

    • У меня, например, когда-то был игровой ПК с процом AMD Athlon 64 3000 и видяхой GeForce 8800 GTX. В то время первый Крайзис тянул почти на максималках. Сейчас этот ПК не мог бы ни хрена. И что, сейчас тоже такой конфиг надо считать игровым? Естественно, чтобы ПК считался игровым, он должен быть актуален времени. А комфортно ли на ней будет играть в Alan Wake 2? Nvidia постоянно выпускает оптимизации под разные игры, и исправления в драйверах, и я искренне не понимаю кто в здравом уме будет сидеть на драйверах 5ти и более летней давности. Да и зачем 3DVison, когда есть VR?
    • Хм. Обычно даже на коробке пишут.  Игровая карта. Окунись с понтом в мир виртуальных миров. О ес!  Лично моё мнение. Игровая картуля начинается с 6 Гб видео памяти.  Это так банально.  Этого уже хватает на средний гейминг.  Тогда можно спокойно и старые, хорошие игрули запустить, и новые на средних настройках.  Иногда до фанатизма доходит.  Влазиют в кредит, берут дорогущую карту, с супер дизайном, с фонариками.  И с гордостью бьют себя пяткой в грудь. Мол этот и есть игровая. О дааа детка! 
    • Ну да, не увиливаешь, просто не можешь ответить на элементарный вопрос. У табуреток какое-то свое название этого, очевидно) написал бы просто “вы фсе врети”, как твои собратья по разуму обычно делают, когда крыть нечем...т.е. всегда.
    • Почему сразу на высоких? На средних настройках игра уже не игра? Обладатели консолей тихо плачут в уголке со своими 30 ФэПэСэ. А если 40?
    • К тебе как нельзя лучше подходит русская народная поговорка - свинья везде грязь найдет. Ты так часто упоминаешь мусор. Видимо это твоё жизненное кредо. Негритенку из флэшбэков лет 12 на вид. Взрослому ему +/-30, ну пусть 35 как актеру. Итого, он в послушниках максимум 22-23 года, не 30. А может и того меньше. Поведение его как-то на 30+ не тянет. Это ты о чем? О своем игровом опыте? Как же я забыл! Ты же эталон ума и просвященности! Преисполненный добродетелями, сверхразум! P.S. А ведь уйти обещал и не отвечать. Трепло.
    • Увиливать? Радость моя ты вот после всех этих фантазий мне ещё решил придумать "увиливания "? Увиливания это когда ты от безысходности оппоненту приписываешь качества и ставишь их в вину. Ну ты тут, малыш таких примеров на пару страниц комментариев оставил. Ну слава тебе, Господи пафосных набросов про историю больше не будет! Ребёнок после удара по ладошкам переключился на трендовую шелуху! Молодец, больше не рассуждай о языках и мироустройстве. Смайликов тоже не надо.
    • По сравнению с единичкой, многие видят остальные части так:
      Fallout 2 - больше шутеек и безбашенности, меньше дарка, но всё ещё хорошо, хотя в первой было лучше (моё имхо - всё-таки двойка прекрасно расширила мир Фоллаута).
      Fallout Tactics: Brotherhood of Steel - ну да, мощнее, новее, лучше, но где там фоллаут??????
      Fallout Brotherhood of Steel - ЭТОЧТОБЛЯДЬВООБЩЕСЕЙЧАС БЫЛО? (Да, это действительно было).
      Van Buren - Ну, графоний не оч, но когда же выйдет? Ап, нет, не вышел.
      Project V13 - Не взлетит. Не взлетел.
      Fallout 3 - обливион с пушками. Ну ролёвка проще, но 3Д. Хера он лагать и вылетать. Почему такой тупой сюжет? Что за хрень, как в Литл Лемплайте дети размножаются? Почему в Проекте "Чистота" нельзя Гуля, Робота, Супермутанта или бойца в Силовой броне загнать, обязательно самому? Ах, так вы кусок сюжета ещё и отрезали, и продаёте отдельно, как ДЛС?
      Fallout: New Vegas - Вот вроде тройка с фильтрами, а как будто в двойку сыграл, в хорошем смысле.
      Tales of Two Wastelands - Охуеть, дайте две (пустоши). Реально, люто годный проект, если осилить его установку.
      Fallout 4 - Чего? Теперь ищем пропавшего сына, который "Отец". И строим сараи из трёх досок, где любой порыв ветра или дождь покажет нам, что строить так хуёво надо ещё уметь. С такими щелями дома не строят. Ого, они скрестили "Максим" и "Льюис", дали нам пулемёт! ЧТОБЛЯДЬ? Это штурмовая винтовка? Они проебали не только автоматы из 1, 2, Тактикса, Вегаса, но и из тройки? У них на штурмовой винтовке и на текстурке есть надпись, что это .50 cal? Эти мудаки ещё и моды теперь продают??? (Четвёрка, на самом деле, хороша, но только если играть сюжетку с Project Valkyre и Outcast and Remnants - когда сделали нормальный главный сюжет, ну, плюс немного петросянства со шлюхами, но это смотрится люто логичнее оригинального сторилайна).
      Fallout 76 - Блядь, я ещё четвёрку ругаю.…   https://fallout.reactor.cc/1050 вот оказывается откуда сценаристы надыбали этот прикол с оруженосцем с огромным мешком, при паладине... Актеры сериала Fallout не захотели ознакомиться с играми серии, предпочтя вместо этого посмотреть трансляции на Twitch В разговоре с GamesRadar актер Аарон Мотен, сыгравший Максимуса из Братства Стали в сериале Fallout от Amazon, сказал, что хотя некоторые актеры решили ознакомиться с играми Fallout перед началом съемок, сам Мотен и некоторые другие лицедеи решили ограничиться просмотрам роликов на YouTube и трансляций на Twitch. «Просмотр того, как играет кто-то другой, было очень важным для моей подготовки к роли. Это ведь были те же самые пейзажи и сценический дизайн». Уолтон Гоггинс, исполнивший роль Гуля в шоу, принципиально не стал играть в игры серии Fallout, объяснив это нежеланием попасть под влияние версии мутантов от Bethesda; и дать СОБСТВЕННОЕ ВИДЕНИЕ мутантов(в уже устоявшемся сука сеттинге).  «Когда мне была предложена роль, я специально не стал играть [в игры серии Fallout], чтобы на меня не повлияла версия Гуля из игр».
    • 50 тоже норм, cойдёт, игровая, можно брать )
    • А куда отнести карты, которые выдают 50fps в актуальных проектах, к офисным? 
    • Ну если карта может запускать игры в 40-60fps в 1080p на высоких настройках, то её можно назвать игровой.   Нельзя же все карты игровыми называть. Просто для пк есть определённый минимальный стандарт, не официальный естественно — это 60fps и 1080p. Не думаю, что карту можно отнести к “игровой”, если она этого не может в большинстве актуальных проектов. В 30fps и с минимальными настр. можно почти на любой карте, по этому у определения “игровая” должен быть какой-то стандарт.
  • Изменения статусов

  • Лучшие авторы


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

×