]> code.bitgloo.com Git - clyne/gamedev.git/commitdiff
bug fixessss
authorClyne Sullivan <tullivan99@gmail.com>
Fri, 20 May 2016 11:44:49 +0000 (07:44 -0400)
committerClyne Sullivan <tullivan99@gmail.com>
Fri, 20 May 2016 11:44:49 +0000 (07:44 -0400)
brice.dat
include/entities.hpp
main.cpp
src/entities.cpp
src/mob.cpp
src/world.cpp

index 61d57c2785952fa6cb22f35f6db947ff5ddf91d2..ea71945339f7a7cd6d35324a11df49578bb93bfc 100644 (file)
--- a/brice.dat
+++ b/brice.dat
@@ -1,5 +1,5 @@
 2
-canJump
-0
 canSprint
 0
+canJump
+0
index 93c1caa5984f6e60bed90e09c019b92a3f3b9340..a06a8bb0cda8ce969e36ed47581912931c7e1087 100644 (file)
@@ -283,7 +283,7 @@ public:
        bool isHit(void) const;
 
        // returns true if this entity is near the one provided
-       bool isNear(Entity e);
+       bool isNear(const Entity *e);
 
        // returns true if the coordinate is within the entity
        bool isInside(vec2 coord) const;
index 375a2706235ea19cf94895c35da1ac013afdfff1..e90ba0a5c4ec1a86081c9405f928a57ae6e4262e 100644 (file)
--- a/main.cpp
+++ b/main.cpp
@@ -551,7 +551,7 @@ void logic(){
                                }
                        }
 
-                       if(e->isInside(ui::mouse) && player->isNear(*e)) {
+                       if(e->isInside(ui::mouse) && player->isNear(e)) {
                                e->near = true;
                                if (e->type == OBJECTT)
                                        ObjectSelected = true;
@@ -569,7 +569,7 @@ void logic(){
                                e->near = false;
                        }
                } else if (e->type == MOBT) {
-                       e->near = player->isNear(*e);
+                       e->near = player->isNear(e);
                        e->wander();
                }
        }
index b9acc201a0fa13df7fd4652508b2d7fa34b2f64f..9949c1fb063b88daa060b264a4000e7080cd30a3 100644 (file)
@@ -329,8 +329,8 @@ void Object::reloadTexture(void)
        height = getItemHeight(iname);
 }
 
-bool Entity::isNear(Entity e) {
-       return pow(e.loc.x - loc.x, 2) + pow(e.loc.y - loc.y, 2) <= pow(HLINES(40), 2);
+bool Entity::isNear(const Entity *e) {
+       return pow(e->loc.x - loc.x, 2) + pow(e->loc.y - loc.y, 2) <= pow(HLINES(40), 2);
 }
 
 void NPC::drawThingy(void) const
index 1f998f7959f838fd242dfa08b546129ef1a98e28..d6df3fd8071b26d40fcaf4c1ecba74eb1fe2646d 100644 (file)
@@ -11,6 +11,7 @@ Mob::Mob(void)
        inv = nullptr;
     rider = nullptr;
     canMove = true;
+       loc = 0;
 }
 
 Page::Page(void) : Mob()
index f6df7d66c5700be6d4da94bc36d70da4efdde902..2931f81b2a81a569949fbd8c90ad593661472680 100644 (file)
@@ -1010,7 +1010,7 @@ getNearInteractable(Entity &e)
 {
     auto n = std::find_if(std::begin(entity), std::end(entity), [&](Entity *&a) {
         return ((a->type == MOBT) || (a->type == NPCT) || a->type == MERCHT) &&
-               e.isNear(*a) && (e.left ? (a->loc.x < e.loc.x) : (a->loc.x > e.loc.x));
+               e.isNear(a) && (e.left ? (a->loc.x < e.loc.x) : (a->loc.x > e.loc.x));
     });
 
     return n == std::end(entity) ? nullptr : *n;
@@ -1020,7 +1020,7 @@ Mob *World::
 getNearMob(Entity &e)
 {
     auto n = std::find_if(std::begin(mob), std::end(mob), [&](Mob *&a) {
-        return e.isNear(*a) && (e.left ? (a->loc.x < e.loc.x + e.width / 2) : (a->loc.x > e.loc.x + e.width / 2));
+        return e.isNear(a) && (e.left ? (a->loc.x < e.loc.x + e.width / 2) : (a->loc.x > e.loc.x + e.width / 2));
     });
 
     return n == std::end(mob) ? nullptr : *n;