9

RelictEngine: DevLog 20250402

и опять коротким ченджлогом ( потерпите, пожалуйста, еще немного - чуть-чуть осталось xD)

Короткий список изменений:

  • Добавлена возможность запустить движок без запуска основного цикла

  • Добавлен макрос IMPLEMENT_CONSOLE_APP для создания консольного приложения (утилиты)

    Этот макрос разворачивает функцию main с необходимым кодом.

  • Изменена процедура регистрации C++ класса в стеке Lua

    Теперь заместо таблицы класса, в глобальной таблице находится объект userdata, по которому Виртуальная машина Lua уже находит нужные метатаблицы и создает непосредственно объект (еще бы саму таблицу из __metatable запрятать подальше, чтобы не было возможности получить доступ к таблице методов без объекта, и будет совсем хорошо. Сейчас ее можно получить по строковому имени класса).

  • Упрощена функция NewObject со стороны Lua

    Благодаря изменению выше удалось сократить издержки на поиск нужно класса.

UPD:

Все еще не придумал, что делать с наследованием классов со стороны C++. Нужно пересмотреть структуру ScriptClass таким образом, чтобы он мог понимать, что у переданного ему класса есть родители - и проходится по ним, в случае, если для них существует собственный ScriptClass

Правила сообщества

ОБЩИЕ ПРАВИЛА:

- Уважайте чужой труд и используйте конструктивную критику

- Не занимайтесь саморекламой, пишите качественные и интересные посты

- Никакой политики


СТОИТ ПУБЛИКОВАТЬ:

- Посты о Вашей игре с историей её разработки и описанием полученного опыта

- Обучающие материалы, туториалы

- Интервью с опытными разработчиками

- Анонсы бесплатных мероприятий для разработчиков и истории их посещения;
- Ваши работы, если Вы художник/композитор и хотите поделиться ими на безвозмездной основе

НЕ СТОИТ ПУБЛИКОВАТЬ:

- Посты, содержащие только вопрос или просьбу помочь
- Посты, содержащие только идею игры

- Посты, единственная цель которых - набор команды для разработки игры

- Посты, не относящиеся к тематике сообщества

Подобные посты по решению администрации могут быть перемещены из сообщества в общую ленту.

ЗАПРЕЩЕНО:

- Публиковать бессодержательные посты с рекламой Вашего проекта (см. следующий пункт), а также все прочие посты, содержащие рекламу/рекламные интеграции

- Выдавать чужой труд за свой

Подобные посты будут перемещены из сообщества в общую ленту, а их авторы по решению администрации могут быть внесены в игнор-лист сообщества.


О РАЗМЕЩЕНИИ ССЫЛОК:

Ссылка на сторонний ресурс, связанный с игрой, допускается только при следующих условиях:

- Пост должен быть содержательным и интересным для пользователей, нести пользу для сообщества

- Ссылка должна размещаться непосредственно в начале или конце поста и только один раз

- Cсылка размещается в формате: "Страница игры в Steam: URL"