diff --git a/shell.nix b/shell.nix index 8e34b9b..7974c84 100644 --- a/shell.nix +++ b/shell.nix @@ -4,15 +4,16 @@ stdenv.mkDerivation { nativeBuildInputs = [ gnumake gcc + gdb pkg-config + valgrind ]; buildInputs = [ SDL2 - SDL2_image libpng ]; -# shellHook = '' -# export LD_LIBRARY_PATH=${pkgs.SDL2}/lib:${pkgs.SDL2_image}/lib:$LD_LIBRARY_PATH -# export PKG_CONFIG_PATH=${pkgs.SDL2}/lib/pkgconfig:${pkgs.SDL2_image}/lib/pkgconfig:$PKG_CONFIG_PATH -# ''; + shellHook = '' + export LD_LIBRARY_PATH=${pkgs.SDL2}/lib:${pkgs.sdl3}/lib:${pkgs.libpng}/lib:$LD_LIBRARY_PATH + export PKG_CONFIG_PATH=${pkgs.SDL2}/lib/pkgconfig:${pkgs.libpng}/lib/pkgconfig:$PKG_CONFIG_PATH + ''; } diff --git a/src/ecs/components/headers/animation_system.h b/src/ecs/components/headers/animation_system.h index 18e4dc7..49a321a 100644 --- a/src/ecs/components/headers/animation_system.h +++ b/src/ecs/components/headers/animation_system.h @@ -7,18 +7,18 @@ typedef struct animation_system_data_t { sprite_component_data_t *sprite_component_data; - bool play :1; - bool loop :1; - bool reverse :1; - - float frame_delay_ms; - float frame_timer_ms; - elem_t *actual_frame; size_t actual_frame_nb; size_t nb_frames; linked_list_t frames; + + float frame_delay_ms; + float frame_timer_ms; + + bool play :1; + bool loop :1; + bool reverse :1; } animation_system_data_t; void animation_system_init(component_t *component, va_list args); diff --git a/src/ecs/headers/ecs.h b/src/ecs/headers/ecs.h index b0b6ced..af4bd9d 100644 --- a/src/ecs/headers/ecs.h +++ b/src/ecs/headers/ecs.h @@ -23,8 +23,6 @@ typedef void (*component_draw_t)(component_t *component); typedef void (*component_deleter_t)(component_t *component); typedef struct component_t { - component_type_t component_type; - component_init_t component_init; component_update_t component_update; component_draw_t component_draw; @@ -34,6 +32,9 @@ typedef struct component_t { component_deleter_t component_deleter; struct entity_t *entity; + + component_type_t component_type; + } component_t; component_t *create_component(component_type_t component_type); diff --git a/src/headers/events.h b/src/headers/events.h index 36b64b2..fe24616 100644 --- a/src/headers/events.h +++ b/src/headers/events.h @@ -5,8 +5,8 @@ #include typedef struct events_t { - bool keys[MAX_KEYCODES]; vector2d_t cursor_pos; + bool keys[MAX_KEYCODES]; } events_t; #endif // EVENTS_H \ No newline at end of file diff --git a/src/headers/game.h b/src/headers/game.h index bf7fee0..f2304a4 100644 --- a/src/headers/game.h +++ b/src/headers/game.h @@ -18,12 +18,12 @@ * @param delta_time_ms Frame time */ typedef struct game_t { - events_t events; asset_manager_t asset_manager; entity_manager_t entity_manager; + events_t events; - bool is_running; float delta_time_ms; + bool is_running; } game_t; // Global game instance