1. Друзья, в это тяжёлое и непонятное для всех нас время мы просим вас воздержаться от любых упоминаний политики на форуме, - этим ситуации не поможешь, а только возникнут ненужные ссоры и обиды. Это касается также шуток и юмора на тему конфликта. Пусть войны будут только виртуальными, а политики решают разногласия дипломатическим путём. С уважением, администрация Old-Games.RU.

    Скрыть объявление
  2. Пожалуйста, внимательно прочитайте правила раздела.
  3. Если Вы видите это сообщение, значит, вы ещё не зарегистрировались на нашем форуме.

    Зарегистрируйтесь, если вы хотите принять участие в обсуждениях. Перед регистрацией примите к сведению:
    1. Не регистрируйтесь с никами типа asdfdadhgd, 354621 и тому подобными, не несущими смысловой нагрузки (ник должен быть читаемым!): такие пользователи будут сразу заблокированы!
    2. Не регистрируйте больше одной учётной записи. Если у вас возникли проблемы при регистрации, то вы можете воспользоваться формой обратной связи внизу страницы.
    3. Регистрируйтесь с реально существующими E-mail адресами, иначе вы не сможете завершить регистрацию.
    4. Обязательно ознакомьтесь с правилами поведения на нашем форуме, чтобы избежать дальнейших конфликтов и непонимания.
    С уважением, администрация форума Old-Games.RU
    Скрыть объявление

Изображение в формате nhi

Тема в разделе "Мастерская", создана пользователем VadimJ, 28 июл 2007.

  1. VadimJ

    VadimJ

    Регистрация:
    8 фев 2007
    Сообщения:
    51
    Вытащил из игры картинки, но они в формате nhi. Как их можно просмотреть и конвертировать, например, в BMP?
     
  2.  
  3. oFF_rus .

    oFF_rus

    Хелпер

    Регистрация:
    25 фев 2007
    Сообщения:
    2.149
    А из какой игры картинки? Искать конверторы для игры куда проще, чем для непонятной аббревиатуры.
     
  4. VadimJ

    VadimJ

    Регистрация:
    8 фев 2007
    Сообщения:
    51
    Игра называется The Neverhood Chronicles. Ресурсы из нее можно вытаскивать программой RGViewer. Но картинки получаются в формате nhi, а анимация - nha. Там еще виде ролики в формате smk, но с этим понятно.
    Вот и думаю, как конвертировать nhi и nha в популярные форматы BMP и AVI ?
     
  5. oFF_rus .

    oFF_rus

    Хелпер

    Регистрация:
    25 фев 2007
    Сообщения:
    2.149
    Уточняющий вопрос: The Neverhood chronicles и вот эта игра с именем Neverhood это одно и то же?

    Я поковырялся в файлах nhi, которые я вытащил из Neverhood с помощью RGViewerII.

    Те, которые размером по 300 Kb (308230 байт), вроде бы почти готовые BMP (в них видна палитра, видны данные, причём данных как раз для 8-битной картинки разрешением 640*480). Думаю, что для таких конвертер можно будет сделать довольно быстро.
    Могу предположить, что это фоны для локаций.

    А вот с теми, которые поменьше (статичные спрайты?), видимо, будет потруднее.

    Ну а с файлами hna - совсем плохо (шутка). Правда я думаю, что их лучше перекодировать не в AVI, а скорее в анимированный GIF. Кстати, RGViewerII умеет проигрывать эти анимашки.

    Короче, вероятно, ничего невозможного нет, ведь кто-то (автор RGViewerII) уже научился работать с этими файлами. Значит и кто-то другой (может быть и я) сможет.

    Если хочешь, чтобы я продолжил, пиши, но не надейся, что всё получится (во всяком случае сразу).
     
  6. VadimJ

    VadimJ

    Регистрация:
    8 фев 2007
    Сообщения:
    51
  7. oFF_rus .

    oFF_rus

    Хелпер

    Регистрация:
    25 фев 2007
    Сообщения:
    2.149
    первые результаты

    Написал первый вариант конвертера.
    Работает только на больших картинках (фоны)

    Прилагается утилита и один из переконвертированных файлов (вторая локация) в качестве примера того, что получится после работы.

    чтобы начать перекодирование nhi в bmp, надо распаковать утилиту в папку с файлами .NHI и запустить из командной строки примерно такую команду:

    Код:
    C:\my_neverhood>nhi2bmp.exe *.nhi
    конвертер будет писать на экран о том, чем он занимается. Я поставил несколько проверок, но, поскольку это Reverse Engineering, конвертер может напороться на файл, который покажется ему нормальным, но таковым не будет. Обо всех ошибках сообщайте. Желательно прилагать файл, на котором всё сломалось.

    P.s. Программа не работает с BLB файлами. Чтобы достать из них картинки .NHI используйте RGViewer II
     

    Вложения:

    • nhi2bmp.zip
      Размер файла:
      67,4 КБ
      Просмотров:
      95
    • Image482.nhi.zip
      Размер файла:
      117,6 КБ
      Просмотров:
      82
    [no]name, VadimJ и SAS нравится это.
  8. VadimJ

    VadimJ

    Регистрация:
    8 фев 2007
    Сообщения:
    51
    В картинке внутри файла Image482.nhi.zip цвета неправильные. Приложил правильный скриншот для сравнения цвета.
     

    Вложения:

  9. oFF_rus .

    oFF_rus

    Хелпер

    Регистрация:
    25 фев 2007
    Сообщения:
    2.149
    Сделал правильную работу с палитрой (теперь перекодирую из игрового RGBN в формат BGRN, используемый в BMP).

    Исправил ошибку с пропавшей последней строкой изображения.
     

    Вложения:

    Fabricator, [no]name, VadimJ и ещё 1-му нравится это.
  10. oFF_rus .

    oFF_rus

    Хелпер

    Регистрация:
    25 фев 2007
    Сообщения:
    2.149
    Написал конвертер для анимированных спрайтов (файлы с расширением .NHA). После конвертации получается анимированный GIF с прозрачным фоном.

    Чтобы начать перекодирование nha в gif, надо распаковать утилиту в папку с файлами .NHA и запустить из командной строки примерно такую команду:

    Код:
    C:\my_neverhood>nha2gif.exe *.nha
    Конвертер будет выводить на консоль имена обрабатываемых файлов и точку для каждого обработанного кадра. После всех точек будет показано имя нового файла.

    Результаты работы конвертера под катом

    Обо всех ошибках, глюках, несуразностях в работе программы сообщайте мне в этой теме или личкой. Желательно указывать, на каком файле всё сломалось.
     

    Вложения:

    • nha2gif.zip
      Размер файла:
      69,3 КБ
      Просмотров:
      94
    Fabricator, VadimJ, SAS и ещё 1-му нравится это.
  11. VadimJ

    VadimJ

    Регистрация:
    8 фев 2007
    Сообщения:
    51
    Как это ни странно, но только сейчас смог просмотреть файлы, создаваемые этими программками. Нашел неточности в обработке цветов:

    Файл s.blb:

    Animation6.nha - Когда Клэймен набирает воду в стакан, вода в стакане получилась пурпурная, а должна быть голубая. Например в Animation6.nha вода правильно голубая.

    Animation6.nha, Animation121.nha, Animation122.nha, Animation123.nha, Animation124.nha, Animation125.nha, Animation342.nha, Animation343.nha - Тут показана вода. Она должна быть голубая, а получилась зеленая.

    Жалко что программа nhi2bmp.exe не обрабатывает изображения небольного размера.

    А вы можете еще попробовать вытащить звуковые файлы из a.blb?

    Подскажите еще, пожалуйста, какими программами вытащить ресурсы из игры Skullmonkeys? Программа PSIcture ничего не распознает.
     
  12. oFF_rus .

    oFF_rus

    Хелпер

    Регистрация:
    25 фев 2007
    Сообщения:
    2.149
    Проверю на днях.

    Фомат изображений такой же, как формат отдельного кадра анимированных изображений. Не хватает палитры. Вернее палитра тоже есть (вроде бы RGViewer II распаковывает кучку файлов с расширением .pal) но непонятно, какая палитра должна использоваться в каждом конкретном случае. А может вообще должна использоваться палитра фоновой картинки... Тут надо ещё думать (советы принимаются :yes:)


    Само описание формата музыкальных файлов лежит на сайте extractor.ru, там же есть программа GameAudioPlayer (GAP), в которой чтение этих файлов, вроде бы, должно быть реализовано.


    Попробуй утилиту PsxMC, ссылка на этой странице : Playstation Utilities
    про неё пишут:
     
  13. VadimJ

    VadimJ

    Регистрация:
    8 фев 2007
    Сообщения:
    51
    Действительно хорошая программа. Но из Skullmonkeys она может вытаскивать только звук и видео.

    В игре есть еще файл game.blb, который наверно нужно парсить также как и blb файлы от Neverhood. Но RGViewer II его не берет.
     
  14. oFF_rus .

    oFF_rus

    Хелпер

    Регистрация:
    25 фев 2007
    Сообщения:
    2.149
    нельзя ли уточнить где вода пурпурная, а где голубая? Описание немного загадочное...

    В 7 (пьёт и выплёвывает) и 12 (пьёт и растёт) файлах вроде бы голубая...
    здесь видно, какие цвета воды в обоих пробирках


    Посмотрел - палитра содержит именно зелёные и серые цвета, на примере файла Animation121.nha:
    #003F07, #0F5F27, #0B5317 и др.

    Есть ли уверенность, что в игре эта вода синяя? Скриншот?
     
  15. VadimJ

    VadimJ

    Регистрация:
    8 фев 2007
    Сообщения:
    51
    Да, в 7 и 12 вода голубая, но в 6 пурпурная. В Animation6.nha Клэймен сначала подбирает что-то (наверно кассету), а потом наливает воду и выпивает ее. Наливаемая вода в стакане пурпурная.
     
  16. oFF_rus .

    oFF_rus

    Хелпер

    Регистрация:
    25 фев 2007
    Сообщения:
    2.149
    Подозрительно, что в одном анимированном спрайте соединились два разных действия... Причём когда я сейчас перекодирую только один 6 файл, то воды в результате не вижу вовсе - последовательность обрывается на пустой пробирке. Буду дальше смотреть, но вопрос к тебе: а в игре такая анимация используется? где он просто пьёт воду из пробирки?
     
  17. VadimJ

    VadimJ

    Регистрация:
    8 фев 2007
    Сообщения:
    51
    В игре есть сцена, когда Клэймен набирает в стакан и выпивает воду, чтобы выплевывать ее в музыкальные трубки.
    Интересное замечание: просматривая анимированный gif в ACDSee, я вижу оба действия (вместе с водой), а просматривая gif в TotalCommander (через F3), то анимация обрывается на мементе, когда Клэймен достает стакан.
     
  18. oFF_rus .

    oFF_rus

    Хелпер

    Регистрация:
    25 фев 2007
    Сообщения:
    2.149
    Переписал программу для работы с BMP - вместо анимированного гифа, теперь создаётся набор BMP файлов со всеми фазами анимации. В чём проблема создаваемых GIF файлов пока не разбирался...

    Посмотрел на кадры из 6 файла - вода действительно пурпурная (если точнее, то цвета #FF00FF). Вода однотонная, в отличии от файлов 7 и 12. Цвет неслучайный, однотонный...
    Моё предположение: на месте пурпурного пятна рисуется вода нужного цвета или другой спрайт или фон должен просвечивать.

    Так что мой вопрос: нет ли в игре необходимости пить воду разного цвета (оранжевые пробирки я вроде бы видел в ресурсах)?

    Ну и остаётся вопрос про зелёную воду - где она льётся и какого она там цвета?
     

    Вложения:

    • nha2bmp.zip
      Размер файла:
      60,3 КБ
      Просмотров:
      74
  19. VadimJ

    VadimJ

    Регистрация:
    8 фев 2007
    Сообщения:
    51
    На первой картинке показана вода из Animation125.nha.
    На второй картинке показана вода из Animation6.nha.

    Кстати, некоторые анимации получаются перевернутыми. Например, как здесь в Animation6.nha, а также в Animation37.nha, Animation43.nha, Animation44.nha. Возможно еще какие-то анимашки перевернуты, но это уже сложно найти.
     

    Вложения:

    • SNAG-0000.jpg
      SNAG-0000.jpg
      Размер файла:
      19,9 КБ
      Просмотров:
      649
    • SNAG-0001.jpg
      SNAG-0001.jpg
      Размер файла:
      19,7 КБ
      Просмотров:
      595
  20. oFF_rus .

    oFF_rus

    Хелпер

    Регистрация:
    25 фев 2007
    Сообщения:
    2.149
    Вот палитра фона и палитра анимации воды:
    [​IMG]
    [​IMG]
    видим, что в палитре фона есть синяя полоса.
    А в палитре анимации воды на том же месте зелёная полоса. (кстати, верхняя пурпурная часть в палитре фона оставлена для палитры главного героя)

    Очевидно, что в игре в данном случае используется палитра фона. Как это настраивается? Не знаю. Может быть есть какая-то настройка в коде или в других файлах (например, с расширением .DAT). Может быть просто есть какие-то правила, относительно используемых цветов (насчёт того, что коли палитра заполнена не пурпурным, то палитра анимации её перекрыть не может). Может быть в самом файле анимации что-то на этот счёт указано - там есть с 10 байт, которые пока неясно зачем.

    Насчёт зеркального отражения - может быть в анимации и указано, какое состояние является правильным (в тех байтах). Но сам обрати внимание - игра сама отзеркаливает изображение, когда герой ходит влево/вправо. У него пальцы на руках разного цвета, поэтому сразу заметно. Так что, думаю информация о правильном отражении тех спрайтов, которые не должны поворачиваться, должна быть где-то в описании сцены...
     
  1. На этом сайте используются файлы cookie, чтобы персонализировать содержимое, хранить Ваши предпочтения и держать Вас авторизованным в системе, если Вы зарегистрировались.
    Продолжая пользоваться данным сайтом, Вы соглашаетесь на использование нами Ваших файлов cookie.
    Скрыть объявление