mirror of
https://github.com/TorqueGameEngines/Torque3D.git
synced 2026-04-28 07:45:40 +00:00
Fixed bad string compares and simdictionary
This commit is contained in:
parent
acb192e2a5
commit
9907c4592e
30 changed files with 169 additions and 202 deletions
|
|
@ -456,29 +456,19 @@ DefineConsoleMethod( AIClient, setMoveDestination, void, (Point3F v), , "ai.setM
|
|||
/**
|
||||
* Returns the point the AI is aiming at
|
||||
*/
|
||||
DefineConsoleMethod( AIClient, getAimLocation, const char *, (),, "ai.getAimLocation();" )
|
||||
DefineConsoleMethod( AIClient, getAimLocation, Point3F, (),, "ai.getAimLocation();" )
|
||||
{
|
||||
AIClient *ai = static_cast<AIClient *>( object );
|
||||
Point3F aimPoint = ai->getAimLocation();
|
||||
|
||||
char *returnBuffer = Con::getReturnBuffer( 256 );
|
||||
dSprintf( returnBuffer, 256, "%f %f %f", aimPoint.x, aimPoint.y, aimPoint.z );
|
||||
|
||||
return returnBuffer;
|
||||
return ai->getAimLocation();
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the point the AI is set to move to
|
||||
*/
|
||||
DefineConsoleMethod( AIClient, getMoveDestination, const char *, (),, "ai.getMoveDestination();" )
|
||||
DefineConsoleMethod( AIClient, getMoveDestination, Point3F, (),, "ai.getMoveDestination();" )
|
||||
{
|
||||
AIClient *ai = static_cast<AIClient *>( object );
|
||||
Point3F movePoint = ai->getMoveDestination();
|
||||
|
||||
char *returnBuffer = Con::getReturnBuffer( 256 );
|
||||
dSprintf( returnBuffer, 256, "%f %f %f", movePoint.x, movePoint.y, movePoint.z );
|
||||
|
||||
return returnBuffer;
|
||||
return ai->getMoveDestination();
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -527,15 +517,10 @@ DefineConsoleMethod( AIClient, move, void, (),, "ai.move();" )
|
|||
/**
|
||||
* Gets the AI's location in the world
|
||||
*/
|
||||
DefineConsoleMethod( AIClient, getLocation, const char *, (),, "ai.getLocation();" )
|
||||
DefineConsoleMethod( AIClient, getLocation, Point3F, (),, "ai.getLocation();" )
|
||||
{
|
||||
AIClient *ai = static_cast<AIClient *>( object );
|
||||
Point3F locPoint = ai->getLocation();
|
||||
|
||||
char *returnBuffer = Con::getReturnBuffer( 256 );
|
||||
dSprintf( returnBuffer, 256, "%f %f %f", locPoint.x, locPoint.y, locPoint.z );
|
||||
|
||||
return returnBuffer;
|
||||
return ai->getLocation();
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -34,7 +34,7 @@ ClientProcessList* ClientProcessList::smClientProcessList = NULL;
|
|||
ServerProcessList* ServerProcessList::smServerProcessList = NULL;
|
||||
static U32 gNetOrderNextId = 0;
|
||||
|
||||
DefineConsoleFunction( dumpProcessList, void, ( bool allow ), ,
|
||||
DefineConsoleFunction( dumpProcessList, void, ( ), ,
|
||||
"Dumps all ProcessObjects in ServerProcessList and ClientProcessList to the console." )
|
||||
{
|
||||
Con::printf( "client process list:" );
|
||||
|
|
|
|||
|
|
@ -431,7 +431,7 @@ DefineConsoleMethod( LightBase, playAnimation, void, (const char * anim), (""),
|
|||
"existing one is played."
|
||||
"@hide")
|
||||
{
|
||||
if ( anim == "" )
|
||||
if ( dStrcmp(anim,"" )==0)
|
||||
{
|
||||
object->playAnimation();
|
||||
return;
|
||||
|
|
|
|||
|
|
@ -223,6 +223,12 @@ ConsoleDocClass( WayPoint,
|
|||
"@ingroup enviroMisc\n"
|
||||
);
|
||||
|
||||
WayPointTeam::WayPointTeam()
|
||||
{
|
||||
mTeamId = 0;
|
||||
mWayPoint = 0;
|
||||
}
|
||||
|
||||
WayPoint::WayPoint()
|
||||
{
|
||||
mName = StringTable->insert("");
|
||||
|
|
@ -246,6 +252,7 @@ bool WayPoint::onAdd()
|
|||
Sim::getWayPointSet()->addObject(this);
|
||||
else
|
||||
{
|
||||
mTeam.mWayPoint = this;
|
||||
setMaskBits(UpdateNameMask|UpdateTeamMask);
|
||||
}
|
||||
|
||||
|
|
@ -265,6 +272,8 @@ U32 WayPoint::packUpdate(NetConnection * con, U32 mask, BitStream * stream)
|
|||
U32 retMask = Parent::packUpdate(con, mask, stream);
|
||||
if(stream->writeFlag(mask & UpdateNameMask))
|
||||
stream->writeString(mName);
|
||||
if(stream->writeFlag(mask & UpdateTeamMask))
|
||||
stream->write(mTeam.mTeamId);
|
||||
if(stream->writeFlag(mask & UpdateHiddenMask))
|
||||
stream->writeFlag(isHidden());
|
||||
return(retMask);
|
||||
|
|
@ -275,17 +284,51 @@ void WayPoint::unpackUpdate(NetConnection * con, BitStream * stream)
|
|||
Parent::unpackUpdate(con, stream);
|
||||
if(stream->readFlag())
|
||||
mName = stream->readSTString(true);
|
||||
if(stream->readFlag())
|
||||
stream->read(&mTeam.mTeamId);
|
||||
if(stream->readFlag())
|
||||
setHidden(stream->readFlag());
|
||||
}
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// TypeWayPointTeam
|
||||
//-----------------------------------------------------------------------------
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// TypeWayPointTeam
|
||||
//-----------------------------------------------------------------------------
|
||||
|
||||
IMPLEMENT_STRUCT( WayPointTeam, WayPointTeam,, "" )
|
||||
END_IMPLEMENT_STRUCT;
|
||||
|
||||
//FIXME: this should work but does not; need to check the stripping down to base types within TYPE
|
||||
//ConsoleType( WayPointTeam, TypeWayPointTeam, WayPointTeam* )
|
||||
ConsoleType( WayPointTeam, TypeWayPointTeam, WayPointTeam )
|
||||
|
||||
ConsoleGetType( TypeWayPointTeam )
|
||||
{
|
||||
static const U32 bufSize = 32;
|
||||
char * buf = Con::getReturnBuffer(bufSize);
|
||||
dSprintf(buf, bufSize, "%d", ((WayPointTeam*)dptr)->mTeamId);
|
||||
return(buf);
|
||||
}
|
||||
|
||||
ConsoleSetType( TypeWayPointTeam )
|
||||
{
|
||||
WayPointTeam * pTeam = (WayPointTeam*)dptr;
|
||||
pTeam->mTeamId = dAtoi(argv[0]);
|
||||
|
||||
if(pTeam->mWayPoint && pTeam->mWayPoint->isServerObject())
|
||||
pTeam->mWayPoint->setMaskBits(WayPoint::UpdateTeamMask);
|
||||
}
|
||||
|
||||
void WayPoint::initPersistFields()
|
||||
{
|
||||
addGroup("Misc");
|
||||
addField("markerName", TypeCaseString, Offset(mName, WayPoint), "Unique name representing this waypoint");
|
||||
addField("team", TypeWayPointTeam, Offset(mTeam, WayPoint), "Unique numerical ID assigned to this waypoint, or set of waypoints");
|
||||
endGroup("Misc");
|
||||
|
||||
Parent::initPersistFields();
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -92,6 +92,17 @@ class MissionMarker : public ShapeBase
|
|||
// Class: WayPoint
|
||||
//------------------------------------------------------------------------------
|
||||
class WayPoint;
|
||||
class WayPointTeam
|
||||
{
|
||||
public:
|
||||
WayPointTeam();
|
||||
|
||||
S32 mTeamId;
|
||||
WayPoint * mWayPoint;
|
||||
};
|
||||
|
||||
DECLARE_STRUCT( WayPointTeam );
|
||||
DefineConsoleType( TypeWayPointTeam, WayPointTeam * );
|
||||
|
||||
class WayPoint : public MissionMarker
|
||||
{
|
||||
|
|
@ -121,6 +132,7 @@ class WayPoint : public MissionMarker
|
|||
|
||||
// field data
|
||||
StringTableEntry mName;
|
||||
WayPointTeam mTeam;
|
||||
|
||||
static void initPersistFields();
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue