From: Joshua Grams Date: Wed, 6 Jul 2005 22:04:29 +0000 (+0000) Subject: Now have a "barrier" (which can fall behind) to enforce minimum speed. X-Git-Tag: 0.4~54 X-Git-Url: https://jasonwoof.com/gitweb/?p=vor.git;a=commitdiff_plain;h=f886a80d1a22f96e90d7a5c3cd5e10a8e459cc34 Now have a "barrier" (which can fall behind) to enforce minimum speed. --- 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;