Crossfire Client, Trunk
Data Structures
Here are the data structures with brief descriptions:
 CAnimations
 CBigCellThe struct BigCell describes a tile outside the view area
 Cboolean_widget_tA container that holds the pointer and state of a checkbox control. Each Message Control dialog checkbox is tracked in one of these structs
 Cbuffer_control_tA container for all of the buffer control parameters like output count and time. The structure holds widget pointers, a state variables to track the parameter values, and the client built-in defaults. Only the final initializer for output_count and output_time is used as a default
 Cbuffer_parameter_tA container for a single buffer control parameter like output count or time. The structure holds a widget pointer, a state variable to track the widget value, and a default value
 CCache_EntryUsed mostly in the cache.c file, however, it can be returned to the graphic side of things so that they can update the image_data field
 CClientSocketBasic support for socket communications, including the file descriptor, input buffer, server, server, version, etc
 CCmdMappingLinks server commands to client functions that implement them, and gives a rough indication of the type of data that the server supplies with the command
 CConsoleCommand
 CCS_StatsStatistics on server
 CFace_Information_structOne struct that holds most of the image related data to reduce danger of namespace collision
 CFaceSets_struct
 CFD_Cache
 CImage_Cache
 Cinfo_buffer_tA buffer record that supports suppression of duplicate messages. This buffer holds data for messages that are monitored for suppression of duplicates. The buffer holds all data passed to message_callback(), including type, subtype, suggested color, and the text. Age and count fields are provided to track the time a message is in the buffer, and how many times it occured during the time it is buffered
 CInfo_Pane
 Citem_struct
 Ckeybind
 CMap
 CMapCellThe heads[] in the mapcell is used for single part objects or the head piece for multipart
 CMapCellLayer
 CMapCellTailLayer
 CMapLabel
 CmbufMemory buffer used in write_mbuf()
 Cmessage_control_tA container for all of the checkboxes associated with a single message type
 CMeta_Info
 CMsg_Type_Names
 Cmsgctrl_data_tDescriptive message type names with pane routing and buffer enable. A single struct defines a hard-coded, player-friendly, descriptive name to use for a single message type. All other fields in the structure define routing of messages to either or both client message panels, and whether or not messages of this type are passed through the duplicate suppression buffer system. This struct is intended to be used as the base type of an array that contains one struct per message type defined in newclient.h. The hard-coding of the descriptive name for the message type here is not ideal as it would be nicer to have it alongside the MSG_TYPE_* defines
 CNameMappingHolds the names that correspond to skill and resistance numbers
 CNotebook_Info
 CPickupMapping
 CPixmapInfo
 CPlayer_Struct
 CPlayerPosition
 CRace_Class_Info
 CRC_ChoiceFor classes & races, the server can present some number of choices, eg, the character gets to choose 1 skill from a choice of many
 Cscript
 CSockListContains the base information we use to make up a packet we want to send
 Csound_settings
 CSpell_struct
 CStarting_Map_Info
 CStat_MappingThe usage of the stat_mapping is to simplify the code and make it easier to expand
 CStat_struct
 CStatWindow
 CTextManager