diff options
| -rw-r--r-- | assets/src/main.c | 2 | ||||
| -rw-r--r-- | src/script_sys.c | 34 | ||||
| -rw-r--r-- | src/shader_sys.c | 1 | ||||
| -rw-r--r-- | src/texture_sys.c | 1 |
4 files changed, 22 insertions, 16 deletions
diff --git a/assets/src/main.c b/assets/src/main.c index 08856b9..68ab0f1 100644 --- a/assets/src/main.c +++ b/assets/src/main.c @@ -13,7 +13,7 @@ void update(void) { draw_text("Femme my beloved!", 4, 4, 20, BLACK); set_active_shader(grayscale); - draw_texture(femme, 32, 40); + draw_texture(femme, 32, 48); reset_active_shader(); } diff --git a/src/script_sys.c b/src/script_sys.c index e9488fc..4c87327 100644 --- a/src/script_sys.c +++ b/src/script_sys.c @@ -18,32 +18,38 @@ static i32 current_mod = -1; static void restart(void) { - state = tcc_new(); - tcc_set_output_type(state, TCC_OUTPUT_MEMORY); + TCCState* new_state = tcc_new(); + tcc_set_output_type(new_state, TCC_OUTPUT_MEMORY); - tcc_add_symbol(state, "load_new_tex", load_new_tex); - tcc_add_symbol(state, "load_new_shader", load_new_shader); + tcc_add_symbol(new_state, "load_new_tex", load_new_tex); + tcc_add_symbol(new_state, "load_new_shader", load_new_shader); - tcc_add_symbol(state, "draw_text", DrawText); - tcc_add_symbol(state, "set_active_shader", set_active_shader); - tcc_add_symbol(state, "draw_texture", draw_texture); - tcc_add_symbol(state, "reset_active_shader", reset_active_shader); + tcc_add_symbol(new_state, "draw_text", DrawText); + tcc_add_symbol(new_state, "set_active_shader", set_active_shader); + tcc_add_symbol(new_state, "draw_texture", draw_texture); + tcc_add_symbol(new_state, "reset_active_shader", reset_active_shader); - tcc_add_file(state, "assets/src/main.c"); + if(tcc_add_file(new_state, "assets/src/main.c") == -1){ + TRACELOG(LOG_ERROR, "Compilation failed!\n"); + return; + } - tcc_relocate(state, TCC_RELOCATE_AUTO); + if(state != NULL) + deinit_script_sys(); + state = new_state; + + tcc_relocate(state, TCC_RELOCATE_AUTO); script_init = tcc_get_symbol(state, "init"); script_update = tcc_get_symbol(state, "update"); script_exit = tcc_get_symbol(state, "exit"); + script_init(); } void init_script_sys(void) { - restart(); - current_mod = GetFileModTime("assets/src/main.c"); - script_init(); + restart(); } void update_script(void) @@ -53,9 +59,7 @@ void update_script(void) if(new_mod != current_mod){ current_mod = new_mod; - deinit_script_sys(); restart(); - script_init(); } script_update(); } diff --git a/src/shader_sys.c b/src/shader_sys.c index 28f6d84..2686f5f 100644 --- a/src/shader_sys.c +++ b/src/shader_sys.c @@ -1,4 +1,5 @@ #include "utils.h" +#include "config.h" #include <stdlib.h> diff --git a/src/texture_sys.c b/src/texture_sys.c index 3481a69..3254d75 100644 --- a/src/texture_sys.c +++ b/src/texture_sys.c @@ -1,4 +1,5 @@ #include "utils.h" +#include "config.h" #include <stddef.h> |
