diff options
Diffstat (limited to 'fx.c')
-rw-r--r-- | fx.c | 40 |
1 files changed, 40 insertions, 0 deletions
@@ -0,0 +1,40 @@ +#include "components.h" +#include "fx.h" +#include "world.h" + +int new_enemy_bullet_explosion( + World* world, + int x, + int y +) { + Entity e; + CPosition* pos; + CSprite* sprite; + CAnimated* animated; + + e = new_entity(world); + add_components( + world, + e, + ctype_sprite | + ctype_position | + ctype_animated | + ctype_destroy_on_anim_done + ); + + pos = &world->positions[e]; + sprite = &world->sprites[e]; + animated = &world->animateds[e]; + + pos->x = x; + pos->y = y; + + sprite->id = asset_id_bullet; + sprite->rect = make_rect(0, 0, 16, 16); + + animated->id = animation_enemy_bullet_explode; + animated->frame = 0; + animated->timer = 0; + + return e; +} |