Since it's using sfml(I like sfml) are you allowing opengl for some 3d stuff and particle effects? If not I don't quite get the point of sfml-sphere...
Not to derail the topic, but what was Hold the Line about again? I remember that was one of the projects that made it onto the main page of the old wiki back in the day, but I never checked it out...
Re collisions - are you referring to sprite-sprite collision, sprite-tile collision, or sprite-obstruction line collision on the map engine?
ArePixelsObstructed(surface1, x1, y1, surface2, x2, y2);
Line[] pBase = person.GetBounds();int w = (int)(pBase[0].End.X - pBase[0].Start.X);int h = (int)(pBase[1].End.Y - pBase[1].Start.Y);float dx = person.Position.X - compare.Position.X;float dy = person.Position.Y - compare.Position.Y;double a = Math.Atan2(dy, dx);dx -= (float)(Math.Cos(a) * w/2);dy -= (float)(Math.Sin(a) * h/2);if ((int)Math.Sqrt(dx * dx + dy * dy) <= _talk_dist) return person.Name;
Code: (csharp) [Select]Line[] pBase = person.GetBounds();int w = (int)(pBase[0].End.X - pBase[0].Start.X);int h = (int)(pBase[1].End.Y - pBase[1].Start.Y);float dx = person.Position.X - compare.Position.X;float dy = person.Position.Y - compare.Position.Y;double a = Math.Atan2(dy, dx);dx -= (float)(Math.Cos(a) * w/2);dy -= (float)(Math.Sin(a) * h/2);if ((int)Math.Sqrt(dx * dx + dy * dy) <= _talk_dist) return person.Name;