diff options
author | quou <quou@disroot.org> | 2024-10-01 23:00:58 +1000 |
---|---|---|
committer | quou <quou@disroot.org> | 2024-10-01 23:00:58 +1000 |
commit | c474a43f800c7e7a0a90adcc997ba4e30dd2ae56 (patch) | |
tree | 88cfdda5b375decfe55d685471427a4f5da67d9a | |
parent | a5beb2e333f225d4d92f4061c41938f718f69cb1 (diff) |
enum for specials
-rw-r--r-- | obj.h | 11 | ||||
-rw-r--r-- | player.c | 1 |
2 files changed, 12 insertions, 0 deletions
@@ -13,6 +13,16 @@ typedef enum { face_right } Face; +#define specials_xmacro \ + x(special_gun, 21, 0) + +typedef enum { +#define x(name, x, y) name, + specials_xmacro +#undef x + special_count +} Special; + typedef struct { int x, y, vx, vy; int frame; @@ -22,6 +32,7 @@ typedef struct { int inv, hp, charge; Face face; Rect rect; + Special spec; } Player; void init_player(Player* p); @@ -27,6 +27,7 @@ void init_player(Player* p) { p->inv = 0; p->hp = player_health; p->charge = 0; + p->spec = special_gun; } void update_player_anim(Player* p) { |