void inputText(std::string& str, unsigned* charselected);
void flash(float amount = 1, int delay = 1);
}
+float roughDirection(XYZ vec);
+float roughDirectionTo(XYZ start, XYZ end);
+float pitchTo(XYZ start, XYZ end);
+float sq(float n);
#ifndef __forceinline
# ifdef __GNUC__
// utility functions
// TODO: this is slightly incorrect
-inline float roughDirection(XYZ vec)
+float roughDirection(XYZ vec)
{
Normalise(&vec);
float angle = -asin(-vec.x) * 180 / M_PI;
angle = 180 - angle;
return angle;
}
-inline float roughDirectionTo(XYZ start, XYZ end)
+float roughDirectionTo(XYZ start, XYZ end)
{
return roughDirection(end - start);
}
Normalise(&vec);
return -asin(vec.y) * 180 / M_PI;
}
-inline float pitchTo(XYZ start, XYZ end)
+float pitchTo(XYZ start, XYZ end)
{
return pitchOf(end - start);
}
-inline float sq(float n)
+float sq(float n)
{
return n * n;
}
}
}
-extern float sq(float n);
-extern float roughDirectionTo(XYZ start, XYZ end);
-extern float pitchTo(XYZ start, XYZ end);
-
void Person::doAI()
{
if (aitype != playercontrolled && !Dialog::inDialog()) {