/* sparks.h - Header for sparks.c */

#ifndef SPARKS_H_INC
#define SPARKS_H_INC

#include <allegro.h>
#include "draw.h"

typedef struct spark_s {
  fixed x, y;
  fixed xs, ys;
  fixed yss;
  int r, g, b;
  int colspeed;
  int ttl;
  struct spark_s *prev;
  struct spark_s *next;
} spark_t;

extern spark_t *spark_list;
extern spark_t *last_spark;

void new_spark(fixed x, fixed y, fixed xs, fixed ys, fixed yss, int r, int g, int b, int colspeed, int ttl);
void new_explosion(fixed x, fixed y);
void new_thrust(fixed x, fixed y, fixed ang);
void del_spark(spark_t *spark);
void update_sparks(void);
void draw_sparks(BITMAP *canvas, int menu);

#endif
