HLFX.Ru Forum
Показать все 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)


Отправлено Дядя Миша 05-03-2017 в 13:47:

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'


Отправлено XaeroX 05-03-2017 в 15:13:

Только не Wrap, а Warp. И не Quake, а Perilous. И не Xash, а Volatile. А так, в целом - всё верно!

__________________

xaerox on Vivino


Отправлено ~ X ~ 05-03-2017 в 15:25:

Цитата:
Дядя Миша писал:
Разумеется это всё можно будет портировать на андроид к примеру.

при помощи забаненных на форуме учаснегов? ну-ну

А по сабжу мне сказать почти нечего: квакеСи я ненавижу и стремлюсь уничтожить не использую, а для нормальных людей придумали angelscript. Тем более что он источник многих бед, таких как string_t. Ну что ж - если люди хотят, то должны получать.

Но лучше бы ты силы направил в мирное русло. Портабельная физика, рагдоллы, машинки...

__________________
Минутка полезного:
Бесплатный UT-подобный Half-Life mod.
Бесплатный редактор для 32-битных текстур. Без дотнета.
Бесплатный IDE для любых компиляторов и ЯП.
Бесплатная Windows-подобная ОС.
Проверка грамматики русского языка.
Чат по hl[fx]: [email protected]


Отправлено XaeroX 05-03-2017 в 15:58:

Цитата:
~ X ~ писал:
при помощи забаненных на форуме учаснегов? ну-ну

Не вижу никаких препятствий - технически сам форум в портировании не участвует.

__________________

xaerox on Vivino


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

Цитата:
~ X ~ писал:
А по сабжу мне сказать почти нечего: квакеСи я ненавижу и стремлюсь уничтожить не использую, а для нормальных людей придумали angelscript.

Ты рассуждаешь с позиции "вон тот язык мне нравится больше, но я сам не пробывал". А я рассуждаю с позиции "на QuakeC написано дочерта модов".

Цитата:
~ X ~ писал:
Тем более что он источник многих бед, таких как string_t

ухты.

Цитата:
~ X ~ писал:
Портабельная физика, рагдоллы, машинки...

Та чота мне физика не особо интересна стала. Сами возитесь.

__________________
My Projects: download page

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

Цитата:

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


Отправлено ~ X ~ 05-03-2017 в 18:09:

Цитата:
Дядя Миша писал:
А я рассуждаю с позиции "на QuakeC написано дочерта модов".

Ок. Хочешь утянуть квакокоммунити - ничего против не имею. Ну кроме перенаправлении твоей энергии на физику

__________________
Минутка полезного:
Бесплатный UT-подобный Half-Life mod.
Бесплатный редактор для 32-битных текстур. Без дотнета.
Бесплатный IDE для любых компиляторов и ЯП.
Бесплатная Windows-подобная ОС.
Проверка грамматики русского языка.
Чат по hl[fx]: [email protected]


Отправлено Crystallize 05-03-2017 в 18:16:

Следующая стадия - нативный запуск Анрила под Ксашем?


Отправлено thambs 05-03-2017 в 18:26:

>многих бед, таких как string_t
Можно подробности?

__________________
http://www.moddb.com/mods/monorail-quest


Отправлено nemyax 05-03-2017 в 19:29:

Можете показать пример чего-нибудь умного на QuakeC?


Отправлено Дядя Миша 05-03-2017 в 20:45:

Цитата:
Crystallize писал:
Следующая стадия - нативный запуск Анрила под Ксашем?

У нас свой анрил есть - XDM называется
Надо только редемир сделать.

nemyax тот же C только QuakeC.

Добавлено 05-03-2017 в 23:45:

Ну вот пример тепичной энтити
C++ Source Code:
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'


Отправлено nemyax 05-03-2017 в 21:10:

Цитата:
Дядя Миша писал:
Щас все куси компиляторы дают писать нормально, как в чистом Си.

С for-ом и struct-ами?

Цитата:
void()

Странная весчь.


Отправлено st1x51 05-03-2017 в 21:19:

Фраза "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


Отправлено thambs 05-03-2017 в 21:26:

>Ждём волнующих комментариев от Мастера по поводу увиденнова.
Дык Мастер же _в принципе_ ненавидит всё что интерпретируется вместо того что бы байты дрочить.

__________________
http://www.moddb.com/mods/monorail-quest


Отправлено Дядя Миша 06-03-2017 в 09:14:

Цитата:
nemyax писал:
С for-ом и struct-ами?

да.

Цитата:
st1x51 писал:
Сейчас еще многие знакомые квакеры переезжают на fteqw

Ну вот я и планирую взять расширенные прогсы оттуда.

__________________
My Projects: download page

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

Цитата:

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


Отправлено st1x51 06-03-2017 в 09:41:

Только серверную часть?
Или всё(как в старом ксаше,сервер,клиент,меню)

__________________
//generated by Quake, do not modify
//I want QuakeC in XashNT
http://www.moddb.com/games/conscript


Отправлено nemyax 06-03-2017 в 10:00:

Дядя Миша
Где смотреть актуальную документацию для такого модного QuakeC со структами? По сцылке с википедии малограмотное калище.


Отправлено Дядя Миша 06-03-2017 в 11:04:

Цитата:
st1x51 писал:
Только серверную часть?

ну естественно только серверную. Все эти клиентки-менюшки на куси никто не юзает. Баловство сплошное.

Добавлено 06-03-2017 в 14:04:

Цитата:
nemyax писал:
Где смотреть актуальную документацию для такого модного QuakeC со структами?

а чо там смотреть Си? Если знаешь Си - прям так и пиши как на Си.

__________________
My Projects: download page

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

Цитата:

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


Отправлено nemyax 06-03-2017 в 11:10:

Цитата:
Дядя Миша писал:
Если знаешь Си - прям так и пиши как на Си.

Это понятно, что как на си. Непонятно, про что писать. Хорошо бы доку про то, как оно взаимодействует с движком.
GLSL вот тоже "какнаси", а толку для знателей синтаксиса.


Отправлено Дядя Миша 06-03-2017 в 11:29:

Цитата:
nemyax писал:
GLSL вот тоже "какнаси", а толку для знателей синтаксиса.


Очень странно. Меня никто не учил писать ни на Куси ни на GLSL, я сходу во всём разобрался, не читая не какой документации. Конечно, если бы я её прочитал, я бы ищо лутьшы разобрался, бесспорно, но сами понимаете, теория после практики усваивается куда лучше, чем наоборот.
Т.е. сначала делаем параною, а потом читаем документацию - как правильно.

__________________
My Projects: download page

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

Цитата:

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


Отправлено nemyax 06-03-2017 в 12:03:

Цитата:
Дядя Миша писал:
я сходу во всём разобрался, не читая не какой документации. Конечно, если бы я её прочитал, я бы ищо лутьшы разобрался

Не, ну если ты исходники выпустишь, то и ок.
С документацией на земле вообще всё очень и очень грустно, что уж там.


Отправлено XaeroX 06-03-2017 в 12:13:

Цитата:
nemyax писал:
GLSL вот тоже "какнаси", а толку для знателей синтаксиса.

А что не так с С-синтаксисом в GLSL?

__________________

xaerox on Vivino


Отправлено nemyax 06-03-2017 в 12:21:

XaeroX
С ним всё хорошо. Но про попадание параметров в функцию через типы переменных в си ничего нет, например. Об этом ведь надо знать из хоть какой-нибудь документации.


Отправлено Дядя Миша 06-03-2017 в 13:24:

Цитата:
nemyax писал:
Не, ну если ты исходники выпустишь, то и ок.

Выпущу конечно.

Цитата:
nemyax писал:
Но про попадание параметров в функцию через типы переменных в си ничего нет, например

Ну я когда начал своё обучение GLSL, я просто скачал сорцы QEffects или QIndie от Ксерокса и уже через 15 минут понял, что и куда совать.
Нормальные люди сперва обучаются на готовых примерах, получают минимально рабочий результат и только потом, когда от проделанной работы пришла обратная связь в моск и сформировалась очередная абстракция - лезут читать нормальную документацию. Это единственно возможный способ что-то понять. В противном случае мы начинаем читать за какую-то абстракцию (без примеров) и начинается тотальное отторжение. Происходит это по простой причине - мозг человека так устроен, что из конкретики может сделать абстракцию. А вот наоборот - из абстракции сделать конкретику без выполнения физических действий - не может. Поэтому любая абстракция воспринимается враждебно. Но еще смешнее то, что многие этого или не понимают или сформулировать не могут, поэтому полезность их документации стремится к нулю.
Вот возьмите MSDN - там описалово функции, принимаемые параметры и сразу же ПРИМЕР ВЫЗОВА. Всё понятно и прозрачно. Документация по OpenGL долго нам рассказывает в каком году было добавлено то или иное расширение и какие параметры оно принимает на вход. Примеров нет.
Как это изучать? Правильно, только на реальном коде. Ну или предполагается, что у вас очень-очень много свободного времени для самостоятельных экспериментов методом тыка.

__________________
My Projects: download page

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

Цитата:

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


Отправлено st1x51 06-03-2017 в 13:35:

Цитата:
Дядя Миша писал:
ну естественно только серверную. Все эти клиентки-менюшки на куси никто не юзает. Баловство сплошное.


Хорошо. А ресурсы можно будет только от кваки юзать или еще hlmdl например?
кстати,для особых извращенцев,fteqcc умеет в классы,ну и полиморфизм тоже работает(только никто наверное и не пишет так)
C++ Source Code:
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 06-03-2017 в 13:57:

Цитата:
nemyax писал:
Но про попадание параметров в функцию через типы переменных в си ничего нет, например.

Не понял, о чём ты. Можно пример?

__________________

xaerox on Vivino


Отправлено nemyax 06-03-2017 в 14:29:

XaeroX
Я про то, как стейт попадает в шейдер через переменные со всякими квалификаторами типа uniform или varying, а не через аргументы или вызовы наружу.
Хотя в принципе и в си такое возможно с волатилами.


Отправлено XaeroX 06-03-2017 в 14:35:

nemyax
То, что в Си номер ошибки попадает в errno, тебя не смущает?
Стейт - это такие же предопределённые глобальные переменные, а не часть языка.

__________________

xaerox on Vivino


Отправлено Дядя Миша 06-03-2017 в 15:24:

Цитата:
st1x51 писал:
А ресурсы можно будет только от кваки юзать или еще hlmdl например?

Я сделаю буллетины для полноценной работы со студиомодельками. Точнее говоря я их еще в 2008-м сделал, так-то. Ну изкаропки конечно алиасы, код кваки под них заточен. Там же фундаментальное отличие - в алиасах сквозная нумерация кадров, а в халфе секвенции.

Цитата:
st1x51 писал:
кстати,для особых извращенцев,fteqcc умеет в классы,ну и полиморфизм тоже работает

Он это умел еще в 2007-м году. Просто, доков же нет, никто и не в курсе, кагбы.

Цитата:
XaeroX писал:
То, что в Си номер ошибки попадает в errno, тебя не смущает?

Я ниразу не видел, чтобы его кто-то юзал. Единственный на моей памяти был случай, когда я файл на диск писал, а он почему-то не писался, а оказалось место кончилось на диске.

__________________
My Projects: download page

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

Цитата:

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


Отправлено nemyax 06-03-2017 в 15:31:

Цитата:
Дядя Миша писал:
Я сделаю буллетины для полноценной работы со студиомодельками.

С развесованными!


Отправлено thambs 06-03-2017 в 15:41:

Дядя Миша
qc как то в xt можно будет подключать, или всё ограничится квкакой?

__________________
http://www.moddb.com/mods/monorail-quest


Отправлено XaeroX 06-03-2017 в 15:53:

Цитата:
Дядя Миша писал:
Я ниразу не видел, чтобы его кто-то юзал.

А я, напротив, много где видел. Это основной способ узнать код ошибки в си (в плюсах - исключения).

__________________

xaerox on Vivino


Отправлено Дядя Миша 06-03-2017 в 16:00:

Это будет враппер чисто для кваки и ейных модов. Я размышлял на тему того, можно ли иметь одновременно энтити в дллке и виртуальной машинке и пришёл к выводу, что ничего хорошего из этого не получится. А вот плохого может получиться довольно много. К тому же в QC есть некоторые фундаментальные ограничения архитектуры - например невозможность создать multi_manager или любую другую энтить с произвольными ключами.

Добавлено 06-03-2017 в 19:00:

Цитата:
XaeroX писал:
Это основной способ узнать код ошибки в си

Я долгое время полагал, что err no переводится как ошибок нет.

__________________
My Projects: download page

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

Цитата:

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


Отправлено thambs 06-03-2017 в 16:29:

Дядя Миша
А скриптовая(или какая?) система для xt будет на qc основываться, или там что-то своё?
>другую энтить с произвольными ключами
Там массив внутрь нельзя упрятывать?

__________________
http://www.moddb.com/mods/monorail-quest


Отправлено Crystallize 06-03-2017 в 16:50:

Цитата:
Дядя Миша писал:
У нас свой анрил есть - XDM называется
Надо только редемир сделать.

Я про сингл.

Добавлено 06-03-2017 в 23:50:

Из-за ДМ нубы через 10 будут думать что хл, кс16 и квака-это моды на ксашдроид.


Отправлено Дядя Миша 06-03-2017 в 18:24:

Цитата:
thambs писал:
А скриптовая(или какая?) система для xt будет на qc основываться, или там что-то своё?

ну я же говорил - вот эти вот секвенции из халфы заюзаю. Как CSCZ.

Цитата:
thambs писал:
Там массив внутрь нельзя упрятывать?

ну там получается как. Если мы объявляем переменную с точкой, мы этой точкой сразу выполняем два действия:
- переменная будет читаться из настроек энтити
- переменная будет сохраняться в сейв

но поскольку мы заранее не знаем имена полей в мультиманагере, то и объявить их не сможем никак. А других способов не предусмотрено

Цитата:
Crystallize писал:
Из-за ДМ нубы через 10 будут думать

через 10 минут?

__________________
My Projects: download page

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

Цитата:

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


Отправлено Crystallize 06-03-2017 в 20:16:

Дядя Миша 10 лет


Отправлено st1x51 24-03-2017 в 09:54:

как там прогресс?

__________________
//generated by Quake, do not modify
//I want QuakeC in XashNT
http://www.moddb.com/games/conscript


Отправлено Дядя Миша 24-03-2017 в 17:21:

Прогресс отлично. Проверил пути к системных картинкам, на предмет возможности их загрузки как из вада, так и из папки (в халфе это 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'


Отправлено st1x51 27-03-2017 в 14:58:

Отлично,будем ждать.Надеюсь,проблем не возникнет.

__________________
//generated by Quake, do not modify
//I want QuakeC in XashNT
http://www.moddb.com/games/conscript


Отправлено Crystallize 27-03-2017 в 15:23:

В Ксаше-то хоть кто-нибудь разберется после всего этого?


Отправлено st1x51 03-04-2017 в 07:14:

Цитата:
Crystallize писал:
В Ксаше-то хоть кто-нибудь разберется после всего этого?

кому надо,тот разберется

уже руки чешутся,попробовать бы)

__________________
//generated by Quake, do not modify
//I want QuakeC in XashNT
http://www.moddb.com/games/conscript


Отправлено FiEctro 03-04-2017 в 09:36:

Я помню какое бурление говна вызвала публикация ксаша на форумах моддеров квейка. Им словно на яйца наступили, в итоге админу всё надоедало и он выпиливал тему к чертям. Я уверен, те кто юзал кваку, так и продолжат юзать именно её.

__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!


Отправлено XaeroX 03-04-2017 в 09:45:

FiEctro
Как мне показалось, квейковское коммьюнити очень консервативно. У них до сих пор выходят ремейки, где из всех улучшений - только цветное освещение и глобальный туман. Ну и поднятые лимиты, само собой. Даже за банальный лерпинг анимаций можно навсегда прослыть еретиком.

__________________

xaerox on Vivino


Отправлено Дядя Миша 03-04-2017 в 09:52:

FiEctro а чего бурлили-то?

__________________
My Projects: download page

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

Цитата:

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


Отправлено FiEctro 03-04-2017 в 09:54:

Дядя Миша
Из-за того что виндовс онли и копирайты.

__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!


Отправлено st1x51 20-04-2017 в 09:58:

есть новости?)

__________________
//generated by Quake, do not modify
//I want QuakeC in XashNT
http://www.moddb.com/games/conscript


Отправлено Дядя Миша 20-04-2017 в 14:47:

Есть: проекту срочно требуются донаты

__________________
My Projects: download page

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

Цитата:

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


Отправлено Дядя Миша 13-06-2017 в 22:02:

Вернулся к работе над проектом. На данный момент идёт активное внедрение поддержки alias-моделей на уровне движка
Единственный спорный момент, я еще не определился - юзать ли кушные шрифты для консоли или фиг с ними. В принципе враппер в любом случае будет содержать небольшой набор собственных данных.

__________________
My Projects: download page

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

Цитата:

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


Отправлено nemyax 14-06-2017 в 05:44:

Цитата:
Дядя Миша писал:
юзать ли кушные шрифты для консоли или фиг с ними

Фиг, конечно.


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

Первые эксперименты по восстановлению потдержки алиасов %)

__________________
My Projects: download page

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

Цитата:

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


Отправлено KiQ 03-07-2017 в 16:48:

Дядя Миша такой внезапный констраст со скринами из разработки паранойи А в чем соль этих алиас моделей? Ото гугл выдает результаты по автодеску и какие-то туториалы по улучшению освещения этих самых алиасов, но вот что они есть - не нашел. Или это аналог студиомоделей из халвы?

__________________
-Brain is dead-


Отправлено nemyax 03-07-2017 в 17:09:

Цитата:
KiQ писал:
А в чем соль этих алиас моделей?

Да это дядя Миша так поддержку сторонних форматов моделек называет (кваковских в данном случае).


Отправлено Дядя Миша 03-07-2017 в 17:24:

Ладно, вот вам финальные скриншоты. Чёб не пугались.
Правда пока я всё это делал, понял что уже не хочу не какого 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'


Отправлено Дядя Миша 03-07-2017 в 17:24:

И еще

__________________
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 в 17:24:

и крайний

__________________
My Projects: download page

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

Цитата:

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


Отправлено KiQ 03-07-2017 в 17:28:

Дядя Миша кстати, а что с ориджином у афроамериканской модельки?

Добавлено 03-07-2017 в 20:28:

И вот, может интересно будет почитать, я там не особо шарю, но вроде чувак какую-то годноту с освещение сделал, навроде r_lighting_extended
http://www.quake-1.com/docs/quakesrc.org/97.html

__________________
-Brain is dead-


Отправлено Дядя Миша 03-07-2017 в 17:34:

я эти шейд-доты выкинул нахрен в первую же очередь. Чо там лерпить-то? Взял нормальные дот-продукты сделал. Ну полигонов мало в модельке, да.

Добавлено 03-07-2017 в 20:34:

Цитата:
KiQ писал:
что с ориджином у афроамериканской модельки?

в кваке все оригины утоплены на 24 юнита. Последние три скрина - это я нарочно оригин задрал, чёб скриншотов понаделать. В халфе оно не будет нормально.

__________________
My Projects: download page

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

Цитата:

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


Отправлено KiQ 03-07-2017 в 18:17:

Дядя Миша тени - это плющмодели, как я понял? Я в оригинальный кваковский код глянул, там даже метод для рисования тени есть, но я не уверен, блоб там или все-таки более менее полноценная

Добавлено 03-07-2017 в 21:17:

А про ориджин позабыл чото, замотался видать

__________________
-Brain is dead-


Отправлено Crystallize 03-07-2017 в 18:19:

Цитата:
Дядя Миша писал:
Ладно, вот вам финальные скриншоты. Чёб не пугались.
Правда пока я всё это делал, понял что уже не хочу не какого Quake Wrap. Но если кто-нибудь сделает за меня, то ничего против не имею

Когда проснулся с бодуна у друга на хате.


Отправлено Дядя Миша 03-07-2017 в 20:44:

Ну ладно, чтобы увязать все эти форматы корректно в любом случае враппер не помешает. Заодно и проверю работу всех кушных форматов, там же не только спрайтесы и модели. Но разработка имеет все шансы стать вялотекущей. Клиентку с менюхой пока трогать не будем - ограничимся виртуальной машиной для прогс.дат, заодно проверю кои-что.
Основная засада конечно в необходимости иметь копию энтварсов и постоянно их туда-сюда гонять, т.к. кушные энтварсы не совпадают с халфовскими. И это конешно трогедия.

__________________
My Projects: download page

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

Цитата:

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


Отправлено XaeroX 04-07-2017 в 02:23:

Дядя Миша
Ты бы видео выложил, чтобы анимацию посмотреть...

__________________

xaerox on Vivino


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

Там при подключении 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'


Отправлено Дядя Миша 04-07-2017 в 21:11:

Проблемы в движке

Помните ксаш когда-то давно разучился читать вады из паков, хотя халфа умела это всегда, просто об этом мало кто знал и соответственно никогда не юзал. Ну теперь самое время научить его обратно, но это весьма непростая задачка. Главным образом потому что необходим корректный поиск во всех вадах, на предмет необходимых файлов с учётом иерархии.
Поясню на примере. Допустим у нас в папке 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'


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

Ну чтоже. Движок научился читать вады из паков с сохранением всех приоритетов. Так что в скором времени можно будет их туда прятать для релизных версий игр.

Добавлено 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'


Отправлено Дядя Миша 06-07-2017 в 15:07:

Так товарищи. Кому интересен этот проект - отписываемся в теме, будем проводить ин-вен-та-ри-закцию! А то я пешу-пешу и тишина.

__________________
My Projects: download page

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

Цитата:

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


Отправлено ncuxonaT 06-07-2017 в 15:46:

Дядя Миша люди ждали некстген графоний, инверсную кинематику, физику и умный ии, а тут вады в паках


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

Так и я донатов тоже жду

__________________
My Projects: download page

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

Цитата:

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


Отправлено Cybermax 06-07-2017 в 17:41:

Какая практическая польза класть вад в пак?


Отправлено FiEctro 07-07-2017 в 10:20:

А пак в пак можно? А в тот пак еще паков наложить

__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!


Отправлено XaeroX 07-07-2017 в 10:33:

По идее, и пак в вад можно. Можно целые цепочки строить.

__________________

xaerox on Vivino


Отправлено FiEctro 07-07-2017 в 11:39:

Интересно, а зачем их вообще разделили на 2 независимых формата? Ведь же по сути это одно и тоже, не? Чисто для того чтобы в редактор ничего лишнего не грузили вместо текстур ?

__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!


Отправлено XaeroX 07-07-2017 в 13:01:

FiEctro
Ну редактор, видимо, изначально вады поддерживал. Это ж думовский формат.
А паки опциональны, их завсегда можно распаковать.

__________________

xaerox on Vivino


Отправлено Cybermax 07-07-2017 в 13:55:

Мне захотелось сделать wad архив вместо pak, с помощью какой утилиты это сделать?


Отправлено Дядя Миша 07-07-2017 в 15:37:

Цитата:
FiEctro писал:
Интересно, а зачем их вообще разделили на 2 независимых формата?

Так исторически сложилось. WAD - Where All Data, простейший линейный формат для предотвращения дефграментации диска. В дууме было очень-очень много мелких таких файликов, по 2-3-5 килобайт, если из дум-вада выдернуть их на жесткий диск, то они займут в два раза больше места, чем в ваде, за счёт фрагментации файловой, где размер кластера строго фиксирован и кратен степени двойки. А в кластере не может находиться два файла, только один, оставшееся место никак не использовать. Отсюда и растут все эти примитивные форматы упаковки, если вдруг кто не в курсе. А вовсе не для удобства или порядка. Ну собственно паки появились в первокваке, а вад там был изначально, т.к. квака писалась путём переписывания дуума. И вот он худел-худел-худел и в результате в ваде остались только циферки худа, ну и шрифты. Можете в дуумовский вад заглянуть, там тоже есть все эти anum и face. А остальное уже положили в пак, пак позволял создавать фейковые директории, что было удобно. Ну и вад маленький остался, кармак его тоже запихнул в пак, чёб он не болтался снаружи.
Цитата:
Cybermax писал:
Мне захотелось сделать wad архив вместо pak

Вад не поддерживает директории. И типы файлов, которые в нём находятся строго определены, туда нельзя насовать любых файлов от балды.

Добавлено 07-07-2017 в 18:37:

Цитата:
FiEctro писал:
Ведь же по сути это одно и тоже, не?

Абсолютно разные вещи по структуре.

__________________
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-2017 в 16:26:

Цитата:
Дядя Миша писал:
И типы файлов, которые в нём находятся строго определены, туда нельзя насовать любых файлов от балды.

Можно сделать лумп произвольных данных, и детектить контент по расширению. Но да, там ограничение в 16 символов, емнип.

__________________

xaerox on Vivino


Отправлено Дядя Миша 07-07-2017 в 17:51:

Цитата:
XaeroX писал:
Можно сделать лумп произвольных данных, и детектить контент по расширению

У вадов нет расширения, у них есть тип данных, в виде одного байта. Причём Кармак решил оформить эти типы данных в виде печатных символов, т.е. они начинаются с 65-го. Впрочем там есть еще свободные места в структуре описания лумпов.

Добавлено 07-07-2017 в 20:51:

Ну чтоже, приступил к имплементации. Весьма интересная задачка для меня.
И ЧСХ, тоже первый случай в мире такого сращивания. До меня еще никто не делал
В чистой халфе скорее всего этот фокус не провернуть, но с ксашевскими интерфейсами всё должно пройти гладко.

__________________
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-2017 в 18:06:

Цитата:
Дядя Миша писал:
У вадов нет расширения, у них есть тип данных, в виде одного байта.

Ну точку в имени лумпа же можно поставить? Вот и расширение.

__________________

xaerox on Vivino


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

А я продолжаю операцию по сращиванию. Пока что всё проходит гладко, но впереди самая сложная часть - с посылкой мессаг на клиент. Чтобы было легче заценить мосштаб трогедии, приведу код посылки мессаги из кваки и халфы, для наглядности:

C++ Source Code:
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);

Это квака.
C++ Source Code:
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();

А это халфа.
В чём заключается основная проблема? SVC_ и TE_ скорее всего не совпадут у кваки с халфой. А если даже и совпадут, мы всё равно не сможем грамотно перенаправить поток в нужном нам направлении, т.к. в кваке нет понятия END_MESSAGE, из-за чего не получится по нормальному узнать где она закончилась и где началась следующая. Из-за чего их ремап сопряжён с серъезными трудностями. Единственный боле-мене грамотный выход из ситуации заключается в том, чтобы парсить мессагу на сервере, ремапить и посылать её. Но при таком подходе будет проблематично восстановить их порядок при условии, что они запишутся в разные буффера. Возможно это и не имеет особого значения. Вообщем потенциальных проблем вышыкрышы.

Добавлено 08-07-2017 в 15:55:

А в сорцах хипнотика еще и вот такое грёбаное чудо встречается
C++ Source Code:
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'


Отправлено Дядя Миша 09-07-2017 в 22:47:

Цитата:

SV_LoadProgs: initailized extended EntityAPI ver. 140
SV_LoadProgs: initailized extended PhysicAPI ver. 6
Dll loaded for mod Quake
Playing shareware version.
Programs occupy 400K.
1.33 Mb alloced by server packet entities
Spawn Server: start
OP_ADDRESS: edict 2, localoffset 28, address 001C0002
OP_STORE: edict 2, localoffset 28, address 001C0002
OP_ADDRESS: edict 2, localoffset 95, address 005F0002
OP_STORE: edict 2, localoffset 95, address 005F0002
OP_ADDRESS: edict 0, localoffset 28, address 001C0000
OP_STORE: edict 0, localoffset 28, address 001C0000
OP_ADDRESS: edict 0, localoffset 95, address 005F0000
OP_STORE: edict 0, localoffset 95, address 005F0000
OP_ADDRESS: edict 0, localoffset 28, address 001C0000
OP_STORE: edict 0, localoffset 28, address 001C0000
OP_ADDRESS: edict 0, localoffset 95, address 005F0000
OP_STORE: edict 0, localoffset 95, address 005F0000
OP_ADDRESS: edict 0, localoffset 28, address 001C0000
OP_STORE: edict 0, localoffset 28, address 001C0000
OP_ADDRESS: edict 0, localoffset 95, address 005F0000
OP_STORE: edict 0, localoffset 95, address 005F0000

Первый пробный запуск

__________________
My Projects: download page

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

Цитата:

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


Отправлено Дядя Миша 11-07-2017 в 14:37:

Так товарищи, вчера состоялся первый полноценный запуск враппера под квейком. Полноценный, это который не окончился вылетом, как можно догадаться. Выглядит пока что всё грустно, монстры не ходят, двери не открываются, факелы выглядят как артефакты, а игрок не слушается комманд. Но начало положено - виртуальная машинка работает правильно.
А многочисленные баги связаны с наличием двух наборов 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'


Отправлено st1x51 11-07-2017 в 15:30:

Прячется где-то небось.

__________________
//generated by Quake, do not modify
//I want QuakeC in XashNT
http://www.moddb.com/games/conscript


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

st1x51 тово и гляди сбудется твоя мечта. Как дальше жить-то будешь? Без мечты.

__________________
My Projects: download page

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

Цитата:

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


Отправлено st1x51 11-07-2017 в 20:00:

Цитата:
Дядя Миша писал:
st1x51 тово и гляди сбудется твоя мечта. Как дальше жить-то будешь? Без мечты.


Я почти перестал мечтать.

__________________
//generated by Quake, do not modify
//I want QuakeC in XashNT
http://www.moddb.com/games/conscript


Отправлено Дядя Миша 11-07-2017 в 20:14:

Игрок уже ходит, а монстры атакуют
Параллельно исправляются некоторые мелкие огрехи в движке.

__________________
My Projects: download page

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

Цитата:

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


Отправлено KiQ 11-07-2017 в 21:50:

Дядя Миша а для врапа понируется какой-то отдельный билд движка, или вот это всё дублирование энтварсов в основную ветку пойдет?

__________________
-Brain is dead-


Отправлено Ku2zoff 12-07-2017 в 04:34:

Ну вот, теперь у меня наконец-то появился повод перепройти кваку, пройти первый раз Quake Remake, и сравнить эти дела с "чистой" квакой под ксашем. Заодно и моды будем вспаиграть. Ждём-с.


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

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'


Отправлено Cybermax 12-07-2017 в 14:09:

Цитата:
Ku2zoff писал:
Заодно и моды будем вспаиграть. Ждём-с.

Моды на квейк вспоиграть можно будет?


Отправлено Ku2zoff 12-07-2017 в 14:47:

Цитата:
Cybermax писал:
Моды на квейк вспоиграть можно будет?

Ну так-то да, ведь ксаш теперь умеет грузить progs.dat, кодить новые фичи из модов не надо. Как и перемоделивать модели, т.к. alias-модели теперь поддерживаются нативно. Оно конечно ещё неизвестно, как скоро всё будет играбельно, и насколько играбельно. Надо будет помочь тестированием.


Отправлено Дядя Миша 12-07-2017 в 15:19:

Цитата:
Cybermax писал:
Моды на квейк вспоиграть можно будет?

Дык затем и делается

Цитата:
Ku2zoff писал:
Оно конечно ещё неизвестно, как скоро всё будет играбельно, и насколько играбельно.

Ненавижу проблемы, которые нельзя решить приложив голову. Вот в данном случае я столкнулся именно с такой. Когда надо гонять данные из одной копии энтварсов в другую. Это меня очень сильно затормозило. Я вчера почти два часа с этим мудохался и почти без эффекта. Видимо придётся большую часть кода перетащить в дллку, чтобы не мучаться с этим копированием.

__________________
My Projects: download page

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

Цитата:

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


Отправлено Ku2zoff 12-07-2017 в 17:03:

Цитата:
Дядя Миша писал:
Видимо придётся большую часть кода перетащить в дллку, чтобы не мучаться с этим копированием.

Получается, будет серверная дллка, которая будет грузить progs.dat, аки HPB_Bot.dll грузит hl.dll? Или перетащить часть кода из прогсов в дллку, а остальное догружать из оригинального файла? А как же во втором случае быть с модами?


Отправлено Дядя Миша 12-07-2017 в 17:40:

Цитата:
Ku2zoff писал:
Получается, будет серверная дллка, которая будет грузить progs.dat, аки HPB_Bot.dll грузит hl.dll?

типа тово, да. Но положение, как я уже сказал осложняется наличием двух копий энтварсов у энтити. С одним работает виртуальная машина, другой халфовский. Если бы было можно копировать только в одну сторону, то проблемы бы и не было. Но движок сам активно изменяет какие-то поля у эдиктов и надо копировать туда-сюда. Это самый стрёмный кейс какой только можно придумать.
Я щас примерно обрисую ситуацию, чтобы вы поняли масштаб трагедии.
Итак, допустим вызывается SV_Physics_Step для монстра. Он там у себя вызывает Think, который вызывает функцию виртуальной машинки, которая в свою очередь может вызвать LinkEdict, который вызовет SV_TouchTriggers, который вызовет DispatchTouch, который вызовет что? Правильно очередную функцию виртуальной машинки. То есть цепочка ныряет туда-сюда по мере необходимости. Тут что-то проследить и вовремя скопировать практически невозможно. Разве что сидеть и перед каждым вызовом каждой функции анализировать что она затрагивает и копировать только это. Ну то есть понятно как это неудобно и как высока вероятность ошибиться. К тому же еще не забывайте, что эти машинки могут создавать там внутри энтити и брать на них указатель, а сами энтити не обновлятся по каким-то причинам на этом кадре, только на следующем. А в таких вещах своевременное обновление крайне важно. Прослакал копирование и всё пошло в обратку - удерживаться в прошлом состоянии.

__________________
My Projects: download page

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

Цитата:

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


Отправлено Дядя Миша 12-07-2017 в 21:50:

Отремонтировал лерпинг на алиасах. По моей задумке лерпинг будет работать только через 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'


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

Поддержка alias-моделей в движке полностью завершена

__________________
My Projects: download page

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

Цитата:

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


Отправлено st1x51 13-07-2017 в 14:57:

Цитата:
Дядя Миша писал:
Хотя мне и попадался какой-то кушный мод с анимацией моделей через self.frame++; но это скорее исключение такое.


тоже видел такое где-то

делать анимации макросом это жуть...

__________________
//generated by Quake, do not modify
//I want QuakeC in XashNT
http://www.moddb.com/games/conscript


Отправлено XaeroX 13-07-2017 в 15:57:

Что такое "делать анимации макросом"?

__________________

xaerox on Vivino


Отправлено nemyax 13-07-2017 в 16:18:

#define SDELAY_ANIMATSIYU self.frame++


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

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'


Отправлено st1x51 13-07-2017 в 22:20:

Вроде где-то был на дропбоксе.Твигу же нужны некоторые фичи из dp.

__________________
//generated by Quake, do not modify
//I want QuakeC in XashNT
http://www.moddb.com/games/conscript


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

Цитата:
st1x51 писал:
Твигу же нужны некоторые фичи из dp.

Правильно. Вот я и хочу их прикрутить, чтобы он работал.

Вообще я вам скажу это очень завораживающее зрелище - наблюдать за тем, как враппер постепенно начинает работать правильно. Сперва радуешься тому, что он подгрузил progs.dat и вылетел. Потом он уже корректно грузит уровень и расставляет энтити, потом появляется лерпинг анимаций у монстров, потом фуллбрайты на моделях, корректное освещение, моделька игрока в меню. И вот оно уже похоже на полноценную кваку, хотя еще и частично мёртвое
Но поскольку это враппер, то с какого-то момента вдруг резко появится возможность полноценного прохождения. Пока не знаю когда это случится, как я и говорил, щас основная проблема с этим копированием энтварсов.

__________________
My Projects: download page

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

Цитата:

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


Отправлено st1x51 14-07-2017 в 01:30:

Цитата:
XaeroX писал:
Что такое "делать анимации макросом"?


эт я не образованный набрался неправильных терминов на зарубежных форумах

state

void() framename = [$framenum, nextthink] { ...code...};

Цитата:
Дядя Миша писал:

Правильно. Вот я и хочу их прикрутить, чтобы он работал.

Twig: https://cloud.mail.ru/public/LFby/rFdcgeCq1

__________________
//generated by Quake, do not modify
//I want QuakeC in XashNT
http://www.moddb.com/games/conscript


Отправлено Ku2zoff 14-07-2017 в 05:43:

Цитата:
Дядя Миша писал:
у тебя Twig в закромах остался?

Поглядел архив, физика реализована на уровне мода? Насколько вероятно, что она (при успешной адаптации) перекочует в ксашмод и заменит собой physics? Чтобы, так сказать, всё нужное было в моде и движке, без сторонних либ.


Отправлено Дядя Миша 14-07-2017 в 09:41:

st1x51 благодарю. А state это не макрос, это опкод такой специальный для анимации.

Цитата:
Ku2zoff писал:
Поглядел архив, физика реализована на уровне мода?

ну я же неоднократно говорил, что под кваку попадаются кодеры в целом более грамотные нежели под халфу.

Цитата:
Ku2zoff писал:
Насколько вероятно, что она (при успешной адаптации) перекочует в ксашмод и заменит собой physics?

Этож партиклевая физика, нафиг она нужна. Для кваки еще норм и то только потому что её уже сделали.

Добавлено 14-07-2017 в 12:41:

ЗЫ. открой файлики с расширением .ubj в блокноте. Ты готов каждой модельке вот эту пердь прописывать?

__________________
My Projects: download page

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

Цитата:

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


Отправлено Ku2zoff 14-07-2017 в 09:50:

Цитата:
Дядя Миша писал:
Для кваки еще норм и то только потому что её уже сделали.

Цитата:
Дядя Миша писал:
Ты готов каждой модельке вот эту пердь прописывать?

То есть для модов, в которых есть нестандартные объекты, придётся прописывать пердь для этих нестандартных объектов. Ну и смысл вообще тогда её тащить, если она будет работать только в ванильной кваке?


Отправлено Дядя Миша 14-07-2017 в 10:01:

Цитата:
Ku2zoff писал:
Ну и смысл вообще тогда её тащить, если она будет работать только в ванильной кваке?

Я её не тащю, я хочу чтобы она заработала.

__________________
My Projects: download page

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

Цитата:

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


Отправлено Дядя Миша 15-07-2017 в 07:26:

Враппер внезапно стал полностью рабочим, как я и предсказывал
Конечно там нет еще сейв-рестора и клиентских эффектов, но уже можно побегать сквозь уровни как в настоящем квейке.

__________________
My Projects: download page

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

Цитата:

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


Отправлено Дядя Миша 15-07-2017 в 17:52:

Хэндлер сетевых мессаг готов
Остались сейвы, правда не знаю сколько они отымут времени. затем длительное тестирование с поиском багов и дам поюзать первую нестабильную альфа-версию.

__________________
My Projects: download page

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

Цитата:

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


Отправлено Cybermax 15-07-2017 в 18:23:

Звучит интересно.


Отправлено Ku2zoff 16-07-2017 в 13:24:

Качаю кваку с оф. аддонами в стиме. И CD с торрента для музыки. Буду проходить, чтобы потом сравнить.


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

Ксаш не умеет с CD играть музыку.

__________________
My Projects: download page

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

Цитата:

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


Отправлено Ku2zoff 16-07-2017 в 14:31:

Дядя Миша а если рипнуть в MP3, как проименовать файлы и куда положить?
CD я качаю больше для ваниллы, сначала пройду её. Давно уже не играл, многое не помню.


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

Цитата:
Ku2zoff писал:
а если рипнуть в MP3, как проименовать файлы и куда положить?

да как обзовёшь в cdaudio.txt - так и именуй. Я в римейке кваки не стал заморачиваться и обозвал их Track 01, Track 02 и так далее. И только спустя пару лет понял как же круто я облажался с нумерацией треков.
Интересно поймет ли кто-нибудь почему.

__________________
My Projects: download page

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

Цитата:

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


Отправлено Paopapel 16-07-2017 в 17:28:

В кваке нет трека под номером 1?


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

Цитата:
Paopapel писал:
В кваке нет трека под номером 1?

Нет. Но это следствие. А знаете ли вы почему в кваке нет такого трека?

__________________
My Projects: download page

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

Цитата:

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


Отправлено Paopapel 16-07-2017 в 17:59:

Первый трек это видео.


Отправлено Ku2zoff 16-07-2017 в 18:31:

Первый трек - это дата. То есть установщик игры. В халфе так же. И в ку2 вроде бы.


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

Хорошо. А теперь самый главный вопрос. Почему первый трек это дата?
Ведь на дисках обычно дата отдельно, а музыка отдельно. И они друг-друг не мешают.

Добавлено 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'


Отправлено Ku2zoff 17-07-2017 в 02:22:

Цитата:
Дядя Миша писал:
Хорошо. А теперь самый главный вопрос. Почему первый трек это дата?

Потому что CD записывались в Mixed Mode. Они в те года не поддерживали мультисессионную запись (сейчас можно писать в любом порядке в две сессии). Подозреваю, что комп не видел дату, если её записывали после аудиодорожек в одну сессию.


Отправлено Дядя Миша 17-07-2017 в 07:03:

Правильно
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'


Отправлено st1x51 17-07-2017 в 07:16:

Цитата:
Дядя Миша писал:
кроме секиры

А если по стене ударить?)

__________________
//generated by Quake, do not modify
//I want QuakeC in XashNT
http://www.moddb.com/games/conscript


Отправлено Ku2zoff 17-07-2017 в 07:24:

Цитата:
Дядя Миша писал:
при выстреле из любого оружия (кроме секиры), игрок почему-то теряет ключи из инвентаря.

Отдача большая, рюкзак расстёгивается

Добавлено 17-07-2017 в 14:24:

З.Ы. я вчера за пару часов пробежал полностью три эпизода первокваки и пять карт из четвёртого. Правда, не попал на секретный уровень. Сегодня закончу и примусь за Quake Remake.


Отправлено XaeroX 17-07-2017 в 07:41:

Цитата:
Дядя Миша писал:
всплыл удивительный баг - при выстреле из любого оружия (кроме секиры), игрок почему-то теряет ключи из инвентаря

Ну они, надеюсь, в этом случае респавнятся в оригинальном местоположении?
Тогда можно сказать, что это весьма пикантная фича.

__________________

xaerox on Vivino


Отправлено Дядя Миша 17-07-2017 в 14:33:

Разобрался, заодно понял зачем виртуальную машинку перезагружают после каждой смены\загрузки уровня - глобалсы-то модифицируются!
У меня например всякие 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'


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

Ну что же. Вчера пробежал первый иписот под враппером
Профиксил кое-какии багги. В целом ничего критичного не вылезло, я доволен. Единственная неразрешённая проблема осталась - квака пхает строки в конце эпизода какой-то дикой длины, по килобайту-полтора, рассказывает нам как мы всех победили. А ксаш умеет максимум строку 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'


Отправлено st1x51 18-07-2017 в 18:55:

Цитата:
Дядя Миша писал:
Но я конечно его еще потестирую.

мы тоже можем

__________________
//generated by Quake, do not modify
//I want QuakeC in XashNT
http://www.moddb.com/games/conscript


Отправлено Ku2zoff 18-07-2017 в 19:14:

Я, корочи, ванильную кваку пробежал, и начал квейк римейк проходить. Блин, не то. Пришлось покрутить sv_maxspeed и sv_gravity, чтоб было круто, как в оригинале. А ищо ошенама темно. Прям пипец. И радиус взрывов больше, чем в ванилле. И гвоздодёры мощнее вроде бы. Из приятных моментов - конверированные в hlmdl модельки анимируются плавнее, нежели даже в GLQuake с лерпингом. Декали там всякие на стенках, и screen quake, если можно так выразиться. Из неприятных - физика игрока не такая. Прыгает с опозданием. Ну, собсно, это выше было описано в этой теме, про вынос части кода в pm_shared. Ещё оружия долго меняет. В ванилле мгновенно, а в римейке после истечения m_flNextAttack. И ещё какие-то мелочи, я особо не запомнил, это надо задротить, чтобы явно отличить.
Если враппер даст результаты, аналогичные ванилле - это будет просто супер. Если будет похоже на римейк - тады ой, неаутентично.


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

Цитата:
Ku2zoff писал:
Пришлось покрутить sv_maxspeed и sv_gravity, чтоб было круто, как в оригинале

Не то ты крутил, ох не то. Ну впрочем я накручу как надо.

Цитата:
Ku2zoff писал:
А ищо ошенама темно. Прям пипец

Это общедвижковое, уже исправлено.

Цитата:
Ku2zoff писал:
И радиус взрывов больше, чем в ванилле. И гвоздодёры мощнее вроде бы

сомневаюсь я чёта. может функция findradius отличается.

Цитата:
Ku2zoff писал:
Из неприятных - физика игрока не такая. Прыгает с опозданием

дак ты предикт включи.

ЗЫ. неудержался и уже опробовал на враппере AD и Hipnotic. Работают с мелкими огрехами. Офигенно!

__________________
My Projects: download page

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

Цитата:

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


Отправлено st1x51 18-07-2017 в 20:09:

Цитата:
Дядя Миша писал:
неудержался и уже опробовал на враппере AD и Hipnotic. Работают с мелкими огрехами. Офигенно!


интересно,как это вот будет выглядеть
https://www.dropbox.com/s/e9p26wqv3...nvenom.rar?dl=0

__________________
//generated by Quake, do not modify
//I want QuakeC in XashNT
http://www.moddb.com/games/conscript


Отправлено Paopapel 18-07-2017 в 20:23:

Вот пара синглмап интересных, а так их полно. "The Altar of Storms by Necros", "Rubicon 2 by Metlslime" Рубикон это Унриал.


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

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'


Отправлено st1x51 18-07-2017 в 20:51:

Дядя Миша это некое подобие Resident Evil на PS1,с кат сценами)

просто довольно необычно выглядит для ванильной кваки

__________________
//generated by Quake, do not modify
//I want QuakeC in XashNT
http://www.moddb.com/games/conscript


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

Эти моды имеют грёбаную привычку вызывать напримую системные мессаги. А я далеко не все сделал. Ну да ладно, рано еще. Пока что погоняю саму кваку.

__________________
My Projects: download page

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

Цитата:

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


Отправлено Ku2zoff 19-07-2017 в 03:10:

Цитата:
Дядя Миша писал:
Не то ты крутил, ох не то.

Я начал крутить, когда не смог открыть секретку на e4m1, игрок просто никак не допрыгивал до кнопки, которую надо задеть башкой. А так бы вообще не притронулся, в целом всё проходибельно и с такими параметрами.
Цитата:
Дядя Миша писал:
сомневаюсь я чёта. может функция findradius отличается.

Реально больше. В ванилле я визардов без проблем сбивал гранатами с расстояния около 200 юнитов. В римейке же взрыв гранаты на таком расстоянии сбивает с игрока шапку наносит урон игроку. И на ограх я это тоже заметил: в ванилле они могут бегать прям чуть ли не рядом с гранатами (юнитов 100-150), и не получать от них урона, а в римейке отхватывают по чуть-чуть. Видимо, урон как-то плавнее уменьшается с расстоянием, по-халфовски.
Цитата:
Дядя Миша писал:
поправде говоря я не ставлю перед собой цели сделать враппер совместимым прямо вот со всем-со всем

Team Fortress будет работать? Хотелось бы самые такие хорошие моды вспаиграть. Я вот не особо их знаю, поэтому можно опрос сделать.


Отправлено st1x51 19-07-2017 в 07:34:

Team fortress должен работать,он же для ванильный кваки.

Интересно,а frik_file будет в данной vm?Ну или что-то такое,чего нет в ваниле (исключая фичи для twig)

__________________
//generated by Quake, do not modify
//I want QuakeC in XashNT
http://www.moddb.com/games/conscript


Отправлено Cybermax 19-07-2017 в 10:25:

Цитата:
Ku2zoff писал:
Хотелось бы самые такие хорошие моды вспаиграть. Я вот не особо их знаю, поэтому можно опрос сделать.


Если речь идет о сетевых, список в свое время популярных
http://www.moddb.com/mods/air-quake
http://www.moddb.com/mods/holywars-i
http://www.moddb.com/mods/threewave-capture
http://www.moddb.com/mods/team-fortress
http://www.moddb.com/mods/quake-rally
http://www.moddb.com/mods/headhuntersi
http://www.moddb.com/mods/action-quakei
Если про сингл то тысячи их, но мне бы был интересен
https://www.old-games.ru/game/1857.html


Отправлено XaeroX 19-07-2017 в 11:38:

Помню, когда я был совсем мелким, мне понравился мод Alien Quake, по мотивам "чужих".

__________________

xaerox on Vivino


Отправлено st1x51 19-07-2017 в 12:45:

Скорей всего Xaerox играл не в такой Alien Quake https://youtu.be/5Mj16oU5ESk а в древний мод. Я в эту конверсию не играл,но у меня где-то осталась обычная версия мода из видео.

__________________
//generated by Quake, do not modify
//I want QuakeC in XashNT
http://www.moddb.com/games/conscript


Отправлено XaeroX 19-07-2017 в 13:21:

st1x51
Я играл в самый обычный мод под первую кваку. Это даже не мод был, а тотальная конверсия - все модели и текстуры перерисованы.

__________________

xaerox on Vivino


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

Цитата:
Ku2zoff писал:
Я начал крутить, когда не смог открыть секретку на e4m1, игрок просто никак не допрыгивал до кнопки, которую надо задеть башкой

Я не уверен что энту кнопку вообще реально задеть без рокетджампа, т.к. я и в чистой кваке не могу до нее допрыгнуть. Всегда чууууть-чуть не достаю.

Цитата:
Ku2zoff писал:
Видимо, урон как-то плавнее уменьшается с расстоянием, по-халфовски.

Отличия RadiusDamage только в функции findradius и FindInSphere. Они действительно разные, приведу ключевые моменты:
C++ Source Code:
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
}

Это халфа
C++ Source Code:
for( int j = 0; j < 3; j++ )
  eorg[j] = org[j] - (ev->origin[j] + (ev->mins[j] + ev->maxs[j]) * 0.5f);

а это квака.
Так-то на первый взгляд они похожи, но есть разница. В кваке тестируется общая длина радиуса, а в халфе просто выбирается наибольшее значение. Переделывать не хочу, так реалистичнее. В римейке я себе могу позволить некоторые вольности. На то он и римейк.
Цитата:
st1x51 писал:
Интересно,а frik_file будет в данной vm?Ну или что-то такое,чего нет в ваниле (исключая фичи для twig)

Ты же и сам можешь легко прикрутить недостающщие беллютени

__________________
My Projects: download page

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

Цитата:

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


Отправлено st1x51 19-07-2017 в 14:31:

А,стоп,frik_file жи нужен для работы Twig

__________________
//generated by Quake, do not modify
//I want QuakeC in XashNT
http://www.moddb.com/games/conscript


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

st1x51 та я может еще потдержку твига не буду делать
Как же радость самостоятельных доработок?

__________________
My Projects: download page

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

Цитата:

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


Отправлено st1x51 19-07-2017 в 16:59:

Дядя Миша оно и к лучшему на самом деле,твиг мало кому нужен был вообще.
Если я разберусь,то сделаю пару нужных мне штук,типа SVC_SCREENFADE и tracematerial

__________________
//generated by Quake, do not modify
//I want QuakeC in XashNT
http://www.moddb.com/games/conscript


Отправлено Дядя Миша 19-07-2017 в 20:42:

Ну поглядим. Я ведь тут еще и движок активно дописываю. Но не ради враппера, а исправляю всякие узкие места, в которые не совался с 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'


Отправлено st1x51 19-07-2017 в 21:08:

Цитата:
Дядя Миша писал:
Слегка подшаманил враппер

хотим тестировать

__________________
//generated by Quake, do not modify
//I want QuakeC in XashNT
http://www.moddb.com/games/conscript


Отправлено Дядя Миша 19-07-2017 в 21:52:

Добавил глобальный туманчег и скайбоксы, например
Arcane Dimensions

Добавлено 20-07-2017 в 00:52:

Цитата:
st1x51 писал:
хотим тестировать

А кто еще?

__________________
My Projects: download page

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

Цитата:

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


Отправлено st1x51 19-07-2017 в 22:02:

Цитата:
Дядя Миша писал:
А кто еще?

Есть у меня товарищи одни забугорные,которые иногда спрашивают про xashnt(из-за vm естественно). Ну и пара любителей ксаша и кваки,которым нужен ксаш, бамп,qc,карты огромные и чтоб все на ондроедах и ойфонах было. /me достаёт губозакаточную машинку

Хм,добавлен формат карт bsp2?)

__________________
//generated by Quake, do not modify
//I want QuakeC in XashNT
http://www.moddb.com/games/conscript


Отправлено Дядя Миша 19-07-2017 в 23:04:

Цитата:
st1x51 писал:
Хм,добавлен формат карт bsp2?)

Ну там же не все карты в BSP2

Добавлено 20-07-2017 в 02:04:

Даже Nehahra работает. Очуметь

__________________
My Projects: download page

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

Цитата:

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


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

Достал из архивов исходники Нехахры. В интернете их уже не найти. Подумать только, когда я их сохранял, я вообще в этом ничерта не понимал.

__________________
My Projects: download page

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

Цитата:

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


Отправлено Ku2zoff 20-07-2017 в 14:46:

Цитата:
Дядя Миша писал:
А кто еще?

Я тоже хотел бы. Что-то меня на кваку потянуло. Я конечно не шибко знаток кваки, по сравнению с той же халфой, где всё помню наизусть, что и как должно быть. Но если надо искать вылеты, какие-то явные баги и несрабатывания чего-л., то справлюсь. Может и какие-нибудь не слишком заметные несоответствия увижу. Вопрос только в сроках, т.к. могу и за три дня пробежать ваниллу с аддонами, а могу и на полторы недели растянуть. Моя работа, мать её, непредсказуемая штука.

Добавлено 20-07-2017 в 21:46:

Цитата:
Дядя Миша писал:
Arcane Dimensions

Какая красота. Не каждая карта под халфу может таким похвастаться.


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

Цитата:
Ku2zoff писал:
Какая красота. Не каждая карта под халфу может таким похвастаться.

Это SimonOC или Sock. Очень талантливый маппер, у него и под кутри красивые карты. Вот его сайт http://www.simonoc.com/

__________________
My Projects: download page

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

Цитата:

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


Отправлено Crystallize 16-10-2017 в 03:57:

В Quake slide игрок не разгоняется, а ковыляет вместо этого.
Вот как должно быть:

https://github.com/mattbailey/quake-slide
сам мод: http://file.sampo.ru/8828vs/


Отправлено Дядя Миша 16-10-2017 в 15:39:

Да что хорошего? Разогнался и в лаву упал
Наоборот надо оккуратно, чёб не падать.

__________________
My Projects: download page

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

Цитата:

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


Отправлено Ku2zoff 16-10-2017 в 16:24:

Цитата:
Crystallize писал:

Ага, так вот откуда пошли эти стрёмные карты для кс с бж и шл с прыжками и задротством. Вот кому делать нечего, так это тем, кто в такое играет.


Отправлено Crystallize 16-10-2017 в 17:52:

Цитата:
Дядя Миша писал:
Да что хорошего? Разогнался и в лаву упал

Как видишь, с третьего раза он смог.


Отправлено Дядя Миша 16-10-2017 в 18:47:

Цитата:
Ku2zoff писал:
Ага, так вот откуда пошли эти стрёмные карты для кс

Я тебе больше скажу - отсюда же всякие соник-суперёжики пошли.

Не знаю я что там с физикой, в халфе физика фундаментально отличается от кваки. Есть желание и время разобраться? Вон там сорцы враппера в шапке темы.

__________________
My Projects: download page

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

Цитата:

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


Отправлено Crystallize 17-10-2017 в 01:50:

Цитата:
Дядя Миша писал:
Я тебе больше скажу - отсюда же всякие соник-суперёжики пошли.

Страшно представить что у тебя остальная инфа тоже такого уровня.


Отправлено FiEctro 17-10-2017 в 08:56:

Дядя Миша
Соник раньше квейка как бы вышел. В 91 году если не ошибаюсь.

__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!


Отправлено Дядя Миша 17-10-2017 в 17:52:

Цитата:
Crystallize писал:
трашно представить что у тебя остальная инфа тоже такого уровня.

Вы не всему верьте. Генерал Иволгин всё-таки иногда искажает действительность. По привычке. Противника дезинформирует.

__________________
My Projects: download page

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

Цитата:

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


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

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