From e8357dc636218d7cbb5f75f0e5c6b129de81b697 Mon Sep 17 00:00:00 2001 From: klemek Date: Thu, 18 Sep 2025 13:42:21 +0200 Subject: [PATCH] faster code: unsigned int --- src/args.c | 2 +- src/forge.c | 12 ++++++------ src/shaders.c | 18 ++++++++++-------- src/shaders.h | 3 ++- src/timer.c | 2 +- src/types.h | 2 +- 6 files changed, 21 insertions(+), 18 deletions(-) diff --git a/src/args.c b/src/args.c index 00c3a1d..a3b68d3 100644 --- a/src/args.c +++ b/src/args.c @@ -3,9 +3,9 @@ #include #include -#include "args.h" #include "config.h" #include "logs.h" +#include "types.h" static void print_help(int status_code) { puts(PACKAGE diff --git a/src/forge.c b/src/forge.c index 86e8950..ef8f472 100644 --- a/src/forge.c +++ b/src/forge.c @@ -26,7 +26,7 @@ static void key_callback(Window *window, int key, } } -static int compute_fps(Window *window, Timer *timer) { +static unsigned int compute_fps(Window *window, Timer *timer) { static double fps; char title[100]; @@ -36,12 +36,12 @@ static int compute_fps(Window *window, Timer *timer) { window_update_title(window, title); } - return (int)round(fps); + return (unsigned int)round(fps); } static void hot_reload(ShaderProgram program, File *common_shader_code, File *fragment_shaders) { - int i; + unsigned int i; bool force_update; force_update = false; @@ -78,7 +78,7 @@ static void loop(Window *window, ShaderProgram program, bool hr, window_refresh(window); } -File read_fragment_shader_file(char *frag_path, int i) { +File read_fragment_shader_file(char *frag_path, unsigned int i) { File fragment_shader; char *file_path; @@ -95,7 +95,7 @@ File read_fragment_shader_file(char *frag_path, int i) { static void init_files(char *frag_path, File *common_shader_code, File *fragment_shaders) { - int i; + unsigned int i; for (i = 0; i < FRAG_COUNT + 1; i++) { if (i == 0) { @@ -109,7 +109,7 @@ static void init_files(char *frag_path, File *common_shader_code, } static void free_files(File *common_shader_code, File *fragment_shaders) { - int i; + unsigned int i; for (i = 0; i < FRAG_COUNT; i++) { file_free(&fragment_shaders[i], true); diff --git a/src/shaders.c b/src/shaders.c index 93438e7..efeb131 100644 --- a/src/shaders.c +++ b/src/shaders.c @@ -33,7 +33,7 @@ static bool compile_shader(GLuint shader_id, char *name, char *source_code) { } static void init_textures(ShaderProgram *program, Context context) { - int i; + unsigned int i; glGenTextures(TEX_COUNT, program->textures); @@ -56,7 +56,7 @@ static void init_textures(ShaderProgram *program, Context context) { } static void init_framebuffers(ShaderProgram *program) { - int i, j; + unsigned int i, j; glGenFramebuffers(FRAG_COUNT, program->frame_buffers); @@ -98,7 +98,7 @@ static void init_vertices(ShaderProgram *program) { } static void init_shaders(ShaderProgram *program, File *fragment_shaders) { - int i; + unsigned int i; // compile vertex shader program->vertex_shader = glCreateShader(GL_VERTEX_SHADER); @@ -124,8 +124,9 @@ static void init_shaders(ShaderProgram *program, File *fragment_shaders) { } } -static void init_single_program(ShaderProgram *program, int i, bool output) { - int j; +static void init_single_program(ShaderProgram *program, unsigned int i, + bool output) { + unsigned int j; char name[32]; program->programs[i] = glCreateProgram(); @@ -187,7 +188,7 @@ static void init_single_program(ShaderProgram *program, int i, bool output) { } ShaderProgram shaders_init(File *fragment_shaders, Context context) { - int i; + unsigned int i; ShaderProgram program; program.error = false; @@ -219,7 +220,8 @@ ShaderProgram shaders_init(File *fragment_shaders, Context context) { return program; } -void shaders_update(ShaderProgram program, File *fragment_shaders, int i) { +void shaders_update(ShaderProgram program, File *fragment_shaders, + unsigned int i) { bool result; result = compile_shader(program.fragment_shaders[i], fragment_shaders[i].path, @@ -233,7 +235,7 @@ void shaders_update(ShaderProgram program, File *fragment_shaders, int i) { } void shaders_apply(ShaderProgram program, Context context) { - int i, j; + unsigned int i, j; GLuint subroutines[3]; vec2 resolution; diff --git a/src/shaders.h b/src/shaders.h index ead6118..65f3ad5 100644 --- a/src/shaders.h +++ b/src/shaders.h @@ -5,7 +5,8 @@ ShaderProgram shaders_init(File *fragment_shader, Context context); -void shaders_update(ShaderProgram program, File *fragment_shaders, int i); +void shaders_update(ShaderProgram program, File *fragment_shaders, + unsigned int i); void shaders_apply(ShaderProgram program, Context context); diff --git a/src/timer.c b/src/timer.c index 78980a0..f1743b9 100644 --- a/src/timer.c +++ b/src/timer.c @@ -26,7 +26,7 @@ double timer_reset(Timer *timer) { secs = (double)(stop.tv_usec - timer->start.tv_usec) / 1000000 + (double)(stop.tv_sec - timer->start.tv_sec); - per_secs = ((float)timer->counter) / secs; + per_secs = (double)timer->counter / secs; timer->start = stop; timer->counter = 0; diff --git a/src/types.h b/src/types.h index f648e5c..a5e631f 100644 --- a/src/types.h +++ b/src/types.h @@ -68,7 +68,7 @@ typedef struct Context { int width; int height; double time; - int fps; + unsigned int fps; } Context; typedef struct Timer {