#include <tscope.h>
void ts_wait_visual(int sx, int sy, int waittm)
{
float tmp1, tmp2, tmp3, tmp4;
int time;
int steps;
int sc = 0;
for (time = 0; time < sy - 5; time++) {
tmp1 = sy - time;
tmp2 = sy / (sqrt(sx * sx + sy * sy));
tmp3 = sqrt(((tmp1 * tmp1) / (tmp2 * tmp2)) - (tmp1 * tmp1));
ts_fgcolor(ts_makecolor(255, 255, 204));
ts_triangle(sc, sc, -tmp3, -tmp1, tmp3, -tmp1);
ts_fgcolor(GREY75);
ts_floodfill(sc, sc - 5);
if (time < sy - 10) {
ts_fgcolor(ts_makecolor(255, 255, 204));
ts_triangle(-tmp3, -tmp1, tmp3, -tmp1, sc, -tmp1 + 5);
ts_floodfill(sc, -tmp1 + 1);
ts_fgcolor(GREY75);
ts_rect(-2, -5, +2, -tmp1 + 5);
ts_floodfill(sc, -tmp1 + 6);
}
ts_fgcolor(GREY75);
ts_triangle(sc, sc, -tmp3, tmp1, tmp3, tmp1);
ts_fgcolor(ts_makecolor(102, 51, 0));
ts_triangle(-sx, -sy, sx, -sy, sc, sc);
ts_triangle(-sx, sy, sx, sy, sc, sc);
ts_rect(sx + 6, sy, -sx - 6, sy + 6);
ts_floodfill(sx + 2, sy + 2);
ts_rect(sx + 6, -sy, -sx - 6, -sy - 6);
ts_floodfill(sx + 2, -sy - 2);
ts_vline(sx + 2, sy + 2, -sy - 2);
ts_vline(-sx - 2, sy + 2, -sy - 2);
ts_vline(sx + 3, sy + 2, -sy - 2);
ts_vline(-sx - 3, sy + 2, -sy - 2);
ts_circle(sx + 6, sy + 3, 3);
ts_circle(-sx - 6, sy + 3, 3);
ts_circle(-sx - 6, -sy - 3, 3);
ts_circle(+sx + 6, -sy - 3, 3);
ts_floodfill(sx + 8, -sy - 3);
ts_floodfill(sx + 8, sy + 3);
ts_floodfill(-sx - 8, -sy - 3);
ts_floodfill(-sx - 8, sy + 3);
ts_fgcolor(ts_makecolor(255, 255, 204));
ts_floodfill(sc, tmp1 - 10);
for (steps = 5; steps < sy; steps++)
ts_putpixel(ts_rint(3), -steps);
ts_fgcolor(ts_makecolor(102, 51, 0));
ts_circle(sc, sc, 5);
ts_floodfill(-3, sc);
ts_floodfill(+3, sc);
ts_floodfill(sc, +3);
ts_floodfill(sc, -3);
tmp4 = waittm * ((2.0 - time * (2.0 / (sy - 5))) / (sy - 5));
ts_wait(mtt(tmp4));
}
}