#include <SDL.h> #define backbuffer BackBuffer extern SDL_Surface *Screen,*BackBuffer,*fadebuffer; extern SDL_Rect blitrect; extern char DATAPATH[200]; // inits a lot of SDL stuff void init_SDL(); // fades screen to BackBuffer void FadeScreen(float speed); // prints error and quits void ComplainAndExit(void); // Updates all blitted rects; void Update(); // Puts a pixel (lock and unlock needed!) extern int PutPixel(SDL_Surface *Surface, Sint32 X, Sint32 Y, Uint32 Color); // Add rect to update queue void AddRect(int x1, int y1, int x2, int y2); void AddThisRect(SDL_Rect blitrect); // random number between a and b (inclusive) int abrand(int a,int b); // Draws a circle int Circle (SDL_Surface *Surface, Sint32 X, Sint32 Y, Sint32 Rad, float Aspect, Uint32 Color); // Draws the background (as a circle) int UndoCircle (SDL_Surface *Surface, Sint32 X, Sint32 Y, Sint32 Rad, float Aspect); // returns the flipped surface SDL_Surface *FlippedSurface(SDL_Surface *Surface); // returns the color value of a pixel Uint32 GetPixel (SDL_Surface *Surface, Sint32 X, Sint32 Y); void lock(); void unlock(); void fadeout(); SDL_Surface *LoadImage(char *datafile, int transparent); void Blit(int Xpos,int Ypos,SDL_Surface *image); void BlitToBB(int Xpos,int Ypos,SDL_Surface *image); //blits to BackBuffer void BlitPart(int Xpos,int Ypos,SDL_Surface *image, SDL_Rect srcrect); void PutBackPixel(SDL_Surface *Surface, Sint32 x, Sint32 y);