summaryrefslogtreecommitdiffstats
path: root/src/render.c
diff options
context:
space:
mode:
authorgrm <grm@eyesin.space>2026-03-14 02:29:15 +0200
committergrm <grm@eyesin.space>2026-03-14 02:29:15 +0200
commit650e5afde271d22b3653832daf339e1bd09a10d6 (patch)
treecc5e536b0150de1109daa43a055547d2266e60dd /src/render.c
parent20e64711ce2a09b657fb79d59cb824e9e34d2b07 (diff)
downloadcgame-650e5afde271d22b3653832daf339e1bd09a10d6.tar.gz
cgame-650e5afde271d22b3653832daf339e1bd09a10d6.tar.bz2
cgame-650e5afde271d22b3653832daf339e1bd09a10d6.zip
Migrate to imgui 1.92.6 and SDL3HEADmaster
Diffstat (limited to 'src/render.c')
-rw-r--r--src/render.c47
1 files changed, 22 insertions, 25 deletions
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 {