HLFX.Ru Forum
профиль •  правила •  регистрация •  календарь •  народ •  FAQ •  поиск •  новое •  сутки •  главная •  выход  
HLFX.Ru Forum HLFX.Ru Forum > Теория и практика > Half-Life SDK > Глобальное изменение масштаба
Уменьшение размеров всего
Страницы (16): « Первая ... « 4 5 6 7 [8] 9 10 11 12 » ... Последняя »   Предыдущая тема   Следующая тема
Автор
Тема Новая тема    Ответить
 Дядя Миша
racing for fish

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

Рейтинг



Цитата:
Ku2zoff писал:
В халфе как эти модели получить?

ДА НЕ КАК! Стал бы я городить свои интерфейсы, если бы в халфе было можно. Народ извращался следующим способом в тринити - получал хэндл клиентки, и дергал Mod_Handle из клиентского интерфейса. Это разумеется работало только для листен-сервера. Дедикатед-сервер уже упадёт. Да и вообще способ откровенно стрёмный, хотя и рабочий.

Цитата:
Ku2zoff писал:
А почему в халфе невозможен прекэш налету, уже после спауна энтить? Именно из-за вот этих вот дел с моделями и их индексами?

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

__________________
My Projects: download page

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

Цитата:

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

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

Старое сообщение 22-01-2017 11:40
-
Ku2zoff
Мастер Ёда из Деревни Дуракоф

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

Рейтинг



Цитата:
Дядя Миша писал:
ДА НЕ КАК! Стал бы я городить свои интерфейсы, если бы в халфе было можно.

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

Не, это вообще правда стрёмно. Дедикатед-сервер должен работать в любом случае.

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

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

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

Рейтинг



Цитата:
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: Записан
Сообщение: 164229

Старое сообщение 22-01-2017 13:47
-
Ku2zoff
Мастер Ёда из Деревни Дуракоф

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

Рейтинг



Цитата:
Дядя Миша писал:
Ты умеешь их правильно грузить?

На данный момент нет.
Цитата:
Дядя Миша писал:
К тому же что значит загрузил?

В общих чертах - загрузил в память (mdl, bsp, spr). А в данном случае нужно получить model_t каждой энтити, которая имеет модель (mdl, bsp, spr). Пока не знаю, как это сделать, т.к. ещё не разобрался, как это делает движок. После кода дллок (на С с классами) код движка на чистом C выглядит крайне непонятно. Учитывая, что множество переменных и массивов разбросаны по разным файлам, сориентироваться очень трудно.

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

Старое сообщение 22-01-2017 15:27
- За что?
 Дядя Миша
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: Записан
Сообщение: 164234

Старое сообщение 22-01-2017 15:53
-
Ku2zoff
Мастер Ёда из Деревни Дуракоф

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

Рейтинг



Дядя Миша ну а каким образом я это пойму, не изучив как досконально сорцы ксаша? (Я это делать не планирую потому, что форкать его не собираюсь). Ну и польза от этого будет довольно сомнительная, учитывая конечную цель.

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

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

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

Рейтинг



А каким образом ещё можно пересчитать хуллы?

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

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

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

Рейтинг



Кое-что есть.

C++ Source Code:
1
// этот код непосредственно где-то на сервере:
2
extern "C" model_t *PM_Model(int index);
3
 
4
model_t *model = PM_Model(pEntity->entindex());
5
 
6
// а этот в PM_Shared:
7
model_t *PM_Model(int index)
8
{
9
  for (int i = 0; i < pmove->numphysent; i++)
10
  {
11
    if (pmove->physents[i].info == index)
12
      return pmove->physents[i].model;
13
  }
14
 
15
  return NULL;
16
}

C++ Source Code:
ALERT(at_console, "Model: %s\n", STRING(pEntity->pev->model));
ALERT(at_console, "PM_Model: %s\n", model->name);


Оба алерта выдают одинаковое имя. Осталось проверить, действительно ли модель доступна на сервере. И вообще, будет ли это работать.

Хм. Для поездов, брейкаблей, функ_валлов, функ_баттонов возвращает модель, для пушаблей нет (наверное потому, что они не SOLID_BSP). Для монстров соответственно тоже, т.к. надо возвращать не physents[i].model, а physents[i].studiomodel. Будем копать.

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

Старое сообщение 01-02-2017 16:48
- За что?
Ghoul [BB]
МРАЗЬ ОПАСНАЯ

Дата регистрации: Jan 2006
Проживает: ...и прожигает...
Сообщений: 2567

Рейтинг



А вот что я скажу.
Будут проблемы там, где вы их не ждёте.
А именно: В Tyrian изменение масштаба в 2 раза привело к тому, что прожектайлы стали пролетать сквозь игрока не разрываясь, (не все, а часть и периодически), сбить их тоже стало проблематичным из-за малого размера.

такие дела.

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

Старое сообщение 01-02-2017 17:48
- За что?
 Дядя Миша
racing for fish

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

Рейтинг



Цитата:
Ku2zoff писал:
И вообще, будет ли это работать.

В радиусе квадрата 256 юнитов вокруг игрока. В списке только эти объекты.

__________________
My Projects: download page

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

Цитата:

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

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

Старое сообщение 01-02-2017 19:23
-
Ku2zoff
Мастер Ёда из Деревни Дуракоф

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

Рейтинг



Дядя Миша а если вместо pmove->physents использовать pmove->visents? Судя по комментарию, объекты будут не только доступные для коллизии, но вообще все отрендеренные в данный момент. Но всё равно мало, максимум 600 объектов.

Добавлено 02-02-2017 в 08:21:

Цитата:
Ghoul [BB] писал:
В Tyrian изменение масштаба в 2 раза привело к тому, что прожектайлы стали пролетать сквозь игрока не разрываясь, (не все, а часть и периодически), сбить их тоже стало проблематичным из-за малого размера.

С игроком проблемы? Подозреваю, что ты размеры хулла не менял. Ни в компиляторах, ни в коде. Уменьшить игрока в два раза можно, влепив ему флаг FL_DUCKING на постоянку. Ну а проджектайлы? Они же и так точечные. Их зачем уменьшать?

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

Старое сообщение 02-02-2017 01:21
- За что?
Ghoul [BB]
МРАЗЬ ОПАСНАЯ

Дата регистрации: Jan 2006
Проживает: ...и прожигает...
Сообщений: 2567

Рейтинг



Цитата:
Ku2zoff писал:
Ну а проджектайлы? Они же и так точечные. Их зачем уменьшать?


Нет, не точечные. У ракет и прочего есть хитбоксы.

Цитата:
Ku2zoff писал:
Подозреваю, что ты размеры хулла не менял.


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

__________________
Ты топчешь мир своими ботинками,
Не замечая куда наступаешь,
А время от тебя уходит цветными картинками,
Но ты даже этого не понимаешь.

Компрометирую данные своей учётной записи.
ЛОГИН: Ghoul [BB]
ПАРОЛЬ: paladin_solo

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

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

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

Рейтинг



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

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

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

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

Рейтинг



Ku2zoff физэнты от визентов отличаются только тем, что в физэнты не попадают несолидные. А радиус тот же.

Цитата:
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: Записан
Сообщение: 164477

Старое сообщение 02-02-2017 15:16
-
Crystallize
Житель форума

Дата регистрации: Jul 2007
Проживает: Новосибирск
Сообщений: 4415
Возраст: 34

Рейтинг



Цитата:
Дядя Миша писал:
Никогда не читай вальвовские комментарии и не верь им.

Оппа, что-то новенькое.

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

Старое сообщение 02-02-2017 15:58
- За что?
Тема: (Опционально)
Ваш ответ:



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


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

Временная зона GMT. Текущее время 09:04. Новая тема    Ответить
Страницы (16): « Первая ... « 4 5 6 7 [8] 9 10 11 12 » ... Последняя »   Предыдущая тема   Следующая тема
HLFX.Ru Forum HLFX.Ru Forum > Теория и практика > Half-Life SDK > Глобальное изменение масштаба
Уменьшение размеров всего
Версия для печати | Отправить тему по E-Mail | Подписаться на эту тему

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

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

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

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