Added some inline helper functions for fetching droid component stats

git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@2827 4a71c877-e1ca-e34f-864e-861f7616d084
master
Freddie Witherden 2007-11-17 13:36:20 +00:00
parent 1f2d5cbddf
commit 61a216a6d8
1 changed files with 39 additions and 0 deletions

View File

@ -28,6 +28,7 @@
#include "objectdef.h"
#include "lib/gamelib/gtime.h"
#include "stats.h"
#define OFF_SCREEN 9999 // world->screen check - alex
@ -398,6 +399,44 @@ extern BOOL cyborgDroid(DROID *psDroid);
// check for illegal references to droid we want to release
BOOL droidCheckReferences(DROID *psVictimDroid);
/*
* Component stat helper functions
*/
static inline BODY_STATS *getBodyStats(DROID *psDroid)
{
return asBodyStats + psDroid->asBits[COMP_BODY].nStat;
}
static inline BRAIN_STATS *getBrainStats(DROID *psDroid)
{
return asBrainStats + psDroid->asBits[COMP_BRAIN].nStat;
}
static inline PROPULSION_STATS *getPropulsionStats(DROID *psDroid)
{
return asPropulsionStats + psDroid->asBits[COMP_PROPULSION].nStat;
}
static inline SENSOR_STATS *getSensorStats(DROID *psDroid)
{
return asSensorStats + psDroid->asBits[COMP_SENSOR].nStat;
}
static inline ECM_STATS *getECMStats(DROID *psDroid)
{
return asECMStats + psDroid->asBits[COMP_SENSOR].nStat;
}
static inline REPAIR_STATS *getRepairStats(DROID *psDroid)
{
return asRepairStats + psDroid->asBits[COMP_REPAIRUNIT].nStat;
}
static inline CONSTRUCT_STATS *getConstructStats(DROID *psDroid)
{
return asConstructStats + psDroid->asBits[COMP_CONSTRUCT].nStat;
}
/** helper functions for future refcount patch **/
#define setDroidTarget(_psDroid, _psNewTarget) _setDroidTarget(_psDroid, _psNewTarget, __LINE__, __FUNCTION__)