Страницы (4): [1] 2 3 4 » Показать все 158 сообщений этой темы на одной странице |
HLFX.Ru Forum (https://hlfx.ru/forum/index.php)
- Quake Remake (https://hlfx.ru/forum/forumdisplay.php?forumid=32)
-- Quake Wrap (https://hlfx.ru/forum/showthread.php?threadid=4964)
Quake Wrap
К созданию этого проекта меня подтолкнуло сразу несколько факторов, которые накапливались на протяжении долгого времени.
Во первых, дело в том, что я когда-то написал неплохой интерпретатор КуСи для старого ксаша, взял туда qclib из FTE для канпеляции, вообщем оформил красивую виртуальную машинку, которую впоследствии пришлось похоронить еще тогда, в 2008-м году. И вот оно мне не даёт покоя, что такая красота пылится без дела. Ну это как основной фактор - незавершённый гештальт.
Во вторых, у нас тут есть товарищи, которые могут в КуСи, однакож немогут в С++, но при этом на куси писать любят всякие там моды какие-то пишут, а один даже в подписи написал "I love to want QuakeC in XashNT", да прямо так и написал или совсем по другому, но QuakeC и XashNT там точно были.
В третьих, по большому счёту 20 лет форка первого квейка так и не привели к желаемому результату. Здесь придется остановиться по подробнее. Большинство форков первокваки внедряли в движок новые эффекты, которые начинали работать изкаропки. Такие движки в принципе неплохо воспринимались игроками (еще и потому, что там сразу был включён +mlook и выставленая 32-битная глубина цвет, ну и регулятор гаммы работал), но для разработчиков он не несли в себе ровным счётом никаких преимуществ. Одно время была даже мода форкать форки, когда их накопилось достаточное кол-во. Т.е. был некоторый обязательный набор, которым должен был обладать форк, типа того же 32-битного цвета, регулятора гаммы и отремонтированных фуллбрайтов в GL-режиме. А дальше разрабы форков тупо копировали друг у друга наиболее понравившиеся фишки, по принципу, один написал - семеро к себе скопировало. Ну и неудивительно, что на таком засилье форков, оригинальных проектов было весьма мало. MHQuake, Tenebrae, Darkplaces. Вроде бы и всё. Но не было чёткого вектора развития, кто-то если и пытался что-то внедрить, то максимум это согласовывалось на уровне других таких же форкеров движка. А вот РЕАЛЬНЫЕ РАЗРАБОТЧИКИ под первокваку срать хотели на все эти дополнения, как правило. Собственно, похожая ситуация наблюдается и в HL-Коммунити, большинству не нужны ни новые эффекты, ни новые энтити. Возьмем Arcane Dimensions для примера. Была проделана фундаментальная работа. Новые монстры, новые энтити, новые модели, новые уровни, всё новое. А теперь держитесь крепче за стул: в игре нет внешних текстур. Всё буйство красок обеспечено шареной палитрой в 256 цветов из первокваки. Этим автор как бы намекнул где он видал любителей внешних текстур. Из всего богатства возможностей, которые предоставляет тот же даркплейс (кому?), были заюзаны ровно две фичи - effectsinfo (это описание кастомных эффектов для партиклей) и формат BSP с увеличенными лимитами. Т.е. автор не стал даже привязываться к какому-то конкретному форку. Вот вам наглядный пример взаимодействия между программистом и дизайнером, первый делает то, что второму не нужно, а то что нужно второму - первый не делает. А ведь это ключевой момент в вопросе выбора движка.
В четвертых, сделав римейк Кваки и почти доделав римейк Хипнотика, меня посетила мысль, что это занятие хотя и интересное, но весьма тяжкое. И одновременно пришла в голову мысль, что ведь тех, кто что-то до сих пор делает под кваку, можно было бы перетащить на ксаш куда надежнее, чем римейком кваки. Для этого надо сделать, чтобы квака и её моды запускались под ксашем нативно. Вот собственно об этом и мой проект. Он не отменяет мои римейки никоим образом, и я не считаю что та работа была проделана зря. Скорее выводит совместимость на новый уровень. Итак, что же нам потребуется для того, чтобы научить Ксаш понимать кваку и её моды? На самом деле не так уж и много:
1. научить его грузить спрайты из кваки. done
2. научить его грузить и рисовать модельки из кваки. done
3. научить Ксаш грузить карты из кваки и рисовать кушные эффекты done
4. Самое интересное: враппер между движком и виртуальной машинкой кваки. Если быть точным, это то, что в кваке находится в файликах pr_exec.c, pr_edict.c, pr_cmds.c. Ну, конечно моя задача чуть сложнее - надо ведь будет подружить это всё с сейв-рестором халфы, но в целом - тоже работы весьма немного. done
5. Меню на манер кушного. Достаточно простой копипасты из движка. Самое главное, чтобы оно грузило эти картиночки. done
И на выходе мы получаем полноценную поддержку большинства кушных модов с кастомными моделями и кодом. Разумеется это всё можно будет портировать на андроид к примеру.
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Только не Wrap, а Warp. И не Quake, а Perilous. И не Xash, а Volatile. А так, в целом - всё верно!
__________________
__________________
Минутка полезного:
Бесплатный UT-подобный Half-Life mod.
Бесплатный редактор для 32-битных текстур. Без дотнета.
Бесплатный IDE для любых компиляторов и ЯП.
Бесплатная Windows-подобная ОС.
Проверка грамматики русского языка.
Чат по hl[fx]: [email protected]
__________________
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
__________________
Минутка полезного:
Бесплатный UT-подобный Half-Life mod.
Бесплатный редактор для 32-битных текстур. Без дотнета.
Бесплатный IDE для любых компиляторов и ЯП.
Бесплатная Windows-подобная ОС.
Проверка грамматики русского языка.
Чат по hl[fx]: [email protected]
Следующая стадия - нативный запуск Анрила под Ксашем?
>многих бед, таких как string_t
Можно подробности?
__________________
http://www.moddb.com/mods/monorail-quest
Можете показать пример чего-нибудь умного на QuakeC?
1 | float START_OFF = 1; |
2 |
3 | void() light_use = |
4 | { |
5 | if (self.spawnflags & START_OFF) |
6 | { |
7 | lightstyle(self.style, "m"); |
8 | self.spawnflags = self.spawnflags - START_OFF; |
9 | } |
10 | else |
11 | { |
12 | lightstyle(self.style, "a"); |
13 | self.spawnflags = self.spawnflags + START_OFF; |
14 | } |
15 | }; |
16 |
17 | /*QUAKED light (0 1 0) (-8 -8 -8) (8 8 8) START_OFF |
18 | Non-displayed light. |
19 | Default light value is 300 |
20 | Default style is 0 |
21 | If targeted, it will toggle between on or off. |
22 | */ |
23 | void() light = |
24 | { |
25 | if (!self.targetname) |
26 | { // inert light |
27 | remove(self); |
28 | return; |
29 | } |
30 |
31 | if (self.style >= 32) |
32 | { |
33 | self.use = light_use; |
34 | if (self.spawnflags & START_OFF) |
35 | lightstyle(self.style, "a"); |
36 | else |
37 | lightstyle(self.style, "m"); |
38 | } |
39 | }; |
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Фраза "I want QuakeC in XashNT" умерла вместе с XashNT.
А вообще,есть один интересный проект на QC,о котором так сразу и не скажешь,что это на QC написано(https://eukara.github.io/FreeCS/)
А на QC и физику еще писали,ага.(Twig)
Сейчас еще многие знакомые квакеры переезжают на fteqw(ну наверное потому что обновляется еще).
__________________
//generated by Quake, do not modify
//I want QuakeC in XashNT
http://www.moddb.com/games/conscript
>Ждём волнующих комментариев от Мастера по поводу увиденнова.
Дык Мастер же _в принципе_ ненавидит всё что интерпретируется вместо того что бы байты дрочить.
__________________
http://www.moddb.com/mods/monorail-quest
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Только серверную часть?
Или всё(как в старом ксаше,сервер,клиент,меню)
__________________
//generated by Quake, do not modify
//I want QuakeC in XashNT
http://www.moddb.com/games/conscript
Дядя Миша
Где смотреть актуальную документацию для такого модного QuakeC со структами? По сцылке с википедии малограмотное калище.
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
__________________
XaeroX
С ним всё хорошо. Но про попадание параметров в функцию через типы переменных в си ничего нет, например. Об этом ведь надо знать из хоть какой-нибудь документации.
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
1 | class FooParent : entity |
2 | { |
3 | // constructor |
4 | void() FooParent = |
5 | { |
6 | dprint("I am a FOO\n"); |
7 | }; |
8 | virtual void () WhereAmI = |
9 | { |
10 | dprint("In FooParent\n"); |
11 | }; |
12 | }; |
13 |
14 | class FooChild: FooParent |
15 | { |
16 | virtual void () WhereAmI= |
17 | { |
18 | dprint("In FooChild\n"); |
19 | }; |
20 | }; |
__________________
//generated by Quake, do not modify
//I want QuakeC in XashNT
http://www.moddb.com/games/conscript
__________________
XaeroX
Я про то, как стейт попадает в шейдер через переменные со всякими квалификаторами типа uniform или varying, а не через аргументы или вызовы наружу.
Хотя в принципе и в си такое возможно с волатилами.
nemyax
То, что в Си номер ошибки попадает в errno, тебя не смущает?
Стейт - это такие же предопределённые глобальные переменные, а не часть языка.
__________________
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Дядя Миша
qc как то в xt можно будет подключать, или всё ограничится квкакой?
__________________
http://www.moddb.com/mods/monorail-quest
__________________
Это будет враппер чисто для кваки и ейных модов. Я размышлял на тему того, можно ли иметь одновременно энтити в дллке и виртуальной машинке и пришёл к выводу, что ничего хорошего из этого не получится. А вот плохого может получиться довольно много. К тому же в QC есть некоторые фундаментальные ограничения архитектуры - например невозможность создать multi_manager или любую другую энтить с произвольными ключами.
Добавлено 06-03-2017 в 19:00:
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Дядя Миша
А скриптовая(или какая?) система для xt будет на qc основываться, или там что-то своё?
>другую энтить с произвольными ключами
Там массив внутрь нельзя упрятывать?
__________________
http://www.moddb.com/mods/monorail-quest
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Дядя Миша 10 лет
как там прогресс?
__________________
//generated by Quake, do not modify
//I want QuakeC in XashNT
http://www.moddb.com/games/conscript
Прогресс отлично. Проверил пути к системных картинкам, на предмет возможности их загрузки как из вада, так и из папки (в халфе это gfx.wad), а в кваке, как ни странно эти картинки лежат в папке gfx. Палитра на том же самом месте, сделал проверку на картинку консоли в той же папке gfx. А quake.rc и так автоматически загрузится - главное чтобы лаунчер назывался quake.exe. Так что тут всё в полном порядке. Карты-уровни ксаш и так умеет грузить, рисовать там небо, фуллбрайты. Здесь уже всё хорошо. Из ново-введений - научил его грузить спрайты из первокваки. В физик-интерфейс вывел некоторые недостающие функции, для враппера. На стороне движка осталось только написать загрузчик alias-моделей, и можно приступать имплементации, собственно, враппера. Ну я не тороплюсь, тут другие дела были - вон модельвьювер проапдейтил, над Area51 работал.
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Отлично,будем ждать.Надеюсь,проблем не возникнет.
__________________
//generated by Quake, do not modify
//I want QuakeC in XashNT
http://www.moddb.com/games/conscript
В Ксаше-то хоть кто-нибудь разберется после всего этого?
__________________
//generated by Quake, do not modify
//I want QuakeC in XashNT
http://www.moddb.com/games/conscript
Я помню какое бурление говна вызвала публикация ксаша на форумах моддеров квейка. Им словно на яйца наступили, в итоге админу всё надоедало и он выпиливал тему к чертям. Я уверен, те кто юзал кваку, так и продолжат юзать именно её.
__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!
FiEctro
Как мне показалось, квейковское коммьюнити очень консервативно. У них до сих пор выходят ремейки, где из всех улучшений - только цветное освещение и глобальный туман. Ну и поднятые лимиты, само собой. Даже за банальный лерпинг анимаций можно навсегда прослыть еретиком.
__________________
FiEctro а чего бурлили-то?
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Дядя Миша
Из-за того что виндовс онли и копирайты.
__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!
есть новости?)
__________________
//generated by Quake, do not modify
//I want QuakeC in XashNT
http://www.moddb.com/games/conscript
Есть: проекту срочно требуются донаты
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Временная зона GMT. Текущее время 02:11. | Страницы (4): [1] 2 3 4 » Показать все 158 сообщений этой темы на одной странице |
На основе vBulletin версии 2.3.0
Авторское право © Jelsoft Enterprises Limited 2000 - 2002.
Дизайн и программирование: Crystice Softworks © 2005 - 2024