diff options
Diffstat (limited to 'in_practice/breakout/powerup.h')
-rw-r--r-- | in_practice/breakout/powerup.h | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/in_practice/breakout/powerup.h b/in_practice/breakout/powerup.h new file mode 100644 index 0000000..b80ea74 --- /dev/null +++ b/in_practice/breakout/powerup.h @@ -0,0 +1,36 @@ +#ifndef POWERUP_H +#define POWERUP_H + +#include "types.h" +#include "my_math.h" +#include "object.h" + +enum powerup_type { + powerup_none, + powerup_speed, + powerup_sticky, + powerup_pass, + powerup_increase, + powerup_confuse, + powerup_chaos +}; + +struct powerup { + v2 pos; + v2 vel; + v2 size; + v3 color; + enum powerup_type type; + f32 duration; + i32 active; + i32 destroyed; + u32 texture; +}; + +extern v2 default_powerup_size; + +struct powerup spawn_powerup(v2 pos, v3 color, enum powerup_type type, f32 duration, u32 texture); +i32 check_powerup_collision(struct powerup powerup, struct object obj); +void render_powerup(struct sprite_renderer renderer, struct powerup powerup); + +#endif |