From f886a80d1a22f96e90d7a5c3cd5e10a8e459cc34 Mon Sep 17 00:00:00 2001 From: Joshua Grams Date: Wed, 6 Jul 2005 22:04:29 +0000 Subject: [PATCH] Now have a "barrier" (which can fall behind) to enforce minimum speed. --- main.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/main.c b/main.c index db95bb4..c2e6601 100644 --- a/main.c +++ b/main.c @@ -76,6 +76,7 @@ float shipx = XSIZE/2, shipy = YSIZE/2; // X position, 0..XSIZE float shipdx = SCREENDXMIN, shipdy = 0.0; // Change in X position per tick. float screendx = SCREENDXMIN, screendy = 0.0; float xscroll, yscroll; +float back_dist; float framelen; // this controls the speed of everything that moves. float bangx, bangy, bangdx, bangdy; @@ -711,10 +712,15 @@ gameloop() { tmp /= -25; tmp = ((screendx * (framelen - 12)) + (tmp * framelen)) / 12; screendx = -tmp; - if(screendx < SCREENDXMIN) screendx=SCREENDXMIN; + + // taper off if we would hit the barrier in under 2 seconds. + if(back_dist + (screendx - SCREENDXMIN)*2*20*opt_gamespeed < 0) { + screendx = SCREENDXMIN - (back_dist/(2*20*opt_gamespeed)); + } xscroll = screendx * framelen; yscroll = screendy * framelen; + back_dist += (screendx - SCREENDXMIN)*framelen; shipx -= xscroll; shipy -= yscroll; -- 1.7.10.4