{
double pi = 3.141592653;
double rad = atan2((double)-dy, (double)dx);
double rad2 = (rad < 0 ? rad + 2 * pi : rad);
double deg = rad2 * 180.0 / pi;
{
double pi = 3.141592653;
double rad = atan2((double)-dy, (double)dx);
double rad2 = (rad < 0 ? rad + 2 * pi : rad);
double deg = rad2 * 180.0 / pi;
}
int getButtonFromTouchPosition(int x, int y, int dst_mx, int dst_my)
}
int getButtonFromTouchPosition(int x, int y, int dst_mx, int dst_my)
angle_new = (dx > 0 && ABS(dy) < ABS(dx) ? ANG_RAY_RIGHT :
dy < 0 && ABS(dx) < ABS(dy) ? ANG_RAY_UP :
dx < 0 && ABS(dy) < ABS(dx) ? ANG_RAY_LEFT :
dy > 0 && ABS(dx) < ABS(dy) ? ANG_RAY_DOWN :
-1);
}
angle_new = (dx > 0 && ABS(dy) < ABS(dx) ? ANG_RAY_RIGHT :
dy < 0 && ABS(dx) < ABS(dy) ? ANG_RAY_UP :
dx < 0 && ABS(dy) < ABS(dx) ? ANG_RAY_LEFT :
dy > 0 && ABS(dx) < ABS(dy) ? ANG_RAY_DOWN :
-1);
}
laser.damage[i].y == y &&
ObjHit(x, y, HIT_POS_CENTER))
{
laser.damage[i].y == y &&
ObjHit(x, y, HIT_POS_CENTER))
{
- angle_old = laser.damage[i].angle;
+ angle_old = get_mirrored_angle(laser.damage[i].angle, angle_old);
+ angle_new = getAngleFromTouchDelta(dx, dy, base) % phases;
- angle_old = get_mirrored_angle(angle_old, get_element_angle(element));
- angle_new = getAngleFromTouchDelta(dx, dy);
+ angle_new = getAngleFromTouchDelta(dx, dy, base) % phases;