Итак, допустим, я игрок в CS и хочу себе крутой логотип. Попросил ФиЭктру, он нарисовал мне логотип в форме небесного котэ. А я его сохранил в папку Half-Life\logos в формате .bmp, правильно?
А дальше Халфа сама всё сконвертит и загрузит как мне надо?
Если большое и цветное, то хранится в tempdecal.wad, за подробностями в гугл. Я например юзал специальную софтинку для энтого дела.
ЗЫ. Хехе, чего нашёл: Учебник молодого "Отца" Counter-Strike 1.6
Спасибо, это ценная информация.
А для чего нужен pldecal.wad, например?
Post automatically merged:
И что за картинка remapped.bmp в списке лого? Она цветная обычно.
Post automatically merged:
А еще есть spraypaint.wad он для чего?
Post automatically merged:
Так, кажется примерно понял. Чёрно-белое лого раскрашивается при помощи последнего цвета в палитре (цвета фиксированные вроде), затем картинка пересохраняется как remapped.bmp. Далее эта картинка помещается в pldecal.wad или в tempdecal.wad??? под именем logo. А потом этот вад загружается на сервер, откуда его скачивают все клиенты.
pldecal.wad по идеи тоже самое, что и tempdecal.wad. Там очень хитрая система, походу tempdecal — что-то вроде буфера (отсюда и temp), в него попадает декаль из pldecal.
Но я знаю абсолютно точно, дабы поставить кастомное (цветное лого), оно должно быть в "tempdecal.wad" и сам файл должен быть "Только для чтения".
Система не то чтобы хитрая, она избыточная какая-то. Или я не догоняю.
Какой смысл заводить вад ради одной декали? Или в tempdecal их может быть много логотипов? Когда-то очень давно вальва обещала анимированные логотипы чтоли.
Ну вот я открываю tempdecal.wad там лежит ровно одна картинка. Может их быть там больше одной? И если да, то как они используются?
как я понимаю tempdecal.wad->загрузка на сервер->формирование custom.hpk с декалями всех игроков->передача этого custom.hpk всем клиентам->клиенты оттуда загружают себе все декали.
Post automatically merged:
Там обнаружилась интересная штука с последним цветом в палитре, если он 0, 0, 255, то декаль цветная.
Я вам уже лет 6 твержу что движок отдупляет именно синий цвет в палитре. А вы за каким-то дурачком повторяете "неважно какой цвет, главное чёб последний".
Синий цвет это детектор однобитной альфы.
Post automatically merged:
У меня в папке valve валяется какой-то старый custom.hpk, я решил просмотреть его содержимое и вот что он мне показал:
Code:
Validating custom.hpk
# of Entries: 2
# Type Size FileName : MD5 Hash
0: decal 12.79 Kb pldecal.wad: OK
1: decal 6.15 Kb pldecal.wad: OK
Т.е. там внутри два вада и в каждом ваде по одной картинке. Но вады от разных игроков, как я понял.
Ответьте мне самый главный вопрос - в pldecal.wad или tempdecal.wad может быть более одного логотипа? Понятно, что технически может, вопрос в том, будет ли это как-нибудь использоваться?
Потому что у меня сильное желание послать всю эту систему лесом и сделать так, чтобы ксаш напрямую грузил логотипы из папки logos и плевал на то, цветные они, чёрнобелые, да хоть DDS.
Ну я никак не вдуплю зачем эта промежуточная возня с вадами.
Не могу утверждать на 100% (но это легко проверить на практике), но когда у однобитной альфы последний цвет в палитре не синий, то для нее даже сглаживание зубцов отключается, что хорошо заметно на скриншоте Скаржа.
Путём переговоров с Альбатроссом и изучения доступной информации пришли к выводу, что упаковка картинок в вад - это остатки того старого механизма, чуть ли не с 97-го года, когда вальва нам обещала анимированные декали-логотипы.
Часть этой системы мы можем видеть в player.cpp, и в PlayerCustomization.
Там есть такой участок кода:
Code:
switch (pCust->resource.type)
{
case t_decal:
pPlayer->SetCustomDecalFrames(pCust->nUserData2); // Second int is max # of frames.
break;
кол-во кадров - это как легко догадаться кол-во картинок в pldecal.wad или tempdecal.wad. А дальше при нанесении декали, он перезатирает каждый кадр новым с интервалом в 0.1 секунды (10 fps) в следствие чего создается иллюзия, что игрок эту декаль типа рисует. Наверное предполагалась и анимация соответствующая у модельки игрока. Но в итоге все забили, да и я не помню, чтобы этого кому-то нехватало.
Я предлагаю более оптимальную систему - кладём в папку logos любую текстуру, tga, bmp, dds, выбираем её в меню как наше лого и всё.
Так лучше, безусловно. Но вот еще бы скейл меньше (разрешение декалей больше), на уровне сорса.
Дядя Миша said:
А дальше при нанесении декали, он перезатирает каждый кадр новым с интервалом в 0.1 секунды (10 fps) в следствие чего создается иллюзия, что игрок эту декаль типа рисует.
2 qpAHToMAS: при помощи моего makewad перенеси это лого халфы из decals.wad в tempdecal.wad, выставь атрибут только для чтения, и если моё пролетарское чутьё меня не подводит - будет тебе анимированное лого в халфе.
Имена лумпов значение не имеют, важен только их порядок.
Да, если верить диканпилу допускается только один лумп в pldecal.wad.
Какой-то запредельный идиотизм - сделать систему анимированного лого и запретить её. Ну тогда мне тем более нет смысла заморачиваться с помещением картинки в вад.