HLFX.Ru Forum
Показать все 13 сообщений этой темы на одной странице

HLFX.Ru Forum (https://hlfx.ru/forum/index.php)
- Half-Life SDK (https://hlfx.ru/forum/forumdisplay.php?forumid=8)
-- Маленькая скрипт-машина (https://hlfx.ru/forum/showthread.php?threadid=1412)


Отправлено Дядя Миша 07-07-2008 в 16:13:

Маленькая скрипт-машина

Те, кто качал прошлую версию Xash, наверняка помнят, что там в папке scripts имеется файлик hud.txt, а в нем всякие функции, управляющие худом.
Собственно, когда Xash обзавелся нормальным клиентом на QuakeC, эта виртуальная машинка стала не нужна, и я решил выложить исходники народу.
Машинка очень простая, имеет кучу ограничений (была написана мною за два вечера), но для отрисовки Hud и тому подобных простых действий вполне годится.
содержимое архива:
cg_user.h - репрезентация данных vm в оперативе
cg_user.c - собственно сама vm + несколько буллетинов
example.c - что нужно вызывать для её работы (Cg_init() обязательно, остальное по желанию)
parselib.c - парсер из Xash, используется vm
hud.txt - собственно пример виртуальной худпрограммы
hudprogramm.txt - документация по особенностям и лимитам.
Идиотские вопросы, типа "а как это прикрутить к спириту или к паранойе", будут немедленно удалятся.

Добавлено 07-07-2008 в 20:12:

Вопросы по механизму работы и его особенностям наоборот приветствуются.

Добавлено 07-07-2008 в 20:13:

Собственно сама vm

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'


Отправлено XaeroX 07-07-2008 в 17:36:

Спасибо, как будет время - заценю
Пока один вопрос - насколько она медленнее обычного кода на с++, замерял?

__________________

xaerox on Vivino


Отправлено Дядя Миша 07-07-2008 в 18:05:

XaeroX не замерял, но думаю прилично.
Основной timewaster - это парсинг при помощи GetToken каждый кадр.
Если бы все это дело налету скомпилить в байт код...
Просто там функции коротенькие, на fps оно не влияет, это уж точно.

Добавлено 07-07-2008 в 22:05:

Скрытый текст:
Этот текст скрытый. Вы должны оставить хотя бы одно сообщение в теме, чтобы его увидеть.

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'


Отправлено XaeroX 07-07-2008 в 19:00:

Дядя Миша вот блин, а я-то думал, что он в байт-код компилится... А чего не сделал-то, как в куси?
Или в ку3 - там вообще в ассемблер компилится

Скрытый текст:
Этот текст скрытый. Вы должны оставить хотя бы одно сообщение в теме, чтобы его увидеть.

__________________

xaerox on Vivino


Отправлено PoD-Stas 07-07-2008 в 20:36:

Полезная весчь, обязательно потестю


Отправлено Дядя Миша 08-07-2008 в 07:13:

XaeroX я же говорю - маленькая скрипт-машина, написанная мной за два вечера под конкретную задачу.

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'


Отправлено PoD-Stas 08-07-2008 в 07:17:

А можно ли ее модернизировать выполнять, что-либо кроме операций с худом?


Отправлено AlMod 08-07-2008 в 09:01:

Вчера обсуждали, довольно занятная вещь

__________________
Сайт поддержки кодеров на AMX Mod X


Отправлено Дядя Миша 08-07-2008 в 13:18:

PoD-Stas да все что угодно, хоть энтити спавнить.
просто буллетины переписать под другие вызовы.

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'


Отправлено PoD-Stas 08-07-2008 в 15:46:

Цитата:
/*
================
CG_Init

initialize cg
================
*/

Подсознательно напрашивается на мысль, что худ сделан на шейдерах))


Отправлено XaeroX 08-07-2008 в 15:48:

PoD-Stas у тебя небось и половина консольных переменных Quake3 ассоциируется с шейдерами?

__________________

xaerox on Vivino


Отправлено PoD-Stas 08-07-2008 в 17:14:

Нет просто ассоциируется с N-Vidia CG


Отправлено Дядя Миша 08-07-2008 в 18:34:

CG это Client Game из Quake 3
Да неважно как функции называть, суть-то не меняется.

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'


Временная зона GMT. Текущее время 10:22.
Показать все 13 сообщений этой темы на одной странице

На основе vBulletin версии 2.3.0
Авторское право © Jelsoft Enterprises Limited 2000 - 2002.
Дизайн и программирование: Crystice Softworks © 2005 - 2024