RelictEngine: DevLog 20250323
Посты пока все-еще короткими логами
Важное: Отпуск закончился, теперь времени будет меньше. Думаю вернусь к графику один пост в неделю/две
Короткий список изменений:
Окончательно приведен в порядок метод Demangle для формирования имен классов с учетом кроссплатформенности
Вернулся в итоге к вызовам abi::__cxa_demangle в linux, который, увы, невозможно использовать на этапе компиляции, но с другой стороны он нам там теперь особо и не нужен. Для windows (msvc) проблем изначально не было, т.к. typeid возвращает сразу нормальное название (нужно лишь отбросить первые 6 символов)
Частично добавлена возможность передавать объект, связанный с объектом C++ из Lua в основную программу
Пока что на вход можно подать только указатель на базовый Object (т.е. надо использовать dynamic_cast/reinterpret_cast в теле C++ функции, чтобы получить нужный нам объект). Думаю, как реализовать нормальное приведение к нужному типу.
Частично добавлена возможность передавать объекты из C++ в Lua в качестве возвращаемого значения вызванной функции
Объект передается (вылетает по assert, если класс возвращаемого объекта не был зарегистрирован), но нужно придумать, как проверить, есть ли экземпляр этого объекта уже в стеке Lua, чтобы не плодить сущности.
Исправлен недочет имплементации ScriptClass<ObjectBasedClass>, при которой класс объекта не регистрировался в Lua, в случае, если у него нет ни одного функционального поля
Лига Разработчиков Видеоигр
8.9K поста23.2K подписчик
Правила сообщества
ОБЩИЕ ПРАВИЛА:
- Уважайте чужой труд и используйте конструктивную критику
- Не занимайтесь саморекламой, пишите качественные и интересные посты
- Никакой политики
СТОИТ ПУБЛИКОВАТЬ:
- Посты о Вашей игре с историей её разработки и описанием полученного опыта
- Обучающие материалы, туториалы
- Интервью с опытными разработчиками
- Анонсы бесплатных мероприятий для разработчиков и истории их посещения;
- Ваши работы, если Вы художник/композитор и хотите поделиться ими на безвозмездной основе
НЕ СТОИТ ПУБЛИКОВАТЬ:
- Посты, содержащие только вопрос или просьбу помочь
- Посты, содержащие только идею игры
- Посты, единственная цель которых - набор команды для разработки игры
- Посты, не относящиеся к тематике сообщества
Подобные посты по решению администрации могут быть перемещены из сообщества в общую ленту.
ЗАПРЕЩЕНО:
- Публиковать бессодержательные посты с рекламой Вашего проекта (см. следующий пункт), а также все прочие посты, содержащие рекламу/рекламные интеграции
- Выдавать чужой труд за свой
Подобные посты будут перемещены из сообщества в общую ленту, а их авторы по решению администрации могут быть внесены в игнор-лист сообщества.
О РАЗМЕЩЕНИИ ССЫЛОК:
Ссылка на сторонний ресурс, связанный с игрой, допускается только при следующих условиях:
- Пост должен быть содержательным и интересным для пользователей, нести пользу для сообщества
- Ссылка должна размещаться непосредственно в начале или конце поста и только один раз
- Cсылка размещается в формате: "Страница игры в Steam: URL"