Диджитал
Динамическая рефлексия всегда сводится к контейнеру
почему это? хранить пары имя-смещение
Arseny
Динамическая рефлексия должна будет приводить к ощутимому росту бинарника.
Anonymous
да, идем дальше Вот хранится внутри class Player: public IEntity экземпляр кастомного класса Health. Ты хотел бы чтобы в редакторе оно высветилось как подкатегория + можно было дергать свойства Health. Но класс объевлен только в рамках сборки данного объекта, редактор карт знать-не знает ни о Player, ни о Health
Anonymous
Динамическая рефлексия должна будет приводить к ощутимому росту бинарника.
Я в пример ставлю редактор карт. Как игрушка в конце собираться будет - дело двадцатое
Anonymous
Да, можно руками регистрировать каждое поле. Это будет работать. Но вы же заставляете это делать геймдевелоперов - они не должны об этом думать, они должны игру писать
Anonymous
а более аргументированно можно?
Anonymous
вот приведи свою реализацию, как бы сделал ты
Aidar
а более аргументированно можно?
Чё аргументировать? У тебя концептуально не правильный подход
Aidar
Это не должно выражаться кодом потомучто это данные
Aidar
Все что ты перечислил
Anonymous
То есть ты предлагаешь руками перечислять свойства через методы IEntity/IEngine? Или как?
Anonymous
Как сделать красиво?
Aidar
То есть ты предлагаешь руками перечислять свойства через методы IEntity/IEngine? Или как?
Не надо ничего перечислять это должно быть подобие контейнера
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 сам по себе синхронный и в асихронность не могет?
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
не указал куда класть статические либы
Pavel
Есть тулчейны для MacOS?
https://github.com/tpoechtrager/osxcross
Dmitry
не указал куда класть статические либы
так отдельно собирается и кладётся
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); }