From 650e5afde271d22b3653832daf339e1bd09a10d6 Mon Sep 17 00:00:00 2001 From: grm Date: Sat, 14 Mar 2026 02:29:15 +0200 Subject: Migrate to imgui 1.92.6 and SDL3 --- src/render.c | 47 ++++++++++++++++++++++------------------------- 1 file changed, 22 insertions(+), 25 deletions(-) (limited to 'src/render.c') diff --git a/src/render.c b/src/render.c index 591442f..fc8388a 100644 --- a/src/render.c +++ b/src/render.c @@ -80,10 +80,9 @@ const int INDICES_SIZE = VK_ARRAY_LEN(indices); /* }; */ /* const int INDICES_SIZE = VK_ARRAY_LEN(indices); */ -static int resizing_event_watcher(void *data, SDL_Event *event) { +static bool resizing_event_watcher(void *data, SDL_Event *event) { (void) data; - if (event->type == SDL_WINDOWEVENT && - event->window.event == SDL_WINDOWEVENT_RESIZED) { + if (event->type == SDL_EVENT_WINDOW_RESIZED) { s.sdl_window_resized = 1; } return 0; @@ -111,17 +110,15 @@ move_towards(vec3 position, vec3 front, float step) bool sdl_init() { - if (SDL_Init(SDL_INIT_VIDEO) < 0) { + if (!SDL_Init(SDL_INIT_VIDEO)) { vk_log(VK_INFO, "SDL could not initialize! SDL_Error: %s\n", SDL_GetError()); return false; } s.vk.window = SDL_CreateWindow("Vulkanizater", - SDL_WINDOWPOS_UNDEFINED, - SDL_WINDOWPOS_UNDEFINED, s.window_w, s.window_h, - SDL_WINDOW_SHOWN | SDL_WINDOW_RESIZABLE | SDL_WINDOW_VULKAN); + SDL_WINDOW_RESIZABLE | SDL_WINDOW_VULKAN); if (s.vk.window == NULL) { vk_log(VK_INFO, "Window could not be created! SDL_Error: %s\n", SDL_GetError()); return false; @@ -277,7 +274,7 @@ update_camera(float xoffset, float yoffset) void mouseCallback(SDL_Event *event) { - if (event->type != SDL_MOUSEMOTION) return; + if (event->type != SDL_EVENT_MOUSE_MOTION) return; float xoffset = event->motion.xrel; float yoffset = -event->motion.yrel; // Reversed since y-coordinates range from bottom to top @@ -1047,50 +1044,50 @@ handle_input(bool * quit) imgui_proc_event(&e); // User requests quit - if (e.type == SDL_QUIT) { + if (e.type == SDL_EVENT_QUIT) { *quit = true; } // User presses a key - else if (e.type == SDL_KEYDOWN) { - switch (e.key.keysym.sym) { - case SDLK_w: + else if (e.type == SDL_EVENT_KEY_DOWN) { + switch (e.key.key) { + case SDLK_W: // s.camera.pos[0] += 0.1f; move_towards(s.camera.front, s.camera.pos, -0.1f); move_towards(s.camera.pos, s.camera.front, 0.1f); break; - case SDLK_s: + case SDLK_S: //s.camera.pos[0] -= 0.1f; move_towards(s.camera.front, s.camera.pos, 0.1f); move_towards(s.camera.pos, s.camera.front, -0.1f); break; - case SDLK_a: + case SDLK_A: move_relative(s.camera.front, s.camera.pos, -0.1f, 1); move_relative(s.camera.pos, s.camera.front, 0.1f, 1); break; - case SDLK_d: + case SDLK_D: move_relative(s.camera.front, s.camera.pos, 0.1f, 1); move_relative(s.camera.pos, s.camera.front, -0.1f, 1); break; - case SDLK_q: + case SDLK_Q: move_relative(s.camera.front, s.camera.pos, 0.1f, 0); move_relative(s.camera.pos, s.camera.front, 0.1f, 0); break; - case SDLK_e: + case SDLK_E: move_relative(s.camera.front, s.camera.pos, -0.1f, 0); move_relative(s.camera.pos, s.camera.front, -0.1f, 0); break; - case SDLK_g: // reload shaders + case SDLK_G: // reload shaders recreate_graphics_pipeline(); break; - case SDLK_z: // toggle polygon mode + case SDLK_Z: // toggle polygon mode polygon_mode_n = (polygon_mode_n + 1) % 3; s.polygon_mode = polygon_modes[polygon_mode_n]; recreate_graphics_pipeline(); break; - case SDLK_l: + case SDLK_L: s.rotate = s.rotate ? 0 : 1; break; - case SDLK_m: + case SDLK_M: vkDeviceWaitIdle(s.vk.device); free(s.vertices); free(s.indices); @@ -1118,7 +1115,7 @@ handle_input(bool * quit) vulkan_create_vertex_buffer(); vulkan_create_index_buffer(); break; - case SDLK_r: + case SDLK_R: s.camera.pos[0] = 1.0f; s.camera.pos[1] = 1.0f; s.camera.pos[2] = 1.0f; @@ -1144,7 +1141,7 @@ handle_input(bool * quit) break; } } - else if (e.type == SDL_MOUSEWHEEL) { + else if (e.type == SDL_EVENT_MOUSE_WHEEL) { if(e.wheel.y > 0) // scroll up { s.zoom -= 1; @@ -1155,7 +1152,7 @@ handle_input(bool * quit) if (s.zoom == -100) s.zoom = 1; } } - else if (e.type == SDL_MOUSEBUTTONDOWN) { + else if (e.type == SDL_EVENT_MOUSE_BUTTON_DOWN) { if (e.button.button != 2) { s.mouse_pressed = 1; } else { @@ -1163,7 +1160,7 @@ handle_input(bool * quit) } } - else if (e.type == SDL_MOUSEBUTTONUP) { + else if (e.type == SDL_EVENT_MOUSE_BUTTON_UP) { if (e.button.button != 2) { s.mouse_pressed = 0; } else { -- cgit v1.2.3