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

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

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

Вопросы по работе с ресурсами игр

Тема в разделе "Мастерская", создана пользователем Alex2x, 10 янв 2005.

  1. Alex2x

    Alex2x

    Регистрация:
    9 июл 2004
    Сообщения:
    205
    Пишите в эту тему если вы:

    - хотите достать из игры музыку/спрайты/тексты но не знаете как,
    - сделали какую-то программку, которая достает ресурсы из какой-то старой игры, и хотите ей поделиться,
    - знаете полезную информацию о ресурсах какой-то игры,
    - хотите изменить игру так, чтобы она использовала ваши ресурсы (музыку, графику), но не можете понять как это сделать,
    - делаете редактор уровней для какой-то старой игры,
    - хотите помочь кому-то с какой-то из проблем, здесь озвученных.


    Несколько полезных ссылок для работы с ресурсами игр:

    Руководство по HEX-редакторам от reg2s

    Сайты с описаниями различных игровых форматов:

    http://wiki.xentax.com/index.php/GRAFs/All
    Category:Game Formats - MultimediaWiki
    Category:Game Intro Page - ModdingWiki
    watto studios - http://www.watto.org
    oezmen.eu > Game resources

    Multi Ripper 2.80
    Mega Ripper 5.00
    +плагин Game Archive UnPacker 0.6.0.1 PRO для Total Commander

    Шапка by Dimouse

    -------------------------------------Оригинальное сообщение---------------------------------Люди, это, конечно, не техническая проблема, но никто не знает, можно ли и как вытащить из игры миди-музыку?
    //Перенесено из темы про Alone in the Dark.

    оригинальное сообщение
     
    Последнее редактирование модератором: 3 фев 2019
    OLD-NEW Player, AndyFox и Corak нравится это.
  2.  
  3. Morendil Архивариус

    Morendil

    Регистрация:
    10 май 2013
    Сообщения:
    1.593
    Нужна помощь с конвертацией спрайтов монстров из M&M 3: Isles of Terra в общепринятый графический формат.
    Я нашел лишь конвертер для Ксина, там на вход подаются файлы .att и .pal, в третьей части таких нет, а есть .mon
    Архив ресурсов, декодированных из MM3.CC - http://jeffludwig.com/downloads/MM3-CC-files.zip
     
  4. Flagris El Señor del Castillo Quemado

    Flagris

    Регистрация:
    12 апр 2020
    Сообщения:
    1.275
    Что, кроме Dragon Unpacker (который не справился) можно попробовать на RES-файле? Или это просто общепринятое расширение, а в случае каждой конкретной игры рецепты будут разные? На всякий случай, игры - M.A.X. и M.A.X.2.
     
  5. warr11r

    warr11r

    Переводчик

    Регистрация:
    9 сен 2015
    Сообщения:
    1.622
    @Flagris,
     
  6. MisterGrim Very old

    MisterGrim

    Legacy

    Регистрация:
    29 ноя 2007
    Сообщения:
    25.423
    Было ли тут в теме? Как сконвертировать ролики Dark Forces? Star Wars: Dark Forces (1995, DOS)
    Да, можно захватом, но перфекционизм.
    --- добавлено 3 июл 2020, предыдущее сообщение размещено: 3 июл 2020 ---
    В первую очередь интересует звук.
     
  7. iunnamed

    iunnamed

    Хелпер

    Регистрация:
    15 янв 2007
    Сообщения:
    1.202
    MisterGrim и Goblinit нравится это.
  8. Asasin56

    Asasin56

    Регистрация:
    10 дек 2014
    Сообщения:
    253
    Здравствуйте! Мучаюсь с распаковкой файла в формате .bfs из игры Flatout: Head on. Программы для работы с .bfs которые успешно работают с пк версиями тут вылетают. Испробовано: Game Archive UnPacker, Dragon Unpacker, bfs2pack, unpackbfs, smartbfs2pack. Заранее благодарю за любую помощь!Ссылка на файл:
     
    Последнее редактирование: 12 июл 2020
  9. warr11r

    warr11r

    Переводчик

    Регистрация:
    9 сен 2015
    Сообщения:
    1.622
    @Asasin56, только что распаковал без всяких вылетов с помощью скрипта QBMS.
     
    Asasin56 нравится это.
  10. Asasin56

    Asasin56

    Регистрация:
    10 дек 2014
    Сообщения:
    253
    О спасибо! Пойду разбираться как оно работает. Мне просто хочется изменить музыку на оригинальную от flatout 2 и приглушить звук вылетающего водителя. Музыку вот уже конвертировал в .AT3. Еще раз большое спасибо!
    --- добавлено 13 июл 2020, предыдущее сообщение размещено: 13 июл 2020 ---
    В общем скачал программу и установив скрипт. Я понял что он не правильно распаковывает. Возможно я что то делаю не так но файлы не должны быть раскиданы по папками с номерами..
    --- добавлено 13 июл 2020 ---
    Ковыряя форум автора я нашел сообщение что скрипт не работает.
     
    Последнее редактирование: 13 июл 2020
  11. warr11r

    warr11r

    Переводчик

    Регистрация:
    9 сен 2015
    Сообщения:
    1.622
    Да нет, файлы как раз должны быть в папках с номерами. Как минимум строки "get FOLDERS long" и "string NAME p "%d/%d." FOLDER i" говорят о том, что всё так и работает. И в архиве я такую структуру вижу. Это в ПК-версии по-другому.

    Можно ссылку на сообщение?
     
  12. Asasin56

    Asasin56

    Регистрация:
    10 дек 2014
    Сообщения:
    253
    Если распаковывать программой bfs2pack от пк версии то часть файлов все же распаковывает но правда первые 2 мегабайта( но файлы вполне читаемы. Вот ссылка. Flatout 2 BFS file (PSP version) - ZenHAX
    --- добавлено 13 июл 2020, предыдущее сообщение размещено: 13 июл 2020 ---
    скрипт распаковывает и пк версию так же по папкам с цифрами, а так же и пс 2 версию. только что попробовал.
     
  13. warr11r

    warr11r

    Переводчик

    Регистрация:
    9 сен 2015
    Сообщения:
    1.622
    Ну так сам автор пишет, что "The extracted files are perfect. What problem are you experiencing with them?"
    Я распаковал и попробовал открывать файлы. Они нормально читаются.
    Что именно с файлами нужно сделать? Может, помогу?
     
    Asasin56 нравится это.
  14. Asasin56

    Asasin56

    Регистрация:
    10 дек 2014
    Сообщения:
    253
    Хорошо. Я попробую поискать по папкам то что мне нужно. Но вот как запаковать обратно?
    --- добавлено 15 июл 2020, предыдущее сообщение размещено: 15 июл 2020 ---
    да, очень сложно найти хоть что то. Расширение файлов другое. Буду искать дальше playlist_ingame
    --- добавлено 15 июл 2020 ---
    Боже, что ето за солянка???? Движок от Ультимат Карнажа. Физика и музыка и некоторые модели тоже. Так же модель поведения ботов от Карнажа. Но при етом все карты от Флатут 2, некоторые модельки машин. Как и баги, они все работают, интересно.. нашел интересные куски кода, остатки мультиплеера, где в онлайне показывало флаги твоей страны и так же иконки. Так же в скриптах прописаны пути они как в пк версии в папках без цифр. Уже 500 папок перебрал где то, По факту ето урезанный Карнаж. Вот бы более удобный вид.
     
  15. Goblinit

    Goblinit

    Регистрация:
    18 мар 2011
    Сообщения:
    4.405
    Так часто бывает: одни игры заимствуют формат упаковки от других известных. Бывает, разрабатывают сначала одну игру, потом течение меняется, а следы остаются.
     
  16. Asasin56

    Asasin56

    Регистрация:
    10 дек 2014
    Сообщения:
    253
    ну тут скорее всего другая контора портировала. движок один и тот же. Жду ответа warr11r хочу узнать как ето все собрать обратно. Без изменений. Интересно запустится ли) Если будет работать, то можно менять модельки машин или характеристики. тем более я в свое время рисовал текстуры. Но мне просто хочется исправить пару багов и добавить музыку из оригинала (в портативной версии треков меньше и нужно править конфиг), тем более по умолчанию в треках был ужасный битрейт, поставил в 2 раза больше, тормозов не прибавилось. Еще беда в том что все .bfs распаковщики кривые. Smart bfs который может якобы распаковывать и запаковать любые .bfs архивы вылетает при попытке распаковать.
    --- добавлено 16 июл 2020, предыдущее сообщение размещено: 16 июл 2020 ---
    Уже пробую все что есть в интернете.
     
  17. Asasin56

    Asasin56

    Регистрация:
    10 дек 2014
    Сообщения:
    253
    В общем ходил на форум багбир они же разрабы серии Флатаут. Ещё никто не смог распаковать нормально файлы. Я конечно буду распаковать.
     
  18. warr11r

    warr11r

    Переводчик

    Регистрация:
    9 сен 2015
    Сообщения:
    1.622
    Запаковку я не проверял. QBMS умеет это делать, но тут не угадаешь. Там есть в папке reimport (если новые файлы меньше размером за старые) и reimport2 (если новые больше). Аналогично указываем скрипт, архив и папку с новым контентом. Первый способ почти всегда работает. Судя по скрипту, временные файлы и дополнительные алгоритмы не использовались. Значит, запаковка должна рабоиать.
     
  19. Asasin56

    Asasin56

    Регистрация:
    10 дек 2014
    Сообщения:
    253
    Я сейчас на даче, как приеду попробую.
    --- добавлено 21 июл 2020, предыдущее сообщение размещено: 21 июл 2020 ---
    Спасибо.
     
  20. MisterGrim Very old

    MisterGrim

    Legacy

    Регистрация:
    29 ноя 2007
    Сообщения:
    25.423
    Эх
    Fatal error: Uncaught exception 'RedisException' with message 'Connection closed' in /home/extractor/www/extractor.ru/private/config.php:13 Stack trace: #0 /home/extractor/www/extractor.ru/private/config.php(13): session_start() #1 /home/extractor/www/extractor.ru/index.php(3): require_once('/home/extractor...') #2 {main} thrown in /home/extractor/www/extractor.ru/private/config.php on line 13 Fatal error: Uncaught exception 'RedisException' with message 'Connection closed' in [no active file]:0 Stack trace: #0 {main} thrown in [no active file] on line 0
     
  21. R4kk00n Benched arcade playa

    R4kk00n

    Модератор

    Регистрация:
    28 мар 2005
    Сообщения:
    9.195
    Упала редька [в цене <в Animal Crossing>] :(
     
  22. Алексей Сафонов

    Алексей Сафонов

    Регистрация:
    18 дек 2010
    Сообщения:
    30
    Ребята, я тут спустя год снова вернулся к игре Alien Trilogy. Решил всё таки выяснить, каким образом работает компрессия у спрайтов.
    Вот что я нарыл спустя неделю упорных экспериментов с байтами. Сейчас будет очень такой обширный пост.

    Начнём сначала. Игра имеет 2 варианта файлов - B16 и BND. И то и то - что то типа дерева. Имеют одинаковый подход в чтении. Различие в том, что B16 файлы имеют у себя собственную секцию C000. Говоря о секциях, вот список секций, которые могут встретиться в файлах:
    F000(#1,2,3....) - F? - Frame, кадр, используется такая секция у спрайтов. Может внутри себя содержать несколько изображений. Об этом я напишу далее и расскажу об одной особенности.
    T000(#1,2,3....) - T? - Texture, текстура. Тут всё проще, у таких секций есть строгие параметры, как у обычных изображений, длина ширина, нет компресии(что самое главное), изображение содержит идексы цветов. Спокойно дёргается XWE редактором. Может быть несколько штук в одном месте. Вообще эта секция достаточно интересная, т.к. используется у моделей\карт, рядом с этой секцией обычно бывает лежит ещё секция с индексами полигонов.
    M000(#1,2,3....) - M? - Model, модель. Тут всё просто, эта секция отвечает за модели. Имет список квадов(не полигонов!)\вершин. Прикол с квадами очевидно связан с тем, что изначально игру лепили для двух приставок - PS и Sega Saturn. Так вот, на сколько помню у сеги вроде бы аппаратная часть лучше работала именно с квадами. И вроде бы(поправьте, если не прав) - сначала игру делали именно для сеги. Но не суть, в файле именно описание квадов. В одном файле может быть несколько штук таких секций. Вот описание формата моделей текстом от моего товарища по думу ZZYZX:

    Разбор формата PICKMOD.BND текстом

    - сначала заголовок файла:
    размер содержимое комментарий
    -------------------------------------------------------------------------------------------------------------------------
    0x04 46 4F 52 4D FORM
    0x04 - размер данных файла в байтах, BIG-ENDIAN (перевёрнутый как на сраном арме)
    0x04 - количество моделей в файле текстом. всегда 4 символа (формат %04d)

    - дальше идут модели по очереди. у каждой модели есть:
    размер содержимое комментарий
    -------------------------------------------------------------------------------------------------------------------------
    0x01 4D первая буква идентификатора M (M000, M001, ...)
    0x03 - индекс модели текстом. всегда три символа (формат %03d)
    0x04 - размер данных модели в байтах, BIG-ENDIAN
    0x04 4F 42 4A 31 OBJ1
    0x08 00 00 00 00 00 00 00 00 неизвестное значение
    0x04 - количество прямоугольников в модели. LITTLE-ENDIAN
    0x04 - неизвестное значение
    0x14*N - прямоугольники по очереди (см. формат дальше)
    0x08*N - вершины по очереди (см. формат дальше)

    - формат прямоугольника:
    размер содержимое комментарий
    -------------------------------------------------------------------------------------------------------------------------
    0x04 - индекс первой точки. LITTLE-ENDIAN
    0x04 - вторая точка
    0x04 - третья точка
    0x04 - четвёртая точка. может быть -1 (0xFFFFFFFF), тогда это треугольник и надо продублировать третью точку.
    0x04 - неизвестное значение

    - формат вершины:
    размер содержимое комментарий
    -------------------------------------------------------------------------------------------------------------------------
    0x02 - координата X (signed, LITTLE-ENDIAN, short)
    0x02 - координата Y
    0x02 - координата Z
    0x02 - неизвестное значение, вроде бы всегда 0

    А вот и текстурная сетка для моделек

    Разбор формата PICKGFX.BND текстом

    - сначала заголовок файла:
    размер содержимое комментарий
    -------------------------------------------------------------------------------------------------------------------------
    0x04 46 4F 52 4D FORM
    0x04 - размер данных файла в байтах, BIG-ENDIAN
    0x04 50 53 58 54 PSXT (вероятно идентификатор формата)

    - дальше идут (в произвольном порядке?) секции INFO, TP00, CL00, BX00. Возможно бывают *01, *02 и так далее, но мне не встречались.
    - секция INFO
    размер содержимое комментарий
    -------------------------------------------------------------------------------------------------------------------------
    0x04 49 4E 46 4F INFO
    0x04 - размер данных секции в байтах, BIG-ENDIAN
    0x02 - размер текстуры X
    0x02 - размер текстуры Y
    0x0C - неизвестная информация, 12 байт

    - секция TP00
    тут тупо лежат WxH пиксели. каждый пиксель = 1 байт. смещение в палитру текущую экрана. найти можно в PALS/WSELECT.PAL (768 байт, 3 байта на каждый цвет, умножить на 4 каждый компонент)

    - секция CL00
    тут лежит неизвестно что. не кантовать.

    - секция BX00
    тут лежат прямоугольники текстуры для текстурирования квадов.
    размер содержимое комментарий
    -------------------------------------------------------------------------------------------------------------------------
    0x04 42 58 30 30 BX00
    0x04 - размер данных секции в байтах, BIG-ENDIAN
    0x04 - количество прямоугольников
    - - прямоугольники по очереди (см. формат дальше)

    - формат прямоугольника текстуры BX00
    размер содержимое комментарий
    -------------------------------------------------------------------------------------------------------------------------
    0x01 - размер по X (-1 пиксель, т.е. 31 вместо 32 и так далее)
    0x01 - размер по Y (-1 пиксель)
    0x01 - неизвестное значение
    0x01 - неизвестное значение
    0x01 - смещение по X с конца (т.е. надо отнять ширину перед использованием)
    0x01 - смещение по Y

    C000(#1,2,3....) - C? - Color, цвет, секция, очевидно отвечающая за цвет. У файлов B16, такая секция идёт в самом конце. Почему то там часто 516 байт, вместо 768(если брать по 3 байта на один цвет). Пока не понял особенности этих палитр цветов. Я думаю это связано с тем, что B16 идёт для 16-битного изображения(по крайней мере так это обзывается в самой игре, на практике - не знаю). Может быть так, что игра сначала грузит одну палитру и в неё подмешивает другую? Или я не туда думаю?


    Теперь вернёмся с секциям F000, которые отвечают за спрайты. Я неделю сидел и думал, каким образом там организовали метод компресии. И что то мне подсказывает, что там не простой RLE. Я проводил эксперименты на файле MM9.B16(пистолет), на первом кадре.
    Временное описание формата:


    0x04 - Заголовок файла FORM
    0x04 - размер данных файла в байтах, BIG-ENDIAN
    0x04 - кол-во блоков, видимо текст

    -------------------------------------------------------------------------------------------------------------------------
    0x04 - индентификатор F000
    0x04 - Длина до следующей секции, видимо в бинарном представлении.
    0x01 - Непонятный байт, крошит изображение, есть подозрение, что это длина алфавита или какой то цепочки байт. Это не длина\ширина. Ниже объясню.
    0x0? - Цвета и повторения.


    Формат повторений
    0x01 - Код цвета
    0х01 - Флаг повторений(надо повторять или нет)
    0х01 - промежуток повторений(через какой промежуток надо повторить этот цвет)
    0х01 - кол-во раз повторений(сколько пикселей рисовать в ряд)

    А теперь для наглядности несколько скриншотов, чтобы было понятно, что да как:
    Начнём с разбора формата. Ответил места, где есть компрессия. F000_Format.png
    Сразу говорюсь, что я подредачил файл и сделал фон видимым. Для этого я в блоке 01 50 01 27(это самая первая четверка байт, компрессия), первый символ подредачил с нуля на 1. т.е. изначально было 00 50 01 27. Далее по поводу непонятного байта 92. Почему это не длина ширина.
    Я провел эксперимент и прямо в хекс-редакторе подменил спрайт пистолета на спрайт пульсатора(автомата). Спрайт пульсатора шире и на это был расчёт. Если бы это число отвечало за размер, то не произошла бы данная картина:
    Это сам пистолет
    1.png
    А вот это уже "пистолет-пульсатор"
    2.png

    Как можно увидеть - "форма" картинки сохранилась со старыми данными от пистолета, а характерные "зелёные" цепочки цветов - это декомпрессованое изображение.

    Заканчиваю я свой занудный монолог вот какими вопросами:
    Как работает 16 бит цвет? Я искренне не догоняю, как можно использовать 516 байт для обозначения цветов. Может кто рассказать простым понятным языком на пальцах, как это работает?
    Что может обозначать тот "непонятный байт", который я обозвал длиной алфавита? Его изменение ломает изображение, но это не похоже на компрессию.
    Что может обозначать сам типаж такой компресии? Комбинацию LZW + RLE? Может игра подгружает строку с длиной байт в 92h?
    Вообще если разобраться именно с компрессией, то можно даже отбросить тот факт, что нет длины\ширины, для написания именно декомпрессора и вьювера. Можно сделать принцип "плавающих" длины\ширины и офсета, как в различных программах для просмотра сырых данных с игровых приставок.
     

    Вложения:

    • MM9.rar
      Размер файла:
      13,7 КБ
      Просмотров:
      19
    OLD-NEW Player и Dimouse нравится это.
  1. На этом сайте используются файлы cookie, чтобы персонализировать содержимое, хранить Ваши предпочтения и держать Вас авторизованным в системе, если Вы зарегистрировались.
    Продолжая пользоваться данным сайтом, Вы соглашаетесь на использование нами Ваших файлов cookie.
    Скрыть объявление