mirror of
https://github.com/moparisthebest/minetest
synced 2025-03-10 06:39:44 -04:00
Move PP() and PP2() macros to basic_macros.h
Instead of redefining them everywhere.
This commit is contained in:
parent
2f59a0c840
commit
4d4b8bb8a4
@ -30,10 +30,9 @@ with this program; if not, write to the Free Software Foundation, Inc.,
|
|||||||
#include "settings.h"
|
#include "settings.h"
|
||||||
#include "camera.h" // CameraModes
|
#include "camera.h" // CameraModes
|
||||||
#include "util/mathconstants.h"
|
#include "util/mathconstants.h"
|
||||||
|
#include "util/basic_macros.h"
|
||||||
#include <algorithm>
|
#include <algorithm>
|
||||||
|
|
||||||
#define PP(x) "("<<(x).X<<","<<(x).Y<<","<<(x).Z<<")"
|
|
||||||
|
|
||||||
ClientMap::ClientMap(
|
ClientMap::ClientMap(
|
||||||
Client *client,
|
Client *client,
|
||||||
IGameDef *gamedef,
|
IGameDef *gamedef,
|
||||||
|
@ -29,8 +29,6 @@ with this program; if not, write to the Free Software Foundation, Inc.,
|
|||||||
#include "scripting_game.h"
|
#include "scripting_game.h"
|
||||||
#include "log.h"
|
#include "log.h"
|
||||||
|
|
||||||
#define PP(x) "("<<(x).X<<","<<(x).Y<<","<<(x).Z<<")"
|
|
||||||
|
|
||||||
void add_legacy_abms(ServerEnvironment *env, INodeDefManager *nodedef) {
|
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/numeric.h" // For IntervalLimiter
|
||||||
#include "util/serialize.h"
|
#include "util/serialize.h"
|
||||||
#include "util/mathconstants.h"
|
#include "util/mathconstants.h"
|
||||||
|
#include "util/basic_macros.h"
|
||||||
#include "client/tile.h"
|
#include "client/tile.h"
|
||||||
#include "environment.h"
|
#include "environment.h"
|
||||||
#include "collision.h"
|
#include "collision.h"
|
||||||
@ -49,8 +50,6 @@ with this program; if not, write to the Free Software Foundation, Inc.,
|
|||||||
class Settings;
|
class Settings;
|
||||||
struct ToolCapabilities;
|
struct ToolCapabilities;
|
||||||
|
|
||||||
#define PP(x) "("<<(x).X<<","<<(x).Y<<","<<(x).Z<<")"
|
|
||||||
|
|
||||||
UNORDERED_MAP<u16, ClientActiveObject::Factory> ClientActiveObject::m_types;
|
UNORDERED_MAP<u16, ClientActiveObject::Factory> ClientActiveObject::m_types;
|
||||||
|
|
||||||
SmoothTranslator::SmoothTranslator():
|
SmoothTranslator::SmoothTranslator():
|
||||||
|
@ -24,10 +24,7 @@ with this program; if not, write to the Free Software Foundation, Inc.,
|
|||||||
#include <string>
|
#include <string>
|
||||||
#include "irr_v3d.h"
|
#include "irr_v3d.h"
|
||||||
#include "irrlichttypes.h"
|
#include "irrlichttypes.h"
|
||||||
|
#include "util/basic_macros.h"
|
||||||
#ifndef PP
|
|
||||||
#define PP(x) "("<<(x).X<<","<<(x).Y<<","<<(x).Z<<")"
|
|
||||||
#endif
|
|
||||||
|
|
||||||
class Database
|
class Database
|
||||||
{
|
{
|
||||||
|
@ -44,10 +44,9 @@ with this program; if not, write to the Free Software Foundation, Inc.,
|
|||||||
#include "map.h"
|
#include "map.h"
|
||||||
#include "emerge.h"
|
#include "emerge.h"
|
||||||
#include "util/serialize.h"
|
#include "util/serialize.h"
|
||||||
|
#include "util/basic_macros.h"
|
||||||
#include "threading/mutex_auto_lock.h"
|
#include "threading/mutex_auto_lock.h"
|
||||||
|
|
||||||
#define PP(x) "("<<(x).X<<","<<(x).Y<<","<<(x).Z<<")"
|
|
||||||
|
|
||||||
#define LBM_NAME_ALLOWED_CHARS "abcdefghijklmnopqrstuvwxyz0123456789_:"
|
#define LBM_NAME_ALLOWED_CHARS "abcdefghijklmnopqrstuvwxyz0123456789_:"
|
||||||
|
|
||||||
// A number that is much smaller than the timeout for particle spawners should/could ever be
|
// 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 "craftdef.h"
|
||||||
#include "rollback_interface.h"
|
#include "rollback_interface.h"
|
||||||
#include "util/strfnd.h"
|
#include "util/strfnd.h"
|
||||||
|
#include "util/basic_macros.h"
|
||||||
#define PP(x) "("<<(x).X<<","<<(x).Y<<","<<(x).Z<<")"
|
|
||||||
|
|
||||||
#define PLAYER_TO_SA(p) p->getEnv()->getScriptIface()
|
#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 "gamedef.h"
|
||||||
#include "util/directiontables.h"
|
#include "util/directiontables.h"
|
||||||
#include "util/mathconstants.h"
|
#include "util/mathconstants.h"
|
||||||
|
#include "util/basic_macros.h"
|
||||||
#include "rollback_interface.h"
|
#include "rollback_interface.h"
|
||||||
#include "environment.h"
|
#include "environment.h"
|
||||||
#include "reflowscan.h"
|
#include "reflowscan.h"
|
||||||
@ -56,8 +57,6 @@ with this program; if not, write to the Free Software Foundation, Inc.,
|
|||||||
#include "database-postgresql.h"
|
#include "database-postgresql.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#define PP(x) "("<<(x).X<<","<<(x).Y<<","<<(x).Z<<")"
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
Map
|
Map
|
||||||
|
@ -35,8 +35,7 @@ with this program; if not, write to the Free Software Foundation, Inc.,
|
|||||||
#endif
|
#endif
|
||||||
#include "util/string.h"
|
#include "util/string.h"
|
||||||
#include "util/serialize.h"
|
#include "util/serialize.h"
|
||||||
|
#include "util/basic_macros.h"
|
||||||
#define PP(x) "("<<(x).X<<","<<(x).Y<<","<<(x).Z<<")"
|
|
||||||
|
|
||||||
static const char *modified_reason_strings[] = {
|
static const char *modified_reason_strings[] = {
|
||||||
"initial",
|
"initial",
|
||||||
|
@ -21,11 +21,9 @@ with this program; if not, write to the Free Software Foundation, Inc.,
|
|||||||
#include "irrlichttypes_bloated.h"
|
#include "irrlichttypes_bloated.h"
|
||||||
#include "exceptions.h"
|
#include "exceptions.h"
|
||||||
#include "util/serialize.h"
|
#include "util/serialize.h"
|
||||||
|
#include "util/basic_macros.h"
|
||||||
#include <sstream>
|
#include <sstream>
|
||||||
|
|
||||||
#define PP(x) "("<<(x).X<<","<<(x).Y<<","<<(x).Z<<")"
|
|
||||||
#define PP2(x) "("<<(x).X<<","<<(x).Y<<")"
|
|
||||||
|
|
||||||
ObjectProperties::ObjectProperties():
|
ObjectProperties::ObjectProperties():
|
||||||
hp_max(1),
|
hp_max(1),
|
||||||
physical(false),
|
physical(false),
|
||||||
|
@ -29,6 +29,7 @@ with this program; if not, write to the Free Software Foundation, Inc.,
|
|||||||
#include "map.h"
|
#include "map.h"
|
||||||
#include "log.h"
|
#include "log.h"
|
||||||
#include "irr_aabb3d.h"
|
#include "irr_aabb3d.h"
|
||||||
|
#include "util/basic_macros.h"
|
||||||
|
|
||||||
//#define PATHFINDER_DEBUG
|
//#define PATHFINDER_DEBUG
|
||||||
//#define PATHFINDER_CALC_TIME
|
//#define PATHFINDER_CALC_TIME
|
||||||
@ -47,9 +48,6 @@ with this program; if not, write to the Free Software Foundation, Inc.,
|
|||||||
/* Typedefs and macros */
|
/* Typedefs and macros */
|
||||||
/******************************************************************************/
|
/******************************************************************************/
|
||||||
|
|
||||||
/** shortcut to print a 3d pos */
|
|
||||||
#define PPOS(pos) "(" << pos.X << "," << pos.Y << "," << pos.Z << ")"
|
|
||||||
|
|
||||||
#define LVL "(" << level << ")" <<
|
#define LVL "(" << level << ")" <<
|
||||||
|
|
||||||
#ifdef PATHFINDER_DEBUG
|
#ifdef PATHFINDER_DEBUG
|
||||||
@ -531,25 +529,25 @@ void GridNodeContainer::initNode(v3s16 ipos, PathGridnode *p_node)
|
|||||||
|
|
||||||
if ((current.param0 == CONTENT_IGNORE) ||
|
if ((current.param0 == CONTENT_IGNORE) ||
|
||||||
(below.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);
|
" current or below is invalid element" << std::endl);
|
||||||
if (current.param0 == CONTENT_IGNORE) {
|
if (current.param0 == CONTENT_IGNORE) {
|
||||||
elem.type = 'i';
|
elem.type = 'i';
|
||||||
DEBUG_OUT(PPOS(ipos) << ": " << 'i' << std::endl);
|
DEBUG_OUT(PP(ipos) << ": " << 'i' << std::endl);
|
||||||
}
|
}
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
//don't add anything if it isn't an air node
|
//don't add anything if it isn't an air node
|
||||||
if (ndef->get(current).walkable || !ndef->get(below).walkable) {
|
if (ndef->get(current).walkable || !ndef->get(below).walkable) {
|
||||||
DEBUG_OUT("Pathfinder: " << PPOS(realpos)
|
DEBUG_OUT("Pathfinder: " << PP(realpos)
|
||||||
<< " not on surface" << std::endl);
|
<< " not on surface" << std::endl);
|
||||||
if (ndef->get(current).walkable) {
|
if (ndef->get(current).walkable) {
|
||||||
elem.type = 's';
|
elem.type = 's';
|
||||||
DEBUG_OUT(PPOS(ipos) << ": " << 's' << std::endl);
|
DEBUG_OUT(PP(ipos) << ": " << 's' << std::endl);
|
||||||
} else {
|
} else {
|
||||||
elem.type = '-';
|
elem.type = '-';
|
||||||
DEBUG_OUT(PPOS(ipos) << ": " << '-' << std::endl);
|
DEBUG_OUT(PP(ipos) << ": " << '-' << std::endl);
|
||||||
}
|
}
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@ -557,7 +555,7 @@ void GridNodeContainer::initNode(v3s16 ipos, PathGridnode *p_node)
|
|||||||
elem.valid = true;
|
elem.valid = true;
|
||||||
elem.pos = realpos;
|
elem.pos = realpos;
|
||||||
elem.type = 'g';
|
elem.type = 'g';
|
||||||
DEBUG_OUT(PPOS(ipos) << ": " << 'a' << std::endl);
|
DEBUG_OUT(PP(ipos) << ": " << 'a' << std::endl);
|
||||||
|
|
||||||
if (m_pathf->m_prefetch) {
|
if (m_pathf->m_prefetch) {
|
||||||
elem.directions[DIR_XP] = m_pathf->calcCost(realpos, v3s16( 1, 0, 0));
|
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) {
|
if (!startpos.valid) {
|
||||||
VERBOSE_TARGET << "invalid startpos" <<
|
VERBOSE_TARGET << "invalid startpos" <<
|
||||||
"Index: " << PPOS(StartIndex) <<
|
"Index: " << PP(StartIndex) <<
|
||||||
"Realpos: " << PPOS(getRealPos(StartIndex)) << std::endl;
|
"Realpos: " << PP(getRealPos(StartIndex)) << std::endl;
|
||||||
return retval;
|
return retval;
|
||||||
}
|
}
|
||||||
if (!endpos.valid) {
|
if (!endpos.valid) {
|
||||||
VERBOSE_TARGET << "invalid stoppos" <<
|
VERBOSE_TARGET << "invalid stoppos" <<
|
||||||
"Index: " << PPOS(EndIndex) <<
|
"Index: " << PP(EndIndex) <<
|
||||||
"Realpos: " << PPOS(getRealPos(EndIndex)) << std::endl;
|
"Realpos: " << PP(getRealPos(EndIndex)) << std::endl;
|
||||||
return retval;
|
return retval;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -809,7 +807,7 @@ PathCost Pathfinder::calcCost(v3s16 pos, v3s16 dir)
|
|||||||
|
|
||||||
//check limits
|
//check limits
|
||||||
if (!m_limits.isPointInside(pos2)) {
|
if (!m_limits.isPointInside(pos2)) {
|
||||||
DEBUG_OUT("Pathfinder: " << PPOS(pos2) <<
|
DEBUG_OUT("Pathfinder: " << PP(pos2) <<
|
||||||
" no cost -> out of limits" << std::endl);
|
" no cost -> out of limits" << std::endl);
|
||||||
return retval;
|
return retval;
|
||||||
}
|
}
|
||||||
@ -819,7 +817,7 @@ PathCost Pathfinder::calcCost(v3s16 pos, v3s16 dir)
|
|||||||
//did we get information about node?
|
//did we get information about node?
|
||||||
if (node_at_pos2.param0 == CONTENT_IGNORE ) {
|
if (node_at_pos2.param0 == CONTENT_IGNORE ) {
|
||||||
VERBOSE_TARGET << "Pathfinder: (1) area at pos: "
|
VERBOSE_TARGET << "Pathfinder: (1) area at pos: "
|
||||||
<< PPOS(pos2) << " not loaded";
|
<< PP(pos2) << " not loaded";
|
||||||
return retval;
|
return retval;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -830,7 +828,7 @@ PathCost Pathfinder::calcCost(v3s16 pos, v3s16 dir)
|
|||||||
//did we get information about node?
|
//did we get information about node?
|
||||||
if (node_below_pos2.param0 == CONTENT_IGNORE ) {
|
if (node_below_pos2.param0 == CONTENT_IGNORE ) {
|
||||||
VERBOSE_TARGET << "Pathfinder: (2) area at pos: "
|
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;
|
return retval;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -838,7 +836,7 @@ PathCost Pathfinder::calcCost(v3s16 pos, v3s16 dir)
|
|||||||
retval.valid = true;
|
retval.valid = true;
|
||||||
retval.value = 1;
|
retval.value = 1;
|
||||||
retval.direction = 0;
|
retval.direction = 0;
|
||||||
DEBUG_OUT("Pathfinder: "<< PPOS(pos)
|
DEBUG_OUT("Pathfinder: "<< PP(pos)
|
||||||
<< " cost same height found" << std::endl);
|
<< " cost same height found" << std::endl);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
@ -991,8 +989,8 @@ bool Pathfinder::updateAllCosts(v3s16 ipos,
|
|||||||
v3s16 ipos2 = ipos + directions[i];
|
v3s16 ipos2 = ipos + directions[i];
|
||||||
|
|
||||||
if (!isValidIndex(ipos2)) {
|
if (!isValidIndex(ipos2)) {
|
||||||
DEBUG_OUT(LVL " Pathfinder: " << PPOS(ipos2) <<
|
DEBUG_OUT(LVL " Pathfinder: " << PP(ipos2) <<
|
||||||
" out of range, max=" << PPOS(m_limits.MaxEdge) << std::endl);
|
" out of range, max=" << PP(m_limits.MaxEdge) << std::endl);
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1000,7 +998,7 @@ bool Pathfinder::updateAllCosts(v3s16 ipos,
|
|||||||
|
|
||||||
if (!g_pos2.valid) {
|
if (!g_pos2.valid) {
|
||||||
VERBOSE_TARGET << LVL "Pathfinder: no data for new position: "
|
VERBOSE_TARGET << LVL "Pathfinder: no data for new position: "
|
||||||
<< PPOS(ipos2) << std::endl;
|
<< PP(ipos2) << std::endl;
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1017,7 +1015,7 @@ bool Pathfinder::updateAllCosts(v3s16 ipos,
|
|||||||
if ((g_pos2.totalcost < 0) ||
|
if ((g_pos2.totalcost < 0) ||
|
||||||
(g_pos2.totalcost > new_cost)) {
|
(g_pos2.totalcost > new_cost)) {
|
||||||
DEBUG_OUT(LVL "Pathfinder: updating path at: "<<
|
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);
|
new_cost << std::endl);
|
||||||
if (updateAllCosts(ipos2, invert(directions[i]),
|
if (updateAllCosts(ipos2, invert(directions[i]),
|
||||||
new_cost, level)) {
|
new_cost, level)) {
|
||||||
@ -1027,13 +1025,13 @@ bool Pathfinder::updateAllCosts(v3s16 ipos,
|
|||||||
else {
|
else {
|
||||||
DEBUG_OUT(LVL "Pathfinder:"
|
DEBUG_OUT(LVL "Pathfinder:"
|
||||||
" already found shorter path to: "
|
" already found shorter path to: "
|
||||||
<< PPOS(ipos2) << std::endl);
|
<< PP(ipos2) << std::endl);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
DEBUG_OUT(LVL "Pathfinder:"
|
DEBUG_OUT(LVL "Pathfinder:"
|
||||||
" not moving to invalid direction: "
|
" 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;
|
v3s16 ipos2 = ipos + direction;
|
||||||
|
|
||||||
if (!isValidIndex(ipos2)) {
|
if (!isValidIndex(ipos2)) {
|
||||||
DEBUG_OUT(LVL " Pathfinder: " << PPOS(ipos2) <<
|
DEBUG_OUT(LVL " Pathfinder: " << PP(ipos2) <<
|
||||||
" out of range, max=" << PPOS(m_limits.MaxEdge) << std::endl);
|
" out of range, max=" << PP(m_limits.MaxEdge) << std::endl);
|
||||||
direction = getDirHeuristic(directions, g_pos);
|
direction = getDirHeuristic(directions, g_pos);
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
@ -1157,7 +1155,7 @@ bool Pathfinder::updateCostHeuristic( v3s16 ipos,
|
|||||||
|
|
||||||
if (!g_pos2.valid) {
|
if (!g_pos2.valid) {
|
||||||
VERBOSE_TARGET << LVL "Pathfinder: no data for new position: "
|
VERBOSE_TARGET << LVL "Pathfinder: no data for new position: "
|
||||||
<< PPOS(ipos2) << std::endl;
|
<< PP(ipos2) << std::endl;
|
||||||
direction = getDirHeuristic(directions, g_pos);
|
direction = getDirHeuristic(directions, g_pos);
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
@ -1171,16 +1169,16 @@ bool Pathfinder::updateCostHeuristic( v3s16 ipos,
|
|||||||
(m_min_target_distance < new_cost)) {
|
(m_min_target_distance < new_cost)) {
|
||||||
DEBUG_OUT(LVL "Pathfinder:"
|
DEBUG_OUT(LVL "Pathfinder:"
|
||||||
" already longer than best already found path "
|
" already longer than best already found path "
|
||||||
<< PPOS(ipos2) << std::endl);
|
<< PP(ipos2) << std::endl);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
if ((g_pos2.totalcost < 0) ||
|
if ((g_pos2.totalcost < 0) ||
|
||||||
(g_pos2.totalcost > new_cost)) {
|
(g_pos2.totalcost > new_cost)) {
|
||||||
DEBUG_OUT(LVL "Pathfinder: updating path at: "<<
|
DEBUG_OUT(LVL "Pathfinder: updating path at: "<<
|
||||||
PPOS(ipos2) << " from: " << g_pos2.totalcost << " to "<<
|
PP(ipos2) << " from: " << g_pos2.totalcost << " to "<<
|
||||||
new_cost << " srcdir=" <<
|
new_cost << " srcdir=" <<
|
||||||
PPOS(invert(direction))<< std::endl);
|
PP(invert(direction))<< std::endl);
|
||||||
if (updateCostHeuristic(ipos2, invert(direction),
|
if (updateCostHeuristic(ipos2, invert(direction),
|
||||||
new_cost, level)) {
|
new_cost, level)) {
|
||||||
retval = true;
|
retval = true;
|
||||||
@ -1189,19 +1187,19 @@ bool Pathfinder::updateCostHeuristic( v3s16 ipos,
|
|||||||
else {
|
else {
|
||||||
DEBUG_OUT(LVL "Pathfinder:"
|
DEBUG_OUT(LVL "Pathfinder:"
|
||||||
" already found shorter path to: "
|
" already found shorter path to: "
|
||||||
<< PPOS(ipos2) << std::endl);
|
<< PP(ipos2) << std::endl);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
DEBUG_OUT(LVL "Pathfinder:"
|
DEBUG_OUT(LVL "Pathfinder:"
|
||||||
" not moving to invalid direction: "
|
" not moving to invalid direction: "
|
||||||
<< PPOS(direction) << std::endl);
|
<< PP(direction) << std::endl);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
DEBUG_OUT(LVL "Pathfinder:"
|
DEBUG_OUT(LVL "Pathfinder:"
|
||||||
" skipping srcdir: "
|
" skipping srcdir: "
|
||||||
<< PPOS(direction) << std::endl);
|
<< PP(direction) << std::endl);
|
||||||
}
|
}
|
||||||
direction = getDirHeuristic(directions, g_pos);
|
direction = getDirHeuristic(directions, g_pos);
|
||||||
}
|
}
|
||||||
@ -1409,7 +1407,7 @@ void Pathfinder::printPath(std::vector<v3s16> path)
|
|||||||
unsigned int current = 0;
|
unsigned int current = 0;
|
||||||
for (std::vector<v3s16>::iterator i = path.begin();
|
for (std::vector<v3s16>::iterator i = path.begin();
|
||||||
i != path.end(); ++i) {
|
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++;
|
current++;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -22,6 +22,7 @@ with this program; if not, write to the Free Software Foundation, Inc.,
|
|||||||
#include "util/serialize.h"
|
#include "util/serialize.h"
|
||||||
#include "util/string.h"
|
#include "util/string.h"
|
||||||
#include "util/numeric.h"
|
#include "util/numeric.h"
|
||||||
|
#include "util/basic_macros.h"
|
||||||
#include "map.h"
|
#include "map.h"
|
||||||
#include "gamedef.h"
|
#include "gamedef.h"
|
||||||
#include "nodedef.h"
|
#include "nodedef.h"
|
||||||
@ -32,8 +33,6 @@ with this program; if not, write to the Free Software Foundation, Inc.,
|
|||||||
#include "inventory.h"
|
#include "inventory.h"
|
||||||
#include "mapblock.h"
|
#include "mapblock.h"
|
||||||
|
|
||||||
#define PP(x) "("<<(x).X<<","<<(x).Y<<","<<(x).Z<<")"
|
|
||||||
|
|
||||||
|
|
||||||
RollbackNode::RollbackNode(Map *map, v3s16 p, IGameDef *gamedef)
|
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 "subgame.h"
|
||||||
#include "util/numeric.h"
|
#include "util/numeric.h"
|
||||||
#include "util/thread.h"
|
#include "util/thread.h"
|
||||||
|
#include "util/basic_macros.h"
|
||||||
#include "environment.h"
|
#include "environment.h"
|
||||||
#include "chat_interface.h"
|
#include "chat_interface.h"
|
||||||
#include "clientiface.h"
|
#include "clientiface.h"
|
||||||
@ -41,8 +42,6 @@ with this program; if not, write to the Free Software Foundation, Inc.,
|
|||||||
#include <map>
|
#include <map>
|
||||||
#include <vector>
|
#include <vector>
|
||||||
|
|
||||||
#define PP(x) "("<<(x).X<<","<<(x).Y<<","<<(x).Z<<")"
|
|
||||||
|
|
||||||
class IWritableItemDefManager;
|
class IWritableItemDefManager;
|
||||||
class IWritableNodeDefManager;
|
class IWritableNodeDefManager;
|
||||||
class IWritableCraftDefManager;
|
class IWritableCraftDefManager;
|
||||||
|
@ -50,4 +50,13 @@ with this program; if not, write to the Free Software Foundation, Inc.,
|
|||||||
#define STATIC_ASSERT(expr, msg) \
|
#define STATIC_ASSERT(expr, msg) \
|
||||||
UNUSED_ATTRIBUTE typedef char msg[!!(expr) * 2 - 1]
|
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
|
#endif
|
||||||
|
Loading…
x
Reference in New Issue
Block a user