naev 0.12.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 "nlua.h"
9#include "opengl_tex.h"
10#include "shipstats.h"
11#include "spfx.h"
12
13/*
14 * properties
15 */
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 ) )
22/* property flags */
23#define OUTFIT_PROP_UNIQUE \
24 ( 1 << 0 )
25#define OUTFIT_PROP_SHOOT_DRY \
26 ( 1 << 1 )
28#define OUTFIT_PROP_TEMPLATE \
29 ( 1 << 2 )
31#define OUTFIT_PROP_WEAP_SECONDARY ( 1 << 3 )
32#define OUTFIT_PROP_WEAP_SPIN ( 1 << 4 )
33#define OUTFIT_PROP_WEAP_BLOWUP_ARMOUR \
34 ( 1 << 5 )
36#define OUTFIT_PROP_WEAP_BLOWUP_SHIELD \
37 ( 1 << 6 )
39#define OUTFIT_PROP_WEAP_FRIENDLYFIRE \
40 ( 1 << 8 )
41#define OUTFIT_PROP_WEAP_POINTDEFENSE \
42 ( 1 << 9 )
43#define OUTFIT_PROP_WEAP_MISS_SHIPS \
44 ( 1 << 10 )
45#define OUTFIT_PROP_WEAP_MISS_ASTEROIDS \
46 ( 1 << 11 )
47#define OUTFIT_PROP_WEAP_MISS_EXPLODE \
48 ( 1 << 12 )
49#define OUTFIT_PROP_WEAP_ONLYHITTARGET \
50 ( 1 << 13 )
52#define OUTFIT_PROP_WEAP_COLLISION_OVERRIDE \
53 ( 1 << 14 )
54#define OUTFIT_PROP_NEEDSGFX \
55 ( 1 << 15 )
56#define OUTFIT_PROP_STEALTH_ON \
57 ( 1 << 16 )
58
59/* Outfit filter labels. [Doc comments are also translator notes and must
60 * precede the #define.] */
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" )
73
74/*
75 * Needed because some outfittypes call other outfits.
76 */
77struct Outfit_;
78
86typedef enum OutfitType_ {
87 OUTFIT_TYPE_NULL,
88 OUTFIT_TYPE_BOLT,
89 OUTFIT_TYPE_BEAM,
90 OUTFIT_TYPE_TURRET_BOLT,
91 OUTFIT_TYPE_TURRET_BEAM,
92 OUTFIT_TYPE_LAUNCHER,
93 OUTFIT_TYPE_TURRET_LAUNCHER,
94 OUTFIT_TYPE_MODIFICATION,
95 OUTFIT_TYPE_AFTERBURNER,
96 OUTFIT_TYPE_FIGHTER_BAY,
97 OUTFIT_TYPE_MAP,
98 OUTFIT_TYPE_LOCALMAP,
100 OUTFIT_TYPE_GUI,
101 OUTFIT_TYPE_LICENSE,
102 OUTFIT_TYPE_SENTINEL
103} OutfitType;
104
108typedef enum OutfitSlotType_ {
109 OUTFIT_SLOT_NULL,
110 OUTFIT_SLOT_NA,
111 OUTFIT_SLOT_INTRINSIC,
112 OUTFIT_SLOT_STRUCTURE,
113 OUTFIT_SLOT_UTILITY,
114 OUTFIT_SLOT_WEAPON
115} OutfitSlotType;
116
120typedef enum OutfitSlotSize_ {
121 OUTFIT_SLOT_SIZE_NA,
122 OUTFIT_SLOT_SIZE_LIGHT,
123 OUTFIT_SLOT_SIZE_MEDIUM,
124 OUTFIT_SLOT_SIZE_HEAVY
125} OutfitSlotSize;
126
130typedef enum OutfitAmmoAI_ {
131 AMMO_AI_UNGUIDED,
132 AMMO_AI_SEEK,
133 AMMO_AI_SMART
134} OutfitAmmoAI;
135
139typedef struct OutfitSlot_ {
140 unsigned int spid;
142 OutfitSlotType type;
143 OutfitSlotSize size;
144} OutfitSlot;
145
149typedef struct OutfitGFX_ {
153 double spin;
154 GLuint program;
155 GLuint vertex;
156 GLuint projection;
157 GLuint dimensions;
158 GLuint u_r;
159 GLuint u_time;
160 GLuint u_fade;
161 double size;
162 double col_size;
163} OutfitGFX;
164
168typedef struct Damage_ {
169 int type;
170 double
172 double
174 double disable;
176} Damage;
177
181typedef struct OutfitBoltData_ {
182 double delay;
183 double speed;
184 double range;
185 double falloff;
186 double energy;
188 double radius;
189
190 double heatup;
192 double heat;
193 double trackmin;
194 double trackmax;
195 double swivel;
197 double dispersion;
200 int shots;
202
203 /* Sound and graphics. */
205 int sound;
210
214typedef struct OutfitBeamData_ {
215 /* Time stuff. */
216 double delay;
217 double warmup;
218 double duration;
219 double min_delay;
220
221 /* Beam properties. */
222 double range;
223 double turn;
224 double energy;
226 double heatup;
228 double heat;
229 double swivel;
232
233 /* Graphics and sound. */
234 glColour colour;
235 GLfloat width;
236 GLuint shader;
240 int sound;
243
249typedef struct OutfitLauncherData_ {
250 double delay;
251 int amount;
252 double reload_time;
253
254 /* Lock-on information. */
255 double lockon;
256 double iflockon;
257 double trackmin;
258 double trackmax;
259 double arc;
260 double swivel;
262 double dispersion;
265 int shots;
267
268 double ammo_mass;
269 double duration;
270 double resist;
271 OutfitAmmoAI ai;
272
273 double speed;
274 double speed_max;
275 double turn;
276 double accel;
277 double energy;
279 double radius;
280
281 /* Health stuff. */
282 double armour;
283 double dmg_absorb;
284
286 int sound;
293
299typedef struct OutfitModificationData_ {
300 /* Active information (if applicable). */
301 int active;
302 double duration;
303 double cooldown;
305
306 /* All the modifiers are based on the outfit's ship stats, nothing here but
307 * active stuff. */
309
313typedef struct OutfitAfterburnerData_ {
314 /* Internal properties. */
315 double rumble;
317 int sound;
319 double accel;
320 double speed;
321 double energy;
322 double mass_limit;
323 double heatup;
324 double heat;
326
327struct Ship_; /* Bit of a horrible hack to allow us to avoid circular
328 definitions. */
332typedef struct OutfitFighterBayData_ {
333 char *shipname;
334 const struct Ship_ *ship;
335 double ship_mass;
336 double delay;
337 int amount;
338 double reload_time;
339 int sound;
341
342/* Forward declaration */
343struct OutfitMapData_s;
344typedef struct OutfitMapData_s OutfitMapData_t;
345
349typedef struct OutfitLocalMapData_ {
350 double jump_detect;
351 double spob_detect;
353
357typedef struct OutfitGUIData_ {
358 char *gui;
360
364typedef struct OutfitLicenseData_ {
365 char *provides;
368
372typedef struct Outfit_ {
373 char *name;
374 char *typename;
375 char *shortname;
376 int rarity;
377 char *filename;
378
379 /* General specs */
381 char *license;
382 char *cond;
383 char *condstr;
384 double mass;
385 double cpu;
386 char *limit;
388 char **illegaltoS;
389
390 /* Store stuff */
391 credits_t price;
392 char *desc_raw;
396
400
401 /* Heat limits. */
405
406 unsigned int properties;
407 unsigned int group;
408
409 /* Stats. */
411
412 /* Tags. */
413 char **tags;
414
415 /* Lua function references. Set to LUA_NOREF if not used. */
416 char *lua_file;
417 nlua_env
420 int
442 /* Weapons only. */
445 /* Independent of slots and pilots. */
450
451 /* Type dependent */
452 OutfitType type;
453 union {
460 OutfitMapData_t *map;
464 } u;
465} Outfit;
466
467/*
468 * Access stuff.
469 */
470int outfit_gfxStoreLoaded( const Outfit *o );
471int outfit_gfxStoreLoadNeeded( void );
473const Outfit *outfit_get( const char *name );
474const Outfit *outfit_getW( const char *name );
475const Outfit *outfit_getAll( void );
476int outfit_compareTech( const void *outfit1, const void *outfit2 );
477/* outfit types */
478int outfit_isActive( const Outfit *o );
479int outfit_isToggleable( const Outfit *o );
480int outfit_isWeapon( const Outfit *o );
481int outfit_isForward( const Outfit *o );
482int outfit_isBolt( const Outfit *o );
483int outfit_isBeam( const Outfit *o );
484int outfit_isLauncher( const Outfit *o );
485int outfit_isAmmo( const Outfit *o );
486int outfit_isSeeker( const Outfit *o );
487int outfit_isTurret( const Outfit *o );
488int outfit_isMod( const Outfit *o );
489int outfit_isAfterburner( const Outfit *o );
490int outfit_isFighterBay( const Outfit *o );
491int outfit_isMap( const Outfit *o );
492int outfit_isLocalMap( const Outfit *o );
493int outfit_isGUI( const Outfit *o );
494int outfit_isLicense( const Outfit *o );
495int outfit_isSecondary( const Outfit *o );
496const char *outfit_getType( const Outfit *o );
497const char *outfit_getTypeBroad( const Outfit *o );
498const char *outfit_getAmmoAI( const Outfit *o );
499const char *outfit_description( const Outfit *o );
500const char *outfit_summary( const Outfit *o, int withname );
501const char *outfit_shortname( const Outfit *o );
502
503/*
504 * Search.
505 */
506const char *outfit_existsCase( const char *name );
507char **outfit_searchFuzzyCase( const char *name, int *n );
508
509/*
510 * Filter.
511 */
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 );
517
518/*
519 * Get data from outfits.
520 */
521const char *outfit_slotName( const Outfit *o );
522const char *slotName( const OutfitSlotType o );
523const char *outfit_slotSize( const Outfit *o );
524const char *slotSize( const OutfitSlotSize o );
525const glColour *outfit_slotSizeColour( const OutfitSlot *os );
526char outfit_slotSizeColourFont( const OutfitSlot *os );
527char outfit_slotTypeColourFont( const OutfitSlot *os );
528size_t outfit_getNameWithClass( const Outfit *outfit, char *buf, size_t size );
529OutfitSlotSize outfit_toSlotSize( const char *s );
530const OutfitGFX *outfit_gfx( const Outfit *o );
531const CollPoly *outfit_plg( const Outfit *o );
532int outfit_spfxArmour( const Outfit *o );
533int outfit_spfxShield( const Outfit *o );
534const Damage *outfit_damage( const Outfit *o );
535double outfit_radius( const Outfit *o );
536double outfit_delay( const Outfit *o );
537int outfit_amount( const Outfit *o );
538double outfit_energy( const Outfit *o );
539double outfit_heat( const Outfit *o );
540double outfit_cpu( const Outfit *o );
541double outfit_range( const Outfit *o );
542double outfit_speed( const Outfit *o );
543double outfit_swivel( const Outfit *o );
544double outfit_spin( const Outfit *o );
545double outfit_trackmin( const Outfit *o );
546double outfit_trackmax( const Outfit *o );
547int outfit_miningRarity( const Outfit *o );
548int outfit_sound( const Outfit *o );
549int outfit_soundHit( const Outfit *o );
550double outfit_ammoMass( const Outfit *o );
551/* Active outfits. */
552double outfit_duration( const Outfit *o );
553double outfit_cooldown( const Outfit *o );
554
555/*
556 * Loading and freeing outfit stack.
557 */
558int outfit_load( void );
559int outfit_loadPost( void );
560int outfit_mapParse( void );
561void outfit_free( void );
562
563/*
564 * Misc.
565 */
566int outfit_fitsSlot( const Outfit *o, const OutfitSlot *s );
567int outfit_fitsSlotType( const Outfit *o, const OutfitSlot *s );
568void outfit_freeSlot( OutfitSlot *s );
569glTexture *rarity_texture( int rarity );
570int outfit_checkIllegal( const Outfit *o, int fct );
571int outfit_licenseExists( const char *name );
int outfit_isSecondary(const Outfit *o)
Checks if outfit has the secondary flag set.
Definition outfit.c:747
const char * outfit_description(const Outfit *o)
Gets the description of an outfit.
Definition outfit.c:1143
const char * outfit_shortname(const Outfit *o)
Gets the short name (translated) of an outfit.
Definition outfit.c:1168
double outfit_speed(const Outfit *o)
Gets the outfit's speed.
Definition outfit.c:908
double outfit_trackmin(const Outfit *o)
Gets the outfit's minimal tracking.
Definition outfit.c:946
int outfit_isBeam(const Outfit *o)
Checks if outfit is a beam type weapon.
Definition outfit.c:639
const char * outfit_summary(const Outfit *o, int withname)
Gets the summary of an outfit.
Definition outfit.c:1157
const Outfit * outfit_getAll(void)
Gets the array (array.h) of all outfits.
Definition outfit.c:247
double outfit_cpu(const Outfit *o)
Gets the outfit's cpu usage.
Definition outfit.c:891
int outfit_isActive(const Outfit *o)
Checks if outfit is an active outfit.
Definition outfit.c:567
int outfit_soundHit(const Outfit *o)
Gets the outfit's hit sound.
Definition outfit.c:1004
const Outfit * outfit_get(const char *name)
Gets an outfit by name.
Definition outfit.c:223
int outfit_isLauncher(const Outfit *o)
Checks if outfit is a weapon launcher.
Definition outfit.c:649
int outfit_isSeeker(const Outfit *o)
Checks if outfit is a seeking weapon.
Definition outfit.c:659
OutfitSlotSize outfit_toSlotSize(const char *s)
Gets the outfit slot size from a human readable string.
Definition outfit.c:544
int outfit_miningRarity(const Outfit *o)
Gets the maximum rarity the outfit can mine up to.
Definition outfit.c:976
int outfit_isLocalMap(const Outfit *o)
Checks if outfit is a local space map.
Definition outfit.c:719
int outfit_isWeapon(const Outfit *o)
Checks to see if an outfit is a weapon.
Definition outfit.c:603
char outfit_slotTypeColourFont(const OutfitSlot *os)
Gets a font colour character that roughly matches an outfit slot type colour.
Definition outfit.c:505
int outfit_isToggleable(const Outfit *o)
Checks if outfit can be toggled.
Definition outfit.c:584
int outfit_compareTech(const void *outfit1, const void *outfit2)
Function meant for use with C89, C99 algorithm qsort().
Definition outfit.c:302
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:525
const Outfit * outfit_getW(const char *name)
Gets an outfit by name without warning on no-find.
Definition outfit.c:237
const char * outfit_getTypeBroad(const Outfit *o)
Gets the outfit's broad type.
Definition outfit.c:1091
int outfit_fitsSlot(const Outfit *o, const OutfitSlot *s)
Checks to see if an outfit fits a slot.
Definition outfit.c:1180
int outfit_checkIllegal(const Outfit *o, int fct)
Checks illegality of an outfit to a faction.
Definition outfit.c:3309
int outfit_isFighterBay(const Outfit *o)
Checks if outfit is a fighter bay.
Definition outfit.c:701
int outfit_isAfterburner(const Outfit *o)
Checks if outfit is an afterburner.
Definition outfit.c:692
double outfit_range(const Outfit *o)
Gets the outfit's range.
Definition outfit.c:899
int outfit_isMap(const Outfit *o)
Checks if outfit is a space map.
Definition outfit.c:710
double outfit_radius(const Outfit *o)
Gets the outfit's explosion radius.
Definition outfit.c:822
int outfit_spfxShield(const Outfit *o)
Gets the outfit's sound effect.
Definition outfit.c:794
int outfit_isTurret(const Outfit *o)
Checks if outfit is a turret class weapon.
Definition outfit.c:672
double outfit_ammoMass(const Outfit *o)
Gets the outfit's ammunition mass.
Definition outfit.c:1017
int outfit_isForward(const Outfit *o)
Checks if outfit is a fixed mounted weapon.
Definition outfit.c:619
const CollPoly * outfit_plg(const Outfit *o)
Gets the outfit's collision polygon.
Definition outfit.c:768
int outfit_isLicense(const Outfit *o)
Checks if outfit is a license.
Definition outfit.c:728
char outfit_slotSizeColourFont(const OutfitSlot *os)
Gets a font colour character that roughly matches an outfit slot size colour.
Definition outfit.c:487
const OutfitGFX * outfit_gfx(const Outfit *o)
Gets the outfit's graphic effect.
Definition outfit.c:756
int outfit_amount(const Outfit *o)
Gets the amount an outfit can hold.
Definition outfit.c:850
int outfit_load(void)
Loads all the outfits.
Definition outfit.c:3023
const char * slotName(const OutfitSlotType type)
Definition outfit.c:413
double outfit_spin(const Outfit *o)
Gets the outfit's animation spin.
Definition outfit.c:933
int outfit_mapParse(void)
Parses all the maps.
Definition outfit.c:3257
const char * outfit_getType(const Outfit *o)
Gets the outfit's specific type.
Definition outfit.c:1060
double outfit_heat(const Outfit *o)
Gets the outfit's heat generation.
Definition outfit.c:877
double outfit_trackmax(const Outfit *o)
Gets the outfit's minimal tracking.
Definition outfit.c:961
int outfit_isMod(const Outfit *o)
Checks if outfit is a ship modification.
Definition outfit.c:683
int outfit_isGUI(const Outfit *o)
Checks if outfit is a GUI.
Definition outfit.c:737
int outfit_gfxStoreLoad(Outfit *o)
Loads the store graphics for the outfit.
Definition outfit.c:198
int outfit_sound(const Outfit *o)
Gets the outfit's sound.
Definition outfit.c:991
int outfit_spfxArmour(const Outfit *o)
Gets the outfit's sound effect.
Definition outfit.c:780
const char * slotSize(const OutfitSlotSize o)
Gets the slot size as a string.
Definition outfit.c:436
const Damage * outfit_damage(const Outfit *o)
Gets the outfit's damage.
Definition outfit.c:808
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:267
double outfit_swivel(const Outfit *o)
Gets the swivel of an outfit.
Definition outfit.c:918
double outfit_duration(const Outfit *o)
Gets the outfit's duration.
Definition outfit.c:1030
double outfit_cooldown(const Outfit *o)
Gets the outfit's cooldown.
Definition outfit.c:1044
const char * outfit_slotName(const Outfit *o)
Gets the name of the slot type of an outfit.
Definition outfit.c:405
int outfit_isBolt(const Outfit *o)
Checks if outfit is bolt type weapon.
Definition outfit.c:629
const char * outfit_slotSize(const Outfit *o)
Gets the name of the slot size of an outfit.
Definition outfit.c:458
void outfit_free(void)
Frees the outfit stack.
Definition outfit.c:3333
const char * outfit_existsCase(const char *name)
Checks to see if an outfit exists matching name (case insensitive).
Definition outfit.c:255
double outfit_energy(const Outfit *o)
Gets the outfit's energy usage.
Definition outfit.c:863
int outfit_licenseExists(const char *name)
Checks to see if a license exists.
Definition outfit.c:3321
void outfit_freeSlot(OutfitSlot *s)
Frees an outfit slot.
Definition outfit.c:1246
const char * outfit_getAmmoAI(const Outfit *o)
Gets a human-readable string describing an ammo outfit's AI.
Definition outfit.c:1123
glTexture * rarity_texture(int rarity)
Definition outfit.c:3299
const glColour * outfit_slotSizeColour(const OutfitSlot *os)
Gets the slot size colour for an outfit slot.
Definition outfit.c:469
double outfit_delay(const Outfit *o)
Gets the outfit's delay.
Definition outfit.c:834
int outfit_fitsSlotType(const Outfit *o, const OutfitSlot *s)
Checks to see if an outfit fits a slot type (ignoring size).
Definition outfit.c:1224
int outfit_loadPost(void)
Loads all the outfits legality.
Definition outfit.c:3203
Core damage that an outfit does.
Definition outfit.h:168
int type
Definition outfit.h:169
double disable
Definition outfit.h:174
double penetration
Definition outfit.h:171
double damage
Definition outfit.h:173
Represents an afterburner.
Definition outfit.h:313
Represents the particular properties of a beam weapon.
Definition outfit.h:214
double energy
Definition outfit.h:224
double heatup
Definition outfit.h:226
int sound_warmup
Definition outfit.h:239
double duration
Definition outfit.h:218
int spfx_armour
Definition outfit.h:237
double warmup
Definition outfit.h:217
int mining_rarity
Definition outfit.h:231
Damage dmg
Definition outfit.h:225
GLuint shader
Definition outfit.h:236
double turn
Definition outfit.h:223
double heat
Definition outfit.h:228
double min_delay
Definition outfit.h:219
double range
Definition outfit.h:222
double swivel
Definition outfit.h:229
glColour colour
Definition outfit.h:234
GLfloat width
Definition outfit.h:235
int spfx_shield
Definition outfit.h:238
double delay
Definition outfit.h:216
Represents the particular properties of a bolt weapon.
Definition outfit.h:181
int spfx_shield
Definition outfit.h:208
double dispersion
Definition outfit.h:197
double heat
Definition outfit.h:192
double trackmin
Definition outfit.h:193
double radius
Definition outfit.h:188
double falloff
Definition outfit.h:185
double range
Definition outfit.h:184
double delay
Definition outfit.h:182
double swivel
Definition outfit.h:195
double heatup
Definition outfit.h:190
Damage dmg
Definition outfit.h:187
double trackmax
Definition outfit.h:194
double speed
Definition outfit.h:183
int mining_rarity
Definition outfit.h:201
double energy
Definition outfit.h:186
OutfitGFX gfx
Definition outfit.h:204
int spfx_armour
Definition outfit.h:207
double speed_dispersion
Definition outfit.h:199
Represents a fighter bay.
Definition outfit.h:332
const struct Ship_ * ship
Definition outfit.h:334
double col_size
Definition outfit.h:162
CollPoly polygon
Definition outfit.h:152
glTexture * tex_end
Definition outfit.h:151
GLuint u_r
Definition outfit.h:158
GLuint program
Definition outfit.h:154
GLuint dimensions
Definition outfit.h:157
double spin
Definition outfit.h:153
GLuint projection
Definition outfit.h:156
GLuint u_time
Definition outfit.h:159
glTexture * tex
Definition outfit.h:150
GLuint u_fade
Definition outfit.h:160
GLuint vertex
Definition outfit.h:155
double size
Definition outfit.h:161
Represents a GUI.
Definition outfit.h:357
char * gui
Definition outfit.h:358
Represents a particular missile launcher.
Definition outfit.h:249
double dmg_absorb
Definition outfit.h:283
double dispersion
Definition outfit.h:262
double speed_dispersion
Definition outfit.h:264
double trail_x_offset
Definition outfit.h:291
const TrailSpec * trail_spec
Definition outfit.h:290
OutfitGFX gfx
Definition outfit.h:285
double reload_time
Definition outfit.h:252
OutfitAmmoAI ai
Definition outfit.h:271
Represents a license.
Definition outfit.h:364
char * provides
Definition outfit.h:365
Represents a local map.
Definition outfit.h:349
double jump_detect
Definition outfit.h:350
double spob_detect
Definition outfit.h:351
Represents a map, is not actually stored on a ship but put into the nav system.
Definition mapData.h:14
Represents a ship modification.
Definition outfit.h:299
Pilot slot that can contain outfits.
Definition outfit.h:139
OutfitSlotSize size
Definition outfit.h:143
int exclusive
Definition outfit.h:141
unsigned int spid
Definition outfit.h:140
OutfitSlotType type
Definition outfit.h:142
A ship outfit, depends radically on the type.
Definition outfit.h:372
char ** tags
Definition outfit.h:413
unsigned int properties
Definition outfit.h:406
int lua_ontoggle
Definition outfit.h:427
char * lua_file
Definition outfit.h:416
credits_t price
Definition outfit.h:391
int lua_onscan
Definition outfit.h:434
char * limit
Definition outfit.h:386
int lua_jumpin
Definition outfit.h:438
char * cond
Definition outfit.h:382
double cpu
Definition outfit.h:385
OutfitLauncherData lau
Definition outfit.h:456
int lua_cooldown
Definition outfit.h:435
char * desc_raw
Definition outfit.h:392
OutfitBeamData bem
Definition outfit.h:455
int lua_buy
Definition outfit.h:448
OutfitBoltData blt
Definition outfit.h:454
int lua_keyrelease
Definition outfit.h:441
int lua_takeoff
Definition outfit.h:437
double overheat_max
Definition outfit.h:404
OutfitType type
Definition outfit.h:452
int lua_onimpact
Definition outfit.h:443
int lua_outofenergy
Definition outfit.h:430
int lua_land
Definition outfit.h:436
int lua_onscanned
Definition outfit.h:433
int lua_onshootany
Definition outfit.h:431
int lua_update
Definition outfit.h:426
int lua_onmiss
Definition outfit.h:444
glTexture * gfx_store
Definition outfit.h:398
int rarity
Definition outfit.h:376
int lua_descextra
Definition outfit.h:419
int lua_price
Definition outfit.h:446
OutfitGUIData gui
Definition outfit.h:462
unsigned int group
Definition outfit.h:407
char * condstr
Definition outfit.h:383
char ** illegaltoS
Definition outfit.h:388
char * shortname
Definition outfit.h:375
char * filename
Definition outfit.h:377
OutfitModificationData mod
Definition outfit.h:457
OutfitSlot slot
Definition outfit.h:380
int lua_onhit
Definition outfit.h:429
char * summary_raw
Definition outfit.h:393
OutfitAfterburnerData afb
Definition outfit.h:458
int * illegalto
Definition outfit.h:387
int lua_onshoot
Definition outfit.h:428
OutfitFighterBayData bay
Definition outfit.h:459
int priority
Definition outfit.h:395
int lua_cleanup
Definition outfit.h:425
int lua_sell
Definition outfit.h:449
ShipStatList * stats
Definition outfit.h:410
nlua_env lua_env
Definition outfit.h:418
int lua_onstealth
Definition outfit.h:432
char * license
Definition outfit.h:381
OutfitLocalMapData lmap
Definition outfit.h:461
int lua_onadd
Definition outfit.h:421
glTexture ** gfx_overlays
Definition outfit.h:399
int lua_board
Definition outfit.h:439
int lua_keydoubletap
Definition outfit.h:440
int lua_onremove
Definition outfit.h:422
double overheat_min
Definition outfit.h:402
char * gfx_store_path
Definition outfit.h:397
double mass
Definition outfit.h:384
char * desc_extra
Definition outfit.h:394
OutfitMapData_t * map
Definition outfit.h:460
char * name
Definition outfit.h:373
int lua_init
Definition outfit.h:424
OutfitLicenseData lic
Definition outfit.h:463
Represents relative ship statistics as a linked list.
Definition shipstats.h:198
represents a set of styles for trails.
Definition spfx.h:52
Abstraction for rendering sprite sheets.
Definition opengl_tex.h:43