Sidebar

Кастомные лого для игрока

Staff member
VIP
Mar 28, 2010
15,566
315
83
Кубань
  • Золотая медаль 215
  • Серебряная медаль 214
  • Золотая медаль 221
  • Cat
Кастомные лого для игрока

Итак, допустим, я игрок в CS и хочу себе крутой логотип. Попросил ФиЭктру, он нарисовал мне логотип в форме небесного котэ. А я его сохранил в папку Half-Life\logos в формате .bmp, правильно?
А дальше Халфа сама всё сконвертит и загрузит как мне надо?
 

qpAHToMAS

Administrator
Staff member
Администратор
Oct 22, 2006
9,323
33
  • Золотая медаль 215
  • Золотая медаль 152
  • Серебряная медаль 136
  • Золотая медаль 221
Да, игра берет BMP'шку (cl_logofile) и конвертит её в "tempdecal.wad" с нужным цветом (cl_logocolor).

+ sv_allowupload 1 на сервере нужен (и может быть cl_download_ingame).
 
Staff member
VIP
Mar 28, 2010
15,566
315
83
Кубань
  • Золотая медаль 215
  • Серебряная медаль 214
  • Золотая медаль 221
  • Cat
Да, игра берет BMP'шку (cl_logofile) и конвертит её в "tempdecal.wad" с нужным цветом (cl_logocolor).
Спасибо, это ценная информация.
А для чего нужен pldecal.wad, например?

Post automatically merged:

И что за картинка remapped.bmp в списке лого? Она цветная обычно.

Post automatically merged:

А еще есть spraypaint.wad он для чего?

Post automatically merged:

Так, кажется примерно понял. Чёрно-белое лого раскрашивается при помощи последнего цвета в палитре (цвета фиксированные вроде), затем картинка пересохраняется как remapped.bmp. Далее эта картинка помещается в pldecal.wad или в tempdecal.wad??? под именем logo. А потом этот вад загружается на сервер, откуда его скачивают все клиенты.
 
Last edited:

qpAHToMAS

Administrator
Staff member
Администратор
Oct 22, 2006
9,323
33
  • Золотая медаль 215
  • Золотая медаль 152
  • Серебряная медаль 136
  • Золотая медаль 221
Дядя Миша said:
Post automatically merged:

И что за картинка remapped.bmp в списке лого? Она цветная обычно.
Оно рисуется в опциях:


pldecal.wad по идеи тоже самое, что и tempdecal.wad. Там очень хитрая система, походу tempdecal — что-то вроде буфера (отсюда и temp), в него попадает декаль из pldecal.
Но я знаю абсолютно точно, дабы поставить кастомное (цветное лого), оно должно быть в "tempdecal.wad" и сам файл должен быть "Только для чтения".

Post automatically merged:

Вот еще тред припомнил:
https://cs-mapping.com.ua/forum/showthread.php?t=36575
Там обнаружилась интересная штука с последним цветом в палитре, если он 0, 0, 255, то декаль цветная.
 
Last edited:
Staff member
VIP
Mar 28, 2010
15,566
315
83
Кубань
  • Золотая медаль 215
  • Серебряная медаль 214
  • Золотая медаль 221
  • Cat
Система не то чтобы хитрая, она избыточная какая-то. Или я не догоняю.
Какой смысл заводить вад ради одной декали? Или в 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
Т.е. там внутри два вада и в каждом ваде по одной картинке. Но вады от разных игроков, как я понял.
 
Last edited:

qpAHToMAS

Administrator
Staff member
Администратор
Oct 22, 2006
9,323
33
  • Золотая медаль 215
  • Золотая медаль 152
  • Серебряная медаль 136
  • Золотая медаль 221
Staff member
VIP
Mar 28, 2010
15,566
315
83
Кубань
  • Золотая медаль 215
  • Серебряная медаль 214
  • Золотая медаль 221
  • Cat
Ответьте мне самый главный вопрос - в pldecal.wad или tempdecal.wad может быть более одного логотипа? Понятно, что технически может, вопрос в том, будет ли это как-нибудь использоваться?
Потому что у меня сильное желание послать всю эту систему лесом и сделать так, чтобы ксаш напрямую грузил логотипы из папки logos и плевал на то, цветные они, чёрнобелые, да хоть DDS.
Ну я никак не вдуплю зачем эта промежуточная возня с вадами.

Post automatically merged:

Есть тут один (не в обиду):
Не могу утверждать на 100% (но это легко проверить на практике), но когда у однобитной альфы последний цвет в палитре не синий, то для нее даже сглаживание зубцов отключается, что хорошо заметно на скриншоте Скаржа.
 
Last edited:
VIP
Aug 12, 2004
18,877
462
83
  • Бронзовая медаль 103
  • Деревянный домик Скааржа
  • Серебряная медаль 213
  • Золотая медаль 136
  • Бронзовая медаль 141
  • Серебряная медаль 125
  • Золотая медаль 221
  • Золотая медаль 213
  • Золотая медаль 232
  • Серебряная медаль 132
Всё там сглаживается, на скринах скейл текстуры мелкий.
 
Staff member
VIP
Mar 28, 2010
15,566
315
83
Кубань
  • Золотая медаль 215
  • Серебряная медаль 214
  • Золотая медаль 221
  • Cat
Путём переговоров с Альбатроссом и изучения доступной информации пришли к выводу, что упаковка картинок в вад - это остатки того старого механизма, чуть ли не с 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, выбираем её в меню как наше лого и всё.
 

qpAHToMAS

Administrator
Staff member
Администратор
Oct 22, 2006
9,323
33
  • Золотая медаль 215
  • Золотая медаль 152
  • Серебряная медаль 136
  • Золотая медаль 221
Дядя Миша said:
Я предлагаю более оптимальную систему - кладём в папку logos любую текстуру, tga, bmp, dds, выбираем её в меню как наше лого и всё.
Так лучше, безусловно. Но вот еще бы скейл меньше (разрешение декалей больше), на уровне сорса.

Дядя Миша said:
А дальше при нанесении декали, он перезатирает каждый кадр новым с интервалом в 0.1 секунды (10 fps) в следствие чего создается иллюзия, что игрок эту декаль типа рисует.
Я не помню где, но где-то видел рисующееся по частям лого халвы (в кругляшке). Не могу вспомнить где...
 
Staff member
VIP
Mar 28, 2010
15,566
315
83
Кубань
  • Золотая медаль 215
  • Серебряная медаль 214
  • Золотая медаль 221
  • Cat
2 qpAHToMAS: при помощи моего makewad перенеси это лого халфы из decals.wad в tempdecal.wad, выставь атрибут только для чтения, и если моё пролетарское чутьё меня не подводит - будет тебе анимированное лого в халфе.
Имена лумпов значение не имеют, важен только их порядок.
 
Staff member
VIP
Mar 28, 2010
15,566
315
83
Кубань
  • Золотая медаль 215
  • Серебряная медаль 214
  • Золотая медаль 221
  • Cat
Попробовал сам - не работает. Чёрт его знает почему. Имя действительно не имеет значения, но рисуется только последний кадр.
 
Staff member
VIP
Mar 28, 2010
15,566
315
83
Кубань
  • Золотая медаль 215
  • Серебряная медаль 214
  • Золотая медаль 221
  • Cat
Только сейчас заприметил что халфа на моё анимированное лого еще и ругается:
Custom file has wrong number of lumps 6
значит оно на уровне движка запрещено.

Post automatically merged:

Да, если верить диканпилу допускается только один лумп в pldecal.wad.
Какой-то запредельный идиотизм - сделать систему анимированного лого и запретить её. Ну тогда мне тем более нет смысла заморачиваться с помещением картинки в вад.
 
Last edited: