+ anim = fmod(t / 6.0f, LOOPTIME);
+ alpha = 1.0f - ((anim - (LOOPTIME - 0.075)) / 0.06f);
+ if(alpha < 0.0f) alpha = 0.0f;
+ if(alpha > 1.0f) alpha = 1.0f;
+
+ dt = (anim > 1.0f ? 1.0f : anim) / (float)(nverts - 1);
+
+ g3d_color4f(1, 1, 1, alpha);
+ for(i=0; i<nverts-1; i++) {
+ float t0 = (float)i * dt;
+ float t1 = (float)(i + 1) * dt;
+ eval_logo(a, t0);
+ eval_logo(b, t1);
+ draw_line(a[0], a[1], b[0], b[1], 0.02);
+ }
+
+ if(anim > 0.0f) {
+ eval_logo(a, 0);
+ draw_disc(a[0], a[1], 0.05, 22);
+ }
+ if(anim >= 1.0f) {
+ eval_logo(b, 1);
+ draw_disc(b[0], b[1], 0.05, 22);
+ }
+
+
+ center_alpha = 2.0 * (anim - 1.0f) / (LOOPTIME - 1.0f);
+ if(center_alpha > 0.4) {
+ g3d_color4f(0.8, 0, 0, center_alpha);
+ draw_disc(0, 0, 0.14, 30);
+ }