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

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


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

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

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

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

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

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

Войти

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

Войти сейчас

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

    • Автор: 0wn3df1x
      Last Pirates: Die Together

      Метки: Сетевой кооператив, Хоррор, Смешная, Кооператив, От первого лица Платформы: PC Разработчик: RetroStyle Games Издатель: RetroStyle Games, Judatone Studios Серия: Last Pirates: Die Together Дата выхода: 18.08.2026 Ранний доступ: Да Отзывы Steam: 189 отзывов, 70% положительных
    • Автор: 0wn3df1x
      Inkwellers

      Метки: Приключение, Инди, Головоломка, Кооператив, Совместная кампания Разработчик: ScrumptiousSprouts sp. z o.o. Издатель: ScrumptiousSprouts sp. z o.o. Дата выхода: 28.05.2026 Отзывы Steam: 102 отзывов, 89% положительных

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

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

    • Обновил русификатор под версию от 10 сентября.
    • @andrejw684 можно, нужно, это русификатор не для иксбокса. https://boosty.to/allodernat/posts/802e1fd9-0859-4963-b165-cd7f183f9c73?share=post_link Почитай, тут собрал простенький гайд.
    • Не, Онимуша это какая-то лютая имба, чем больше играю, тем больше восхищаюсь какая у них охренетительная боёвка тут. Какая она глубокая и комплексная, какие классные анимации. Если заучить её как надо, получается какой невероятный красивый танец. Чем дальше проходишь, тем глубже и интереснее она становится, изящнее расправляешься с врагами. Я давно таких крутых боевых систем не встречал, прям интересных. Чего говорить, тут ТРИ вида парирования. Вы видели в каких-то играх, что можно тремся разными способами парировать удары? Я лично нет. Можешь парировать удар, что враг отлетел в сторону, ударился об чего-то. Можешь парировать на снятие выносливости у врага, или парировать удар, чтобы нанести мощный контрудар.  Ну, и, битвы с боссами, отдельный вид искусства. Пока тех, что встречал, проработаны очень хорошо. Но, самое забавная, не считая первого босса, который был в демке, все другие боссы имели вторую стадию. Ты потеешь, тратишь все хилки, учишь паттерны, кое как убиваешь, а потом оказывается есть вторая, более агрессивная и мощная стадия. Я привык, что в других играх, вторую стадию имеют, только какие-то люто имбовые боссы, но не каждый ведь?! Короче, запинать тут боссов с первого захода, пока не очень получается. Не сказать, что они прям супер сложные, но, просто первую стадию, запинать без жёсткого заучивания паттернов возможно, но вторую стадию, уже нет. У тебя на второй стадии просто не останется хилок после первой, поэтому тебе первую стадию, надо почти идеально провести, без потерь здоровья, чтобы на второй стадии ты мог хилится в случае каких-либо ошибок.  В общем, Онимуша пока играется как какая-то имба. Боевая система реально сильная часть игры, очень навороченная и глубокая, и не сказать, что прям сложная в изучении. Тут даже есть специальная арена, где ты мог лучше отточить те или иные навыки. Сюжет интригует, есть даже юмор, приятно играть в игру с русской классной озвучкой, актёры старались. Ну, и чё там Проджекты не могут сделать, а? Смотри, Капком на абы, какие озвучки делает, а прям супер качественные, с хорошей игрой актёров. Рад, что игра стартовала с 1-го миллиона продаж, надеюсь дальше больше. Капком, как-то последнее время, жёстко годными проектами стреляет. Что не игра, то годнота. 
    • Первые 100 тысяч человек добавили игру в желаемое Steam всего через 3 дня после анонса, в мае это число достигло 500 тысяч, а в августе желающих было уже 1 миллион.  Компании Bulkhead и team17 похвастались успехами тактического экшена на 100 человек Wardogs. Проект вышел в ранний доступ 10 сентября и уже разошелся тиражом в миллион копий. Авторы поведали, что внимание к проекту было большим на протяжении всего пути к его запуску. Первые 100 тысяч человек добавили игру в желаемое Steam всего через 3 дня после анонса, в мае это число достигло 500 тысяч, а в августе желающих было уже 1 миллион.  Сообщается также, что около полумиллиона человек присоединились к закрытому бета-тесту Wardogs в августе, и финальное предрелизное тестирование достигло пика в 245 118 одновременных игроков в Steam. На момент написания новости у игры 56% положительных отзывов из 20 373. Главные претензии у пользователей, что ожидаемо, к технической части проекта.
    • Ну а так, к слову, есть у меня суперлёгкая портативная клава (буквально карманная раскладушка), там грамм сто, если не меньше, мб ему как раз такая и нужна. А ещё на ней Баюн в молодости нарисован, ага. К слову, ппц неудобная для набора текста, вроде бы раньше уже расписывал все нюансы. Думаю, большая часть нюансов видна сходу. Из неочевидного, кнопка эскейп как эскейп работает только через fn, по дефолту работает как win+d — думаю, комментарии излишни. Или вот такого формата типа пульта от телека тоже видел ,но брать не стал. Вот такие гибридные клава-джойстики ещё прикольные в природе существуют, но это чисто для игр.  
    • озвучка и перевод отличный, жаль субтитры ломаются при его установке, люблю играть с сабами даже если есть ру озвучка)
    • точно ведь, чет из головы вылетело, ну так пущай провод отчикрыжет тогда и клава еще легче станет
    • Для механики это ещё очень лёгкая, и она весит 1.412 грамм, в днс маркировка имеется. В любом случае ты в магазине сам её взял и мог сразу уже на месте оценить все параметры, включая вес. Вес в карточке товара был указан к тому же. В беспроводных, к слову, акум сам по себе грамм 200 минимум весить будет. Даже пара батареек уже сами по себе под сотню грамм будут. Самая лёгкая полноразмерка будет не легче грамм 600. А если с бакплейтом аллюминиевым, то есть нормальная, то под кило минимум. Тебе ещё тогда писал, что самые лёгкие клавы — это низкопрофильные островные, но ты указал, что у тебя подобная была, тебе подобное не нравится. Дык ему именно беспровод нужен, они в любом случае тяжелее.  
  • Изменения статусов

    • 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 ответов
  • Лучшие авторы


×