Войти
Arctic EngineФорум

Нужна помощь в разработке (9 стр)

Страницы: 14 5 6 7 8 9
#120
(Правка: 13:52) 13:52, 12 мая 2022

samrrr
> А что хочешь сказать, что где-то это нетак? Назовёшь проект где ААА нормально
> делают?
У ААА проектов над которымим я работаю на работе все очень хорошо.

#121
14:16, 12 мая 2022

Mephistopheles
> А что кроме рендера спрайтов "движок" вообще умеет?
Рендер спрайтов, линий/кругов/треугольников, вывод текста из спрайтовго фонта, GUI (окошки, кнопки, поля ввода и все такое), сеть TCP или UDP, 3д звук с soft clipping, ввод с мышки, клавиатуры и контроллеров, граф сцены для 2д, самый быстрый в мире лог, всякие полезности типа easing functions, библиотек для xml, csv и fbx.

#122
14:57, 12 мая 2022

Huldra
> Просто возьми SpriteNode2F вместо Sprite, вот тут про них можно посмотреть
> https://huldra.gitlab.io/arctic/classarctic_1_1_sprite_node2_f.html
По ссылке 404, но я разобрался и нашел всё. Я так понимаю если я хочу нормальную производительность, то надо ждать пока ты отдублируешь код в HwSpriteNode2F. Лул. А была бы возможность просто выбрать механизм рендера (хардвар/софтвар), то SpriteNode2F сразу бы заработали из коробки.

Ты так и не ответила на мой вопрос:
Как мне попытаться загрузить текстуру, и если не получилось - сообщить об этом пользователю?

#123
15:20, 12 мая 2022

Huldra
спасибо

#124
22:57, 12 мая 2022

Huldra
> У ААА проектов над которымим я работаю на работе все очень хорошо.
Ну так давай, расскажи, у кого это всё так прекрасно? Что за проект такой?

#125
22:58, 12 мая 2022

Что кстати по сказочному гигабайту в секунду?

#126
2:55, 13 мая 2022

MrShoor
> Как мне попытаться загрузить текстуру, и если не получилось - сообщить об этом
> пользователю?
Пытаешься загрузить с флажком "не фейлить при ошибке", проверяешь результат, если он пустой, загрузка не удалась, выводишь сообщение пользователю.

#127
5:25, 13 мая 2022

Huldra
> Пытаешься загрузить с флажком "не фейлить при ошибке"
А где этот флажок устанавливать то? Дополнительного параметра у функции нет.
https://gitlab.com/seaice/arctic/-/blob/master/engine/easy_sprite.cpp#L967
Функция возвращает void. Казалось бы, ведь никто не мешал на худой конец написать так:

+ Показать

Хотя бы появляется возможность узнать: да/нет. Получилось или нет загрузить. Без какого либо дополнительного оверхеда. Там где важно - проверяем, там где не важно - можем забить.
Но нет, такой возможности нет. Судя по коду единственный способ узнать "обосрамс" функция или нет - сходить в лог до вызова и после вызова. Если в логе появилась новая строчка - то функция зафейлилась.
И если так уж сильно не хочется возвращать код ошибки, то сделай хотя бы аналогично SetLastError GetLastError. Чтобы вызывающий код хоть как-то мог в критическом участке понять, что же пошло не так. Сейчас твоя обработка ошибок - это не обработка ошибок, это тупо заглушка, которая спамит в лог.

#128
(Правка: 7:05) 7:00, 13 мая 2022

Можно смотреть по выбору либо на размер, либо проверять что не нулевой SpriteInstance()

Честно говоря, уже пару раз переделываю это место, в прошлый раз при ошибке выводился message box и происходил выход, и был bool аргумент у Load, позволяющий выбрать поведение (падать при остутствии файла или нет). Уже не помню чем мне не понравилось, но вот в новой версии не вылетает больше и окошек не показывает. Наверное действительно сделаю возврат статуса, только не хочу через bool, сделаю enum.

#129
14:05, 13 мая 2022

Huldra
> Можно смотреть по выбору либо на размер, либо проверять что не нулевой
> SpriteInstance()
Нельзя смотреть результат, потому что ты не очищаешь спрайт. Там могут быть старые данные (от предыдущего вызова Load).

#130
(Правка: 20:40) 20:40, 13 мая 2022

MrShoor
> Нельзя смотреть результат, потому что ты не очищаешь спрайт. Там могут быть
> старые данные (от предыдущего вызова Load).
А ты не делай с одним спрайтом два вызова Load. Понятно что косяк, конечно.

Страницы: 14 5 6 7 8 9
Arctic EngineФорум