16#define outfit_isProp( o, p ) \
17 ( ( o )->properties & ( p ) )
18#define outfit_setProp( o, p ) \
19 ( ( o )->properties |= ( p ) )
20#define outfit_rmProp( o, p ) \
21 ( ( o )->properties &= ~( p ) )
23#define OUTFIT_PROP_UNIQUE \
25#define OUTFIT_PROP_SHOOT_DRY \
28#define OUTFIT_PROP_TEMPLATE \
31#define OUTFIT_PROP_WEAP_SECONDARY ( 1 << 3 )
32#define OUTFIT_PROP_WEAP_SPIN ( 1 << 4 )
33#define OUTFIT_PROP_WEAP_BLOWUP_ARMOUR \
36#define OUTFIT_PROP_WEAP_BLOWUP_SHIELD \
39#define OUTFIT_PROP_WEAP_FRIENDLYFIRE \
41#define OUTFIT_PROP_WEAP_POINTDEFENSE \
43#define OUTFIT_PROP_WEAP_MISS_SHIPS \
45#define OUTFIT_PROP_WEAP_MISS_ASTEROIDS \
47#define OUTFIT_PROP_WEAP_MISS_EXPLODE \
49#define OUTFIT_PROP_WEAP_ONLYHITTARGET \
52#define OUTFIT_PROP_WEAP_COLLISION_OVERRIDE \
54#define OUTFIT_PROP_NEEDSGFX \
56#define OUTFIT_PROP_STEALTH_ON \
63#define OUTFIT_LABEL_WEAPON N_( "#pWeapon" )
66#define OUTFIT_LABEL_UTILITY N_( "#gUtility" )
69#define OUTFIT_LABEL_STRUCTURE N_( "#nStructural" )
72#define OUTFIT_LABEL_CORE N_( "#oCore" )
86typedef enum OutfitType_ {
90 OUTFIT_TYPE_TURRET_BOLT,
91 OUTFIT_TYPE_TURRET_BEAM,
93 OUTFIT_TYPE_TURRET_LAUNCHER,
94 OUTFIT_TYPE_MODIFICATION,
95 OUTFIT_TYPE_AFTERBURNER,
96 OUTFIT_TYPE_FIGHTER_BAY,
108typedef enum OutfitSlotType_ {
111 OUTFIT_SLOT_INTRINSIC,
112 OUTFIT_SLOT_STRUCTURE,
120typedef enum OutfitSlotSize_ {
122 OUTFIT_SLOT_SIZE_LIGHT,
123 OUTFIT_SLOT_SIZE_MEDIUM,
124 OUTFIT_SLOT_SIZE_HEAVY
130typedef enum OutfitAmmoAI_ {
139typedef struct OutfitSlot_ {
149typedef struct OutfitGFX_ {
168typedef struct Damage_ {
181typedef struct OutfitBoltData_ {
214typedef struct OutfitBeamData_ {
249typedef struct OutfitLauncherData_ {
299typedef struct OutfitModificationData_ {
313typedef struct OutfitAfterburnerData_ {
332typedef struct OutfitFighterBayData_ {
349typedef struct OutfitLocalMapData_ {
357typedef struct OutfitGUIData_ {
364typedef struct OutfitLicenseData_ {
372typedef struct Outfit_ {
470int outfit_gfxStoreLoaded(
const Outfit *o );
471int outfit_gfxStoreLoadNeeded(
void );
485int outfit_isAmmo(
const Outfit *o );
512int outfit_filterWeapon(
const Outfit *o );
513int outfit_filterUtility(
const Outfit *o );
514int outfit_filterStructure(
const Outfit *o );
515int outfit_filterCore(
const Outfit *o );
516int outfit_filterOther(
const Outfit *o );
522const char *
slotName(
const OutfitSlotType o );
524const char *
slotSize(
const OutfitSlotSize o );
int outfit_isSecondary(const Outfit *o)
Checks if outfit has the secondary flag set.
const char * outfit_description(const Outfit *o)
Gets the description of an outfit.
const char * outfit_shortname(const Outfit *o)
Gets the short name (translated) of an outfit.
double outfit_speed(const Outfit *o)
Gets the outfit's speed.
double outfit_trackmin(const Outfit *o)
Gets the outfit's minimal tracking.
int outfit_isBeam(const Outfit *o)
Checks if outfit is a beam type weapon.
const char * outfit_summary(const Outfit *o, int withname)
Gets the summary of an outfit.
const Outfit * outfit_getAll(void)
Gets the array (array.h) of all outfits.
double outfit_cpu(const Outfit *o)
Gets the outfit's cpu usage.
int outfit_isActive(const Outfit *o)
Checks if outfit is an active outfit.
int outfit_soundHit(const Outfit *o)
Gets the outfit's hit sound.
const Outfit * outfit_get(const char *name)
Gets an outfit by name.
int outfit_isLauncher(const Outfit *o)
Checks if outfit is a weapon launcher.
int outfit_isSeeker(const Outfit *o)
Checks if outfit is a seeking weapon.
OutfitSlotSize outfit_toSlotSize(const char *s)
Gets the outfit slot size from a human readable string.
int outfit_miningRarity(const Outfit *o)
Gets the maximum rarity the outfit can mine up to.
int outfit_isLocalMap(const Outfit *o)
Checks if outfit is a local space map.
int outfit_isWeapon(const Outfit *o)
Checks to see if an outfit is a weapon.
char outfit_slotTypeColourFont(const OutfitSlot *os)
Gets a font colour character that roughly matches an outfit slot type colour.
int outfit_isToggleable(const Outfit *o)
Checks if outfit can be toggled.
int outfit_compareTech(const void *outfit1, const void *outfit2)
Function meant for use with C89, C99 algorithm qsort().
size_t outfit_getNameWithClass(const Outfit *outfit, char *buf, size_t size)
Gets a brief name/class description suitable for the title section of an outfitter screen.
const Outfit * outfit_getW(const char *name)
Gets an outfit by name without warning on no-find.
const char * outfit_getTypeBroad(const Outfit *o)
Gets the outfit's broad type.
int outfit_fitsSlot(const Outfit *o, const OutfitSlot *s)
Checks to see if an outfit fits a slot.
int outfit_checkIllegal(const Outfit *o, int fct)
Checks illegality of an outfit to a faction.
int outfit_isFighterBay(const Outfit *o)
Checks if outfit is a fighter bay.
int outfit_isAfterburner(const Outfit *o)
Checks if outfit is an afterburner.
double outfit_range(const Outfit *o)
Gets the outfit's range.
int outfit_isMap(const Outfit *o)
Checks if outfit is a space map.
double outfit_radius(const Outfit *o)
Gets the outfit's explosion radius.
int outfit_spfxShield(const Outfit *o)
Gets the outfit's sound effect.
int outfit_isTurret(const Outfit *o)
Checks if outfit is a turret class weapon.
double outfit_ammoMass(const Outfit *o)
Gets the outfit's ammunition mass.
int outfit_isForward(const Outfit *o)
Checks if outfit is a fixed mounted weapon.
const CollPoly * outfit_plg(const Outfit *o)
Gets the outfit's collision polygon.
int outfit_isLicense(const Outfit *o)
Checks if outfit is a license.
char outfit_slotSizeColourFont(const OutfitSlot *os)
Gets a font colour character that roughly matches an outfit slot size colour.
const OutfitGFX * outfit_gfx(const Outfit *o)
Gets the outfit's graphic effect.
int outfit_amount(const Outfit *o)
Gets the amount an outfit can hold.
int outfit_load(void)
Loads all the outfits.
const char * slotName(const OutfitSlotType type)
double outfit_spin(const Outfit *o)
Gets the outfit's animation spin.
int outfit_mapParse(void)
Parses all the maps.
const char * outfit_getType(const Outfit *o)
Gets the outfit's specific type.
double outfit_heat(const Outfit *o)
Gets the outfit's heat generation.
double outfit_trackmax(const Outfit *o)
Gets the outfit's minimal tracking.
int outfit_isMod(const Outfit *o)
Checks if outfit is a ship modification.
int outfit_isGUI(const Outfit *o)
Checks if outfit is a GUI.
int outfit_gfxStoreLoad(Outfit *o)
Loads the store graphics for the outfit.
int outfit_sound(const Outfit *o)
Gets the outfit's sound.
int outfit_spfxArmour(const Outfit *o)
Gets the outfit's sound effect.
const char * slotSize(const OutfitSlotSize o)
Gets the slot size as a string.
const Damage * outfit_damage(const Outfit *o)
Gets the outfit's damage.
char ** outfit_searchFuzzyCase(const char *name, int *n)
Does a fuzzy search of all the outfits. Searches translated names but returns internal names.
double outfit_swivel(const Outfit *o)
Gets the swivel of an outfit.
double outfit_duration(const Outfit *o)
Gets the outfit's duration.
double outfit_cooldown(const Outfit *o)
Gets the outfit's cooldown.
const char * outfit_slotName(const Outfit *o)
Gets the name of the slot type of an outfit.
int outfit_isBolt(const Outfit *o)
Checks if outfit is bolt type weapon.
const char * outfit_slotSize(const Outfit *o)
Gets the name of the slot size of an outfit.
void outfit_free(void)
Frees the outfit stack.
const char * outfit_existsCase(const char *name)
Checks to see if an outfit exists matching name (case insensitive).
double outfit_energy(const Outfit *o)
Gets the outfit's energy usage.
int outfit_licenseExists(const char *name)
Checks to see if a license exists.
void outfit_freeSlot(OutfitSlot *s)
Frees an outfit slot.
const char * outfit_getAmmoAI(const Outfit *o)
Gets a human-readable string describing an ammo outfit's AI.
glTexture * rarity_texture(int rarity)
const glColour * outfit_slotSizeColour(const OutfitSlot *os)
Gets the slot size colour for an outfit slot.
double outfit_delay(const Outfit *o)
Gets the outfit's delay.
int outfit_fitsSlotType(const Outfit *o, const OutfitSlot *s)
Checks to see if an outfit fits a slot type (ignoring size).
int outfit_loadPost(void)
Loads all the outfits legality.
Core damage that an outfit does.
Represents an afterburner.
Represents the particular properties of a beam weapon.
Represents the particular properties of a bolt weapon.
Represents a fighter bay.
const struct Ship_ * ship
Represents a particular missile launcher.
const TrailSpec * trail_spec
Represents a map, is not actually stored on a ship but put into the nav system.
Represents a ship modification.
Pilot slot that can contain outfits.
A ship outfit, depends radically on the type.
OutfitModificationData mod
OutfitAfterburnerData afb
glTexture ** gfx_overlays
Represents relative ship statistics as a linked list.
represents a set of styles for trails.
Abstraction for rendering sprite sheets.