Диджитал
Arseny
Динамическая рефлексия должна будет приводить к ощутимому росту бинарника.
Anonymous
да, идем дальше
Вот хранится внутри class Player: public IEntity экземпляр кастомного класса Health. Ты хотел бы чтобы в редакторе оно высветилось как подкатегория + можно было дергать свойства Health. Но класс объевлен только в рамках сборки данного объекта, редактор карт знать-не знает ни о Player, ни о Health
Anonymous
Да, можно руками регистрировать каждое поле. Это будет работать. Но вы же заставляете это делать геймдевелоперов - они не должны об этом думать, они должны игру писать
Aidar
Anonymous
а более аргументированно можно?
Anonymous
вот приведи свою реализацию, как бы сделал ты
Aidar
Это не должно выражаться кодом потомучто это данные
Aidar
Все что ты перечислил
Anonymous
То есть ты предлагаешь руками перечислять свойства через методы IEntity/IEngine? Или как?
Anonymous
Как сделать красиво?
Aidar
Anonymous
псевдокод можешь показать? Мне просто скоро подобную задачу надо будет решать, вот и интересуюсь
Aidar
Не могу
Anonymous
Ясно
Олександр
Зачем редактору карт вообще знать что там в игре в бинарнике?
Anonymous
Свойства. Вот отмечаешь нужные переменные, которые редактор может менять, и в редакторе они появляются
Олександр
Сериализация решает эту проблему.
Anonymous
речь же не о игре самой
Олександр
Если я правильно понимаю.
Aidar
Да просто я вижу что твои мысли вдохновлены редактором Джаваформ и винформ
Anonymous
нет конечно, лол
Anonymous
Посмотри вон даже на UE4
Anonymous
у них целая тулза для рефлексии забахана
Anonymous
только чтобы узнать какие свойства дергать
Anonymous
никаких намеков в интерфейсе тупо нет (и не должно быть)
Aidar
И все что она делает это контейнер, только рядом, отвечаю
Anonymous
Контейнер? Какой контейнер?
Там кодогенерация, в том числе часть действительно сериализуется
Anonymous
Контейнером я много чего обозвать могу
Aidar
Контейнер это то в чем можно проверить существование (contains)
Anonymous
Я кажется понял о чем ты говоришь
И самое комичное - я говорю о том же
Пользователь руками ничего не регистрирует, есть лишь данные
И эти данные (свойства) уже дергает редактор карт: for(auto& property: object->get_properties())
Без наличия рефлексии ты не можешь получить список полей, да даже не сможешь узнать есть ли поле с таким-то названием. Когда ты начинаешь руками регистрировать поля и методы - ты делаешь костыльную рефлексию
Anonymous
Друзья, такой вопрос про Си, нормально ли будет работать Curl, вместе с библиотекой для зеленых потоков? http://libdill.org/index.html , необходимо делать много http реквестов
Anonymous
А curl сам по себе синхронный и в асихронность не могет?
Berkus
Stanislav
Vladislav
Vladislav
Nikita
Всем привет
Vladislav
Привет
Nikita
Вы разработчики с++
Nikita
?
Nikita
Хаха
Nikita
Аха так долго писал
Nikita
Сори за тупой вопрос
Vladislav
Палишь
Nikita
Пацаны а можете мне помочь с изучением с++
Nikita
Ну типа какие книги и тп
Nikita
Просто я новичок только дошло до темы классы
Nikita
Спс
Nikita
Лан пока
Anonymous
Ребятки, сидя в Ubuntu , можно ли нормально компилировать Си для windows и macOS ?
Pavel
Тулчейны ставь
Pavel
И кури
Matwey
Есть тулчейны для MacOS?
Dmitry
Почему цмейку не нравится install у вложенного проекта через ExternalProject_Add?
Dmitry
install TARGETS given no ARCHIVE DESTINATION for static library target
Anonymous
не указал куда класть статические либы
Dmitry
Matwey
Dmitry
${CMAKE_INSTALL_LIBDIR} переменная пустая почему-то
🦥Alex Fails
сделал бы проще: glViewport в том прямоугольнике окна, и рендерил бы спокойно
🦥Alex Fails
а, ну збс тогда
🦥Alex Fails
да хуй знает, надо ковырять иксы
🦥Alex Fails
покажи код (на пастбине или репу)
🦥Alex Fails
оба
Matwey
а драйвер какой? xorg-video-intel?
Matwey
А процессор какого поколения?
🦥Alex Fails
збс, го
Matwey
нет, у меня не было такого бага
🦥Alex Fails
спасиб, ща гляну
🦥Alex Fails
блин. у тебя косяк есть, но не с рендером, а в шаблонной функции на строчке 120:
template <class T>
static inline void FromWideFileName(T &dest, const sChar *str)
{
FromWideFileName(dest, str, sizeof(dest));
}
Она будет работать не совсем верно.
🦥Alex Fails
если ты передашь литерал сюда, то T раскроется в const char*, и sizeof вернет тебе размер указателя
🦥Alex Fails
чтоб правильно сделать, надо шаблон по-другому организовать:
🦥Alex Fails
template <class T, size_t N>
static inline void FromWideFileName(T &dest[N], const sChar *str)
{
FromWideFileName(dest, str, N);
}
🦥Alex Fails
норм, го рефактить, короч)
🦥Alex Fails
ща, не так написал, там чуть посложнее магия
🦥Alex Fails
template <class T, size_t N>
static inline void FromWideFileName(T (&dest)[N], const sChar *str)
{
FromWideFileName(dest, str, N);
}