UFO: Alien Invasion
Loading...
Searching...
No Matches
cp_component.h File Reference

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

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  components_t
 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

Functions

components_tCOMP_GetComponentsByID (const char *id)
 Returns components definition by ID.
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).

Detailed Description

Header file for Aircraft and item components.

Definition in file cp_component.h.

Macro Definition Documentation

◆ COMP_ITEMCOUNT_SCALED

#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().

◆ MAX_ASSEMBLIES

#define MAX_ASSEMBLIES   16

Max number of assemblies

Definition at line 28 of file cp_component.h.

Referenced by COMP_ParseComponents().

◆ MAX_COMP

#define MAX_COMP   32

Max component in an assembly

Definition at line 29 of file cp_component.h.

Referenced by COMP_ParseComponents().

Function Documentation

◆ COMP_GetComponentsByID()

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_t::assemblyId, ccs, cgi, ERR_DROP, i, and Q_streq.

Referenced by US_LoadXML(), and US_StoreUFO().

◆ COMP_ParseComponents()

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_t::assemblyId, components_t::assemblyItem, ccs, cgi, Com_Parse(), COMP_ITEMCOUNT_SCALED, components_type_vals, DEBUG_CLIENT, ERR_DROP, component_type_data_t::id, INVSH_GetItemByID(), INVSH_GetItemByIDSilent(), components_t::itemAmount, components_t::itemAmount2, components_t::items, MAX_ASSEMBLIES, MAX_COMP, name, component_type_data_t::numbercrash, components_t::numItemtypes, OBJZERO, Q_streq, Q_strncpyz(), and components_t::time.

Referenced by CP_ParseScriptFirst().