![]() |
Показать все 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)
Маленькая скрипт-машина
Те, кто качал прошлую версию 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 не замерял, но думаю прилично.
Основной 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'
Дядя Миша вот блин, а я-то думал, что он в байт-код компилится... А чего не сделал-то, как в куси?
Или в ку3 - там вообще в ассемблер компилится
__________________
Полезная весчь, обязательно потестю
XaeroX я же говорю - маленькая скрипт-машина, написанная мной за два вечера под конкретную задачу.
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
А можно ли ее модернизировать выполнять, что-либо кроме операций с худом?
Вчера обсуждали, довольно занятная вещь
__________________
Сайт поддержки кодеров на AMX Mod X
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 у тебя небось и половина консольных переменных Quake3 ассоциируется с шейдерами?
__________________
Нет просто ассоциируется с N-Vidia CG
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