HLFX.Ru Forum
профиль •  правила •  регистрация •  календарь •  народ •  FAQ •  поиск •  новое •  сутки •  главная •  выход  
HLFX.Ru Forum HLFX.Ru Forum > Разработка игр > Наши проекты > Quake Remake > Quake Wrap
An Ultimate Solution
Страницы (11): « Первая ... « 2 3 4 5 [6] 7 8 9 10 » ... Последняя »   Предыдущая тема   Следующая тема
Автор
Тема Новая тема    Ответить
 Дядя Миша
racing for fish

Дата регистрации: Oct 2005
Проживает: Кубань
Сообщений: 32188
Нанёс повреждений: 392 ед.

Рейтинг



Цитата:
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'

Сообщить модератору | | IP: Записан
Сообщение: 167349

Старое сообщение 07-07-2017 17:51
-
 XaeroX
Crystice Softworks

Дата регистрации: Oct 2005
Проживает: Торонто
Сообщений: 34498
Нанёс повреждений: 514 ед.
Возраст: 37

Рейтинг



Награды
 
[1 награда]


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

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

__________________
Правдой дорожить, лжи не потакать,
Дальних не судить, ближним помогать,
С тишиной сойтись на исходе дня
Научи меня, Родина моя!

Сообщить модератору | | IP: Записан
Сообщение: 167350

Старое сообщение 07-07-2017 18:06
-
 Дядя Миша
racing for fish

Дата регистрации: Oct 2005
Проживает: Кубань
Сообщений: 32188
Нанёс повреждений: 392 ед.

Рейтинг



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

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'

Сообщить модератору | | IP: Записан
Сообщение: 167351

Старое сообщение 08-07-2017 12:55
-
 Дядя Миша
racing for fish

Дата регистрации: Oct 2005
Проживает: Кубань
Сообщений: 32188
Нанёс повреждений: 392 ед.

Рейтинг



Цитата:

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'

Сообщить модератору | | IP: Записан
Сообщение: 167356

Старое сообщение 09-07-2017 22:47
-
 Дядя Миша
racing for fish

Дата регистрации: Oct 2005
Проживает: Кубань
Сообщений: 32188
Нанёс повреждений: 392 ед.

Рейтинг



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

Сообщить модератору | | IP: Записан
Сообщение: 167382

Старое сообщение 11-07-2017 14:37
-
st1x51
Частый гость

Дата регистрации: Feb 2012
Проживает: Мурманск
Сообщений: 86
Возраст: 29

Рейтинг



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

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

Сообщить модератору | | IP: Записан
Сообщение: 167386

Старое сообщение 11-07-2017 15:30
- За что?
 Дядя Миша
racing for fish

Дата регистрации: Oct 2005
Проживает: Кубань
Сообщений: 32188
Нанёс повреждений: 392 ед.

Рейтинг



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

__________________
My Projects: download page

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

Цитата:

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

Сообщить модератору | | IP: Записан
Сообщение: 167387

Старое сообщение 11-07-2017 16:50
-
st1x51
Частый гость

Дата регистрации: Feb 2012
Проживает: Мурманск
Сообщений: 86
Возраст: 29

Рейтинг



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


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

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

Сообщить модератору | | IP: Записан
Сообщение: 167395

Старое сообщение 11-07-2017 20:00
- За что?
 Дядя Миша
racing for fish

Дата регистрации: Oct 2005
Проживает: Кубань
Сообщений: 32188
Нанёс повреждений: 392 ед.

Рейтинг



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

__________________
My Projects: download page

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

Цитата:

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

Сообщить модератору | | IP: Записан
Сообщение: 167396

Старое сообщение 11-07-2017 20:14
-
KiQ
Житель форума

Дата регистрации: Aug 2010
Проживает: Смоленск, Москва
Сообщений: 2087

Рейтинг



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

__________________
-Brain is dead-

Сообщить модератору | | IP: Записан
Сообщение: 167397

Старое сообщение 11-07-2017 21:50
- За что?
Ku2zoff
Мастер Ёда из Деревни Дуракоф

Дата регистрации: Apr 2007
Проживает: В Деревне дураков
Сообщений: 6749
Возраст: 33

Рейтинг



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

Сообщить модератору | | IP: Записан
Сообщение: 167401

Старое сообщение 12-07-2017 04:34
- За что?
 Дядя Миша
racing for fish

Дата регистрации: Oct 2005
Проживает: Кубань
Сообщений: 32188
Нанёс повреждений: 392 ед.

Рейтинг



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'

Сообщить модератору | | IP: Записан
Сообщение: 167406

Старое сообщение 12-07-2017 08:22
-
Cybermax
Житель форума

Дата регистрации: May 2006
Проживает: ㅤ
Сообщений: 5125

Рейтинг



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

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

Сообщить модератору | | IP: Записан
Сообщение: 167425

Старое сообщение 12-07-2017 14:09
- За что?
Ku2zoff
Мастер Ёда из Деревни Дуракоф

Дата регистрации: Apr 2007
Проживает: В Деревне дураков
Сообщений: 6749
Возраст: 33

Рейтинг



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

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

Сообщить модератору | | IP: Записан
Сообщение: 167426

Старое сообщение 12-07-2017 14:47
- За что?
 Дядя Миша
racing for fish

Дата регистрации: Oct 2005
Проживает: Кубань
Сообщений: 32188
Нанёс повреждений: 392 ед.

Рейтинг



Цитата:
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'

Сообщить модератору | | IP: Записан
Сообщение: 167431

Старое сообщение 12-07-2017 15:19
-
Тема: (Опционально)
Ваш ответ:



Переводчик транслита


[проверить длину сообщения]
Опции: Автоматическое формирование ссылок: автоматически добавлять [url] и [/url] вокруг интернет адресов.
Уведомление по E-Mail: отправить вам уведомление, если кто-то ответил в тему (только для зарегистрированных пользователей).
Отключить смайлики в сообщении: не преобразовывать текстовые смайлики в картинки.
Показать подпись: добавить вашу подпись в конец сообщения (только зарегистрированные пользователи могут иметь подписи).

Временная зона GMT. Текущее время 17:47. Новая тема    Ответить
Страницы (11): « Первая ... « 2 3 4 5 [6] 7 8 9 10 » ... Последняя »   Предыдущая тема   Следующая тема
HLFX.Ru Forum HLFX.Ru Forum > Разработка игр > Наши проекты > Quake Remake > Quake Wrap
An Ultimate Solution
Версия для печати | Отправить тему по E-Mail | Подписаться на эту тему

Быстрый переход:
Оцените эту тему:

Правила Форума:
Вы not можете создавать новые темы
Вы not можете отвечать в темы
Вы not можете прикреплять вложения
Вы not можете редактировать ваши сообщения
HTML Код ВЫКЛ
vB Код ВКЛ
Смайлики ВКЛ
[IMG] Код ВКЛ
 

< Обратная связь - HLFX.ru >

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