]> git.lizzy.rs Git - minetest.git/commitdiff
Pathfinder: Fix style
authorest31 <MTest31@outlook.com>
Thu, 31 Mar 2016 23:52:17 +0000 (01:52 +0200)
committerest31 <MTest31@outlook.com>
Sun, 1 May 2016 13:32:02 +0000 (15:32 +0200)
* Fix naming style for methods and classes:
Use camelCase for methods and PascalCase for classes as
code style demands it. And use sneak_case for methods that
are not member of a class.
* Replace "* " with " *" for Pointers
* Same for references
* Put function body opening braces on new line
* Other misc minor non functional style improvements

src/pathfinder.cpp
src/pathfinder.h
src/script/lua_api/l_env.cpp

index 90fc4ecdaab41690ecb0082a58bd96d81f5e54aa..28cad1733d5fbbcfb4a6cfc3b6a52e51492d097a 100644 (file)
@@ -55,9 +55,9 @@ with this program; if not, write to the Free Software Foundation, Inc.,
 #define ERROR_TARGET     std::cout
 #else
 #define DEBUG_OUT(a)     while(0)
-#define INFO_TARGET      infostream << "pathfinder: "
-#define VERBOSE_TARGET   verbosestream << "pathfinder: "
-#define ERROR_TARGET     errorstream << "pathfinder: "
+#define INFO_TARGET      infostream << "Pathfinder: "
+#define VERBOSE_TARGET   verbosestream << "Pathfinder: "
+#define ERROR_TARGET     errorstream << "Pathfinder: "
 #endif
 
 /******************************************************************************/
@@ -66,17 +66,17 @@ with this program; if not, write to the Free Software Foundation, Inc.,
 
 
 /** representation of cost in specific direction */
-class path_cost {
+class PathCost {
 public:
 
        /** default constructor */
-       path_cost();
+       PathCost();
 
        /** copy constructor */
-       path_cost(const path_cost& b);
+       PathCost(const PathCost &b);
 
        /** assignment operator */
-       path_cost& operator= (const path_cost& b);
+       PathCost &operator= (const PathCost &b);
 
        bool valid;              /**< movement is possible         */
        int  value;              /**< cost of movement             */
@@ -87,33 +87,33 @@ class path_cost {
 
 
 /** representation of a mapnode to be used for pathfinding */
-class path_gridnode {
+class PathGridnode {
 
 public:
        /** default constructor */
-       path_gridnode();
+       PathGridnode();
 
        /** copy constructor */
-       path_gridnode(const path_gridnode& b);
+       PathGridnode(const PathGridnode &b);
 
        /**
         * assignment operator
         * @param b node to copy
         */
-       path_gridnode& operator= (const path_gridnode& b);
+       PathGridnode &operator= (const PathGridnode &b);
 
        /**
         * read cost in a specific direction
         * @param dir direction of cost to fetch
         */
-       path_cost get_cost(v3s16 dir);
+       PathCost getCost(v3s16 dir);
 
        /**
         * set cost value for movement
         * @param dir direction to set cost for
         * @cost cost to set
         */
-       void      set_cost(v3s16 dir,path_cost cost);
+       void      setCost(v3s16 dir, PathCost cost);
 
        bool      valid;               /**< node is on surface                    */
        bool      target;              /**< node is target position               */
@@ -122,7 +122,7 @@ class path_gridnode {
        v3s16     sourcedir;           /**< origin of movement for current cost   */
        int       surfaces;            /**< number of surfaces with same x,z value*/
        v3s16     pos;                 /**< real position of node                 */
-       path_cost directions[4];       /**< cost in different directions          */
+       PathCost directions[4];        /**< cost in different directions          */
 
        /* debug values */
        bool      is_element;          /**< node is element of path detected      */
@@ -130,13 +130,13 @@ class path_gridnode {
 };
 
 /** class doing pathfinding */
-class pathfinder {
+class Pathfinder {
 
 public:
        /**
         * default constructor
         */
-       pathfinder();
+       Pathfinder();
 
        /**
         * path evaluation function
@@ -146,15 +146,15 @@ class pathfinder {
         * @param searchdistance maximum number of nodes to look in each direction
         * @param max_jump maximum number of blocks a path may jump up
         * @param max_drop maximum number of blocks a path may drop
-        * @param algo algorithm to use for finding a path
+        * @param algo Algorithm to use for finding a path
         */
-       std::vector<v3s16> get_Path(ServerEnvironment* env,
+       std::vector<v3s16> getPath(ServerEnvironment *env,
                        v3s16 source,
                        v3s16 destination,
                        unsigned int searchdistance,
                        unsigned int max_jump,
                        unsigned int max_drop,
-                       algorithm algo);
+                       PathAlgorithm algo);
 
 private:
        /** data struct for storing internal information */
@@ -190,7 +190,7 @@ class pathfinder {
         * @param ipos index position
         * @return gridnode for index
         */
-       path_gridnode& getIndexElement(v3s16 ipos);
+       PathGridnode &getIndexElement(v3s16 ipos);
 
        /**
         * invert a 3d position
@@ -204,7 +204,7 @@ class pathfinder {
         * @param index position to validate
         * @return true/false
         */
-       bool           valid_index(v3s16 index);
+       bool           isValidIndex(v3s16 index);
 
        /**
         * translate position to float position
@@ -217,11 +217,11 @@ class pathfinder {
        /* algorithm functions */
 
        /**
-        * calculate 2d manahttan distance to target
+        * calculate 2d manahttan distance to target on the xz plane
         * @param pos position to calc distance
         * @return integer distance
         */
-       int           get_manhattandistance(v3s16 pos);
+       int           getXZManhattanDist(v3s16 pos);
 
        /**
         * get best direction based uppon heuristics
@@ -229,13 +229,13 @@ class pathfinder {
         * @param g_pos mapnode to start from
         * @return direction to check
         */
-       v3s16         get_dir_heuristic(std::vector<v3s16>& directions,path_gridnode& g_pos);
+       v3s16         getDirHeuristic(std::vector<v3s16> &directions, PathGridnode &g_pos);
 
        /**
         * build internal data representation of search area
         * @return true/false if costmap creation was successfull
         */
-       bool          build_costmap();
+       bool          buildCostmap();
 
        /**
         * calculate cost of movement
@@ -243,7 +243,7 @@ class pathfinder {
         * @param dir direction to move to
         * @return cost information
         */
-       path_cost     calc_cost(v3s16 pos,v3s16 dir);
+       PathCost     calcCost(v3s16 pos, v3s16 dir);
 
        /**
         * recursive update whole search areas total cost information
@@ -253,7 +253,7 @@ class pathfinder {
         * @param level current recursion depth
         * @return true/false path to destination has been found
         */
-       bool          update_all_costs(v3s16 ipos,v3s16 srcdir,int total_cost,int level);
+       bool          updateAllCosts(v3s16 ipos, v3s16 srcdir, int total_cost, int level);
 
        /**
         * recursive try to find a patrh to destionation
@@ -263,7 +263,7 @@ class pathfinder {
         * @param level current recursion depth
         * @return true/false path to destination has been found
         */
-       bool          update_cost_heuristic(v3s16 ipos,v3s16 srcdir,int current_cost,int level);
+       bool          updateCostHeuristic(v3s16 ipos, v3s16 srcdir, int current_cost, int level);
 
        /**
         * recursive build a vector containing all nodes from source to destination
@@ -271,7 +271,7 @@ class pathfinder {
         * @param pos pos to check next
         * @param level recursion depth
         */
-       void          build_path(std::vector<v3s16>& path,v3s16 pos, int level);
+       void          buildPath(std::vector<v3s16> &path, v3s16 pos, int level);
 
        /* variables */
        int m_max_index_x;          /**< max index of search area in x direction  */
@@ -292,56 +292,56 @@ class pathfinder {
        limits m_limits;            /**< position limits in real map coordinates  */
 
        /** 3d grid containing all map data already collected and analyzed */
-       std::vector<std::vector<std::vector<path_gridnode> > > m_data;
+       std::vector<std::vector<std::vector<PathGridnode> > > m_data;
 
-       ServerEnvironmentm_env;   /**< minetest environment pointer             */
+       ServerEnvironment *m_env;   /**< minetest environment pointer             */
 
 #ifdef PATHFINDER_DEBUG
 
        /**
         * print collected cost information
         */
-       void print_cost();
+       void printCost();
 
        /**
         * print collected cost information in a specific direction
         * @param dir direction to print
         */
-       void print_cost(path_directions dir);
+       void printCost(PathDirections dir);
 
        /**
         * print type of node as evaluated
         */
-       void print_type();
+       void printType();
 
        /**
         * print pathlenght for all nodes in search area
         */
-       void print_pathlen();
+       void printPathLen();
 
        /**
         * print a path
         * @param path path to show
         */
-       void print_path(std::vector<v3s16> path);
+       void printPath(std::vector<v3s16> path);
 
        /**
         * print y direction for all movements
         */
-       void print_ydir();
+       void printYdir();
 
        /**
         * print y direction for moving in a specific direction
         * @param dir direction to show data
         */
-       void print_ydir(path_directions dir);
+       void printYdir(PathDirections dir);
 
        /**
         * helper function to translate a direction to speaking text
         * @param dir direction to translate
         * @return textual name of direction
         */
-       std::string dir_to_name(path_directions dir);
+       std::string dirToName(PathDirections dir);
 #endif
 };
 
@@ -349,23 +349,23 @@ class pathfinder {
 /* implementation                                                             */
 /******************************************************************************/
 
-std::vector<v3s16> get_Path(ServerEnvironment* env,
+std::vector<v3s16> get_path(ServerEnvironment* env,
                                                        v3s16 source,
                                                        v3s16 destination,
                                                        unsigned int searchdistance,
                                                        unsigned int max_jump,
                                                        unsigned int max_drop,
-                                                       algorithm algo) {
-
-       pathfinder searchclass;
+                                                       PathAlgorithm algo)
+{
+       Pathfinder searchclass;
 
-       return searchclass.get_Path(env,
-                               source,destination,
-                               searchdistance,max_jump,max_drop,algo);
+       return searchclass.getPath(env,
+                               source, destination,
+                               searchdistance, max_jump, max_drop, algo);
 }
 
 /******************************************************************************/
-path_cost::path_cost()
+PathCost::PathCost()
 :      valid(false),
        value(0),
        direction(0),
@@ -375,7 +375,8 @@ path_cost::path_cost()
 }
 
 /******************************************************************************/
-path_cost::path_cost(const path_cost& b) {
+PathCost::PathCost(const PathCost &b)
+{
        valid     = b.valid;
        direction = b.direction;
        value     = b.value;
@@ -383,7 +384,8 @@ path_cost::path_cost(const path_cost& b) {
 }
 
 /******************************************************************************/
-path_cost& path_cost::operator= (const path_cost& b) {
+PathCost &PathCost::operator= (const PathCost &b)
+{
        valid     = b.valid;
        direction = b.direction;
        value     = b.value;
@@ -393,14 +395,14 @@ path_cost& path_cost::operator= (const path_cost& b) {
 }
 
 /******************************************************************************/
-path_gridnode::path_gridnode()
+PathGridnode::PathGridnode()
 :      valid(false),
        target(false),
        source(false),
        totalcost(-1),
-       sourcedir(v3s16(0,0,0)),
+       sourcedir(v3s16(0, 0, 0)),
        surfaces(0),
-       pos(v3s16(0,0,0)),
+       pos(v3s16(0, 0, 0)),
        is_element(false),
        type('u')
 {
@@ -408,7 +410,7 @@ path_gridnode::path_gridnode()
 }
 
 /******************************************************************************/
-path_gridnode::path_gridnode(const path_gridnode& b)
+PathGridnode::PathGridnode(const PathGridnode &b)
 :      valid(b.valid),
        target(b.target),
        source(b.source),
@@ -418,7 +420,7 @@ path_gridnode::path_gridnode(const path_gridnode& b)
        pos(b.pos),
        is_element(b.is_element),
        type(b.type)
-       {
+{
 
        directions[DIR_XP] = b.directions[DIR_XP];
        directions[DIR_XM] = b.directions[DIR_XM];
@@ -427,7 +429,8 @@ path_gridnode::path_gridnode(const path_gridnode& b)
 }
 
 /******************************************************************************/
-path_gridnode& path_gridnode::operator= (const path_gridnode& b) {
+PathGridnode &PathGridnode::operator= (const PathGridnode &b)
+{
        valid      = b.valid;
        target     = b.target;
        source     = b.source;
@@ -447,7 +450,8 @@ path_gridnode& path_gridnode::operator= (const path_gridnode& b) {
 }
 
 /******************************************************************************/
-path_cost path_gridnode::get_cost(v3s16 dir) {
+PathCost PathGridnode::getCost(v3s16 dir)
+{
        if (dir.X > 0) {
                return directions[DIR_XP];
        }
@@ -460,12 +464,13 @@ path_cost path_gridnode::get_cost(v3s16 dir) {
        if (dir.Z < 0) {
                return directions[DIR_ZM];
        }
-       path_cost retval;
+       PathCost retval;
        return retval;
 }
 
 /******************************************************************************/
-void path_gridnode::set_cost(v3s16 dir,path_cost cost) {
+void PathGridnode::setCost(v3s16 dir, PathCost cost)
+{
        if (dir.X > 0) {
                directions[DIR_XP] = cost;
        }
@@ -481,13 +486,14 @@ void path_gridnode::set_cost(v3s16 dir,path_cost cost) {
 }
 
 /******************************************************************************/
-std::vector<v3s16> pathfinder::get_Path(ServerEnvironment* env,
+std::vector<v3s16> Pathfinder::getPath(ServerEnvironment *env,
                                                        v3s16 source,
                                                        v3s16 destination,
                                                        unsigned int searchdistance,
                                                        unsigned int max_jump,
                                                        unsigned int max_drop,
-                                                       algorithm algo) {
+                                                       PathAlgorithm algo)
+{
 #ifdef PATHFINDER_CALC_TIME
        timespec ts;
        clock_gettime(CLOCK_REALTIME, &ts);
@@ -509,18 +515,18 @@ std::vector<v3s16> pathfinder::get_Path(ServerEnvironment* env,
        m_min_target_distance = -1;
        m_prefetch = true;
 
-       if (algo == A_PLAIN_NP) {
+       if (algo == PA_PLAIN_NP) {
                m_prefetch = false;
        }
 
-       int min_x = MYMIN(source.X,destination.X);
-       int max_x = MYMAX(source.X,destination.X);
+       int min_x = MYMIN(source.X, destination.X);
+       int max_x = MYMAX(source.X, destination.X);
 
-       int min_y = MYMIN(source.Y,destination.Y);
-       int max_y = MYMAX(source.Y,destination.Y);
+       int min_y = MYMIN(source.Y, destination.Y);
+       int max_y = MYMAX(source.Y, destination.Y);
 
-       int min_z = MYMIN(source.Z,destination.Z);
-       int max_z = MYMAX(source.Z,destination.Z);
+       int min_z = MYMIN(source.Z, destination.Z);
+       int max_z = MYMAX(source.Z, destination.Z);
 
        m_limits.X.min = min_x - searchdistance;
        m_limits.X.max = max_x + searchdistance;
@@ -534,22 +540,22 @@ std::vector<v3s16> pathfinder::get_Path(ServerEnvironment* env,
        m_max_index_z = m_limits.Z.max - m_limits.Z.min;
 
        //build data map
-       if (!build_costmap()) {
+       if (!buildCostmap()) {
                ERROR_TARGET << "failed to build costmap" << std::endl;
                return retval;
        }
 #ifdef PATHFINDER_DEBUG
-       print_type();
-       print_cost();
-       print_ydir();
+       printType();
+       printCost();
+       printYdir();
 #endif
 
        //validate and mark start and end pos
        v3s16 StartIndex  = getIndexPos(source);
        v3s16 EndIndex    = getIndexPos(destination);
 
-       path_gridnode& startpos = getIndexElement(StartIndex);
-       path_gridnode& endpos   = getIndexElement(EndIndex);
+       PathGridnode &startpos = getIndexElement(StartIndex);
+       PathGridnode &endpos   = getIndexElement(EndIndex);
 
        if (!startpos.valid) {
                VERBOSE_TARGET << "invalid startpos" <<
@@ -571,15 +577,15 @@ std::vector<v3s16> pathfinder::get_Path(ServerEnvironment* env,
        bool update_cost_retval = false;
 
        switch (algo) {
-               case DIJKSTRA:
-                       update_cost_retval = update_all_costs(StartIndex,v3s16(0,0,0),0,0);
+               case PA_DIJKSTRA:
+                       update_cost_retval = updateAllCosts(StartIndex, v3s16(0, 0, 0), 0, 0);
                        break;
-               case A_PLAIN_NP:
-               case A_PLAIN:
-                       update_cost_retval = update_cost_heuristic(StartIndex,v3s16(0,0,0),0,0);
+               case PA_PLAIN_NP:
+               case PA_PLAIN:
+                       update_cost_retval = updateCostHeuristic(StartIndex, v3s16(0, 0, 0), 0, 0);
                        break;
                default:
-                       ERROR_TARGET << "missing algorithm"<< std::endl;
+                       ERROR_TARGET << "missing PathAlgorithm"<< std::endl;
                        break;
        }
 
@@ -587,16 +593,16 @@ std::vector<v3s16> pathfinder::get_Path(ServerEnvironment* env,
 
 #ifdef PATHFINDER_DEBUG
                std::cout << "Path to target found!" << std::endl;
-               print_pathlen();
+               printPathLen();
 #endif
 
                //find path
                std::vector<v3s16> path;
-               build_path(path,EndIndex,0);
+               buildPath(path, EndIndex, 0);
 
 #ifdef PATHFINDER_DEBUG
                std::cout << "Full index path:" << std::endl;
-               print_path(path);
+               printPath(path);
 #endif
 
                //finalize path
@@ -608,7 +614,7 @@ std::vector<v3s16> pathfinder::get_Path(ServerEnvironment* env,
 
 #ifdef PATHFINDER_DEBUG
                std::cout << "full path:" << std::endl;
-               print_path(full_path);
+               printPath(full_path);
 #endif
 #ifdef PATHFINDER_CALC_TIME
                timespec ts2;
@@ -626,7 +632,7 @@ std::vector<v3s16> pathfinder::get_Path(ServerEnvironment* env,
        }
        else {
 #ifdef PATHFINDER_DEBUG
-               print_pathlen();
+               printPathLen();
 #endif
                ERROR_TARGET << "failed to update cost map"<< std::endl;
        }
@@ -637,7 +643,7 @@ std::vector<v3s16> pathfinder::get_Path(ServerEnvironment* env,
 }
 
 /******************************************************************************/
-pathfinder::pathfinder() :
+Pathfinder::Pathfinder() :
        m_max_index_x(0),
        m_max_index_y(0),
        m_max_index_z(0),
@@ -646,8 +652,8 @@ pathfinder::pathfinder() :
        m_maxjump(0),
        m_min_target_distance(0),
        m_prefetch(true),
-       m_start(0,0,0),
-       m_destination(0,0,0),
+       m_start(0, 0, 0),
+       m_destination(0, 0, 0),
        m_limits(),
        m_data(),
        m_env(0)
@@ -656,8 +662,8 @@ pathfinder::pathfinder() :
 }
 
 /******************************************************************************/
-v3s16 pathfinder::getRealPos(v3s16 ipos) {
-
+v3s16 Pathfinder::getRealPos(v3s16 ipos)
+{
        v3s16 retval = ipos;
 
        retval.X += m_limits.X.min;
@@ -668,7 +674,7 @@ v3s16 pathfinder::getRealPos(v3s16 ipos) {
 }
 
 /******************************************************************************/
-bool pathfinder::build_costmap()
+bool Pathfinder::buildCostmap()
 {
        INFO_TARGET << "Pathfinder build costmap: (" << m_limits.X.min << ","
                                                                                                << m_limits.Z.min << ") ("
@@ -683,12 +689,12 @@ bool pathfinder::build_costmap()
 
                        int surfaces = 0;
                        for (int y = 0; y < m_max_index_y; y++) {
-                               v3s16 ipos(x,y,z);
+                               v3s16 ipos(x, y, z);
 
                                v3s16 realpos = getRealPos(ipos);
 
                                MapNode current = m_env->getMap().getNodeNoEx(realpos);
-                               MapNode below   = m_env->getMap().getNodeNoEx(realpos + v3s16(0,-1,0));
+                               MapNode below   = m_env->getMap().getNodeNoEx(realpos + v3s16(0, -1, 0));
 
 
                                if ((current.param0 == CONTENT_IGNORE) ||
@@ -727,13 +733,13 @@ bool pathfinder::build_costmap()
 
                                if (m_prefetch) {
                                m_data[x][z][y].directions[DIR_XP] =
-                                                                                       calc_cost(realpos,v3s16( 1,0, 0));
+                                                                                       calcCost(realpos,v3s16( 1, 0, 0));
                                m_data[x][z][y].directions[DIR_XM] =
-                                                                                       calc_cost(realpos,v3s16(-1,0, 0));
+                                                                                       calcCost(realpos,v3s16(-1, 0, 0));
                                m_data[x][z][y].directions[DIR_ZP] =
-                                                                                       calc_cost(realpos,v3s16( 0,0, 1));
+                                                                                       calcCost(realpos,v3s16( 0, 0, 1));
                                m_data[x][z][y].directions[DIR_ZM] =
-                                                                                       calc_cost(realpos,v3s16( 0,0,-1));
+                                                                                       calcCost(realpos,v3s16( 0, 0,-1));
                                }
 
                        }
@@ -751,8 +757,9 @@ bool pathfinder::build_costmap()
 }
 
 /******************************************************************************/
-path_cost pathfinder::calc_cost(v3s16 pos,v3s16 dir) {
-       path_cost retval;
+PathCost Pathfinder::calcCost(v3s16 pos, v3s16 dir)
+{
+       PathCost retval;
 
        retval.updated = true;
 
@@ -779,12 +786,12 @@ path_cost pathfinder::calc_cost(v3s16 pos,v3s16 dir) {
 
        if (node_at_pos2.param0 == CONTENT_AIR) {
                MapNode node_below_pos2 =
-                                                       m_env->getMap().getNodeNoEx(pos2 + v3s16(0,-1,0));
+                                                       m_env->getMap().getNodeNoEx(pos2 + v3s16(0, -1, 0));
 
                //did we get information about node?
                if (node_below_pos2.param0 == CONTENT_IGNORE ) {
                                VERBOSE_TARGET << "Pathfinder: (2) area at pos: "
-                                       << PPOS((pos2 + v3s16(0,-1,0))) << " not loaded";
+                                       << PPOS((pos2 + v3s16(0, -1, 0))) << " not loaded";
                                return retval;
                }
 
@@ -796,13 +803,13 @@ path_cost pathfinder::calc_cost(v3s16 pos,v3s16 dir) {
                                        << " cost same height found" << std::endl);
                }
                else {
-                       v3s16 testpos = pos2 - v3s16(0,-1,0);
+                       v3s16 testpos = pos2 - v3s16(0, -1, 0);
                        MapNode node_at_pos = m_env->getMap().getNodeNoEx(testpos);
 
                        while ((node_at_pos.param0 != CONTENT_IGNORE) &&
                                        (node_at_pos.param0 == CONTENT_AIR) &&
                                        (testpos.Y > m_limits.Y.min)) {
-                               testpos += v3s16(0,-1,0);
+                               testpos += v3s16(0, -1, 0);
                                node_at_pos = m_env->getMap().getNodeNoEx(testpos);
                        }
 
@@ -836,7 +843,7 @@ path_cost pathfinder::calc_cost(v3s16 pos,v3s16 dir) {
                while ((node_at_pos.param0 != CONTENT_IGNORE) &&
                                (node_at_pos.param0 != CONTENT_AIR) &&
                                (testpos.Y < m_limits.Y.max)) {
-                       testpos += v3s16(0,1,0);
+                       testpos += v3s16(0, 1, 0);
                        node_at_pos = m_env->getMap().getNodeNoEx(testpos);
                }
 
@@ -864,8 +871,8 @@ path_cost pathfinder::calc_cost(v3s16 pos,v3s16 dir) {
 }
 
 /******************************************************************************/
-v3s16 pathfinder::getIndexPos(v3s16 pos) {
-
+v3s16 Pathfinder::getIndexPos(v3s16 pos)
+{
        v3s16 retval = pos;
        retval.X -= m_limits.X.min;
        retval.Y -= m_limits.Y.min;
@@ -875,12 +882,14 @@ v3s16 pathfinder::getIndexPos(v3s16 pos) {
 }
 
 /******************************************************************************/
-path_gridnode& pathfinder::getIndexElement(v3s16 ipos) {
+PathGridnode &Pathfinder::getIndexElement(v3s16 ipos)
+{
        return m_data[ipos.X][ipos.Z][ipos.Y];
 }
 
 /******************************************************************************/
-bool pathfinder::valid_index(v3s16 index) {
+bool Pathfinder::isValidIndex(v3s16 index)
+{
        if (    (index.X < m_max_index_x) &&
                        (index.Y < m_max_index_y) &&
                        (index.Z < m_max_index_z) &&
@@ -893,7 +902,8 @@ bool pathfinder::valid_index(v3s16 index) {
 }
 
 /******************************************************************************/
-v3s16 pathfinder::invert(v3s16 pos) {
+v3s16 Pathfinder::invert(v3s16 pos)
+{
        v3s16 retval = pos;
 
        retval.X *=-1;
@@ -904,12 +914,12 @@ v3s16 pathfinder::invert(v3s16 pos) {
 }
 
 /******************************************************************************/
-bool pathfinder::update_all_costs(     v3s16 ipos,
-                                                                       v3s16 srcdir,
-                                                                       int current_cost,
-                                                                       int level) {
-
-       path_gridnode& g_pos = getIndexElement(ipos);
+bool Pathfinder::updateAllCosts(v3s16 ipos,
+                                                               v3s16 srcdir,
+                                                               int current_cost,
+                                                               int level)
+{
+       PathGridnode &g_pos = getIndexElement(ipos);
        g_pos.totalcost = current_cost;
        g_pos.sourcedir = srcdir;
 
@@ -933,14 +943,14 @@ bool pathfinder::update_all_costs(        v3s16 ipos,
 
        for (unsigned int i=0; i < directions.size(); i++) {
                if (directions[i] != srcdir) {
-                       path_cost cost = g_pos.get_cost(directions[i]);
+                       PathCost cost = g_pos.getCost(directions[i]);
 
                        if (cost.valid) {
                                directions[i].Y = cost.direction;
 
                                v3s16 ipos2 = ipos + directions[i];
 
-                               if (!valid_index(ipos2)) {
+                               if (!isValidIndex(ipos2)) {
                                        DEBUG_OUT(LVL " Pathfinder: " << PPOS(ipos2) <<
                                                        " out of range (" << m_limits.X.max << "," <<
                                                        m_limits.Y.max << "," << m_limits.Z.max
@@ -948,7 +958,7 @@ bool pathfinder::update_all_costs(  v3s16 ipos,
                                        continue;
                                }
 
-                               path_gridnode& g_pos2 = getIndexElement(ipos2);
+                               PathGridnode &g_pos2 = getIndexElement(ipos2);
 
                                if (!g_pos2.valid) {
                                        VERBOSE_TARGET << LVL "Pathfinder: no data for new position: "
@@ -971,8 +981,8 @@ bool pathfinder::update_all_costs(  v3s16 ipos,
                                        DEBUG_OUT(LVL "Pathfinder: updating path at: "<<
                                                        PPOS(ipos2) << " from: " << g_pos2.totalcost << " to "<<
                                                        new_cost << std::endl);
-                                       if (update_all_costs(ipos2,invert(directions[i]),
-                                                                                       new_cost,level)) {
+                                       if (updateAllCosts(ipos2, invert(directions[i]),
+                                                                                       new_cost, level)) {
                                                retval = true;
                                                }
                                        }
@@ -993,20 +1003,21 @@ bool pathfinder::update_all_costs(       v3s16 ipos,
 }
 
 /******************************************************************************/
-int pathfinder::get_manhattandistance(v3s16 pos) {
-
-       int min_x = MYMIN(pos.X,m_destination.X);
-       int max_x = MYMAX(pos.X,m_destination.X);
-       int min_z = MYMIN(pos.Z,m_destination.Z);
-       int max_z = MYMAX(pos.Z,m_destination.Z);
+int Pathfinder::getXZManhattanDist(v3s16 pos)
+{
+       int min_x = MYMIN(pos.X, m_destination.X);
+       int max_x = MYMAX(pos.X, m_destination.X);
+       int min_z = MYMIN(pos.Z, m_destination.Z);
+       int max_z = MYMAX(pos.Z, m_destination.Z);
 
        return (max_x - min_x) + (max_z - min_z);
 }
 
 /******************************************************************************/
-v3s16 pathfinder::get_dir_heuristic(std::vector<v3s16>& directions,path_gridnode& g_pos) {
+v3s16 Pathfinder::getDirHeuristic(std::vector<v3s16> &directions, PathGridnode &g_pos)
+{
        int   minscore = -1;
-       v3s16 retdir   = v3s16(0,0,0);
+       v3s16 retdir   = v3s16(0, 0, 0);
        v3s16 srcpos = g_pos.pos;
        DEBUG_OUT("Pathfinder: remaining dirs at beginning:"
                                << directions.size() << std::endl);
@@ -1015,14 +1026,14 @@ v3s16 pathfinder::get_dir_heuristic(std::vector<v3s16>& directions,path_gridnode
                        iter != directions.end();
                        ++iter) {
 
-               v3s16 pos1 =  v3s16(srcpos.X + iter->X,0,srcpos.Z+iter->Z);
+               v3s16 pos1 = v3s16(srcpos.X + iter->X, 0, srcpos.Z+iter->Z);
 
-               int cur_manhattan = get_manhattandistance(pos1);
-               path_cost cost    = g_pos.get_cost(*iter);
+               int cur_manhattan = getXZManhattanDist(pos1);
+               PathCost cost    = g_pos.getCost(*iter);
 
                if (!cost.updated) {
-                       cost = calc_cost(g_pos.pos,*iter);
-                       g_pos.set_cost(*iter,cost);
+                       cost = calcCost(g_pos.pos, *iter);
+                       g_pos.setCost(*iter, cost);
                }
 
                if (cost.valid) {
@@ -1035,7 +1046,7 @@ v3s16 pathfinder::get_dir_heuristic(std::vector<v3s16>& directions,path_gridnode
                }
        }
 
-       if (retdir != v3s16(0,0,0)) {
+       if (retdir != v3s16(0, 0, 0)) {
                for (std::vector<v3s16>::iterator iter = directions.begin();
                                        iter != directions.end();
                                        ++iter) {
@@ -1057,12 +1068,13 @@ v3s16 pathfinder::get_dir_heuristic(std::vector<v3s16>& directions,path_gridnode
 }
 
 /******************************************************************************/
-bool pathfinder::update_cost_heuristic(        v3s16 ipos,
-                                                                       v3s16 srcdir,
-                                                                       int current_cost,
-                                                                       int level) {
+bool Pathfinder::updateCostHeuristic(  v3s16 ipos,
+                                                                               v3s16 srcdir,
+                                                                               int current_cost,
+                                                                               int level)
+{
 
-       path_gridnode& g_pos = getIndexElement(ipos);
+       PathGridnode &g_pos = getIndexElement(ipos);
        g_pos.totalcost = current_cost;
        g_pos.sourcedir = srcdir;
 
@@ -1079,38 +1091,38 @@ bool pathfinder::update_cost_heuristic( v3s16 ipos,
 
        std::vector<v3s16> directions;
 
-       directions.push_back(v3s16( 1,0, 0));
-       directions.push_back(v3s16(-1,0, 0));
-       directions.push_back(v3s16( 0,0, 1));
-       directions.push_back(v3s16( 0,0,-1));
+       directions.push_back(v3s16( 1, 0,  0));
+       directions.push_back(v3s16(-1, 0,  0));
+       directions.push_back(v3s16( 0, 0,  1));
+       directions.push_back(v3s16( 0, 0, -1));
 
-       v3s16 direction = get_dir_heuristic(directions,g_pos);
+       v3s16 direction = getDirHeuristic(directions, g_pos);
 
-       while (direction != v3s16(0,0,0) && (!retval)) {
+       while (direction != v3s16(0, 0, 0) && (!retval)) {
 
                if (direction != srcdir) {
-                       path_cost cost = g_pos.get_cost(direction);
+                       PathCost cost = g_pos.getCost(direction);
 
                        if (cost.valid) {
                                direction.Y = cost.direction;
 
                                v3s16 ipos2 = ipos + direction;
 
-                               if (!valid_index(ipos2)) {
+                               if (!isValidIndex(ipos2)) {
                                        DEBUG_OUT(LVL " Pathfinder: " << PPOS(ipos2) <<
                                                        " out of range (" << m_limits.X.max << "," <<
                                                        m_limits.Y.max << "," << m_limits.Z.max
                                                        <<")" << std::endl);
-                                       direction = get_dir_heuristic(directions,g_pos);
+                                       direction = getDirHeuristic(directions, g_pos);
                                        continue;
                                }
 
-                               path_gridnode& g_pos2 = getIndexElement(ipos2);
+                               PathGridnode &g_pos2 = getIndexElement(ipos2);
 
                                if (!g_pos2.valid) {
                                        VERBOSE_TARGET << LVL "Pathfinder: no data for new position: "
                                                                                                << PPOS(ipos2) << std::endl;
-                                       direction = get_dir_heuristic(directions,g_pos);
+                                       direction = getDirHeuristic(directions, g_pos);
                                        continue;
                                }
 
@@ -1133,8 +1145,8 @@ bool pathfinder::update_cost_heuristic(   v3s16 ipos,
                                                        PPOS(ipos2) << " from: " << g_pos2.totalcost << " to "<<
                                                        new_cost << " srcdir=" <<
                                                        PPOS(invert(direction))<< std::endl);
-                                       if (update_cost_heuristic(ipos2,invert(direction),
-                                                                                       new_cost,level)) {
+                                       if (updateCostHeuristic(ipos2, invert(direction),
+                                                                                       new_cost, level)) {
                                                retval = true;
                                                }
                                        }
@@ -1155,24 +1167,25 @@ bool pathfinder::update_cost_heuristic( v3s16 ipos,
                                                        " skipping srcdir: "
                                                        << PPOS(direction) << std::endl);
                }
-               direction = get_dir_heuristic(directions,g_pos);
+               direction = getDirHeuristic(directions, g_pos);
        }
        return retval;
 }
 
 /******************************************************************************/
-void pathfinder::build_path(std::vector<v3s16>& path,v3s16 pos, int level) {
+void Pathfinder::buildPath(std::vector<v3s16> &path, v3s16 pos, int level)
+{
        level ++;
        if (level > 700) {
                ERROR_TARGET
-               << LVL "Pathfinder: path is too long aborting" << std::endl;
+                       << LVL "Pathfinder: path is too long aborting" << std::endl;
                return;
        }
 
-       path_gridnode& g_pos = getIndexElement(pos);
+       PathGridnode &g_pos = getIndexElement(pos);
        if (!g_pos.valid) {
                ERROR_TARGET
-               << LVL "Pathfinder: invalid next pos detected aborting" << std::endl;
+                       << LVL "Pathfinder: invalid next pos detected aborting" << std::endl;
                return;
        }
 
@@ -1184,37 +1197,40 @@ void pathfinder::build_path(std::vector<v3s16>& path,v3s16 pos, int level) {
                return;
        }
 
-       build_path(path,pos + g_pos.sourcedir,level);
+       buildPath(path, pos + g_pos.sourcedir, level);
        path.push_back(pos);
 }
 
 /******************************************************************************/
-v3f pathfinder::tov3f(v3s16 pos) {
-       return v3f(BS*pos.X,BS*pos.Y,BS*pos.Z);
+v3f Pathfinder::tov3f(v3s16 pos)
+{
+       return v3f(BS * pos.X, BS * pos.Y, BS * pos.Z);
 }
 
 #ifdef PATHFINDER_DEBUG
 
 /******************************************************************************/
-void pathfinder::print_cost() {
-       print_cost(DIR_XP);
-       print_cost(DIR_XM);
-       print_cost(DIR_ZP);
-       print_cost(DIR_ZM);
+void Pathfinder::printCost()
+{
+       printCost(DIR_XP);
+       printCost(DIR_XM);
+       printCost(DIR_ZP);
+       printCost(DIR_ZM);
 }
 
 /******************************************************************************/
-void pathfinder::print_ydir() {
-       print_ydir(DIR_XP);
-       print_ydir(DIR_XM);
-       print_ydir(DIR_ZP);
-       print_ydir(DIR_ZM);
+void Pathfinder::printYdir()
+{
+       printYdir(DIR_XP);
+       printYdir(DIR_XM);
+       printYdir(DIR_ZP);
+       printYdir(DIR_ZM);
 }
 
 /******************************************************************************/
-void pathfinder::print_cost(path_directions dir) {
-
-       std::cout << "Cost in direction: " << dir_to_name(dir) << std::endl;
+void Pathfinder::printCost(PathDirections dir)
+{
+       std::cout << "Cost in direction: " << dirToName(dir) << std::endl;
        std::cout << std::setfill('-') << std::setw(80) << "-" << std::endl;
        std::cout << std::setfill(' ');
        for (int y = 0; y < m_max_index_y; y++) {
@@ -1243,9 +1259,9 @@ void pathfinder::print_cost(path_directions dir) {
 }
 
 /******************************************************************************/
-void pathfinder::print_ydir(path_directions dir) {
-
-       std::cout << "Height difference in direction: " << dir_to_name(dir) << std::endl;
+void Pathfinder::printYdir(PathDirections dir)
+{
+       std::cout << "Height difference in direction: " << dirToName(dir) << std::endl;
        std::cout << std::setfill('-') << std::setw(80) << "-" << std::endl;
        std::cout << std::setfill(' ');
        for (int y = 0; y < m_max_index_y; y++) {
@@ -1274,7 +1290,8 @@ void pathfinder::print_ydir(path_directions dir) {
 }
 
 /******************************************************************************/
-void pathfinder::print_type() {
+void Pathfinder::printType()
+{
        std::cout << "Type of node:" << std::endl;
        std::cout << std::setfill('-') << std::setw(80) << "-" << std::endl;
        std::cout << std::setfill(' ');
@@ -1302,7 +1319,8 @@ void pathfinder::print_type() {
 }
 
 /******************************************************************************/
-void pathfinder::print_pathlen() {
+void Pathfinder::printPathLen()
+{
        std::cout << "Pathlen:" << std::endl;
                std::cout << std::setfill('-') << std::setw(80) << "-" << std::endl;
                std::cout << std::setfill(' ');
@@ -1329,7 +1347,8 @@ void pathfinder::print_pathlen() {
 }
 
 /******************************************************************************/
-std::string pathfinder::dir_to_name(path_directions dir) {
+std::string Pathfinder::dirToName(PathDirections dir)
+{
        switch (dir) {
        case DIR_XP:
                return "XP";
@@ -1349,8 +1368,8 @@ std::string pathfinder::dir_to_name(path_directions dir) {
 }
 
 /******************************************************************************/
-void pathfinder::print_path(std::vector<v3s16> path) {
-
+void Pathfinder::printPath(std::vector<v3s16> path)
+{
        unsigned int current = 0;
        for (std::vector<v3s16>::iterator i = path.begin();
                        i != path.end(); ++i) {
index 31ea2f285a9ab7a1c0ad119e504c1055c344f93a..ba95aaf1cbba59ae8ac33670e1c8086d1dab26ea 100644 (file)
@@ -41,26 +41,26 @@ typedef enum {
        DIR_XM,
        DIR_ZP,
        DIR_ZM
-} path_directions;
+} PathDirections;
 
 /** List of supported algorithms */
 typedef enum {
-       DIJKSTRA,           /**< Dijkstra shortest path algorithm             */
-       A_PLAIN,            /**< A* algorithm using heuristics to find a path */
-       A_PLAIN_NP          /**< A* algorithm without prefetching of map data */
-} algorithm;
+       PA_DIJKSTRA,           /**< Dijkstra shortest path algorithm             */
+       PA_PLAIN,            /**< A* algorithm using heuristics to find a path */
+       PA_PLAIN_NP          /**< A* algorithm without prefetching of map data */
+} PathAlgorithm;
 
 /******************************************************************************/
 /* declarations                                                               */
 /******************************************************************************/
 
 /** c wrapper function to use from scriptapi */
-std::vector<v3s16> get_Path(ServerEnvironment* env,
+std::vector<v3s16> get_path(ServerEnvironment *env,
                                                        v3s16 source,
                                                        v3s16 destination,
                                                        unsigned int searchdistance,
                                                        unsigned int max_jump,
                                                        unsigned int max_drop,
-                                                       algorithm algo);
+                                                       PathAlgorithm algo);
 
 #endif /* PATHFINDER_H_ */
index af89da9a1b841c0fafd50e5d0f1f1ac865f865c2..8284c3fcbc6cd7392cf658e91e29e8abea652214 100644 (file)
@@ -915,19 +915,19 @@ int ModApiEnvMod::l_find_path(lua_State *L)
        unsigned int searchdistance = luaL_checkint(L, 3);
        unsigned int max_jump       = luaL_checkint(L, 4);
        unsigned int max_drop       = luaL_checkint(L, 5);
-       algorithm algo              = A_PLAIN_NP;
+       PathAlgorithm algo          = PA_PLAIN_NP;
        if (!lua_isnil(L, 6)) {
                std::string algorithm = luaL_checkstring(L,6);
 
                if (algorithm == "A*")
-                       algo = A_PLAIN;
+                       algo = PA_PLAIN;
 
                if (algorithm == "Dijkstra")
-                       algo = DIJKSTRA;
+                       algo = PA_DIJKSTRA;
        }
 
-       std::vector<v3s16> path =
-                       get_Path(env,pos1,pos2,searchdistance,max_jump,max_drop,algo);
+       std::vector<v3s16> path = get_path(env, pos1, pos2,
+               searchdistance, max_jump, max_drop, algo);
 
        if (path.size() > 0)
        {