diff options
Diffstat (limited to 'ball.h')
-rw-r--r-- | ball.h | 43 |
1 files changed, 24 insertions, 19 deletions
@@ -1,19 +1,24 @@ -#ifndef BALL_H
-#define BALL_H
-
-#include "SDL.h"
-#include "SDL_opengl.h"
-
-GLuint ball_texture;
-
-typedef struct {
- GLfloat w, h, x, y;
- GLfloat r, g, b, a;
- GLfloat xv, yv;
-} Ball_t;
-
-void GLPong_BallAdd();
-void GLPong_BallDelete();
-int GLPong_BallCollide(const Ball_t * a, const Ball_t * b);
-
-#endif
+#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 w, h, x, y; /* width, height, 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_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); + +#endif + |