diff options
Diffstat (limited to 'include')
| -rw-r--r-- | include/asset_defs.h | 4 | ||||
| -rw-r--r-- | include/sprite.h | 27 | ||||
| -rw-r--r-- | include/zombies.h | 12 |
3 files changed, 37 insertions, 6 deletions
diff --git a/include/asset_defs.h b/include/asset_defs.h index 6dee5d4..d6af444 100644 --- a/include/asset_defs.h +++ b/include/asset_defs.h @@ -10,11 +10,15 @@ image* img_icon_bullets; image* img_icon_nova; image* img_drop; +image* img_spawner; image* img_zombie_chunk_hand; image* img_zombie_chunk_foot; image* img_zombie_chunk_blood; +image* img_tile_cobblestone; + + void load_assets(); #endif
\ No newline at end of file diff --git a/include/sprite.h b/include/sprite.h new file mode 100644 index 0000000..58ff293 --- /dev/null +++ b/include/sprite.h @@ -0,0 +1,27 @@ +#ifndef INCLUDE_SPRITE +#define INCLUDE_SPRITE + +#include <projectbase/project_base.h> + +typedef struct t_sprite { + image* image; + int current_frame; + int frame_count; + int frame_width; + int frame_height; + float sec_per_frame; + float time; +} sprite; + +typedef struct t_sprite_frame { + vec2f tl; + vec2f tr; + vec2f bl; + vec2f br; +} sprite_frame; + +sprite create_sprite(image* img, int frame_count, int fwidth, int fheight, float sec_per_frame); +void update_sprite(sprite* sprite); +sprite_frame get_frame(sprite* sprite); + +#endif
\ No newline at end of file diff --git a/include/zombies.h b/include/zombies.h index c99063e..72836ea 100644 --- a/include/zombies.h +++ b/include/zombies.h @@ -6,6 +6,7 @@ #include "players.h" #include "objects.h" #include "pathfinding.h" +#include "sprite.h" typedef struct t_zombie { bool alive; @@ -20,21 +21,20 @@ typedef struct t_zombie { } zombie; typedef struct t_spawner { + bool active; vec2 position; float sec_since_last_spawn; + sprite sprite; } spawner; -#define MAX_SPAWNERS (3) +#define MAX_SPAWNERS (5) // data data that is stored on disk -spawner spawner_tiles[MAX_SPAWNERS] = { - {15, 5, 999}, - {3, 8, 999}, - {11, 18, 999}, -}; +spawner spawner_tiles[MAX_SPAWNERS] = {0}; #define MAX_ZOMBIES (50) zombie zombies[MAX_ZOMBIES] = {0}; +void create_spawner(vec2 position); void draw_spawners(platform_window* window); void draw_zombies(platform_window* window); void spawn_zombie(int x, int y); |
