Еще на стадии дэмоверсии Left 4 Dead я с помощью одной универсальной програмки Texmod.exe вытаскивал и перерисовывал текстуры, после чего с помощью все той-же програмки вставлял их обратно (при этом вставка текстур происходила путем создания патча для Texmod.exe и запуска игры через нее).
Но с выходом полной версии игры у меня возникла проблема - програмка которой я пользовался отказалась открывать RUN_L4D.exe через который запускался кооператив (собственно от которого самый цымус игры) и соответственно весь кайф замены текстур пошел крахом.
Я конечно расстроился и начал почти в буквальном смысле рыть рогами интернет в поисках корректных возможностей по замене текстур (это почти при нулевых знаниях Английского языка).
Для начала я внимательно почитал на данном форуме в каких форматах лежат текстуры игры - .vtf Скачал плагин для фотошопа и утилиту VTFEdit.exe ссылки на которые были любезно предоставлены в URL этой теме мапером Half-vzlom.
Потом я наткнулся на фпсбананах на первые работы по текстурам. Ну и методом тыка и разбором чужих работ начал пробовать создавать сам.
Инструкция:
ПЕРЕД ТЕМ КАК ПРИСТУПИТЬ К РАБОТЕ НАСТОЯТЕЛЬНАЯ ПРОСЬБА ЗАБЭКАПИТЬ ФАЙЛЫ pak01_dir.vpk и whitelist.cfg
1. Качаем URL VPK Extractor запускаем его и указываем путь к файлу C:Program FilesHalf-LifeStar-SteamsteamappscommonLeft4Deadleft4deadpak01_dir.vpk и распаковываем ресурсы игры в папку C:Program FilesHalf-LifeStar-SteamsteamappscommonLeft4Deadleft4dead
2. Например хотим заменить текстуры Деду (Биллу).
После распаковки идем по адресу C:Program FilesHalf-LifeStar-SteamsteamappscommonLeft4Deadleft4deadmaterialsmodelssurvivors
amvet напр. нас интересует текстура одежды это bill_color.vtf открываем ее фотошопом, редактируем как нам будет угодно и сохраняем в формате .vtf в той же папке под названием bill_color2.vtf при этом не меняя оригинальную текстуру bill_color.vtf
3. Потом открываем блокнотом файл bill_color.vmt видим следующее:
Нас интересует строка $baseTexture "modelssurvivors
amvetill_color" в конце которой необходимо добавить двойку так-как заменяемая текстура получила название bill_color2.vtf т.е. строка должна получится такой $baseTexture "modelssurvivors
amvetill_color2"
4. Идем по адресу C:Program FilesHalf-LifeStar-SteamsteamappscommonLeft4Deadleft4dead и открываем блокнотом файл-конфиг whitelist.cfg видим следующее:
Теперь нужно добавить в секцию // Additional files/directories to allow напр. после строки "add" "materials/voice/..." следующую строку "add" "materials/models/..." закрываем и сохраняем файл whitelist.cfg
5. Самый ответственный и дурацкий (тяжелый) пункт, из за которого я себе неделю мозги трахал :%) (чуть сума не сошел, из за этого у меня игра крашилась) - это правка файла pak01_dir.vpk по адресу C:Program FilesHalf-LifeStar-SteamsteamappscommonLeft4Deadleft4dead
Как я писал что знаю Английский язык хреново я правил файл блокнотом, делал нужные манипуляции, запускал игру и в место текстур и моделей не было ничего, а потом и вовсе происходил вылет игры т.е. ставлю чужую работу - игра работает, делаю свою - шиш!!!
Загвоздка оказалась в следующем. Файл pak01_dir.vpk нужно править не блокнотом, а хекс-эдитором напр. WinHex (кто не работал в хекс редакторах прошу не расстраиваться ничего сложного нет - касательно данной темы).
Запускаем WinHex выбираем открыть, указываем путь к файлу pak01_dir.vpk, собственно открываем, видим два поля (левое-куча цифр и правое конфиги). Активируем курсор на правом поле и жмем ctrl+F (поиск), вбиваем bill_color находим первое попавшееся слово, смотрим чуть дальше и находим строку $baseTexture "modelssurvivors
amvetill_color" нам нужно добавить 2-ку в конце bill_color в соответствии с ранее сделанной текстурой чтобы получилось $baseTexture "modelssurvivors
amvetill_color2" для этого нужно (я делал так) в правом поле найти любую двойку и поставить на ней курсор, потом посмотреть в левое поле на двоичный код отвечающий двойке это либо 32 либо 35 выделить мышкой двоичный код 32 кликнуть правой кнопкой мыши по выделенному полю и выбрать правка потом Copy Block Обычно ctrl+c.
Затем возвращаемся к нашей строке в правом поле $baseTexture "modelssurvivors
amvetill_color" ставим курсор в правом поле на кавычках " смотрим в левое поле где двоичный код кавычек активируем курсор на правой цифре двоичного кода кавычек жмем правый клик мыши потом правка Данные буфера Вставить ctrl+v, смотрим правое поле и видим что перед кавычками появилась 2-ка.
Закрываем в WinHex наш файл pak01_dir.vpk и соглашаемся с сохранением. Запускаем игру, карту и если сделали все правильно видим новые текстуры, радуемся.
Вот скрины из моих недоделанных работ, когда закончу выложу.
P.S. - Даю поправку на 5-й пункт относительно правки файла pak01_dir.vpk. Дело в том что наши люди не ищут легких путей и не идут в обход. :D Поэтому я написал несколько сложноватый и не удобный способ правки с помощью хекс-эдитора.
Как оказалось ацкие пендосы правят файл с помощью Notepad++ (Блокнот++), надеюсь проблем ни у кого не возникнет.