// a structure for storing 256 points around a circle for the player's life
//drawing. It also stores the colour for each line
struct
	{
     float x,y;
     int c;
    } circle_points[256];


//this structure hold the ability attributes for a character
//an instance of this structure will be created and then given
//to a character to define it's abilities. This way, swapping the
//attribute set of a character easily changes how it behaves
typedef struct
	{
     float max_speed;
     float accel;

     float term_vel; //terminal velocity (max falling speed)
     float j_speed;  //initial jump speed (bigger number to jump higher)
    } att_set;

//similarly this structure holds the attributes for a particle shot from
//a weapon. New sets of these can be passed to weapons and that
//will create new types of weapons to be used
typedef struct
	{
     float max_speed;
     float accel;
     int damage;
     BITMAP *pic;
     int cool;      //time shooter must wait between shots
     float recoil;  //the factor for how much it pushes the shooter when shot
     BITMAP *shell_pic;
     SAMPLE *sound;
     int ammo_type;
     int grav;	    //0 means is not affected by gravity, 1 means is affected
     int explode;    //0 means it will explode, 1 means it will not
     explosion_set *expl;
    } part_att;



