UFO: Alien Invasion
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
cp_component.h File Reference

Header file for Aircraft and item components. More...

Go to the source code of this file.

Data Structures

struct  components_s
 The definition of a "components" entry (i.e. an assembly of several items) parsed from a ufo-file. More...
 

Macros

#define MAX_ASSEMBLIES   16
 
#define MAX_COMP   32
 
#define COMP_ITEMCOUNT_SCALED   -32768
 

Typedefs

typedef struct components_s components_t
 The definition of a "components" entry (i.e. an assembly of several items) parsed from a ufo-file. More...
 

Functions

components_tCOMP_GetComponentsByID (const char *id)
 Returns components definition by ID. More...
 
void COMP_ParseComponents (const char *name, const char **text)
 Parses one "components" entry in a .ufo file and writes it into the next free entry in xxxxxxxx (components_t). More...
 

Detailed Description

Header file for Aircraft and item components.

Definition in file cp_component.h.

Macro Definition Documentation

#define COMP_ITEMCOUNT_SCALED   -32768

Component item count scaled to the disassembled item/UFO's codition

Definition at line 30 of file cp_component.h.

Referenced by COMP_ParseComponents(), PR_DisassemblyInfo(), and PR_FinishDisassembly().

#define MAX_ASSEMBLIES   16

Max number of assemblies

Definition at line 28 of file cp_component.h.

Referenced by COMP_ParseComponents().

#define MAX_COMP   32

Max component in an assembly

Definition at line 29 of file cp_component.h.

Referenced by COMP_ParseComponents().

Typedef Documentation

typedef struct components_s components_t

The definition of a "components" entry (i.e. an assembly of several items) parsed from a ufo-file.

Function Documentation

components_t* COMP_GetComponentsByID ( const char *  id)

Returns components definition by ID.

Parameters
[in]idassemblyId of the component definition.
Returns
Pointer to components_t definition.

Definition at line 145 of file cp_component.cpp.

References components_s::assemblyId, ccs, cgi, ccs_s::components, ERR_DROP, i, ccs_s::numComponents, and Q_streq.

Referenced by US_LoadXML(), and US_StoreUFO().

void COMP_ParseComponents ( const char *  name,
const char **  text 
)

Parses one "components" entry in a .ufo file and writes it into the next free entry in xxxxxxxx (components_t).

Parameters
[in]nameThe unique id of a components_t array entry.
[in]textthe whole following text after the "components" definition.
See also
CP_ParseScriptFirst
Todo:
Set item links to NONE if needed

Definition at line 50 of file cp_component.cpp.

References component_type_data_t::amount, components_s::assemblyId, components_s::assemblyItem, ccs, cgi, cgame_import_s::Com_EParse(), Com_Parse(), COMP_ITEMCOUNT_SCALED, ccs_s::components, DEBUG_CLIENT, ERR_DROP, component_type_data_t::id, INVSH_GetItemByID(), INVSH_GetItemByIDSilent(), components_s::itemAmount, components_s::itemAmount2, components_s::items, MAX_ASSEMBLIES, MAX_COMP, component_type_data_t::numbercrash, ccs_s::numComponents, components_s::numItemtypes, OBJZERO, Q_streq, Q_strncpyz(), and components_s::time.

Referenced by CP_ParseScriptFirst().