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

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


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

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

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

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

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

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

Войти

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

Войти сейчас

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

    • Автор: oleg95
      Kao the Kangaroo: Round 2

      Метки: Приключение, 3D-платформер, Экшен, Казуальная игра, Платформер Платформы: PC XBOX PS2 GC Разработчик: Tate Multimedia Издатель: Tate Multimedia Серия: Tate Multimedia Дата выхода: 1 июня 2019 года Отзывы Steam: 2557 отзывов, 95% положительных
    • Автор: kirya256
      Chaos;Head Noah

      Метки: Визуальная новелла, Мясо, Глубокий сюжет, Аниме, Тайна Платформы: PC X360 PSP iOS Разработчик: Mages Издатель: Spike Chunsoft Серия: Science Adventure Series Дата выхода: 7 октября 2022 года Отзывы Steam: 1317 отзывов, 89% положительных

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

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

    • Русификатор только на диалоги, интерфейс на английском, но это не большая проблема. В любом случае, большое спасибо автору перевода! Игрушка правда крутая и заслуживает внимания! 
    • я осуждаю не то, что ты не хочешь их публиковать, а то, что ты считаешь, будто запрет подобных картинок только у нас является чем-то неправильным, вот если бы в условной Австралии нельзя было выкладывать такие картинки, ты бы наверняка придумал для австралийцев оправдание, или вообще наплевал бы на запрет, ведь худшее, что могли бы тебе сделать — это забанить. А вот то, что адресата твоих картинок могли наказать, если он из местных, тебя волновало бы в последнюю очередь. Про людей с подобными рассуждениями даже анекдот есть: Ты боишься не нарушения закона как такового, а ответственности за нарушение. И все отмазки типа “я чего-то там не понимаю” — это все в пользу бедных. Странные и расплывчатые законы есть во всех странах, да что там, вся международная политика из них состоит, и никого нигде не волнует, понимает рядовой гражданин формулировки или нет. Добро пожаловать во взрослую жизнь)   И, кстати, интернет давно уже не то место, где можно делать и говорить что угодно без последствий. Где бы ты ни был. Поэтому, повторюсь, тебе вообще не стоит туда выходить)
    • Мне должно быть как то легче от того, что другим хуже чем мне? Речь не идет о сравнении. Речь о том, что невозможно сколько не читай закон, понять нарушаешь ты его или нет. Смотри. Вот запретили сатанизм, но такой организации нет, и какого то оф сообщества тоже нет, но его символика как ты понимаешь запрещена. А что является его символикой? Ты знаешь? Я нет. Вот если я захочу выложить картинку из манги, где сидит на троне парень, у него два горящих глаза огнем, а на фоне изображены, кости ящериц с головой быка. Это можно или нет? Ты даже сам не знаешь. Я не считаю это сатанизмом, это просто аниме картинка пафосного ГГ, но так считаю я, а кто-то сверху может посчитать по другому, а может не посчитать. Мне никто не скажет,пока поздно уже не будет. Но ты сидишь и осуждаешь, что я не хочу такие картинки где то в ВК публиковать. Про Британию кстати это манипуляция) есть арест, есть задержание, а есть беседа. Вот если суммарно взять все 3, то да, больше, намного. Но если говорить о тех, кто получил штраф или арест, то их меньше. То есть тех, кто получит наказание —меньше. По моему тебе об этом даже кто-то говорил тут)    
    • это ты неадекватный, раз строишь свои теории вокруг одной идиотской картинки. И если думаешь, что нарушить какие-то законы она может только у нас. В России, так-то, очень мягкая цензура по сравнению с “демократическими” странами. Просто погугли ради интереса, сколько людей арестовывают за лайки и  комментарии в соцсетях у нас и, скажем, в Британии. Или сколько видеоигр запрещали в продаже у нас и в Австралии.
    • Ты какой то неадекватный. Ты в персону 3 играл? Общаются два человека, один другому пересылает картинку из игры, он теперь должен за это получить штраф? Могут это посчитать нарушением закона? Могут. А могут нет. Законы слишком размыты. Но если посчитают, то ему придется отвечать. Но главный вопрос, кому он нагадил то? 
    • ну да, лучше гадить там, где за это ничего не будет. Крысы и есть. Хотя нет, крысы умные и обучаемые,  в отличие от. прям интересно, как можно “нормально” общаться на площадке, где могут забанить просто за то, что напишешь, что существует всего 2 пола — мужской и женский. Ты удивишься, но на любом форуме приходится “париться” на тему, что запрещено, а что нет, и приходится соблюдать какие-то правила. По такой логике тебе вообще в интернет лучше не выходить)
    • Если я нарушу западную цензуру, в западном мессенджере, западные службы, которые мониторят у них чатики и соц сети даже если это увидят, то за мной полиция Майями не поедет в РФ выписывать мне штраф, максимум меня просто забанят. А если нарушу отечественную цензуру, то мне выпишут штраф, или в колонию отправят. В РФ кстати, недавно сделали сатанизм экстремистким сообществом, и теперь вся их символика тоже экстремисткая, то есть смотришь ты какое нить аниме с девочками суккубками — экстремист. Это не говоря еще о всяких других неприятных законах, цензурных, которые появились в последнее время. А я просто хочу общаться, без этого всего, как нормальный человек, и не париться о том, что там запрещено, а что нет. Поэтому получается, что использовать отечественный мессенджер, опаснее чем зарубежный.
    • ты с твичом, по ходу, попутал, там даже за слово “черный” могут забанить, потому что кто-то обидится. В вк по сравнению с ним полнейшая свобода, иногда даже слишком. я так и думал, что дело именно в этом. Для либерастов что-то отечественное — хуже крысиного яда. Ведь там приходится законы своей страны соблюдать, а иногда (о ужас) подумать, прежде чем что-то написать. Не то что на зарубежных площадках, и плевать, что на них-то как раз цензура в разы жестче бывает, крохотный мозг либераста такие несоответствия неспособен уловить) и нет, имелись в виду именно проги для доступа к торговым площадкам определенных издателей, а не то, что ты прислал. Их еще называют “клиентами”. Стим, егс, origin — типа такого.
    •  Ланчер, часть игр обычно, и мы по дефолту когда игру ставим, он идет вместе с ней, тебя там даже не спрашивают, нужен он тебе или нет.  Вот это тоже ланчер: А отечественный мессенджер ни за что. В ВК к людям докапываются постоянно, что они там что-то не правильное сказали, не правильную картинку выложили, не правильную песенку, и отечественный мессенджер очевидно не лучше будет. Захочешь ты отправить другу картинку из Персоны 3, где ГГ использует Evoker и всё, пропаганда суицида. Нафиг оно надо.
    • @Dusker понятно, новый мессенджер, да еще отечественный, ставить, это фу, а очередное барахло для запуска игры — это норм. П=Принципиальность.)
  • Изменения статусов

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

×