class weapon : public gp2d::Sprite { public: GLfloat accel_x, accel_y, vel_x, vel_y; GLfloat angle; // direction angle GLfloat acceleration; // lenght of vector accelrating in angle direction GLfloat velocity; // lenght ofvelocity vector GLfloat BlastRadius; // how big of a boom does it make? GLfloat Elasticity; // how much movement does this qweapon keep when it bounces? bool Bounces; // can this weapon bounce of things? bool IsPhysical; // does this weapon get effects of gravity applied? int WeaponID; bool Visible; weapon(); void CaclulateVelocity(void); void MoveMe(); void SetBeginPosition(GLfloat nx, GLfloat ny, GLfloat new_angle); void SetAcceleration(GLfloat new_accel, GLfloat new_angle); }; class IT_Weapon { public: int TypeID; bool Active; vector components; };