summaryrefslogtreecommitdiff
path: root/paddle.c
diff options
context:
space:
mode:
Diffstat (limited to 'paddle.c')
-rw-r--r--paddle.c18
1 files changed, 10 insertions, 8 deletions
diff --git a/paddle.c b/paddle.c
index 4c4c9f0..78bc189 100644
--- a/paddle.c
+++ b/paddle.c
@@ -67,6 +67,8 @@ GLPong_PaddleInit(Paddle_t * paddle, GLfloat z, GLuint texture) {
paddle->x = paddle->w / 2.0f;
paddle->y = paddle->h / 2.0f;
paddle->z = z;
+ paddle->prev_x = paddle->x;
+ paddle->prev_y = paddle->y;
paddle->r = 1.0f;
paddle->g = 1.0f;
paddle->b = 1.0f;
@@ -76,10 +78,10 @@ GLPong_PaddleInit(Paddle_t * paddle, GLfloat z, GLuint texture) {
void
GLPong_PaddleMove(Paddle_t * paddle, GLfloat x, GLfloat y) {
- GLfloat old_x = paddle->x;
- GLfloat old_y = paddle->y;
GLfloat mouse_x;
GLfloat mouse_y;
+ paddle->prev_x = paddle->x;
+ paddle->prev_y = paddle->y;
/* clamp paddle to border */
if (x <= -1.5f + (paddle->w / 2.0f)) {
@@ -99,12 +101,12 @@ GLPong_PaddleMove(Paddle_t * paddle, GLfloat x, GLfloat y) {
#ifdef DEBUG
printf("(mouse_x, mouse_y) = (%.3f, %.3f)\n", mouse_x, mouse_y);
- printf("x diff is %f\n", fabs(mouse_x - old_x));
- printf("y diff is %f\n", fabs(mouse_y - old_y));
+ printf("x diff is %f\n", fabs(mouse_x - paddle->prev_x));
+ printf("y diff is %f\n", fabs(mouse_y - paddle->prev_y));
#endif
- if (fabs(mouse_x - old_x) > 0.33f / 2.0f) {
- if (mouse_x > old_x) {
+ if (fabs(mouse_x - paddle->prev_x) > 0.33f / 2.0f) {
+ if (mouse_x > paddle->prev_x) {
paddle->x += 0.33f / 2.0f;
} else {
paddle->x -= 0.33f / 2.0f;
@@ -113,8 +115,8 @@ GLPong_PaddleMove(Paddle_t * paddle, GLfloat x, GLfloat y) {
paddle->x = mouse_x;
}
- if (fabs(mouse_y - old_y) > 0.25f / 2.0f) {
- if (mouse_y > old_y) {
+ if (fabs(mouse_y - paddle->prev_y) > 0.25f / 2.0f) {
+ if (mouse_y > paddle->prev_y) {
paddle->y += 0.25f / 2.0f;
} else {
paddle->y -= 0.25f / 2.0f;