Дядя Миша писал: они уже записаны в энтитях. Не благодари.
в массиве &entities который перебирается при поиске различных лайтов, никаких проп-статиков уже нету. Их оттуда заранее отфильтровывают и кладут вместе с мировыми полигонами, кажется.
Я в VRAD читаю массивы обычных Vector и некий небольшой но значительный процент значений оказывается -2147483648. Во-первых, как это детектировать? Сравнение if x < -99999 не помогает. Во-вторых, можно ли эти значения прочитать правильно? И как возникают они? Координата в мап-файле записана без точки, как целое, и при чтении во флоат что-то происходит?
Читаю углы пропсов и ориентирую лайтспоты соответствующим образом.
В какой-то момент перестало работать и не хочет чиниться. Читаешь с пропса угол 90 0 0, назначаешь его споту а он светит на стенку. Мне так и надо, но ведь 90 0 0 это вертикально вверх, какая стенка?
При том, что в Хаммере при 90 0 0 спот реально встаёт вертикально вверх, а на стенку уходит синяя палочка, видимо ролл.
И да, я помню что ненулевые питч и яв оверрайдят соотв компоненты вектора. И про недавний прикол с моими векторами тоже не забыл.
Вот такой код, нас интересует аксиальный случай т.к. неаксиальный работает правильно:
C++ Source Code:
1
if ( g_bFixFakeLights && bSpotlight )//new code, lightspots only
Обнаружилось такое: угол 90 0 0 конвертится SetupLightNormalFromProps в нормаль, значит, и потом обратно, выходит 270 180 0
Если SetupLightNormalFromProps поменять на AngleVectors то на выходе будет 90 180 0
Вроде оба варианта какой-то бред.
Угол 0 90 0 в обоих случаях возвращается без изменений, ну разве что питч инвертируется.
Саму SetupLightNormalFromProps я еле нашёл, её файл с кодом не добавлен в проект.
Сегодня экспериментировал в очередной раз с большими картами. Создал параллелепипед высотой почти 32768 юнитов. Прыгал игроком вниз и считал секунды, за сколько он долетит до земли. Пытался таким образом примерно сравнить габариты с картой Sunspire из анрила. Так вот. Создал внизу воду (мировую), скомпилил... Халфа вылетает при попытке загрузить карту. Пробовал воду-энтитю - такой же эффект. Опытным путём пришёл к заключению, что если расположить водный браш или энтитю дальше, чем 8192 юнита от центра карты - халфа вылетит. Ксаш, конечно же, не вылетает. Интересно, что там за фигня такая в движке, что приводит к вылету? Может быть у кого есть идеи?
Дядя Миша писал: в UT99 макс размер карты тоже +\-32768.
У меня +\-16384. И это очень дофига по меркам халфы. Возможно, в анриле действительно +\-32768 UU, я не смог нигде этого нагуглить. У меня почему возникли мысли сравнить размеры? После обсуждений и сравнений у1 и ку2, я решил пройти у1. Дошёл до небесного города, а перед ним насмотрелся на солнечный шпиль. Особенно впечатлило, как скаржи, столкнутые попаданием из ASMD ооочень долго падают в лаву. Решил попробовать сделать нечто подобное в халфе. Учитывая, насколько в анриле размазаны текстуры на сабжевой карте, я думаю, что её можно сделать под халфу, не уперевшись в лимиты BSP. С парой хаков, конечно, но тем не менее.
Дядя Миша вопрос по компилятору моделей, как сделать чтоб он не уменьшал размеры текстуры? Вот хочу юзать 1024х1024 на ксаше, а оно мне её до 512х512 снижает
__________________
Sometimes you have to get knocked down lower than you've even been to stand up taller than you everwere.
You so sad. No, i just die everyday...
I can't do anything around here without everybody getting up in my shit...
The aim of life is self-development.
thambs я давно хотел сделать. Всё-таки получилась не без багов, иногда уголки съезжают слишком далеко к краям экрана, когда энтитя совсем близко. Но это мелочь, мне лень тащить код из ксашмода, да ещё адаптировать его для халфы. Осталось сделать чтобы можно было так же выделять студиомодели, и будет готово.