#ifndef _SPIEL
#define _SPIEL

#include <SDL/SDL.h>
#include <stdio.h>
#include <cmath>
#include <time.h>

#define _SCRNW 160
#define _SCRNH 100
#define _SCALEW 5
#define _SCALEH 6
#define _FPS 60
#define _RATE 22050

#define BLUE 0x00FF0000
#define RED clRed1
#define GREEN clGreen1
#define YELLOW clYellow1
#define BLACK 0
#define WHITE 0x00FFFFFF

#include "co.h"
#include "Ge.hpp"


class Api
{
	public:
	virtual void Delay(int) {};
	virtual bool Quit() {return false;};
	virtual void Gtfo() {};
	virtual void Lock() {};
	virtual void Unlock() {};
	virtual void Refresh() {};
	virtual Uint32 Color(Uint8,Uint8,Uint8) {return 0;};
	virtual void Plot(Uint16,Uint16,Uint32) {};
	virtual void SetSeq(Gen *) {};
};

typedef Co<Api*> Cunt;

class MapRGB : public Cunt {public: Cunt* Routine(Api*);};
class DrawShit : public Cunt {public: Cunt* Routine(Api*);};
class EveryFrame : public Cunt {public: Cunt* Routine(Api*);};
class AudioFrame : public Cunt {public: Cunt* Routine(Api*);};


#endif
