-
-
Notifications
You must be signed in to change notification settings - Fork 424
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Lighting updates, new starlight #12891
Conversation
Changelog status: ✔️ |
Cейчас на сандбоксе был и если были вопросы насчёт производительности, то лагов я не заметил (быстро облетал, стрельба, обычная ходьба) при условии, что у меня крайне слабый пк. |
говорят ночное зрение у таяр не работает (которое обычно в полной темноте включается) |
после тестмержа этого пра неожиданно поломался сон, позже напишу ишуй да |
Сон поломался раньше. |
Спасибо за багрепорты, хотя многие вещи я тестил но последние патчи что-то всё же сломали. Я посмотрю на выходных и верну в ТМ. |
В параллаксе звезды сделать не окрашенными возможно? |
я пока не знаю, как, но это цель в перспективе. Особенно если будут туманности и прочие обновления параллакса. |
туманчик отдельным слоем и так есть! Видосывидик со звуком clowns.mp42021-09-07_15-47-01.mp4 |
Сейчас в теории туман можно белым делать, и накладывать на него общий цвет старлайта, как делают тг. Я на данный момент наелся, и пока не хочу в этой итерации ничего больше делать кроме фиксов, но можно будет вернуться к этому позже. |
@@ -126,6 +126,7 @@ var/global/static/list/radial_question = list( | |||
var/global/list/hex_by_color | |||
|
|||
// Use /hex2color(hex) for find color | |||
// what palette are these colors from? why we need it? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Это вроде я делал. Тут всякие html-вские цвета и их rgb. Юзается для фичи с дальтонизмом и проводами
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
главная проблема - они не соответствуют web-палитре, так что где-то еще это использовать возможно плохая идея и имя hex2color вводит в заблуждение. Оставил комментарий как предупреждение
if(variable == "dynamic_lighting") | ||
new_value = tgui_alert(usr, "dynamic_lighting",, list("DYNAMIC_LIGHTING_DISABLED", "DYNAMIC_LIGHTING_ENABLED", "DYNAMIC_LIGHTING_FORCED")) | ||
new_value = tgui_alert(usr, "dynamic_lighting",, list("ENABLED", "DISABLED")) | ||
switch(new_value) | ||
if("DYNAMIC_LIGHTING_DISABLED") | ||
new_value = DYNAMIC_LIGHTING_DISABLED | ||
if("DYNAMIC_LIGHTING_ENABLED") | ||
new_value = DYNAMIC_LIGHTING_ENABLED | ||
if("DYNAMIC_LIGHTING_FORCED") | ||
new_value = DYNAMIC_LIGHTING_FORCED | ||
if("ENABLED") | ||
new_value = TRUE | ||
if("DISABLED") | ||
new_value = FALSE |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Это наверное можно и убрать. Как-то бесмысленно для була делать такое)
@@ -491,17 +491,15 @@ | |||
return | |||
O.set_light(l_power = var_new) | |||
if("dynamic_lighting") | |||
if(!isarea(O) && !isturf(O)) | |||
to_chat(usr, "This can only be used on instances of type /area and /turf") | |||
if(!isarea(O)) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Это наверное можно и убрать. Как-то бесмысленно для була делать такое)
… it breaks, but it fixes some client.color filters like nightvision or invert.
…see what it breaks, but it fixes some client.color filters like nightvision or invert." This reverts commit ce7c5c4.
К этому еще надо будет вернуться, но в целом готово для мержа. |
Описание изменений
Твики света и новая версия света от звезд - теперь цветная! Спасибо TG и Beestation за некоторые наработки и идеи.
Превью
Мне лень делать видео.
Основные изменения:
create_all_lighting_objects()
и спавна/atom/movable/lighting_object
по требованию.lighting_object
не всегда присутствует на карте, для темноты добавлен отдельный слой на экран клиента.Environment Lighting это вторая "легкая" система освещения на плейнах, не зависимая от обычного динамического света, но совместимая с ней. Может использоваться как глобальный внешний натуральный свет, уникальный для каждого Z-уровня: свет от звезд, планетарные день/ночь. Отдельно возможно задавать независимое фоновое освещение для зон.
Глобальный свет можно централизовано обновлять для всех клиентов, в том числе плавно с применением анимаций. Это позволяет создавать авроры (пример можно посмотреть по ссылке у Beestation ниже), или какие-то еще эффекты.
Сам фреймворк еще нуждается в упорядочивании, сейчас меня на это не хватило. Возможно стоит перенести холдер в SSenvironment, или еще лучше объединить SSenvironment и SSmapping. И я отложил мап конфиг с индивидуальными настройками карт, так как пока не представляю, как лучше реализовать.
Известные проблемы, которые я не решу в рамках PR-а:
Почему и что этот ПР улучшит
Красиво, немного быстрее запускается сервер, новый класс эффектов.
Авторство
Это оригинальный PR, но в основе лежат идеи и некоторый код с BeeStation: BeeStation/BeeStation-Hornet#9577, и TG-station tgstation/tgstation#78877
Чеинжлог
🆑