summaryrefslogtreecommitdiff
path: root/src/bossFuzzyBear.cpp
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--src/bossFuzzyBear.cpp56
1 files changed, 3 insertions, 53 deletions
diff --git a/src/bossFuzzyBear.cpp b/src/bossFuzzyBear.cpp
index 65e6ab6..c218f6d 100644
--- a/src/bossFuzzyBear.cpp
+++ b/src/bossFuzzyBear.cpp
@@ -3,6 +3,8 @@
#include <g3dhax.h>
#include <sfx.h>
+#include "player.h"
+
class daFuzzyBear_c : public dEn_c {
int onCreate();
int onDelete();
@@ -68,9 +70,6 @@ extern "C" dStageActor_c *CreateActor(u16 classID, int settings, Vec pos, char r
extern "C" u8 dSprite_c__getXDirectionOfFurthestPlayerRelativeToVEC3(daFuzzyBear_c *, Vec pos);
extern "C" dStageActor_c *GetSpecificPlayerActor(int number);
-int NearestPlayerF(daFuzzyBear_c *Sprite);
-float PlayertoSpriteDistanceF(Vec sprite, Vec player);
-
CREATE_STATE(daFuzzyBear_c, Grow);
CREATE_STATE(daFuzzyBear_c, Bounce);
@@ -242,7 +241,7 @@ int daFuzzyBear_c::onExecute() {
updateModelMatrices();
if (this->aPhysics.result1 == 1) {
- char PlayerID = NearestPlayerF(this);
+ char PlayerID = NearestPlayer(this);
dStageActor_c *Player = GetSpecificPlayerActor(PlayerID);
this->_vf220(Player);
@@ -251,55 +250,6 @@ int daFuzzyBear_c::onExecute() {
return true;
}
-int NearestPlayerF(daFuzzyBear_c *Sprite) {
- float pfloat[] = { 0.0, 0.0, 0.0, 0.0 };
- float max = 1000000.0;
- char maxPlayer = 5;
- int i;
- OSReport("FINDING NEAREST PLAYER");
-
- for (i=0; i<4; i++) {
- OSReport("K, let's check out Player %d", i);
- dStageActor_c *Player = GetSpecificPlayerActor(i);
- if (Player != 0) {
- OSReport("Player %d exists", i);
- pfloat[i] = PlayertoSpriteDistanceF(Sprite->pos, Player->pos);
-
- OSReport("if %f > %f", pfloat[i], max);
- if (pfloat[i] < max) {
- max = pfloat[i];
- maxPlayer = i;
- OSReport("MaxPlayer now %d", i);
- }
- }
- }
-
- OSReport("MaxPlayer finalized at %d", maxPlayer);
-
- return maxPlayer;
-}
-
-float PlayertoSpriteDistanceF(Vec sprite, Vec player) {
- float x = sprite.x - player.x;
- float y = sprite.y - player.y;
-
- float x2 = x * x;
- float y2 = y * y;
-
- float returnval = x2+y2;
-
- OSReport("X: (%f - %f)^2 = %f", sprite.x, player.x, x2);
- OSReport("Y: (%f - %f)^2 = %f", sprite.y, player.y, y2);
-
-
- if (returnval < 0) { returnval = -returnval; }
-
- OSReport("Return: %f", returnval);
-
- return returnval;
-}
-
-
int daFuzzyBear_c::onDraw() {
bodyModel.scheduleForDrawing();