naev 0.11.5
outfit.h
1/*
2 * See Licensing and Copyright notice in naev.h
3 */
4#pragma once
5
6#include "collision.h"
7#include "commodity.h"
8#include "opengl.h"
9#include "shipstats.h"
10#include "sound.h"
11#include "spfx.h"
12#include "nlua.h"
13
14/*
15 * properties
16 */
17#define outfit_isProp(o,p) ((o)->properties & p)
18/* property flags */
19#define OUTFIT_PROP_UNIQUE (1<<0)
20#define OUTFIT_PROP_SHOOT_DRY (1<<1)
21#define OUTFIT_PROP_TEMPLATE (1<<2)
22#define OUTFIT_PROP_WEAP_SECONDARY (1<<3)
23#define OUTFIT_PROP_WEAP_SPIN (1<<4)
24#define OUTFIT_PROP_WEAP_BLOWUP_ARMOUR (1<<5)
26#define OUTFIT_PROP_WEAP_BLOWUP_SHIELD (1<<6)
28#define OUTFIT_PROP_WEAP_FRIENDLYFIRE (1<<8)
29#define OUTFIT_PROP_WEAP_POINTDEFENSE (1<<9)
30#define OUTFIT_PROP_WEAP_MISS_SHIPS (1<<10)
31#define OUTFIT_PROP_WEAP_MISS_ASTEROIDS (1<<11)
32#define OUTFIT_PROP_WEAP_MISS_EXPLODE (1<<12)
33#define OUTFIT_PROP_WEAP_ONLYHITTARGET (1<<13)
35/* Outfit filter labels. [Doc comments are also translator notes and must precede the #define.] */
37#define OUTFIT_LABEL_WEAPON N_("#pWeapon")
39#define OUTFIT_LABEL_UTILITY N_("#gUtility")
41#define OUTFIT_LABEL_STRUCTURE N_("#nStructural")
43#define OUTFIT_LABEL_CORE N_("#oCore")
44
45/*
46 * Needed because some outfittypes call other outfits.
47 */
48struct Outfit_;
49
57typedef enum OutfitType_ {
58 OUTFIT_TYPE_NULL,
59 OUTFIT_TYPE_BOLT,
60 OUTFIT_TYPE_BEAM,
61 OUTFIT_TYPE_TURRET_BOLT,
62 OUTFIT_TYPE_TURRET_BEAM,
63 OUTFIT_TYPE_LAUNCHER,
64 OUTFIT_TYPE_TURRET_LAUNCHER,
65 OUTFIT_TYPE_MODIFICATION,
66 OUTFIT_TYPE_AFTERBURNER,
67 OUTFIT_TYPE_FIGHTER_BAY,
68 OUTFIT_TYPE_MAP,
69 OUTFIT_TYPE_LOCALMAP,
70 OUTFIT_TYPE_GUI,
71 OUTFIT_TYPE_LICENSE,
72 OUTFIT_TYPE_SENTINEL
73} OutfitType;
74
78typedef enum OutfitSlotType_ {
79 OUTFIT_SLOT_NULL,
80 OUTFIT_SLOT_NA,
81 OUTFIT_SLOT_INTRINSIC,
82 OUTFIT_SLOT_STRUCTURE,
83 OUTFIT_SLOT_UTILITY,
84 OUTFIT_SLOT_WEAPON
85} OutfitSlotType;
86
90typedef enum OutfitSlotSize_ {
91 OUTFIT_SLOT_SIZE_NA,
92 OUTFIT_SLOT_SIZE_LIGHT,
93 OUTFIT_SLOT_SIZE_MEDIUM,
94 OUTFIT_SLOT_SIZE_HEAVY
95} OutfitSlotSize;
96
100typedef enum OutfitAmmoAI_ {
101 AMMO_AI_UNGUIDED,
102 AMMO_AI_SEEK,
103 AMMO_AI_SMART
104} OutfitAmmoAI;
105
109typedef struct OutfitSlot_ {
110 unsigned int spid;
112 OutfitSlotType type;
113 OutfitSlotSize size;
114} OutfitSlot;
115
119typedef struct OutfitGFX_ {
123 double spin;
124 GLuint program;
125 GLuint vertex;
126 GLuint projection;
127 GLuint dimensions;
128 GLuint u_r;
129 GLuint u_time;
130 GLuint u_fade;
131 double size;
132 double col_size;
133} OutfitGFX;
134
138typedef struct Damage_ {
139 int type;
140 double penetration;
141 double damage;
142 double disable;
143} Damage;
144
148typedef struct OutfitBoltData_ {
149 double delay;
150 double speed;
151 double range;
152 double falloff;
153 double energy;
155 double radius;
157 double heatup;
158 double heat;
159 double trackmin;
160 double trackmax;
161 double swivel;
164 int shots;
167 /* Sound and graphics. */
169 int sound;
174
178typedef struct OutfitBeamData_ {
179 /* Time stuff. */
180 double delay;
181 double warmup;
182 double duration;
185 /* Beam properties. */
186 double range;
187 double turn;
188 double energy;
190 double heatup;
191 double heat;
192 double swivel;
195 /* Graphics and sound. */
196 glColour colour;
197 GLfloat width;
198 GLuint shader;
202 int sound;
205
211typedef struct OutfitLauncherData_ {
212 double delay;
213 int amount;
214 double reload_time;
216 /* Lock-on information. */
217 double lockon;
218 double iflockon;
219 double trackmin;
220 double trackmax;
221 double arc;
222 double swivel;
225 int shots;
228 double ammo_mass;
229 double duration;
230 double resist;
231 OutfitAmmoAI ai;
233 double speed;
234 double speed_max;
235 double turn;
236 double accel;
237 double energy;
239 double radius;
241 /* Health stuff. */
242 double armour;
243 double dmg_absorb;
246 int sound;
253
259typedef struct OutfitModificationData_ {
260 /* Active information (if applicable). */
261 int active;
262 double duration;
263 double cooldown;
265 /* All the modifiers are based on the outfit's ship stats, nothing here but active stuff. */
267
271typedef struct OutfitAfterburnerData_ {
272 /* Internal properties. */
273 double rumble;
275 int sound;
277 double accel;
278 double speed;
279 double energy;
281 double heatup;
282 double heat;
284
285struct Ship_; /* Bit of a horrible hack to allow us to avoid circular definitions. */
289typedef struct OutfitFighterBayData_ {
290 char *shipname;
291 const struct Ship_ *ship;
292 double ship_mass;
293 double delay;
294 int amount;
296 int sound;
298
299/* Forward declaration */
300struct OutfitMapData_s;
301typedef struct OutfitMapData_s OutfitMapData_t;
302
306typedef struct OutfitLocalMapData_ {
307 double jump_detect;
308 double spob_detect;
310
314typedef struct OutfitGUIData_ {
315 char *gui;
317
321typedef struct OutfitLicenseData_ {
322 char *provides;
324
328typedef struct Outfit_ {
329 char *name;
330 char *typename;
331 char *shortname;
332 int rarity;
333 char *filename;
335 /* General specs */
337 char *license;
338 char *cond;
339 char *condstr;
340 double mass;
341 double cpu;
342 char *limit;
346 /* Store stuff */
347 credits_t price;
348 char *desc_raw;
356 /* Heat limits. */
360 unsigned int properties;
361 unsigned int group;
363 /* Stats. */
366 /* Tags. */
367 char **tags;
369 /* Lua function references. Set to LUA_NOREF if not used. */
370 char *lua_file;
371 nlua_env lua_env;
393 /* Weapons only. */
396 /* Independent of slots and pilots. */
401 /* Type dependent */
402 OutfitType type;
403 union {
410 OutfitMapData_t *map;
414 } u;
415} Outfit;
416
417/*
418 * Access stuff.
419 */
420const Outfit* outfit_get( const char* name );
421const Outfit* outfit_getW( const char* name );
422const Outfit* outfit_getAll (void);
423int outfit_compareTech( const void *outfit1, const void *outfit2 );
424/* outfit types */
425int outfit_isActive( const Outfit *o );
426int outfit_isToggleable( const Outfit *o );
427int outfit_isWeapon( const Outfit *o );
428int outfit_isForward( const Outfit *o );
429int outfit_isBolt( const Outfit *o );
430int outfit_isBeam( const Outfit *o );
431int outfit_isLauncher( const Outfit *o );
432int outfit_isAmmo( const Outfit *o );
433int outfit_isSeeker( const Outfit *o );
434int outfit_isTurret( const Outfit *o );
435int outfit_isMod( const Outfit *o );
436int outfit_isAfterburner( const Outfit *o );
437int outfit_isFighterBay( const Outfit *o );
438int outfit_isMap( const Outfit *o );
439int outfit_isLocalMap( const Outfit *o );
440int outfit_isGUI( const Outfit *o );
441int outfit_isLicense( const Outfit *o );
442int outfit_isSecondary( const Outfit *o );
443const char* outfit_getType( const Outfit *o );
444const char* outfit_getTypeBroad( const Outfit *o );
445const char* outfit_getAmmoAI( const Outfit *o );
446const char* outfit_description( const Outfit *o );
447const char* outfit_summary( const Outfit *o, int withname );
448
449/*
450 * Search.
451 */
452const char *outfit_existsCase( const char* name );
453char **outfit_searchFuzzyCase( const char* name, int *n );
454
455/*
456 * Filter.
457 */
458int outfit_filterWeapon( const Outfit *o );
459int outfit_filterUtility( const Outfit *o );
460int outfit_filterStructure( const Outfit *o );
461int outfit_filterCore( const Outfit *o );
462int outfit_filterOther( const Outfit *o );
463
464/*
465 * Get data from outfits.
466 */
467const char *outfit_slotName( const Outfit* o );
468const char *slotName( const OutfitSlotType o );
469const char *outfit_slotSize( const Outfit* o );
470const char *slotSize( const OutfitSlotSize o );
471const glColour *outfit_slotSizeColour( const OutfitSlot* os );
472char outfit_slotSizeColourFont( const OutfitSlot* os );
473char outfit_slotTypeColourFont( const OutfitSlot* os );
474size_t outfit_getNameWithClass( const Outfit* outfit, char* buf, size_t size );
475OutfitSlotSize outfit_toSlotSize( const char *s );
476const OutfitGFX* outfit_gfx( const Outfit* o );
477const CollPoly* outfit_plg( const Outfit* o );
478int outfit_spfxArmour( const Outfit* o );
479int outfit_spfxShield( const Outfit* o );
480const Damage *outfit_damage( const Outfit* o );
481double outfit_radius( const Outfit* o );
482double outfit_delay( const Outfit* o );
483int outfit_amount( const Outfit* o );
484double outfit_energy( const Outfit* o );
485double outfit_heat( const Outfit* o );
486double outfit_cpu( const Outfit* o );
487double outfit_range( const Outfit* o );
488double outfit_speed( const Outfit* o );
489double outfit_swivel( const Outfit* o );
490double outfit_spin( const Outfit* o );
491double outfit_trackmin( const Outfit* o );
492double outfit_trackmax( const Outfit* o );
493int outfit_miningRarity( const Outfit* o );
494int outfit_sound( const Outfit* o );
495int outfit_soundHit( const Outfit* o );
496double outfit_ammoMass( const Outfit *o );
497/* Active outfits. */
498double outfit_duration( const Outfit* o );
499double outfit_cooldown( const Outfit* o );
500
501/*
502 * Loading and freeing outfit stack.
503 */
504int outfit_load (void);
505int outfit_loadPost (void);
506int outfit_mapParse(void);
507void outfit_free (void);
508
509/*
510 * Misc.
511 */
512int outfit_fitsSlot( const Outfit* o, const OutfitSlot* s );
513int outfit_fitsSlotType( const Outfit* o, const OutfitSlot* s );
514void outfit_freeSlot( OutfitSlot* s );
515glTexture* rarity_texture( int rarity );
516int outfit_checkIllegal( const Outfit* o, int fct );
517int outfit_licenseExists( const char *name );
int outfit_isSecondary(const Outfit *o)
Checks if outfit has the secondary flag set.
Definition outfit.c:662
const char * outfit_description(const Outfit *o)
Gets the description of an outfit.
Definition outfit.c:1021
double outfit_speed(const Outfit *o)
Gets the outfit's speed.
Definition outfit.c:796
double outfit_trackmin(const Outfit *o)
Gets the outfit's minimal tracking.
Definition outfit.c:848
int outfit_isBeam(const Outfit *o)
Checks if outfit is a beam type weapon.
Definition outfit.c:554
const char * outfit_summary(const Outfit *o, int withname)
Gets the summary of an outfit.
Definition outfit.c:1035
const Outfit * outfit_getAll(void)
Gets the array (array.h) of all outfits.
Definition outfit.c:189
double outfit_cpu(const Outfit *o)
Gets the outfit's cpu usage.
Definition outfit.c:779
int outfit_isActive(const Outfit *o)
Checks if outfit is an active outfit.
Definition outfit.c:484
int outfit_soundHit(const Outfit *o)
Gets the outfit's hit sound.
Definition outfit.c:895
const Outfit * outfit_get(const char *name)
Gets an outfit by name.
Definition outfit.c:166
int outfit_isLauncher(const Outfit *o)
Checks if outfit is a weapon launcher.
Definition outfit.c:564
int outfit_isSeeker(const Outfit *o)
Checks if outfit is a seeking weapon.
Definition outfit.c:574
OutfitSlotSize outfit_toSlotSize(const char *s)
Gets the outfit slot size from a human readable string.
Definition outfit.c:461
int outfit_miningRarity(const Outfit *o)
Gets the maximum rarity the outfit can mine up to.
Definition outfit.c:872
int outfit_isLocalMap(const Outfit *o)
Checks if outfit is a local space map.
Definition outfit.c:634
int outfit_isWeapon(const Outfit *o)
Checks to see if an outfit is a weapon.
Definition outfit.c:518
char outfit_slotTypeColourFont(const OutfitSlot *os)
Gets a font colour character that roughly matches an outfit slot type colour.
Definition outfit.c:425
int outfit_isToggleable(const Outfit *o)
Checks if outfit can be toggled.
Definition outfit.c:500
int outfit_compareTech(const void *outfit1, const void *outfit2)
Function meant for use with C89, C99 algorithm qsort().
Definition outfit.c:243
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.
Definition outfit.c:444
const Outfit * outfit_getW(const char *name)
Gets an outfit by name without warning on no-find.
Definition outfit.c:180
const char * outfit_getTypeBroad(const Outfit *o)
Gets the outfit's broad type.
Definition outfit.c:976
int outfit_fitsSlot(const Outfit *o, const OutfitSlot *s)
Checks to see if an outfit fits a slot.
Definition outfit.c:1047
int outfit_checkIllegal(const Outfit *o, int fct)
Checks illegality of an outfit to a faction.
Definition outfit.c:3045
int outfit_isFighterBay(const Outfit *o)
Checks if outfit is a fighter bay.
Definition outfit.c:616
int outfit_isAfterburner(const Outfit *o)
Checks if outfit is an afterburner.
Definition outfit.c:607
double outfit_range(const Outfit *o)
Gets the outfit's range.
Definition outfit.c:787
int outfit_isMap(const Outfit *o)
Checks if outfit is a space map.
Definition outfit.c:625
double outfit_radius(const Outfit *o)
Gets the outfit's explosion radius.
Definition outfit.c:724
int outfit_spfxShield(const Outfit *o)
Gets the outfit's sound effect.
Definition outfit.c:702
int outfit_isTurret(const Outfit *o)
Checks if outfit is a turret class weapon.
Definition outfit.c:587
double outfit_ammoMass(const Outfit *o)
Gets the outfit's ammunition mass.
Definition outfit.c:906
int outfit_isForward(const Outfit *o)
Checks if outfit is a fixed mounted weapon.
Definition outfit.c:534
const CollPoly * outfit_plg(const Outfit *o)
Gets the outfit's collision polygon.
Definition outfit.c:681
int outfit_isLicense(const Outfit *o)
Checks if outfit is a license.
Definition outfit.c:643
char outfit_slotSizeColourFont(const OutfitSlot *os)
Gets a font colour character that roughly matches an outfit slot size colour.
Definition outfit.c:408
const OutfitGFX * outfit_gfx(const Outfit *o)
Gets the outfit's graphic effect.
Definition outfit.c:671
int outfit_amount(const Outfit *o)
Gets the amount an outfit can hold.
Definition outfit.c:746
int outfit_load(void)
Loads all the outfits.
Definition outfit.c:2773
const char * slotName(const OutfitSlotType type)
Definition outfit.c:335
double outfit_spin(const Outfit *o)
Gets the outfit's animation spin.
Definition outfit.c:837
int outfit_mapParse(void)
Parses all the maps.
Definition outfit.c:2994
const char * outfit_getType(const Outfit *o)
Gets the outfit's specific type.
Definition outfit.c:945
double outfit_heat(const Outfit *o)
Gets the outfit's heat generation.
Definition outfit.c:768
double outfit_trackmax(const Outfit *o)
Gets the outfit's minimal tracking.
Definition outfit.c:860
int outfit_isMod(const Outfit *o)
Checks if outfit is a ship modification.
Definition outfit.c:598
int outfit_isGUI(const Outfit *o)
Checks if outfit is a GUI.
Definition outfit.c:652
int outfit_sound(const Outfit *o)
Gets the outfit's sound.
Definition outfit.c:884
int outfit_spfxArmour(const Outfit *o)
Gets the outfit's sound effect.
Definition outfit.c:691
const char * slotSize(const OutfitSlotSize o)
Gets the slot size as a string.
Definition outfit.c:358
const Damage * outfit_damage(const Outfit *o)
Gets the outfit's damage.
Definition outfit.c:713
char ** outfit_searchFuzzyCase(const char *name, int *n)
Does a fuzzy search of all the outfits. Searches translated names but returns internal names.
Definition outfit.c:208
double outfit_swivel(const Outfit *o)
Gets the swivel of an outfit.
Definition outfit.c:825
double outfit_duration(const Outfit *o)
Gets the outfit's duration.
Definition outfit.c:917
double outfit_cooldown(const Outfit *o)
Gets the outfit's cooldown.
Definition outfit.c:932
const char * outfit_slotName(const Outfit *o)
Gets the name of the slot type of an outfit.
Definition outfit.c:327
int outfit_isBolt(const Outfit *o)
Checks if outfit is bolt type weapon.
Definition outfit.c:544
const char * outfit_slotSize(const Outfit *o)
Gets the name of the slot size of an outfit.
Definition outfit.c:380
void outfit_free(void)
Frees the outfit stack.
Definition outfit.c:3068
const char * outfit_existsCase(const char *name)
Checks to see if an outfit exists matching name (case insensitive).
Definition outfit.c:197
double outfit_energy(const Outfit *o)
Gets the outfit's energy usage.
Definition outfit.c:757
int outfit_licenseExists(const char *name)
Checks to see if a license exists.
Definition outfit.c:3057
void outfit_freeSlot(OutfitSlot *s)
Frees an outfit slot.
Definition outfit.c:1115
const char * outfit_getAmmoAI(const Outfit *o)
Gets a human-readable string describing an ammo outfit's AI.
Definition outfit.c:997
glTexture * rarity_texture(int rarity)
Definition outfit.c:3035
const glColour * outfit_slotSizeColour(const OutfitSlot *os)
Gets the slot size colour for an outfit slot.
Definition outfit.c:391
double outfit_delay(const Outfit *o)
Gets the outfit's delay.
Definition outfit.c:734
int outfit_fitsSlotType(const Outfit *o, const OutfitSlot *s)
Checks to see if an outfit fits a slot type (ignoring size).
Definition outfit.c:1092
int outfit_loadPost(void)
Loads all the outfits legality.
Definition outfit.c:2943
Represents a polygon used for collision detection.
Definition collision.h:13
Core damage that an outfit does.
Definition outfit.h:138
int type
Definition outfit.h:139
double disable
Definition outfit.h:142
double penetration
Definition outfit.h:140
double damage
Definition outfit.h:141
Represents an afterburner.
Definition outfit.h:271
Represents the particular properties of a beam weapon.
Definition outfit.h:178
double energy
Definition outfit.h:188
double heatup
Definition outfit.h:190
int sound_warmup
Definition outfit.h:201
double duration
Definition outfit.h:182
int spfx_armour
Definition outfit.h:199
double warmup
Definition outfit.h:181
int mining_rarity
Definition outfit.h:193
Damage dmg
Definition outfit.h:189
GLuint shader
Definition outfit.h:198
double min_duration
Definition outfit.h:183
double turn
Definition outfit.h:187
double heat
Definition outfit.h:191
double range
Definition outfit.h:186
double swivel
Definition outfit.h:192
glColour colour
Definition outfit.h:196
GLfloat width
Definition outfit.h:197
int spfx_shield
Definition outfit.h:200
double delay
Definition outfit.h:180
Represents the particular properties of a bolt weapon.
Definition outfit.h:148
int spfx_shield
Definition outfit.h:172
double dispersion
Definition outfit.h:162
double heat
Definition outfit.h:158
double trackmin
Definition outfit.h:159
double radius
Definition outfit.h:155
double falloff
Definition outfit.h:152
double range
Definition outfit.h:151
double delay
Definition outfit.h:149
double swivel
Definition outfit.h:161
double heatup
Definition outfit.h:157
Damage dmg
Definition outfit.h:154
double trackmax
Definition outfit.h:160
double speed
Definition outfit.h:150
int mining_rarity
Definition outfit.h:165
double energy
Definition outfit.h:153
OutfitGFX gfx
Definition outfit.h:168
int spfx_armour
Definition outfit.h:171
double speed_dispersion
Definition outfit.h:163
Represents a fighter bay.
Definition outfit.h:289
const struct Ship_ * ship
Definition outfit.h:291
double col_size
Definition outfit.h:132
glTexture * tex_end
Definition outfit.h:121
GLuint u_r
Definition outfit.h:128
GLuint program
Definition outfit.h:124
GLuint dimensions
Definition outfit.h:127
double spin
Definition outfit.h:123
GLuint projection
Definition outfit.h:126
GLuint u_time
Definition outfit.h:129
glTexture * tex
Definition outfit.h:120
GLuint u_fade
Definition outfit.h:130
GLuint vertex
Definition outfit.h:125
double size
Definition outfit.h:131
CollPoly * polygon
Definition outfit.h:122
Represents a GUI.
Definition outfit.h:314
char * gui
Definition outfit.h:315
Represents a particular missile launcher.
Definition outfit.h:211
double dmg_absorb
Definition outfit.h:243
double dispersion
Definition outfit.h:223
double speed_dispersion
Definition outfit.h:224
double trail_x_offset
Definition outfit.h:251
const TrailSpec * trail_spec
Definition outfit.h:250
OutfitGFX gfx
Definition outfit.h:245
double reload_time
Definition outfit.h:214
OutfitAmmoAI ai
Definition outfit.h:231
Represents a license.
Definition outfit.h:321
char * provides
Definition outfit.h:322
Represents a local map.
Definition outfit.h:306
double jump_detect
Definition outfit.h:307
double spob_detect
Definition outfit.h:308
Represents a map, is not actually stored on a ship but put into the nav system.
Definition mapData.h:13
Represents a ship modification.
Definition outfit.h:259
Pilot slot that can contain outfits.
Definition outfit.h:109
OutfitSlotSize size
Definition outfit.h:113
int exclusive
Definition outfit.h:111
unsigned int spid
Definition outfit.h:110
OutfitSlotType type
Definition outfit.h:112
A ship outfit, depends radically on the type.
Definition outfit.h:328
char ** tags
Definition outfit.h:367
unsigned int properties
Definition outfit.h:360
int lua_ontoggle
Definition outfit.h:378
char * lua_file
Definition outfit.h:370
credits_t price
Definition outfit.h:347
int lua_onscan
Definition outfit.h:385
char * limit
Definition outfit.h:342
int lua_jumpin
Definition outfit.h:389
char * cond
Definition outfit.h:338
double cpu
Definition outfit.h:341
OutfitLauncherData lau
Definition outfit.h:406
int lua_cooldown
Definition outfit.h:386
char * desc_raw
Definition outfit.h:348
OutfitBeamData bem
Definition outfit.h:405
int lua_buy
Definition outfit.h:398
OutfitBoltData blt
Definition outfit.h:404
int lua_keyrelease
Definition outfit.h:392
int lua_takeoff
Definition outfit.h:388
double overheat_max
Definition outfit.h:358
OutfitType type
Definition outfit.h:402
int lua_onimpact
Definition outfit.h:394
int lua_outofenergy
Definition outfit.h:381
int lua_land
Definition outfit.h:387
int lua_onscanned
Definition outfit.h:384
int lua_onshootany
Definition outfit.h:382
int lua_update
Definition outfit.h:377
int lua_onmiss
Definition outfit.h:395
glTexture * gfx_store
Definition outfit.h:353
int rarity
Definition outfit.h:332
int lua_descextra
Definition outfit.h:372
int lua_price
Definition outfit.h:397
OutfitGUIData gui
Definition outfit.h:412
unsigned int group
Definition outfit.h:361
char * condstr
Definition outfit.h:339
char ** illegaltoS
Definition outfit.h:344
char * shortname
Definition outfit.h:331
char * filename
Definition outfit.h:333
OutfitModificationData mod
Definition outfit.h:407
OutfitSlot slot
Definition outfit.h:336
int lua_onhit
Definition outfit.h:380
char * summary_raw
Definition outfit.h:349
OutfitAfterburnerData afb
Definition outfit.h:408
int * illegalto
Definition outfit.h:343
int lua_onshoot
Definition outfit.h:379
OutfitFighterBayData bay
Definition outfit.h:409
int priority
Definition outfit.h:351
int lua_cleanup
Definition outfit.h:376
int lua_sell
Definition outfit.h:399
ShipStatList * stats
Definition outfit.h:364
nlua_env lua_env
Definition outfit.h:371
int lua_onstealth
Definition outfit.h:383
char * license
Definition outfit.h:337
OutfitLocalMapData lmap
Definition outfit.h:411
int lua_onadd
Definition outfit.h:373
glTexture ** gfx_overlays
Definition outfit.h:354
int lua_board
Definition outfit.h:390
int lua_keydoubletap
Definition outfit.h:391
int lua_onremove
Definition outfit.h:374
double overheat_min
Definition outfit.h:357
double mass
Definition outfit.h:340
char * desc_extra
Definition outfit.h:350
OutfitMapData_t * map
Definition outfit.h:410
char * name
Definition outfit.h:329
int lua_init
Definition outfit.h:375
OutfitLicenseData lic
Definition outfit.h:413
Represents relative ship statistics as a linked list.
Definition shipstats.h:167
represents a set of styles for trails.
Definition spfx.h:43
Abstraction for rendering sprite sheets.
Definition opengl_tex.h:36