The kSpecPlayableRace value is an enumerated type which can take one of the following:
// Bit masks for race (assumed to be in same order as eRaceName
typedef int32 iMissSpecRace;
enum
{
kSpecNoRace = 0,
kSpecFed = 1 << kFederation,
kSpecKling = 1 << kKlingon,
kSpecRomulan = 1 << kRomulan,
kSpecLyran = 1 << kLyran,
kSpecHydran = 1 << kHydran,
kSpecGorn = 1 << kGorn,
kSpecTholian = 1 << kTholian,
kSpecISC = 1 << kISC,
kSpecMirak = 1 << kMirak,
kSpecLDR = 1 << kLDR,
kSpecWYN = 1 << kWYN,
kSpecJindarian = 1 << kJindarian,
kSpecOrion = 1 << kOrion,
// Orion Races
kSpecOrionOrion = 1 << kOrionOrion,
kSpecOrionKorgath = 1 << kOrionKorgath,
kSpecOrionPrime = 1 << kOrionPrime,
kSpecOrionTigerHeart = 1 << kOrionTigerHeart,
kSpecOrionBeastRaiders = 1 << kOrionBeastRaiders,
kSpecOrionSyndicate = 1 << kOrionSyndicate,
kSpecOrionWyldeFire = 1 << kOrionWyldeFire,
kSpecOrionCamboro = 1 << kOrionCamboro,
kSpecMonster = 1 << kMonster,
kSpecAnyRace = ( kSpecFed | kSpecKling | kSpecRomulan | kSpecLyran | kSpecHydran | kSpecGorn | kSpecTholian | kSpecISC | kSpecMirak | kSpecLDR | kSpecWYN | kSpecJindarian | kSpecOrion | kSpecOrionOrion | kSpecOrionKorgath | kSpecOrionPrime | kSpecOrionTigerHeart | kSpecOrionBeastRaiders | kSpecOrionSyndicate | kSpecOrionWyldeFire | kSpecOrionCamboro),
kSpecNonPirateRace = kSpecAnyRace & ( ~kSpecOrion | ~kSpecOrionOrion | ~kSpecOrionKorgath | ~kSpecOrionPrime | ~kSpecOrionTigerHeart | ~kSpecOrionBeastRaiders | ~kSpecOrionSyndicate | ~kSpecOrionWyldeFire | ~kSpecOrionCamboro ),
kSpecPlayableRace = ( kSpecFed | kSpecKling | kSpecRomulan | kSpecLyran | kSpecGorn | kSpecHydran | kSpecISC | kSpecMirak | kSpecOrionOrion | kSpecOrionKorgath | kSpecOrionPrime | kSpecOrionTigerHeart | kSpecOrionBeastRaiders | kSpecOrionSyndicate | kSpecOrionWyldeFire | kSpecOrionCamboro),
};