![]() |
Показать все 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'
Вернулся к работе над проектом. На данный момент идёт активное внедрение поддержки alias-моделей на уровне движка
Единственный спорный момент, я еще не определился - юзать ли кушные шрифты для консоли или фиг с ними. В принципе враппер в любом случае будет содержать небольшой набор собственных данных.
__________________
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'
Дядя Миша такой внезапный констраст со скринами из разработки паранойи А в чем соль этих алиас моделей? Ото гугл выдает результаты по автодеску и какие-то туториалы по улучшению освещения этих самых алиасов, но вот что они есть - не нашел. Или это аналог студиомоделей из халвы?
__________________
-Brain is dead-
Ладно, вот вам финальные скриншоты. Чёб не пугались.
Правда пока я всё это делал, понял что уже не хочу не какого Quake Wrap. Но если кто-нибудь сделает за меня, то ничего против не имею
__________________
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'
и крайний
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Дядя Миша кстати, а что с ориджином у афроамериканской модельки?
Добавлено 03-07-2017 в 20:28:
И вот, может интересно будет почитать, я там не особо шарю, но вроде чувак какую-то годноту с освещение сделал, навроде r_lighting_extended
http://www.quake-1.com/docs/quakesrc.org/97.html
__________________
-Brain is dead-
я эти шейд-доты выкинул нахрен в первую же очередь. Чо там лерпить-то? Взял нормальные дот-продукты сделал. Ну полигонов мало в модельке, да.
Добавлено 03-07-2017 в 20:34:
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Дядя Миша тени - это плющмодели, как я понял? Я в оригинальный кваковский код глянул, там даже метод для рисования тени есть, но я не уверен, блоб там или все-таки более менее полноценная
Добавлено 03-07-2017 в 21:17:
А про ориджин позабыл чото, замотался видать
__________________
-Brain is dead-
Ну ладно, чтобы увязать все эти форматы корректно в любом случае враппер не помешает. Заодно и проверю работу всех кушных форматов, там же не только спрайтесы и модели. Но разработка имеет все шансы стать вялотекущей. Клиентку с менюхой пока трогать не будем - ограничимся виртуальной машиной для прогс.дат, заодно проверю кои-что.
Основная засада конечно в необходимости иметь копию энтварсов и постоянно их туда-сюда гонять, т.к. кушные энтварсы не совпадают с халфовскими. И это конешно трогедия.
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Дядя Миша
Ты бы видео выложил, чтобы анимацию посмотреть...
__________________
Там при подключении QC несмотря даже на преемственность архитектур существует несколько интересных проблем, которые не позволят в лоб реализовать задуманное. Так что буду вам рассказывать по мере имплементации. Из очевидного мне - квака имеет архитектуру NQ, а халфа сложную смесь из NQ и QW. Как минимум это отражается на физике игрока - в NQ игрок управляется из PlayerPreThink, в частности код прыжка и код утягивания ко дну находится там, а в QW, понятное дело он вынесен в pmove. То есть ускорение игрока меняется уже в PlayerPreThink, а потом прыжок еще и дополнительно обрабатывается в pm_shared. Можно выкинуть обработку прыжка из pm_shared, раз уж мы не можем этого сделать для progs.dat, но тогда прыжок перестанет быть предиктабельным. Поверхностное решение заключается в том, чтобы принудительно восстанавливать прежнее значение velocity после вызова PlayerPreThink, однако оно тоже стрёмное - в том же Hipnotic идёт обработка землетрясений, которые не предиктабельны, но добавляются к velocity.
Как видите задачка не решается одним махом, надо подумать.
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Проблемы в движке
Помните ксаш когда-то давно разучился читать вады из паков, хотя халфа умела это всегда, просто об этом мало кто знал и соответственно никогда не юзал. Ну теперь самое время научить его обратно, но это весьма непростая задачка. Главным образом потому что необходим корректный поиск во всех вадах, на предмет необходимых файлов с учётом иерархии.
Поясню на примере. Допустим у нас в папке valve и папке мода лежит два файлика decals.wad. И пусть в папке мода он содержит лишь те декали, которых нет в decals.wad в папке valve. Как бы зачем их дублировать. Для разных папок эта задача еще более-менее решается, но представьте в каком порядке должны располагаться вады, запакованные в паки, чтобы сохранить приоритет поиска не только по алфавитному порядку в рамках одной папки, но и между игровой и фаллбэк директорией. А ведь допускается отсутствие тех или иных файлов в вадах с одинаковыми именами, т.е. поиск должен уметь просматривать все. Концепция архив-в-архиве очень сильно усложняет эту задачу.
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Ну чтоже. Движок научился читать вады из паков с сохранением всех приоритетов. Так что в скором времени можно будет их туда прятать для релизных версий игр.
Добавлено 06-07-2017 в 00:55:
Еще по мелочи - научил читать фиксированные шрифты на манер кушных.
__________________
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'
Дядя Миша люди ждали некстген графоний, инверсную кинематику, физику и умный ии, а тут вады в паках
Так и я донатов тоже жду
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Какая практическая польза класть вад в пак?
А пак в пак можно? А в тот пак еще паков наложить
__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!
По идее, и пак в вад можно. Можно целые цепочки строить.
__________________
Интересно, а зачем их вообще разделили на 2 независимых формата? Ведь же по сути это одно и тоже, не? Чисто для того чтобы в редактор ничего лишнего не грузили вместо текстур ?
__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!
FiEctro
Ну редактор, видимо, изначально вады поддерживал. Это ж думовский формат.
А паки опциональны, их завсегда можно распаковать.
__________________
Мне захотелось сделать wad архив вместо pak, с помощью какой утилиты это сделать?
__________________
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'
__________________
А я продолжаю операцию по сращиванию. Пока что всё проходит гладко, но впереди самая сложная часть - с посылкой мессаг на клиент. Чтобы было легче заценить мосштаб трогедии, приведу код посылки мессаги из кваки и халфы, для наглядности:
1 | WriteByte (MSG_BROADCAST, SVC_TEMPENTITY); |
2 | WriteByte (MSG_BROADCAST, TE_TELEPORT); |
3 | WriteCoord (MSG_BROADCAST, org_x); |
4 | WriteCoord (MSG_BROADCAST, org_y); |
5 | WriteCoord (MSG_BROADCAST, org_z); |
1 | MESSAGE_BEGIN( MSG_BROADCAST, SVC_TEMPENTITY, pev->origin ); |
2 | WRITE_BYTE( TE_TELEPORT ); |
3 | WRITE_COORD( pev->origin.x ); |
4 | WRITE_COORD( pev->origin.y ); |
5 | WRITE_COORD( pev->origin.z ); |
6 | MESSAGE_END(); |
1 | WriteByte (MSG_ONE, SVC_UPDATEENTITY|15); // 0x80|1|2|4|8 |
2 | WriteByte (MSG_ONE, 64); // 0x40 |
3 | WriteEntity(MSG_ONE,camera); |
4 | WriteCoord(MSG_ONE,camera.origin_x); |
5 | WriteCoord(MSG_ONE,camera.origin_y); |
6 | WriteCoord(MSG_ONE,camera.origin_z); |
__________________
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'
Так товарищи, вчера состоялся первый полноценный запуск враппера под квейком. Полноценный, это который не окончился вылетом, как можно догадаться. Выглядит пока что всё грустно, монстры не ходят, двери не открываются, факелы выглядят как артефакты, а игрок не слушается комманд. Но начало положено - виртуальная машинка работает правильно.
А многочисленные баги связаны с наличием двух наборов entvars и необходимостью теперь постоянно копировать из движкового в игровой и обратно. Это одна из основных неприятностей. Когда я её устраню, то скорее всего это примет уже достаточно играбельный вид. Но самое главное уже сделано и апробировано. К слову сказать, если кто-то полагает, что достаточно скопировать из кваки pr_exec, pr_edict и pr_cmds, то он очень сильно ошибается. Портированию препятствует масса архитектурных различий, решения для которых приходится изобретать находу. Да вон спросите у Ксерокса.
Добавлено 11-07-2017 в 17:37:
А где этот товарищ, который всё прогрессом интерисовался и писал что у него руки чешутся.
__________________
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
st1x51 тово и гляди сбудется твоя мечта. Как дальше жить-то будешь? Без мечты.
__________________
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'
Дядя Миша а для врапа понируется какой-то отдельный билд движка, или вот это всё дублирование энтварсов в основную ветку пойдет?
__________________
-Brain is dead-
Ну вот, теперь у меня наконец-то появился повод перепройти кваку, пройти первый раз Quake Remake, и сравнить эти дела с "чистой" квакой под ксашем. Заодно и моды будем вспаиграть. Ждём-с.
KiQ так дублирование не затрагивает собственно движок, оно на уровне игровой дллки. На уровне движка пришлось сделать один-единственный хак - отключить флаг FL_FROZEN через систему features. Потому что в квкаке это флаг FL_JUMPRELEASED и всякий раз отпуская кнопку прыжка игрок замораживается.
В целом польза враппера для отладки движка несомненна, я только вчера вычистил из него около десятка мелких багов, которые там сидели с 2010-го года. Ну там даже не то что баги - несоответствия. Ну например, дефолтовый бинд кнопки SPACE был +moveup, а должен был быть +jump. Вот такого плана.
__________________
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'
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Отремонтировал лерпинг на алиасах. По моей задумке лерпинг будет работать только через OP_STATE, но этого вроде как достаточно. Хотя мне и попадался какой-то кушный мод с анимацией моделей через self.frame++; но это скорее исключение такое.
Добавлено 13-07-2017 в 00:50:
Кстати в кваке что интересно - там анимация вьюмодели на сервере играется.
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Поддержка alias-моделей в движке полностью завершена
__________________
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
Что такое "делать анимации макросом"?
__________________
#define SDELAY_ANIMATSIYU self.frame++
st1x51 у тебя Twig в закромах остался?
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Вроде где-то был на дропбоксе.Твигу же нужны некоторые фичи из dp.
__________________
//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'
__________________
//generated by Quake, do not modify
//I want QuakeC in XashNT
http://www.moddb.com/games/conscript
st1x51 благодарю. А state это не макрос, это опкод такой специальный для анимации.
__________________
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'
Враппер внезапно стал полностью рабочим, как я и предсказывал
Конечно там нет еще сейв-рестора и клиентских эффектов, но уже можно побегать сквозь уровни как в настоящем квейке.
__________________
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'
Звучит интересно.
Качаю кваку с оф. аддонами в стиме. И CD с торрента для музыки. Буду проходить, чтобы потом сравнить.
Ксаш не умеет с CD играть музыку.
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Дядя Миша а если рипнуть в MP3, как проименовать файлы и куда положить?
CD я качаю больше для ваниллы, сначала пройду её. Давно уже не играл, многое не помню.
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
В кваке нет трека под номером 1?
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Первый трек это видео.
Первый трек - это дата. То есть установщик игры. В халфе так же. И в ку2 вроде бы.
Хорошо. А теперь самый главный вопрос. Почему первый трек это дата?
Ведь на дисках обычно дата отдельно, а музыка отдельно. И они друг-друг не мешают.
Добавлено 17-07-2017 в 01:02:
Я тут попутно сейв-рестор доделал. Такой потешный сейв-рестор получился - хак-на-хаке и хаком погоняет. Даже не знаю, будет ли это всё нормально работать. Тут смысл вот какой: в кваке и халфе фундаментально разный принцип работы сейв-рестора. Халфа всё сохраняет, а потом просто восстанавливает и вызывает функцию Precache, куда юзер пихает вызовы кэширования своих звуков и моделей для энтити. В кваке сейв сперва вызывает нормальный спавн всех энтить, типа как будто мы грузим карту через консоль.
В этот момент всё кэшируется, на клиент посылаются статики, спавнятся монстры итд. Далее. Поверх загруженного в штатном режиме уровня парсятся энтити. Причём номера эдикта увеличиваются на еденичку при каждом нового парсинге. Я хз как это чудо вообще работает и каждый раз куда-то там правильно попадает, особенно если учесть, что указатели на эдикты хранятся как их номера. Спасает только то, что это текстовый сейв.
В халфе я понятное дело не имею ни малейшей возможности сперва спавнить уровень, потом удалять чота там, это затрагивает архитектуру движка и такое городить ради какого-то там враппера крайне стрёмно.
Но в целом ситуация решается различными хаками и увёртками. Так например я вызываю спавн для восстановленной энтити, чтобы она могла что-нибудь там закэшировать или отправить амбиентсаунд. Статики ксаш умеет сохранять в сейв, а звуки кэшируются через поиск расширения .wav
Впрочем я догадываюсь что можно сделать более красивый вариант - сдампить в сейв все глобальные строки с расширениями .wav, .mdl, .spr и просто кэшить их при старте
В принципе у меня из несделанного остался только косячный чейнджлевел и можно уже начинать внутреннее тестирование.
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Правильно
CD-Extra в те годы еще просто не изобрели. Я совсем упустил это из виду.
Добавлено 17-07-2017 в 10:03:
Так римейк уже играбелен, но ты всплыл удивительный баг - при выстреле из любого оружия (кроме секиры), игрок почему-то теряет ключи из инвентаря. Чудеса да и только.
__________________
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
__________________
Разобрался, заодно понял зачем виртуальную машинку перезагружают после каждой смены\загрузки уровня - глобалсы-то модифицируются!
У меня например всякие intermission_exittime и прочие после смены уровня не обнулялись, т.к. машинка предполагала, что её полностью выгрузят и обратно загрузят. Но я поступил иначе - сохранил все изначальные глобалсы в укромный угалог и оттеда гружу при каждой смене карты. Думаю это в дальнейшем разом избавит от всех проблем и подозрительных глюков.
Вообще подводя итоги хочу сказать - очень самобытный интерпретатор получился. Ни в одном форке такого нет. Творчески переосмысленный.
Надеюсь мне эти эксперименты не выйдут боком в виде потери совместимости
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Ну что же. Вчера пробежал первый иписот под враппером
Профиксил кое-какии багги. В целом ничего критичного не вылезло, я доволен. Единственная неразрешённая проблема осталась - квака пхает строки в конце эпизода какой-то дикой длины, по килобайту-полтора, рассказывает нам как мы всех победили. А ксаш умеет максимум строку 255 символов по некоторым причинам. И получается, что эти надписи не появляются. В римейке-то я эту траблу решил просто и элегантно - затолкал эти тексты в titles.txt
Здесь уже так не получится, поэтому надо чё-нибудь выдумать. Хотя как я понимаю, эти большие строки и в халфе кое-где юзаются, motd через них шлётся.
Добавлено 18-07-2017 в 21:48:
Проблема со строками успешно разрешена
Если больше ничего критичного не вылезет, то враппер готов к первой публичной альфе. Но я конечно его еще потестирую.
__________________
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
Я, корочи, ванильную кваку пробежал, и начал квейк римейк проходить. Блин, не то. Пришлось покрутить sv_maxspeed и sv_gravity, чтоб было круто, как в оригинале. А ищо ошенама темно. Прям пипец. И радиус взрывов больше, чем в ванилле. И гвоздодёры мощнее вроде бы. Из приятных моментов - конверированные в hlmdl модельки анимируются плавнее, нежели даже в GLQuake с лерпингом. Декали там всякие на стенках, и screen quake, если можно так выразиться. Из неприятных - физика игрока не такая. Прыгает с опозданием. Ну, собсно, это выше было описано в этой теме, про вынос части кода в pm_shared. Ещё оружия долго меняет. В ванилле мгновенно, а в римейке после истечения m_flNextAttack. И ещё какие-то мелочи, я особо не запомнил, это надо задротить, чтобы явно отличить.
Если враппер даст результаты, аналогичные ванилле - это будет просто супер. Если будет похоже на римейк - тады ой, неаутентично.
__________________
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
Вот пара синглмап интересных, а так их полно. "The Altar of Storms by Necros", "Rubicon 2 by Metlslime" Рубикон это Унриал.
st1x51 погляжу. Но поправде говоря я не ставлю перед собой цели сделать враппер совместимым прямо вот со всем-со всем. Скорее наоборот, сделать базу уровня ваниллы, а вы потом сами будете расширять, копировать фишки из FTE И Даркплейса
Добавлено 18-07-2017 в 23:49:
Проверил, работает, но крайне хреново. Впрочем сама игра какая-то стрёмная. Неужели кому-то подобное нравится?
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Дядя Миша это некое подобие Resident Evil на PS1,с кат сценами)
просто довольно необычно выглядит для ванильной кваки
__________________
//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'
Team fortress должен работать,он же для ванильный кваки.
Интересно,а frik_file будет в данной vm?Ну или что-то такое,чего нет в ваниле (исключая фичи для twig)
__________________
//generated by Quake, do not modify
//I want QuakeC in XashNT
http://www.moddb.com/games/conscript
Помню, когда я был совсем мелким, мне понравился мод Alien Quake, по мотивам "чужих".
__________________
Скорей всего Xaerox играл не в такой Alien Quake https://youtu.be/5Mj16oU5ESk а в древний мод. Я в эту конверсию не играл,но у меня где-то осталась обычная версия мода из видео.
__________________
//generated by Quake, do not modify
//I want QuakeC in XashNT
http://www.moddb.com/games/conscript
st1x51
Я играл в самый обычный мод под первую кваку. Это даже не мод был, а тотальная конверсия - все модели и текстуры перерисованы.
__________________
1 | for( j = 0; j < 3 && distSquared <= flRadius; j++ ) |
2 | { |
3 | if( org[j] < ent->v.absmin[j] ) |
4 | eorg = org[j] - ent->v.absmin[j]; |
5 | else if( org[j] > ent->v.absmax[j] ) |
6 | eorg = org[j] - ent->v.absmax[j]; |
7 | else eorg = 0; |
8 |
9 | distSquared += eorg * eorg; |
10 | } |
for( int j = 0; j < 3; j++ ) |
eorg[j] = org[j] - (ev->origin[j] + (ev->mins[j] + ev->maxs[j]) * 0.5f); |
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
А,стоп,frik_file жи нужен для работы Twig
__________________
//generated by Quake, do not modify
//I want QuakeC in XashNT
http://www.moddb.com/games/conscript
st1x51 та я может еще потдержку твига не буду делать
Как же радость самостоятельных доработок?
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Дядя Миша оно и к лучшему на самом деле,твиг мало кому нужен был вообще.
Если я разберусь,то сделаю пару нужных мне штук,типа SVC_SCREENFADE и tracematerial
__________________
//generated by Quake, do not modify
//I want QuakeC in XashNT
http://www.moddb.com/games/conscript
Ну поглядим. Я ведь тут еще и движок активно дописываю. Но не ради враппера, а исправляю всякие узкие места, в которые не совался с 11-го года. Там много ужоса накопилось.
Добавлено 19-07-2017 в 23:42:
Слегка подшаманил враппер, envenom завёлся с небольшими огрехами.
__________________
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
Добавил глобальный туманчег и скайбоксы, например
Arcane Dimensions
Добавлено 20-07-2017 в 00:52:
__________________
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'
Достал из архивов исходники Нехахры. В интернете их уже не найти. Подумать только, когда я их сохранял, я вообще в этом ничерта не понимал.
__________________
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'
В Quake slide игрок не разгоняется, а ковыляет вместо этого.
Вот как должно быть:
https://github.com/mattbailey/quake-slide
сам мод: http://file.sampo.ru/8828vs/
Да что хорошего? Разогнался и в лаву упал
Наоборот надо оккуратно, чёб не падать.
__________________
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'
Дядя Миша
Соник раньше квейка как бы вышел. В 91 году если не ошибаюсь.
__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Временная зона GMT. Текущее время 21:56. | Показать все 158 сообщений этой темы на одной странице |
На основе vBulletin версии 2.3.0
Авторское право © Jelsoft Enterprises Limited 2000 - 2002.
Дизайн и программирование: Crystice Softworks © 2005 - 2024