IPB

>

Вскрытие ресурсов Метро 2033

 
 Panisher
сообщение 18.03.2010, 10:28
Сообщение #81


Почти Игрок
**

Группа: Забанен
Сообщений: 28
Регистрация: 22.10.2009
Пользователь №: 12736



Здесь технический разговор между создателями ПО на тему ресурсов игры.

ПО для работы с ресурсами игры

Обсуждение ПО для работы с ресурсами

Мелкие моды и фиксы

Моддинг. Общее обсуждение

Советы и решения

Работа с bump- и normalmaps (от iOrange)
В альфе лежит бамп, а в зеленом канале (если я правильно понял) лежит Gloss-Map (регулирующая силу specular-бликов).
Если Вам нужна normal-map, то бапм легко в нее превратить:
1) Качаем плагин nVidia для фотошопа (тыц)
2) Открываем в фотошопе интересующий бамп (например act\act_bab_body_bump.512.dds)
3) Выделяем все четыре канала (RGB + Alpha)
4) Жмем Filter->NVIDIA Tools->NormalMapFilter...
5) В появившемся окне в разделе Height Source выбираем Alpha Channel
6) Ставим нужный scale (я ставлю 10)
7) Жмем OK
8) Наслаждаемся результатом

(IMG:http://img.gameru.net/th/c49ec.gif)

(IMG:http://img.gameru.net/th/86f79.gif) (IMG:http://img.gameru.net/th/c0be6.gif)


Сообщение отредактировал Deimos - 20.04.2010, 17:01
Перейти в начало страницы
 
 
 
Ответов
 Veresk
сообщение 22.03.2010, 21:25
Сообщение #82


Почти Мастер
***********

Группа: Забанен
Сообщений: 1131
Регистрация: 25.01.2010
Из: Москва
Пользователь №: 13613



Цитата(Deimos @ 22.03.2010, 19:25) *
Ну если говорят, что Прохоров пообещал СДК, стоит подождать. Может новые локации возможно будет делать и вообще создать мод по рассказу "Конец дороги".

А интересно каким хитрым способом вы их к игре подключите и как туда действо заведёте? Может хватит бредить! Как же однобоко вы смотрите на офигенную пропасть проблем с модингом метра.

Используйте ресы метра для других игр и благодарите моделеров-метростроевцев за их классные штукевины
(IMG:http://savepic.org/384846m.jpg)

А ты побольше флуди вместо нормального разговора в этой теме...

Сообщение отредактировал Deimos - 23.03.2010, 08:15
Перейти в начало страницы
 
 
 kiperenok
сообщение 22.03.2010, 21:29
Сообщение #83


Игровой Эксперт
***************

Группа: Участник
Сообщений: 2451
Регистрация: 14.02.2009
Из: Украина, Луганск
Пользователь №: 9848



Цитата(Veresk @ 22.03.2010, 20:25) *
Цитата(Deimos @ 22.03.2010, 19:25) *
Ну если говорят, что Прохоров пообещал СДК, стоит подождать. Может новые локации возможно будет делать и вообще создать мод по рассказу "Конец дороги".

А интересно каким хитрым способом вы их к игре подключите и как туда действо заведёте? Может хватит бредить! Как же однобоко вы смотрите на офигенную пропасть проблем с модингом метра.

Используйте ресы метра для других игр и благодарите моделеров-метростроевцев за их классные штукевины
(IMG:http://savepic.org/384846m.jpg)

Дружище сделай плиз скрин окна импорта геометрии 3д рипера с твоими настройками. (IMG:style_emoticons/default/rolleyes.gif)
Перейти в начало страницы
 
 
 HikeR
сообщение 22.03.2010, 21:36
Сообщение #84


Магистр Игры
****************

Группа: Участник
Сообщений: 2620
Регистрация: 26.03.2007
Из: Великий Новгород
Пользователь №: 5660



Цитата(Deimos @ 22.03.2010, 20:25) *
А вот текстуры - очень даже быть. Вероятно, сжатые DXT, как у всех.

может стоит самому посмотреть для начала, чтобы более предметно общаться по поводу текстур "как у всех"?

берем любую текстуру оканчивающуюся на .2048. предполагаем, что это квадрат со стороной 2048 точек. размер файла - 4 мб ровно, текстура получается 8-ми битная, что несколько нехарактерно для игр.
если предположить 32-битный цвет (3 байта + альфа), то квадрат выходит уже 1024х1024 точки.

ни один raw-плагин с настройками не желает отобразить правильно эти текстуры. какие есть мысли?
Перейти в начало страницы
 
 
 Veresk
сообщение 22.03.2010, 21:45
Сообщение #85


Почти Мастер
***********

Группа: Забанен
Сообщений: 1131
Регистрация: 25.01.2010
Из: Москва
Пользователь №: 13613



Сняты все дополнительные галки, да изначально фрейм получается "грязный", но можно быть уверенным. что ничего потом не собъётся и не потеряется. При выборе соотношения сторон и угла зрения выбирается наибольшее значение. только при нём (у меня) не портится геометрия. Ну а далее уже ручками, ручками.
В игре снимок лучше всего делать стоя максимально близко к снимаемому объекту, тогда он будет близко к началу осей координат. и можно небоятся, что вы его отрежете случайно.
Оружие всегда расплагается под правильными углами к осям.
(IMG:http://savepic.org/379715m.jpg)
Перейти в начало страницы
 
 
 Deimos
сообщение 22.03.2010, 21:49
Сообщение #86


Доктор Игровых Наук
*******************

Группа: Забанен
Сообщений: 3591
Регистрация: 16.09.2009
Из: Украина
Пользователь №: 11874



Цитата(HikeR @ 22.03.2010, 20:36) *
может стоит самому посмотреть для начала, чтобы более предметно общаться по поводу текстур "как у всех"?

Может стоит дружелюбнее относится к людям. Я не заявлял, что оно абсолютно так.
Насколько я знаю, видеокарты имеют аппаратное распаковывание DXT.
Цитата
какие есть мысли?

DXT5 кодирует 16 пикселей в 128 бит, то-есть 8 бит на пиксель.
Может тулзы от нВидиа для dds помогут.

Оставляю "профессионалов" наедине...

Сообщение отредактировал Deimos - 22.03.2010, 21:50
Перейти в начало страницы
 
 
 MetroStalk
сообщение 22.03.2010, 22:38
Сообщение #87


Продвинутый геймер
********

Группа: Участник
Сообщений: 204
Регистрация: 06.09.2009
Из: Баден баден
Пользователь №: 11806



Собрал нужное воедино... подправил и добавил в первый пост... ссылку на утилиту от бардака скиньте... не нашёл в дебрях постов (IMG:style_emoticons/default/smile.gif)
Перейти в начало страницы
 
 
 [SОC]
сообщение 22.03.2010, 22:43
Сообщение #88


Почти Игроман
*********

Группа: Участник
Сообщений: 684
Регистрация: 25.01.2010
Пользователь №: 13612



MetroStalk, бардак собственно выложил только исходники на форуме GSC, Хайкер же (насколько я понял с его слов) сделал сам анпакер upk файлов при помощи этих исходников.
Но на всякий случай сам пост Сетбека...
http://www.gsc-game.com/russian/main.php?t...ec_id=14#562479
Перейти в начало страницы
 
 
 MetroStalk
сообщение 22.03.2010, 22:53
Сообщение #89


Продвинутый геймер
********

Группа: Участник
Сообщений: 204
Регистрация: 06.09.2009
Из: Баден баден
Пользователь №: 11806



Цитата(ОСК @ 22.03.2010, 22:43) *
MetroStalk, бардак собственно выложил только исходники на форуме GSC, Хайкер же (насколько я понял с его слов) сделал сам анпакер upk файлов при помощи этих исходников.
Но на всякий случай сам пост Сетбека...
http://www.gsc-game.com/russian/main.php?t...ec_id=14#562479
понял... цитирую пост HikeR - распаковываем его утилитой от bardak-а это вот я так понял исходники распаковщика для м2033 http://www.sendspace.com/file/3m832x а где согласно посту HikeR взять утилиту от bardak-а?
Перейти в начало страницы
 
 
 Veresk
сообщение 22.03.2010, 22:57
Сообщение #90


Почти Мастер
***********

Группа: Забанен
Сообщений: 1131
Регистрация: 25.01.2010
Из: Москва
Пользователь №: 13613



Учитиесь читать нормально. Бардак выложил только исходники, по которым умные люди смогут собрать анпакер, что Хайкер и сделал. Никакх "утилит от самого" нету.
Перейти в начало страницы
 
 
 [SОC]
сообщение 22.03.2010, 23:09
Сообщение #91


Почти Игроман
*********

Группа: Участник
Сообщений: 684
Регистрация: 25.01.2010
Пользователь №: 13612



Цитата(MetroStalk @ 22.03.2010, 22:53) *
где согласно посту HikeR взять утилиту от bardak-а?

В архиве последней версии анпакера, который он выложил. Он там есть... unpack_files_in_upk.exe, если не ошибаюсь. Следует уточнить, это именно программа собранная Хайкером. Имя "утилита бардака" получила только из-за того, что основывается на бардаковском коде.
Veresk, нужно быть более дружелюбным к людям.

Сообщение отредактировал ОСК - 22.03.2010, 23:17
Перейти в начало страницы
 
 
 Лохотрон
сообщение 22.03.2010, 23:32
Сообщение #92


разраб одиночка
******************

Группа: Модератор
Сообщений: 3322
Регистрация: 06.05.2004
Из: коморка
Пользователь №: 697



Цитата
Учитиесь читать нормально. Бардак выложил только исходники, по которым умные люди смогут собрать анпакер, что Хайкер и сделал. Никакх "утилит от самого" нету.

мда, а взять и собрать самому для текущего среднестатического пользователя это проблемно? то что у hiker'а в архиве, как написал ОСК, и есть анпакер от бардака, для не верущих собранный мною из сорцев, сайз чутку отличается, но догадываюсь что хайкер юзал прост другой компилер или забилдено с разной степенью оптимизации

http://narod.ru/disk/19011411000/upk_unpacker.rar.html
Перейти в начало страницы
 
 
 MetroStalk
сообщение 23.03.2010, 00:10
Сообщение #93


Продвинутый геймер
********

Группа: Участник
Сообщений: 204
Регистрация: 06.09.2009
Из: Баден баден
Пользователь №: 11806



Цитата(Veresk @ 22.03.2010, 23:57) *
Учитиесь читать нормально. Бардак выложил только исходники, по которым умные люди смогут собрать анпакер, что Хайкер и сделал. Никакх "утилит от самого" нету.
читаем прям из тоннеля через пнв... так что всё ок... просто строка в посте ввела в заблуждение... всё вопрос исчерпан... Veresk в следующий раз подобный гонорный пост не прощу...

Перейти в начало страницы
 
 
 HikeR
сообщение 23.03.2010, 00:45
Сообщение #94


Магистр Игры
****************

Группа: Участник
Сообщений: 2620
Регистрация: 26.03.2007
Из: Великий Новгород
Пользователь №: 5660



Цитата(Deimos @ 22.03.2010, 22:49) *
DXT5 кодирует 16 пикселей в 128 бит, то-есть 8 бит на пиксель.
Может тулзы от нВидиа для dds помогут.

заголовки у текстур отрезаны, тулзов для восстановления не нашел. однако действительно оказалось, что большинство текстур оканчивающихся на .512, .1024, .2048 - это DDS, нужно только приклеить минимальный заголовок. осталось подобрать правильные параметры этого заголовка, или поискать их в скриптах, что-ли ;)
Цитата(MetroStalk @ 22.03.2010, 23:38) *
ссылку на утилиту от бардака скиньте...

раскрываю вопрос полностью: по выложенным исходникам я собрал эту утиль, но убрал из нее проверку CRC32-суммы, ибо созданные самолично архивы этой чексуммы не имеют и утиль на них падает. чексумма вычисляется для НЕпожатых файлов перед упаковкой, но пакера у нас нет. игре все-равно пофиг на эту проверку. утиль действительно зовут unpack_files_in_upk.exe, и находится она в архиве metro_2033_unpacker_v1.2.7z. вроде все ;)
Цитата(Тырса @ 23.03.2010, 00:32) *
сайз чутку отличается

полный стрип и независимость от VCR90 ;)

Сообщение отредактировал Deimos - 23.03.2010, 08:09
Перейти в начало страницы
 
 
 HikeR
сообщение 23.03.2010, 01:35
Сообщение #95


Магистр Игры
****************

Группа: Участник
Сообщений: 2620
Регистрация: 26.03.2007
Из: Великий Новгород
Пользователь №: 5660



про отрезанные заголовки. их действительно орезали и запихнули в textures.bin. в начале идут шапки, в конце файла названия текстур через символ 00. если дойдет до изменения картинок, то придется перестраивать этот файлик при каждом чихе.
я продолжаю удивляться скорости загрузки уровней и сейвов при всех примененных техниках сокрытия инфы ;)
Перейти в начало страницы
 
 
 surfer
сообщение 23.03.2010, 01:57
Сообщение #96


Почти Игроман
*********

Группа: Забанен
Сообщений: 631
Регистрация: 25.11.2009
Пользователь №: 13092



Портирую 'metro2033_unpack_vfs.bms' на С:

Код

Код
#include "stdio.h"

int main( int argc, char *argv[] )
{
    char *source = argv[1];
    size_t max_size, data_pos, offset;
    FILE* handle;
    _int32 ffff;
    _int32 chunk_size;
    int exit = 0;

    handle = fopen( "content.vfi", "rb" );
    if( !handle )
    {
        return -1;
    }

    fseek( handle, 0, SEEK_END );
    max_size = ftell( handle );
    fseek( handle, 0, SEEK_SET );

    fread( &ffff, 4, 1, handle );
    fread( &chunk_size, 4, 1, handle );

    data_pos = ftell( handle );
    offset = data_pos + chunk_size;

    do
    {
        // ...
        exit = 1;
    }
    while( !exit );

    fclose( handle );

    return 0;
}


я правильно понимаю порядок действий?
Перейти в начало страницы
 
 
 HikeR
сообщение 23.03.2010, 02:11
Сообщение #97


Магистр Игры
****************

Группа: Участник
Сообщений: 2620
Регистрация: 26.03.2007
Из: Великий Новгород
Пользователь №: 5660



сорри, я в сях не спец. вот полное описание скриптов BMS - http://aluigi.altervista.org/papers/quickbms.txt, команды там простейшие и очень похожи на сишные.

по сути content.vli является оглавлением, первая секция с номером ffff - неактуальна (содержит некий GUID которым оканчиваются все vfs архивы), далее по одной секции на каждый архив. скрипт перебирает их пока не встретит заданное имя файла, затем он входит в секцию и дял каждого файла читает параметры crc, смещение, распакованный и запакованный размер, полное имя. смещение и размер - это прямое указание где брать файл в архиве vfs.

кстати, while( !exit ); вам зачем? это издержки простейшего скриптового языка. можно более кратко и понятно, что-то вроде while (offset < max_size);


Сообщение отредактировал HikeR - 23.03.2010, 02:15
Перейти в начало страницы
 
 
 HikeR
сообщение 23.03.2010, 03:23
Сообщение #98


Магистр Игры
****************

Группа: Участник
Сообщений: 2620
Регистрация: 26.03.2007
Из: Великий Новгород
Пользователь №: 5660



да, еще один не совсем очевидный момент. в BMS скриптах чтение переменной автоматически сдвигает указатель на область памяти, а в сях его надо двигать ручками.
Перейти в начало страницы
 
 
 HikeR
сообщение 23.03.2010, 04:57
Сообщение #99


Магистр Игры
****************

Группа: Участник
Сообщений: 2620
Регистрация: 26.03.2007
Из: Великий Новгород
Пользователь №: 5660



да, еще один не совсем очевидный момент. в BMS скриптах чтение переменной автоматически сдвигает указатель на область памяти, а в сях его надо двигать ручками.

и по текстурам. в файле textures.bin упоминаются 3594 файла без расширения, а всего текстур с расширением .512 - 2459. причем в bin перечисляются и dds файлы (непонятно зачем, они ведь не попорчены) причем тоже не все, есть текстуры в архивах, которых просто нет в этом списке. однако без textures.bin игра работать не хочет ;(

что еще интересно, предполагалось, что для каждой текстуры есть 3 версии: 512, 1024, 2048. реальная картина:
.512 - 2459
.1024 - 1919
.2048 - 995
.dds - 358

в итоге взял текстуры wm_gluho.*, приделал им заголовок от пустого dds-файла с равным размером и сжатием DXT1 без мип-уровней, поредактировал, сохранил, отрезал заголовок - вуаля:
(IMG:http://img249.imageshack.us/img249/940/metro2033dxt11.th.jpg)

это для .1024 файлов размером в полметра. которые по мегабайту - там DXT5 без мип-уровней.
Перейти в начало страницы
 
 
 surfer
сообщение 23.03.2010, 05:30
Сообщение #100


Почти Игроман
*********

Группа: Забанен
Сообщений: 631
Регистрация: 25.11.2009
Пользователь №: 13092



Цитата(HikeR @ 23.03.2010, 02:11) *
кстати, while( !exit ); вам зачем? это издержки простейшего скриптового языка. можно более кратко и понятно

На данном этапе мне нужно было разобраться в самом алгоритме.
Цитата(HikeR @ 23.03.2010, 04:57) *
в BMS скриптах чтение переменной автоматически сдвигает указатель на область памяти, а в сях его надо двигать ручками.

Нет, файловый указатель перемещается при чтении/записи на кол-во байт, которые были прочитаны/записаны

Я почти закончил, осталось купить игру и проверить в действии (IMG:style_emoticons/default/smile.gif)
Перейти в начало страницы
 
 
 Veresk
сообщение 23.03.2010, 07:12
Сообщение #101


Почти Мастер
***********

Группа: Забанен
Сообщений: 1131
Регистрация: 25.01.2010
Из: Москва
Пользователь №: 13613



Цитата(HikeR @ 23.03.2010, 02:35) *
я продолжаю удивляться скорости загрузки уровней и сейвов при всех примененных техниках сокрытия инфы (IMG:style_emoticons/default/wink.gif)

Врядли это технология сокрытия инфы. От кого? от простого пользователя да, а от тех кто хочет ею попользоваться нет.
Если сравнивать с другими шутерами, то скорость загрузки самая обычная. Да и грузить там особенно нечего: уровни небольшие, текстур используется для них мало, причем многие текстуры (разумно) используются и для неписей и для деталей интерьера. Почти все неписи получены путём комбинирования деталей одежды и экипировки (а не как в сталке, что укаждой групировки своя раскраска костюма) и т.д. и т.п. (IMG:style_emoticons/default/smile.gif)
Перейти в начало страницы
 
 
 
 

 
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0

 

Текстовая версия Сейчас: 20.10.2020, 06:52