diff options
author | Colin Noga <Tempus@Spectrum-Song.local> | 2011-10-10 22:46:16 -0500 |
---|---|---|
committer | Colin Noga <Tempus@Spectrum-Song.local> | 2011-10-10 22:46:16 -0500 |
commit | faa753075c7751b106dfdb60b6a56dd7bbd6a6b7 (patch) | |
tree | 28d35e1d3e7eef6550385b6b751a74bb432b9674 /src/player.cpp | |
parent | 5ba33f06b89159191cdcbbefd9196ca6f2bab89e (diff) | |
parent | 5f3eca3f6074605272b7bdde4a685d2f0934d6a7 (diff) | |
download | kamek-faa753075c7751b106dfdb60b6a56dd7bbd6a6b7.tar.gz kamek-faa753075c7751b106dfdb60b6a56dd7bbd6a6b7.zip |
Merge branch 'level-select' of ssh://treeki.shacknet.nu:30000/Kamek into level-select
Diffstat (limited to 'src/player.cpp')
-rw-r--r-- | src/player.cpp | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/src/player.cpp b/src/player.cpp new file mode 100644 index 0000000..ec638d4 --- /dev/null +++ b/src/player.cpp @@ -0,0 +1,35 @@ +#include "player.h" + +// Please set your dStageActor_c's z coordinate +// Please check return for -1 +char NearestPlayer(dStageActor_c* actor) { + char nearest = -1; + float current = 3000000.0; + + OSReport("FINDING NEAREST PLAYER\n"); + for(char ii = 0; ii < 4; ii++) { + OSReport("K, let's check out Player %d\n", ii); + dStageActor_c* player = GetSpecificPlayerActor(ii); + if(!player) { + OSReport("Player %d is NULL\n", ii); + continue; + } + OSReport("Player %d is ok\n", ii); + OSReport("[%f,%f,%f] - [%f,%f,%f]\n", + actor->pos.x, actor->pos.y, actor->pos.z, + player->pos.x, player->pos.y, player->pos.z); + float distance = VECDistance(&actor->pos, &player->pos); + OSReport("Distance: %f [%f]\n", distance, current); + if(distance < current) { + current = distance; + nearest = ii; + OSReport("Nearest is now %d\n", ii); + } + } + OSReport("NearestPlayer returning %d\n", nearest); + if(nearest < 0) { + OSReport("***FIX ME IMMEDIATELY***\n***NEED Z COORDINATES FOR ACTOR***\n"); + } + return nearest; +} + |