summaryrefslogtreecommitdiff
path: root/ball.h
blob: ad371b31ec36a861013b9a829683428152c86cd6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#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