- //x = a->x - cos(angle*M_PI/180)*a->z;
- //y = a->y - sin(angle*M_PI/180)*a->z;
- x = a->x - cos(angle)*a->z;
- y = a->y - sin(angle)*a->z;
- if (x <= -a->width)
- x = 800;
- if (y <= -a->width)
- y = 480;
- if (x > 800+a->width)
+ if (a->scale == 100) a->scale = ang;
+ if (abs(a->scale - ang) > 10){
+ if (a->scale > ang)
+ if ((a->scale - ang) < (ang + (360-a->scale))) a->scale--;
+ else a->scale++;
+ if (a->scale < ang)
+ if (ang - a->scale < (a->scale+(360-ang))) a->scale++;
+ else a->scale--;
+ if (a->scale > 360) a->scale = 0;
+ if (a->scale < 0) a->scale = 360;
+ }
+
+ x = round(a->x - (float)cos(a->scale*M_PI/180)*a->z);
+ y = round(a->y - (float)sin(a->scale*M_PI/180)*a->z);
+ //x = a->x - cos(angle)*a->z;
+ //y = a->y - sin(angle)*a->z;
+ if ((a->scale > 270 || a->scale < 90) && x < -a->width*cos(a->scale*M_PI/180)){
+ x = 800;
+ y = fast_rnd(480);
+ }
+ if ((a->scale > 90 && a->scale < 270) && x > 800 - a->width*cos(a->scale*M_PI/180)){