diff options
author | aap <aap@papnet.eu> | 2019-08-11 22:14:25 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-08-11 22:14:25 +0200 |
commit | c17bbc62f592270b6a1cac323223689603a6120f (patch) | |
tree | 2f0c6d7eac06333b4f04eb3002700e4c3d067f34 /src/core/General.h | |
parent | finished CPathFind (diff) | |
parent | P.e.d.s. and fixes (diff) | |
download | re3-c17bbc62f592270b6a1cac323223689603a6120f.tar re3-c17bbc62f592270b6a1cac323223689603a6120f.tar.gz re3-c17bbc62f592270b6a1cac323223689603a6120f.tar.bz2 re3-c17bbc62f592270b6a1cac323223689603a6120f.tar.lz re3-c17bbc62f592270b6a1cac323223689603a6120f.tar.xz re3-c17bbc62f592270b6a1cac323223689603a6120f.tar.zst re3-c17bbc62f592270b6a1cac323223689603a6120f.zip |
Diffstat (limited to '')
-rw-r--r-- | src/core/General.h | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/src/core/General.h b/src/core/General.h index fe277689..12f781d4 100644 --- a/src/core/General.h +++ b/src/core/General.h @@ -96,6 +96,21 @@ public: } } + // should return direction in 0-8 range. fits perfectly to peds' path directions. + static int CGeneral::GetNodeHeadingFromVector(float x, float y) + { + float angle = CGeneral::GetRadianAngleBetweenPoints(x, y, 0.0f, 0.0f); + if (angle < 0.0f) + angle += TWOPI; + + angle = DEGTORAD(22.5f) + TWOPI - angle; + + if (angle >= TWOPI) + angle -= TWOPI; + + return (int)floorf(angle / DEGTORAD(45.0f)); + } + // not too sure about all these... static uint16 GetRandomNumber(void) { return myrand() & MYRAND_MAX; } |