Skip to content
Permalink
Browse files

Move PP() and PP2() macros to basic_macros.h

Instead of redefining them everywhere.
  • Loading branch information
Rogier-5 authored and paramat committed Dec 24, 2016
1 parent 2f59a0c commit 4d4b8bb8a46b6472d86fa848954dbc26b4fadb50
@@ -30,10 +30,9 @@ with this program; if not, write to the Free Software Foundation, Inc.,
#include "settings.h"
#include "camera.h" // CameraModes
#include "util/mathconstants.h"
#include "util/basic_macros.h"
#include <algorithm>

#define PP(x) "("<<(x).X<<","<<(x).Y<<","<<(x).Z<<")"

ClientMap::ClientMap(
Client *client,
IGameDef *gamedef,
@@ -29,8 +29,6 @@ with this program; if not, write to the Free Software Foundation, Inc.,
#include "scripting_game.h"
#include "log.h"

#define PP(x) "("<<(x).X<<","<<(x).Y<<","<<(x).Z<<")"

void add_legacy_abms(ServerEnvironment *env, INodeDefManager *nodedef) {

}
@@ -27,6 +27,7 @@ with this program; if not, write to the Free Software Foundation, Inc.,
#include "util/numeric.h" // For IntervalLimiter
#include "util/serialize.h"
#include "util/mathconstants.h"
#include "util/basic_macros.h"
#include "client/tile.h"
#include "environment.h"
#include "collision.h"
@@ -49,8 +50,6 @@ with this program; if not, write to the Free Software Foundation, Inc.,
class Settings;
struct ToolCapabilities;

#define PP(x) "("<<(x).X<<","<<(x).Y<<","<<(x).Z<<")"

UNORDERED_MAP<u16, ClientActiveObject::Factory> ClientActiveObject::m_types;

SmoothTranslator::SmoothTranslator():
@@ -24,10 +24,7 @@ with this program; if not, write to the Free Software Foundation, Inc.,
#include <string>
#include "irr_v3d.h"
#include "irrlichttypes.h"

#ifndef PP
#define PP(x) "("<<(x).X<<","<<(x).Y<<","<<(x).Z<<")"
#endif
#include "util/basic_macros.h"

class Database
{
@@ -44,10 +44,9 @@ with this program; if not, write to the Free Software Foundation, Inc.,
#include "map.h"
#include "emerge.h"
#include "util/serialize.h"
#include "util/basic_macros.h"
#include "threading/mutex_auto_lock.h"

#define PP(x) "("<<(x).X<<","<<(x).Y<<","<<(x).Z<<")"

#define LBM_NAME_ALLOWED_CHARS "abcdefghijklmnopqrstuvwxyz0123456789_:"

// A number that is much smaller than the timeout for particle spawners should/could ever be
@@ -26,8 +26,7 @@ with this program; if not, write to the Free Software Foundation, Inc.,
#include "craftdef.h"
#include "rollback_interface.h"
#include "util/strfnd.h"

#define PP(x) "("<<(x).X<<","<<(x).Y<<","<<(x).Z<<")"
#include "util/basic_macros.h"

#define PLAYER_TO_SA(p) p->getEnv()->getScriptIface()

@@ -33,6 +33,7 @@ with this program; if not, write to the Free Software Foundation, Inc.,
#include "gamedef.h"
#include "util/directiontables.h"
#include "util/mathconstants.h"
#include "util/basic_macros.h"
#include "rollback_interface.h"
#include "environment.h"
#include "reflowscan.h"
@@ -56,8 +57,6 @@ with this program; if not, write to the Free Software Foundation, Inc.,
#include "database-postgresql.h"
#endif

#define PP(x) "("<<(x).X<<","<<(x).Y<<","<<(x).Z<<")"


/*
Map
@@ -35,8 +35,7 @@ with this program; if not, write to the Free Software Foundation, Inc.,
#endif
#include "util/string.h"
#include "util/serialize.h"

#define PP(x) "("<<(x).X<<","<<(x).Y<<","<<(x).Z<<")"
#include "util/basic_macros.h"

static const char *modified_reason_strings[] = {
"initial",
@@ -21,11 +21,9 @@ with this program; if not, write to the Free Software Foundation, Inc.,
#include "irrlichttypes_bloated.h"
#include "exceptions.h"
#include "util/serialize.h"
#include "util/basic_macros.h"
#include <sstream>

#define PP(x) "("<<(x).X<<","<<(x).Y<<","<<(x).Z<<")"
#define PP2(x) "("<<(x).X<<","<<(x).Y<<")"

ObjectProperties::ObjectProperties():
hp_max(1),
physical(false),
@@ -29,6 +29,7 @@ with this program; if not, write to the Free Software Foundation, Inc.,
#include "map.h"
#include "log.h"
#include "irr_aabb3d.h"
#include "util/basic_macros.h"

//#define PATHFINDER_DEBUG
//#define PATHFINDER_CALC_TIME
@@ -47,9 +48,6 @@ with this program; if not, write to the Free Software Foundation, Inc.,
/* Typedefs and macros */
/******************************************************************************/

/** shortcut to print a 3d pos */
#define PPOS(pos) "(" << pos.X << "," << pos.Y << "," << pos.Z << ")"

#define LVL "(" << level << ")" <<

#ifdef PATHFINDER_DEBUG
@@ -531,33 +529,33 @@ void GridNodeContainer::initNode(v3s16 ipos, PathGridnode *p_node)

if ((current.param0 == CONTENT_IGNORE) ||
(below.param0 == CONTENT_IGNORE)) {
DEBUG_OUT("Pathfinder: " << PPOS(realpos) <<
DEBUG_OUT("Pathfinder: " << PP(realpos) <<
" current or below is invalid element" << std::endl);
if (current.param0 == CONTENT_IGNORE) {
elem.type = 'i';
DEBUG_OUT(PPOS(ipos) << ": " << 'i' << std::endl);
DEBUG_OUT(PP(ipos) << ": " << 'i' << std::endl);
}
return;
}

//don't add anything if it isn't an air node
if (ndef->get(current).walkable || !ndef->get(below).walkable) {
DEBUG_OUT("Pathfinder: " << PPOS(realpos)
DEBUG_OUT("Pathfinder: " << PP(realpos)
<< " not on surface" << std::endl);
if (ndef->get(current).walkable) {
elem.type = 's';
DEBUG_OUT(PPOS(ipos) << ": " << 's' << std::endl);
DEBUG_OUT(PP(ipos) << ": " << 's' << std::endl);
} else {
elem.type = '-';
DEBUG_OUT(PPOS(ipos) << ": " << '-' << std::endl);
DEBUG_OUT(PP(ipos) << ": " << '-' << std::endl);
}
return;
}

elem.valid = true;
elem.pos = realpos;
elem.type = 'g';
DEBUG_OUT(PPOS(ipos) << ": " << 'a' << std::endl);
DEBUG_OUT(PP(ipos) << ": " << 'a' << std::endl);

if (m_pathf->m_prefetch) {
elem.directions[DIR_XP] = m_pathf->calcCost(realpos, v3s16( 1, 0, 0));
@@ -686,14 +684,14 @@ std::vector<v3s16> Pathfinder::getPath(ServerEnvironment *env,

if (!startpos.valid) {
VERBOSE_TARGET << "invalid startpos" <<
"Index: " << PPOS(StartIndex) <<
"Realpos: " << PPOS(getRealPos(StartIndex)) << std::endl;
"Index: " << PP(StartIndex) <<
"Realpos: " << PP(getRealPos(StartIndex)) << std::endl;
return retval;
}
if (!endpos.valid) {
VERBOSE_TARGET << "invalid stoppos" <<
"Index: " << PPOS(EndIndex) <<
"Realpos: " << PPOS(getRealPos(EndIndex)) << std::endl;
"Index: " << PP(EndIndex) <<
"Realpos: " << PP(getRealPos(EndIndex)) << std::endl;
return retval;
}

@@ -809,7 +807,7 @@ PathCost Pathfinder::calcCost(v3s16 pos, v3s16 dir)

//check limits
if (!m_limits.isPointInside(pos2)) {
DEBUG_OUT("Pathfinder: " << PPOS(pos2) <<
DEBUG_OUT("Pathfinder: " << PP(pos2) <<
" no cost -> out of limits" << std::endl);
return retval;
}
@@ -819,7 +817,7 @@ PathCost Pathfinder::calcCost(v3s16 pos, v3s16 dir)
//did we get information about node?
if (node_at_pos2.param0 == CONTENT_IGNORE ) {
VERBOSE_TARGET << "Pathfinder: (1) area at pos: "
<< PPOS(pos2) << " not loaded";
<< PP(pos2) << " not loaded";
return retval;
}

@@ -830,15 +828,15 @@ PathCost Pathfinder::calcCost(v3s16 pos, v3s16 dir)
//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";
<< PP((pos2 + v3s16(0, -1, 0))) << " not loaded";
return retval;
}

if (ndef->get(node_below_pos2).walkable) {
retval.valid = true;
retval.value = 1;
retval.direction = 0;
DEBUG_OUT("Pathfinder: "<< PPOS(pos)
DEBUG_OUT("Pathfinder: "<< PP(pos)
<< " cost same height found" << std::endl);
}
else {
@@ -991,16 +989,16 @@ bool Pathfinder::updateAllCosts(v3s16 ipos,
v3s16 ipos2 = ipos + directions[i];

if (!isValidIndex(ipos2)) {
DEBUG_OUT(LVL " Pathfinder: " << PPOS(ipos2) <<
" out of range, max=" << PPOS(m_limits.MaxEdge) << std::endl);
DEBUG_OUT(LVL " Pathfinder: " << PP(ipos2) <<
" out of range, max=" << PP(m_limits.MaxEdge) << std::endl);
continue;
}

PathGridnode &g_pos2 = getIndexElement(ipos2);

if (!g_pos2.valid) {
VERBOSE_TARGET << LVL "Pathfinder: no data for new position: "
<< PPOS(ipos2) << std::endl;
<< PP(ipos2) << std::endl;
continue;
}

@@ -1017,7 +1015,7 @@ bool Pathfinder::updateAllCosts(v3s16 ipos,
if ((g_pos2.totalcost < 0) ||
(g_pos2.totalcost > new_cost)) {
DEBUG_OUT(LVL "Pathfinder: updating path at: "<<
PPOS(ipos2) << " from: " << g_pos2.totalcost << " to "<<
PP(ipos2) << " from: " << g_pos2.totalcost << " to "<<
new_cost << std::endl);
if (updateAllCosts(ipos2, invert(directions[i]),
new_cost, level)) {
@@ -1027,13 +1025,13 @@ bool Pathfinder::updateAllCosts(v3s16 ipos,
else {
DEBUG_OUT(LVL "Pathfinder:"
" already found shorter path to: "
<< PPOS(ipos2) << std::endl);
<< PP(ipos2) << std::endl);
}
}
else {
DEBUG_OUT(LVL "Pathfinder:"
" not moving to invalid direction: "
<< PPOS(directions[i]) << std::endl);
<< PP(directions[i]) << std::endl);
}
}
}
@@ -1147,8 +1145,8 @@ bool Pathfinder::updateCostHeuristic( v3s16 ipos,
v3s16 ipos2 = ipos + direction;

if (!isValidIndex(ipos2)) {
DEBUG_OUT(LVL " Pathfinder: " << PPOS(ipos2) <<
" out of range, max=" << PPOS(m_limits.MaxEdge) << std::endl);
DEBUG_OUT(LVL " Pathfinder: " << PP(ipos2) <<
" out of range, max=" << PP(m_limits.MaxEdge) << std::endl);
direction = getDirHeuristic(directions, g_pos);
continue;
}
@@ -1157,7 +1155,7 @@ bool Pathfinder::updateCostHeuristic( v3s16 ipos,

if (!g_pos2.valid) {
VERBOSE_TARGET << LVL "Pathfinder: no data for new position: "
<< PPOS(ipos2) << std::endl;
<< PP(ipos2) << std::endl;
direction = getDirHeuristic(directions, g_pos);
continue;
}
@@ -1171,16 +1169,16 @@ bool Pathfinder::updateCostHeuristic( v3s16 ipos,
(m_min_target_distance < new_cost)) {
DEBUG_OUT(LVL "Pathfinder:"
" already longer than best already found path "
<< PPOS(ipos2) << std::endl);
<< PP(ipos2) << std::endl);
return false;
}

if ((g_pos2.totalcost < 0) ||
(g_pos2.totalcost > new_cost)) {
DEBUG_OUT(LVL "Pathfinder: updating path at: "<<
PPOS(ipos2) << " from: " << g_pos2.totalcost << " to "<<
PP(ipos2) << " from: " << g_pos2.totalcost << " to "<<
new_cost << " srcdir=" <<
PPOS(invert(direction))<< std::endl);
PP(invert(direction))<< std::endl);
if (updateCostHeuristic(ipos2, invert(direction),
new_cost, level)) {
retval = true;
@@ -1189,19 +1187,19 @@ bool Pathfinder::updateCostHeuristic( v3s16 ipos,
else {
DEBUG_OUT(LVL "Pathfinder:"
" already found shorter path to: "
<< PPOS(ipos2) << std::endl);
<< PP(ipos2) << std::endl);
}
}
else {
DEBUG_OUT(LVL "Pathfinder:"
" not moving to invalid direction: "
<< PPOS(direction) << std::endl);
<< PP(direction) << std::endl);
}
}
else {
DEBUG_OUT(LVL "Pathfinder:"
" skipping srcdir: "
<< PPOS(direction) << std::endl);
<< PP(direction) << std::endl);
}
direction = getDirHeuristic(directions, g_pos);
}
@@ -1409,7 +1407,7 @@ void Pathfinder::printPath(std::vector<v3s16> path)
unsigned int current = 0;
for (std::vector<v3s16>::iterator i = path.begin();
i != path.end(); ++i) {
std::cout << std::setw(3) << current << ":" << PPOS((*i)) << std::endl;
std::cout << std::setw(3) << current << ":" << PP((*i)) << std::endl;
current++;
}
}
@@ -22,6 +22,7 @@ with this program; if not, write to the Free Software Foundation, Inc.,
#include "util/serialize.h"
#include "util/string.h"
#include "util/numeric.h"
#include "util/basic_macros.h"
#include "map.h"
#include "gamedef.h"
#include "nodedef.h"
@@ -32,8 +33,6 @@ with this program; if not, write to the Free Software Foundation, Inc.,
#include "inventory.h"
#include "mapblock.h"

#define PP(x) "("<<(x).X<<","<<(x).Y<<","<<(x).Z<<")"


RollbackNode::RollbackNode(Map *map, v3s16 p, IGameDef *gamedef)
{
@@ -31,6 +31,7 @@ with this program; if not, write to the Free Software Foundation, Inc.,
#include "subgame.h"
#include "util/numeric.h"
#include "util/thread.h"
#include "util/basic_macros.h"
#include "environment.h"
#include "chat_interface.h"
#include "clientiface.h"
@@ -41,8 +42,6 @@ with this program; if not, write to the Free Software Foundation, Inc.,
#include <map>
#include <vector>

#define PP(x) "("<<(x).X<<","<<(x).Y<<","<<(x).Z<<")"

class IWritableItemDefManager;
class IWritableNodeDefManager;
class IWritableCraftDefManager;
@@ -50,4 +50,13 @@ with this program; if not, write to the Free Software Foundation, Inc.,
#define STATIC_ASSERT(expr, msg) \
UNUSED_ATTRIBUTE typedef char msg[!!(expr) * 2 - 1]

// Macros to facilitate writing position vectors to a stream
// Usage:
// v3s16 pos(1,2,3);
// mystream << "message " << PP(pos) << std::endl;

#define PP(x) "("<<(x).X<<","<<(x).Y<<","<<(x).Z<<")"

#define PP2(x) "("<<(x).X<<","<<(x).Y<<")"

#endif

0 comments on commit 4d4b8bb

Please sign in to comment.