
#ifndef _CDEMOPART
#define _CDEMOPART

#include "wrapbass.h"
#include "core.h"
#include "funkfilter.h"
#include "clouds.h"
#include "plasma.h"
#include "starfield.h"
#include "fire.h"


class cXmasPart1
{
	public:
		cXmasPart1();
		~cXmasPart1();
		update(float time,cAudio *audio);
		draw();
		float			rr;
	private:
		CSurface		texture;
		cFunkFilter		funk1;
		int				rx,ry,rz;
};

class cXmasPart2
{
	public:
		cXmasPart2();
		~cXmasPart2();
		update(float time,cAudio *audio);
		setState(int state);
		draw();
	private:
		CSurface		texture;
		CStarfield		starfield;
		cClouds			cloud,cloud2;
		cFunkFilter		funk1;
		float			ry,v;
		bool			rotate;
		bool			randset;
};

//moojuice
class cXmasPart3
{
	public:
		cXmasPart3();
		~cXmasPart3();
		update(float time,cAudio *audio);
		draw();
	private:
		bool			fade;
		float			yy,pf;
		CSurface		animCow;
		float			fd;
		bool			fade2;
		cFunkFilter		funk1;
		cPlasma			plasma;
		float			s,ss;
		float			cowid;
		bool			onBG;
};

//moojuice
class cXmasPart4
{
	public:
		cXmasPart4();
		~cXmasPart4();
		update(float time,cAudio *audio);
		draw();
	private:
		CSurface		greetz1,greetz2;
		CSurface		cowimg;
		cFunkFilter		funk1;
		bool			second;
		float			gxy;
};


//2001clock
class cXmasPart5
{
	public:
		cXmasPart5();
		~cXmasPart5();
		update(float time,cAudio *audio);
		draw();
	private:
		CSurface		clockimg1,clockimg2;
		CSurface		timeimg1,timeimg2;
		CSurface		moologo;
		cFunkFilter		funk1;
		cPlasma			plasma1,plasma2;
		float			blink;
		bool			timeon;
};

//particle explosion
class cXmasPart6
{
	public:
		cXmasPart6();
		~cXmasPart6();
		update(float time,cAudio *audio);
		draw();
	private:
		cFireTorch		explosion,explosion2;
		cFunkFilter		funk1;
		bool			secondOne;
};



#endif