summaryrefslogtreecommitdiff
path: root/ball.h
diff options
context:
space:
mode:
Diffstat (limited to 'ball.h')
-rw-r--r--ball.h43
1 files changed, 24 insertions, 19 deletions
diff --git a/ball.h b/ball.h
index 6707ebb..ad371b3 100644
--- a/ball.h
+++ b/ball.h
@@ -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
+