summaryrefslogtreecommitdiff
path: root/src/player.cpp
diff options
context:
space:
mode:
authorColin Noga <Tempus@Spectrum-Song.local>2011-10-10 22:46:16 -0500
committerColin Noga <Tempus@Spectrum-Song.local>2011-10-10 22:46:16 -0500
commitfaa753075c7751b106dfdb60b6a56dd7bbd6a6b7 (patch)
tree28d35e1d3e7eef6550385b6b751a74bb432b9674 /src/player.cpp
parent5ba33f06b89159191cdcbbefd9196ca6f2bab89e (diff)
parent5f3eca3f6074605272b7bdde4a685d2f0934d6a7 (diff)
downloadkamek-faa753075c7751b106dfdb60b6a56dd7bbd6a6b7.tar.gz
kamek-faa753075c7751b106dfdb60b6a56dd7bbd6a6b7.zip
Merge branch 'level-select' of ssh://treeki.shacknet.nu:30000/Kamek into level-select
Diffstat (limited to '')
-rw-r--r--src/player.cpp35
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;
+}
+