From 56efb5b7131f6a49bfc9295de268e6a212d8018d Mon Sep 17 00:00:00 2001 From: Josh Holtrop Date: Wed, 12 Oct 2011 13:47:10 -0400 Subject: [PATCH] add BREAK_RATE to fix fast fly-off --- modes/Tunnel.cc | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/modes/Tunnel.cc b/modes/Tunnel.cc index 90da50f..638a852 100644 --- a/modes/Tunnel.cc +++ b/modes/Tunnel.cc @@ -19,7 +19,8 @@ using namespace std; #define RING_LAYER_DIST 10 #define XLATE_RATE 0.02 #define REVOLUTION_TIME 15000 -#define DESTROY_DIST 250 +#define DESTROY_DIST 200 +#define BREAK_RATE 0.03 Tunnel::Tunnel() { @@ -34,10 +35,10 @@ Tunnel::~Tunnel() void Tunnel::getRandomBreakAxis(float (*axis)[3]) { double alpha = rand() / (double)RAND_MAX * 2.0 * M_PI; - double beta = rand() / (double)RAND_MAX * (M_PI / 4.0); + double beta = rand() / (double)RAND_MAX * M_PI_2; (*axis)[0] = cos(alpha) * sin(beta); (*axis)[2] = sin(alpha) * sin(beta); - (*axis)[1] = cos(beta); + (*axis)[1] = 0.5 + cos(beta); } float Tunnel::getRandomBreakSpinSpeed() @@ -89,9 +90,9 @@ bool Tunnel::expose (GnomeScreensaver & gs) if (it->break_ticks) { int break_ticks = ticks - it->break_ticks; - glTranslatef(break_ticks * it->break_axis[0], - break_ticks * it->break_axis[1], - break_ticks * it->break_axis[2]); + glTranslatef(BREAK_RATE * break_ticks * it->break_axis[0], + BREAK_RATE * break_ticks * it->break_axis[1], + BREAK_RATE * break_ticks * it->break_axis[2]); } glTranslatef(0, diff_offset, 0); glRotatef(it->trot, 0, 1, 0);