X-Git-Url: http://git.hungrycats.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=hacks%2Fpong.c;h=a68872865b44e3765ca6c2bff15ef7577ae98229;hb=88cfe534a698a0562e81345957a50714af1453bc;hp=021fe1d716c1aff13b1500b851a502572e258a8c;hpb=488f2fa8fbdbc77e91a70da2962d73af49e6cace;p=xscreensaver diff --git a/hacks/pong.c b/hacks/pong.c index 021fe1d7..a6887286 100644 --- a/hacks/pong.c +++ b/hacks/pong.c @@ -105,6 +105,9 @@ enum { PONG_TMARG = 10 }; +static void +p_hit_top_bottom(Paddle *p); + static void hit_top_bottom(struct state *st) { @@ -155,6 +158,10 @@ new_game(struct state *st) st->l_paddle.h = PONG_H/4; st->r_paddle.h = PONG_H/4; + /* Adjust paddle position again, because + paddle length is enlarged (reset) above. */ + p_hit_top_bottom(&st->l_paddle); + p_hit_top_bottom(&st->r_paddle); } static void @@ -678,6 +685,7 @@ static unsigned long pong_draw (Display *dpy, Window window, void *closure) { struct state *st = (struct state *) closure; + const analogtv_reception *reception = &st->reception; if (st->clock) { @@ -737,12 +745,14 @@ pong_draw (Display *dpy, Window window, void *closure) } if (1) paint_ball(st); - analogtv_init_signal(st->tv, st->noise); analogtv_reception_update(&st->reception); - analogtv_add_signal(st->tv, &st->reception); - analogtv_draw(st->tv); + analogtv_draw(st->tv, st->noise, &reception, 1); - return 10000; +#ifdef USE_IPHONE + return 0; +#else + return 5000; +#endif } @@ -754,7 +764,6 @@ static const char *pong_defaults [] = { "*noise: 0.04", "*clock: false", ANALOGTV_DEFAULTS - "*TVContrast: 150", 0 }; @@ -788,4 +797,4 @@ pong_free (Display *dpy, Window window, void *closure) free (st); } -XSCREENSAVER_MODULE ("pong", pong) +XSCREENSAVER_MODULE ("Pong", pong)