09-19-2021, 06:27 PM
![[Изображение: Q0AAAgLC9OA-960.jpg]](https://a.d-cd.net/Q0AAAgLC9OA-960.jpg)
Хорошие новости: на днях купил Game Maker Studio 2 и решил, "из научного интереса", привязать к нему Xtreme3D. Вроде получилось, и даже без особых адаптаций в движке. Есть парочка особенностей:
- Почему-то GMS2 плохо работает с функциями stdcall, не получается нормально передавать им параметры. Пришлось все функции поменять на cdecl.
- Что ожидаемо, окно с вьювером Xtreme3D мерцает (конфликтуют две графические системы при перерисовке). В GMS2, к сожалению, нет set_automatic_draw, но эту проблему удалось победить другим способом, при помощи draw_enable_drawevent(false). Ее надо вызвать после отрисовки первого кадра, например по событию Alarm (в Create нельзя, иначе не появится окно игры). Таким образом, встроенная графика GMS полностью отключается, и работает только Xtreme.
В целом писать биндинги библиотек для GMS оказалось довольно удобно, так как можно все функции оформить одним скриптом.
![[Изображение: gms-x3d.jpg]](https://i.postimg.cc/pm5JzqFr/gms-x3d.jpg)
SDK: https://github.com/xtreme3d/xtreme3d/rel...tag/v3.9.1