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

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

Рейтинг



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

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

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

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

__________________
В действительности всё может оказаться иначе, чем оно есть на самом деле

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

Старое сообщение 22-01-2017 10:40
-
Ku2zoff
Юзер (типа моддер)

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

Рейтинг



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

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

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

__________________
Вы всё ещё не пьёте? Тогда мы идём к вам!

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

Старое сообщение 22-01-2017 11:59
- За что?
 Дядя Миша
who said meow?

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

Рейтинг



Цитата:
Ku2zoff писал:
Выходит, придётся грузить повторно, дублируя то, что уже загрузил движок.

это еще хужы. К тому же что значит загрузил? Ты умеешь их правильно грузить?

__________________
В действительности всё может оказаться иначе, чем оно есть на самом деле

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

Старое сообщение 22-01-2017 12:47
-
Ku2zoff
Юзер (типа моддер)

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

Рейтинг



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

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

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

__________________
Вы всё ещё не пьёте? Тогда мы идём к вам!

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

Старое сообщение 22-01-2017 14:27
- За что?
 Дядя Миша
who said meow?

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

Рейтинг



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

__________________
В действительности всё может оказаться иначе, чем оно есть на самом деле

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

Старое сообщение 22-01-2017 14:53
-
Ku2zoff
Юзер (типа моддер)

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

Рейтинг



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

__________________
Вы всё ещё не пьёте? Тогда мы идём к вам!

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

Старое сообщение 22-01-2017 15:11
- За что?
Ku2zoff
Юзер (типа моддер)

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

Рейтинг



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

__________________
Вы всё ещё не пьёте? Тогда мы идём к вам!

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

Старое сообщение 25-01-2017 06:18
- За что?
Ku2zoff
Юзер (типа моддер)

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

Рейтинг



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

C++ Source Code:
// этот код непосредственно где-то на сервере:
extern "C" model_t *PM_Model(int index);

model_t *model = PM_Model(pEntity->entindex());

// а этот в PM_Shared:
model_t *PM_Model(int index)
{
    for (int i = 0; i < pmove->numphysent; i++)
    {
        if (pmove->physents[i].info == index)
            return pmove->physents[i].model;
    }
    
    return NULL;
}

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 15:48
- За что?
Ghoul [BB]
Больше знаний - больше печали

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

Рейтинг



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

такие дела.

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

Старое сообщение 01-02-2017 16:48
- За что?
 Дядя Миша
who said meow?

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

Рейтинг



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

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

__________________
В действительности всё может оказаться иначе, чем оно есть на самом деле

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

Старое сообщение 01-02-2017 18:23
-
Ku2zoff
Юзер (типа моддер)

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

Рейтинг



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

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

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

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

__________________
Вы всё ещё не пьёте? Тогда мы идём к вам!

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

Старое сообщение 02-02-2017 00:21
- За что?
Ghoul [BB]
Больше знаний - больше печали

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

Рейтинг



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


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

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


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

__________________
Видел я в каком-то фильме,
В каком-то старом фильме,
Как льётся солнце на золотые пляжи,
Hо врядли вспонмю, теперь я врядли вспомню.
Дождливый полдень мне не подскажет...

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

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

Старое сообщение 02-02-2017 10:16
- За что?
Ku2zoff
Юзер (типа моддер)

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

Рейтинг



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

__________________
Вы всё ещё не пьёте? Тогда мы идём к вам!

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

Старое сообщение 02-02-2017 13:10
- За что?
 Дядя Миша
who said meow?

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

Рейтинг



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

Цитата:
Ku2zoff писал:
Судя по комментарию, объекты будут не только доступные для коллизии, но вообще все отрендеренные в данный момент.

Никогда не читай вальвовские комментарии и не верь им.

__________________
В действительности всё может оказаться иначе, чем оно есть на самом деле

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

Старое сообщение 02-02-2017 14:16
-
Crystallize
Липучка

Дата регистрации: Jul 2007
Проживает: (void)
Сообщений: 1661

Рейтинг



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

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

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

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



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


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

Временная зона GMT. Текущее время 11:52. Новая тема    Ответить
Страницы (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.
Дизайн и программирование: Chain Studios © 2005-2017

Рейтинг@Mail.ru