--- deliantra/Deliantra-Client/Client.xs 2007/08/06 05:06:32 1.219 +++ deliantra/Deliantra-Client/Client.xs 2007/08/09 11:02:08 1.220 @@ -2352,7 +2352,15 @@ void set_position (CFPlus::Channel self, int angle, int distance) CODE: + +void +set_position_r (CFPlus::Channel self, int dx, int dy, int maxdistance) + CODE: +{ + int distance = sqrtf (dx * dx + dy * dy) * (255.f / sqrtf (maxdistance * maxdistance)); + int angle = 360 + (int)roundf (atan2f (dx, -dy) * 180.f / (float)M_PI); Mix_SetPosition (self, angle, CLAMP (distance, 0, 255)); +} void set_reverse_stereo (CFPlus::Channel self, int flip)