[6989] Always initilize WaypointBehavior pointer to NULL in WaypointNode. Small code Cleanup.

This commit is contained in:
VladimirMangos 2008-12-31 00:45:22 +03:00
parent 61063ad94c
commit 151e9e7012
3 changed files with 11 additions and 10 deletions

View file

@ -300,7 +300,8 @@ void WaypointManager::CheckTextsExistance(std::set<int32>& ids)
{
for (int i = 0; i < pmItr->second.size(); ++i)
{
if (!pmItr->second[i].behavior)
WaypointBehavior* be = pmItr->second[i].behavior;
if (!be)
continue;
// Now we check text existence and put all zero texts ids to the end of array
@ -309,29 +310,29 @@ void WaypointManager::CheckTextsExistance(std::set<int32>& ids)
int zeroCount = 0;
for (int j = 0; j < MAX_WAYPOINT_TEXT; ++j)
{
if (!pmItr->second[i].behavior->textid[j])
if (!be->textid[j])
{
++zeroCount;
continue;
}
else
{
if (!objmgr.GetMangosStringLocale(pmItr->second[i].behavior->textid[j]))
if (!objmgr.GetMangosStringLocale(be->textid[j]))
{
sLog.outErrorDb("ERROR: Some waypoint has textid%u with not existing %u text.", j, pmItr->second[i].behavior->textid[j]);
pmItr->second[i].behavior->textid[j] = 0;
sLog.outErrorDb("ERROR: Some waypoint has textid%u with not existing %u text.", j, be->textid[j]);
be->textid[j] = 0;
++zeroCount;
continue;
}
else
ids.erase(pmItr->second[i].behavior->textid[j]);
ids.erase(be->textid[j]);
// Shifting check
if (zeroCount)
{
// Correct textid but some zeros leading, so move it forward.
pmItr->second[i].behavior->textid[j-zeroCount] = pmItr->second[i].behavior->textid[j];
pmItr->second[i].behavior->textid[j] = 0;
be->textid[j-zeroCount] = be->textid[j];
be->textid[j] = 0;
}
}
}

View file

@ -45,7 +45,7 @@ struct WaypointNode
float orientation;
uint32 delay;
WaypointBehavior * behavior;
WaypointNode() {}
WaypointNode() : x(0.0f), y(0.0f), z(0.0f), orientation(0.0f), delay(0), behavior(NULL) {}
WaypointNode(float _x, float _y, float _z, float _o, uint32 _delay, WaypointBehavior * _behavior)
: x(_x), y(_y), z(_z), orientation(_o), delay(_delay), behavior(_behavior) {}
};

View file

@ -1,4 +1,4 @@
#ifndef __REVISION_NR_H__
#define __REVISION_NR_H__
#define REVISION_NR "6988"
#define REVISION_NR "6989"
#endif // __REVISION_NR_H__