// Class automatically generated by Dev-C++ New Class wizard

#ifndef ENVEFFECT_H
#define ENVEFFECT_H

#include "allegro.h"

#define MAX_ENV_PARTS   400
#define MAX_SOUNDS      10

#define RAIN    0

typedef struct
{
    float x,y;
    float dy,dx;
    float angle;    
    bool in_use;
    
}EnvPart;    

typedef struct
{
    unsigned short int type;
    float x_speed, y_speed;
    SAMPLE *sound[MAX_SOUNDS];
    int num_sounds;
    
}EffectAtts;    

// No description
class CEnvEffect
{
private:
    EnvPart part[MAX_ENV_PARTS];
    int parts_to_use;  
    bool effect_on; 
    EffectAtts *atts; 
    int tx,ty;
    int counter;        //misc counter used for whatever
    
public:
    CEnvEffect();
    ~CEnvEffect();
    
    void init(void);
    
    void move(int sx, int sy);
    void draw(BITMAP *backgr, int sx, int sy);
    void draw_background(BITMAP *backgr, int sx, int sy);
    
    void set_effect(EffectAtts *_atts);
    
    void stop_effect(void);
    void start_effect(bool start_at_top, int sx, int sy,int _parts_to_use);
};

#endif // ENVEFFECT_H

