-void init() {
+void init(EngineConfig config) {
if (window) {
logError("init called more than once");
return;
// glfwWindowHint(GLFW_CONTEXT_VERSION_MAJOR, 4);
// glfwWindowHint(GLFW_CONTEXT_VERSION_MINOR, 5);
- window = glfwCreateWindow(1280, 720, "shadowclad", NULL, NULL);
+ window = glfwCreateWindow(config.windowWidth,
+ config.windowHeight,
+ config.windowTitle.cstr,
+ NULL,
+ NULL);
+
if (!window) {
logError("Window or context creation failed");
glfwTerminate();
exit(EXIT_LIB_FAIL);
}
- logInfo("Setting swap interval to 1");
- glfwSwapInterval(1);
+ logInfo("Setting swap interval to %d", config.swapInterval);
+ glfwSwapInterval(config.swapInterval);
int width, height;
glfwGetFramebufferSize(window, &width, &height);
glfwTerminate();
}
+EngineConfig defaultConfig() {
+ return (EngineConfig) { .windowWidth = 800,
+ .windowHeight = 600,
+ .windowTitle = newString(NULL),
+ .swapInterval = 1 };
+}
+
static void onGlfwError(int error, const char* description) {
logError("GLFW error: %s", description);
}