#ifndef BALL_H #define BALL_H #include "SDL.h" #include "SDL_opengl.h" GLuint ball_texture; typedef struct Ball_t { struct Ball_t * next; /* next ball; 4 or 8 bytes */ GLfloat x, y; /* x, y coordinates; 4 bytes ea. */ GLfloat xv, yv; /* x and y velocity components; 4 bytes ea. */ GLubyte r, g, b, a; /* red, green, blue, alpha components; 1 byte ea. */ } Ball_t; void GLPong_BallInit(void); void GLPong_BallDeinit(void); void GLPong_BallAdd(Ball_t ** balls); void GLPong_BallDelete(Ball_t * from, Ball_t * ball); void GLPong_BallDeleteAll(Ball_t * list); int GLPong_BallCollide(const Ball_t * a, const Ball_t * b); void GLPong_BallMoveAll(Ball_t ** balls); void GLPong_BallDrawAll(Ball_t * balls); #ifdef DEBUG int length(Ball_t * balls); #endif #endif