Предисловие
HudMessage — это универсальная комманда для рисования текста на экране. В отличии от print, она может рисовать текст в любом месте экрана. Также, у данной комманды есть несколько типов рисования текста, таких как:
- HUDMSG_PLAIN — обычный текст
- HUDMSG_FADEOUT — плавно угасающий текст
- HUDMSG_TYPEON — текст, который печатается посимвольно, затем плавно угасает.
- HUDMSG_FADEINOUT — появляющийся и угасающий текст.
Ниже, я разобрал каждый из этих типов.
Также, с помощью HudMessage можно рисовать картинки, но об этом позже.
HUDMSG_PLAIN. Обычный текст.
Разберем самый простой тип HUDMSG_PLAIN.
SetFont("BIGFONT");
SetHudSize(400,200,0);
HudMessage(s:"under-prog.ru";HUDMSG_PLAIN,0,CR_BRICK,200.0,100.0,5.0);
Синтаксис тут следующий:
HudMessage(строка;тип_hudMessage,id,цвет,x,y,время_показа);
- строка — указывает строку, которая отобразится на экране (указывается так же, как и для комманды print).
- тип_hudMessage — указывает тип hudMessage (как будет показываться текст на экране).
- id — указывает id HudMessage.
- цвет — указывает цвет в формате, доступные цвета можно посмотреть на вики.
- x, y — указывает где, по оси x,y, будет находится текст.
- время_показа — указывает сколько секунд, будет отображаться текст на экране.
По поводу id, помните что на одном id, может находится, лишь один HudMessage. Например мы рисуем 1-ый HudMessage, и рядом с ним 2-ой HudMessage, их id равен 1. В таком случае нарисуется только последний HudMessage, то-есть второй. Второй HudMessage, как бы, перезаписывает первый HudMessage. Но если id равен 0, то ограничений нет. На нулевом id, можно рисовать — бесконечное множество HudMessage.
Ладно, смотрим.

HUDMSG_FADEOUT. Текст с плавным угасанием.
SetFont("BIGFONT");
SetHudSize(400,200,0);
HudMessage(s:"under-prog.ru";HUDMSG_FADEOUT,0,CR_BRICK,200.0,100.0,5.0,1.0);
Разберем синтаксис типа HUDMSG_FADEOUT.
HudMessage(строка;тип_hudMessage,id,цвет,x,y,время_показа, время_угасания);
Как мы видим, здесь добавился аргумент время_угасания. Разберем его.
- время_угасания — указывает время, за которое надпись станет прозрачной.

HUDMSG_TYPEON. Печатаем текст на экране.
SetFont("BIGFONT");
SetHudSize(400,200,0);
HudMessage(s:"under-prog.ru";HUDMSG_TYPEON,0,CR_BRICK,200.0,100.0,1.0,0.2,1.0);
Здесь, синтаксис следующий:
HudMessage(строка;тип_hudMessage,id,цвет,x,y,время_показа, время_печати_символа, время_угасания);
- время_печати_символа — указывает время, необходимое чтобы напечатать 1 символ.
Проверяем.

HUDMSG_FADEINOUT. Появляющийся и угасающий текст.
SetFont("BIGFONT");
SetHudSize(400,200,0);
HudMessage(s:"under-prog.ru";HUDMSG_FADEINOUT,0,CR_BRICK,200.0,100.0,1.0,1.0,1.0);
Синтаксис тут следующий:
HudMessage(строка;тип_hudMessage,id,цвет,x,y,время_показа, время_появления, время_угасания);
- время_появления — указывает время, за которое появится HudMessage
- время_угасания — указывает время, за которое угаснет HudMessage
Большую часть синтаксиса, я разбирал выше. Ладно, тестим.

Рисуем картинку на экране.
Добавьте любую картинку в свой wad, через Slade. Затем, откройте Doom Builder, и в ACS, добавьте следующее.
script 3 (void)
{
SetFont("COFFE");
SetHudSize(200,140,0);
HudMessage(s:"a";HUDMSG_PLAIN,0,CR_BRICK,100.0,100.0,5.0);
}
В данном скрипте, мы подключили в качестве шрифта, картинку «COFFE«.
SetFont("COFFE");
Установили разрешение экрана на 200×140 пикселей (это разрешение растянется под ваше разрешение экрана)
SetHudSize(200,140,0);
И отобразили нашу картинку
HudMessage(s:"a";HUDMSG_PLAIN,0,CR_BRICK,100.0,100.0,5.0);
Технически, мы не рисуем картинку а печатаем текст, просто в качестве шрифта, мы используем картинку. Вот такой вот костыль.

Заключение.
Фух, надеюсь ничего не забыл. Если есть вопросы / пожелания, задавайте их в комментариях, или в группе ВК.
Итоговый результат.
