Игровой фреймворк для разработки игр на языке Си, построенный на основе C Program Framework
Является прямым потомком игрового фреймворка PyGDF (его разработка остановлена).
Построен по принципам старого проекта PyGDF.
Графическая составляющая сейчас разрабатывается на SDL3 (3.4.2) и OpenGL (3.3+).
Используется GCC компилятор. Стандарты: c17 и c++17
Код библиотеки OpenGL был сгенерирован генератором GLAD.
Использовались такие параметры при генерации: ссылка на генерацию.
Используются следующие расширения в сгенерированной библиотеке:
GL_ARB_buffer_storage
GL_ARB_compute_variable_group_size
GL_ARB_debug_output
GL_ARB_direct_state_access
GL_ARB_instanced_arrays
GL_ARB_shader_image_load_store
GL_ARB_shader_storage_buffer_object
GL_ARB_texture_storage
GL_ARB_texture_storage_multisample
GL_ATI_meminfo
GL_EXT_texture_filter_anisotropic
GL_NVX_gpu_memory_info
Note
Для сборки проекта:
Используйте build.bat/.sh файл, который должен собрать весь проект. В случае ошибки или проблемы, сборка будет остановлена.
Для запуска проекта:
Используйте run.bat/.sh файл, который должен запустить собранную программу. Запускайте программу из корневого каталога проекта!
Note
Для этого можно использовать debugpy и конфигурацию запуска из файла .vscode/launch.json. Я просто использую комбинацию клавиш CTRL+B (у вас может быть другая комбинация для запуска сборки).
Вы можете использовать другой подход: Используйте примерно такую команду для запуска скрипта, который запускает сборку и запуск собранной программы подряд:
"${workspaceFolder}/build/tools/all.py" - Вы можете использовать её в своих конфигурациях запуска в других IDE, главное подредактируйте под себя, сохранив путь запуска Python скрипта $project/build/tools/all.py
На данный момент, документации нет. Она будет находиться в отдельном репозитории, либо будет открыта вики страница этого репозитория.
Для генерации документации, скорее всего будет использован личный генератор документации из исходников (требуется его разработать).
Документация будет разделена по версиям кода, для лучшего структурирования и ориентирования. Примеры кода и игр также будут написаны.