From 61a216a6d82ef47c05d0eb238d2c56d30ef8805f Mon Sep 17 00:00:00 2001 From: Freddie Witherden Date: Sat, 17 Nov 2007 13:36:20 +0000 Subject: [PATCH] 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 --- src/droid.h | 39 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) diff --git a/src/droid.h b/src/droid.h index 55ca22768..643470e7b 100644 --- a/src/droid.h +++ b/src/droid.h @@ -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__)