Data Structures
Here are the data structures with brief descriptions:
 C_graphics_modeSpecifications for graphics modes
 C_term_dataExtra "term" data
 CactivationActivation structure
 Calloc_entryAn entry for the object/monster allocation functions

Directory scanning API

 Cangband_constantsInformation about maximal indices of certain arrays
 CartifactInformation about artifacts
 CbirtherA structure to hold "rolled" information, and any other useful state for the birth process
 Cbirthmenu_dataWe have one of these structures for each menu we display - it holds the useful information for the menu - text of the menu items, "help" text, current (or default) selection, and whether random selection is allowed
 Cblow_infoDescribes the number of blows possible for given stat bonuses
 CbrandBrand type
 Cclass_bookA structure to hold class-dependent information on spell books
 Cclass_magicInformation about class magic knowledge
 Cclass_spellA structure to hold class-dependent information on spells
 Ccmd_argA single argument

Argument structures

 Ccmd_infoHolds a generic command - if cmd is set to other than CMD_NULL it simply pushes that command to the game, otherwise the hook function will be called
 CcommandThe struct command type is used to return details of the command the game should carry out

A simple list of commands and their handling functions

 Ccommand_listA categorised list of all the command lists
 CcurseCurse type
 CDIBINITInformation about a bitmap
 Cdun_dataStructure to hold all "dungeon generation" data

Structures and helper functions for effects

 Ceffect_kindStructure for effects
 Cego_descStructure to describe ego item short name
 Cego_itemInformation about ego-items
 Celement_infoElement info type
 Cequip_slotA single equipment slot
 CfeatureInformation about terrain features
 Cgroup_funcsThe first part of this file contains the knowledge menus
 Chigh_scoreSemi-Portable High Score List Entry (128 bytes)
 Chistory_entryHistories are a graph of charts; each chart contains a set of individual entries for that chart, and each entry contains a text description and a successor chart to move history generation to
 Chistory_infoPlayer history table
 Chit_typesA list of the different hit types and their associated special message

Quality ignore menu

 Cinfo_entryEntries for spell/activation descriptions
 CjoinHelper class for generating joins

Initialize object bases

 CkeymapKeymap implementation
 CkeypressStruct holding all relevant info for keypresses
 Cmagic_realmStructure for magic realms
 Cmelee_effect_handler_context_sStorage for context information for effect handlers called in make_attack_normal()
 Cmenu_actionPrimitive menu item with bound action
 Cmenu_iterUnderlying function set for displaying lists in a certain kind of way

Spell selection

 Cmon_timed_effectMonster timed effects
 CmonsterMonster information, for a specific monster
 Cmonster_baseBase monster type
 Cmonster_blowMonster blows
 Cmonster_dropSpecified monster drops
 Cmonster_friendsMonster friends (specific monster)
 Cmonster_friends_baseMonster friends (general type)
 Cmonster_loreMonster "lore" information
 Cmonster_message_historyA (monster, message type) pair used for duplicate checking
 Cmonster_mimicHow monsters mimic
 Cmonster_painMonster pain messages
 Cmonster_raceMonster "race" information, including racial memories
 Cmonster_race_messageA stacked monster message entry
 Cmonster_spellMonster spell types
 CmouseclickStruct holding all relevant info for mouse clicks

Intialize random names



 CobjectObject information, for a specific object
 Cobject_baseInformation about object types, like rods, wands, etc
 Cobject_kindInformation about object kinds, including player knowledge
 Cobject_menu_dataInfo about a particular object

Data tables

 CpanelPanel holder type

Panel utilities

 Cpit_color_profileMonster color for a pit
 Cpit_forbidden_monsterMonster forbidden from a pit
 Cpit_monster_profileMonster base for a pit
 Cpit_profileProfile for choosing monsters for pits, nests or other themed areas
 CplayerMost of the "player" information goes here
 Cplayer_bodyA player 'body'
 Cplayer_classPlayer class info
 Cplayer_historyPlayer history information
 Cplayer_optionsThe option data structures
 Cplayer_racePlayer race info
 Cplayer_stateAll the variable state that changes when you put on/take off equipment
 Cplayer_upkeepTemporary, derived, player-related variables used during play but not saved
 Cpoint_setA set of points that can be constructed to apply a set of changes to
 Cposs_itemStructure for possible object kinds for an ego item
 Cprefs_dataPrivate data for pref file parsing

Feature handlers


Monster handlers


Object handlers

 CprojectionElement struct
 CquestStructure for the "quests"
 CrandomA struct representing a strategy for making a dice roll
 Croom_profileThis tracks information needed to generate the room, including the room's name and the function used to build it
 Croom_templateInformation about template room generation
 Csdl_sampleStruct representing all data about an event sample
 Cside_handler_tStruct of sidebar handlers
 CslaySlay type
 Cspell_menu_dataSpell menu data struct
 Cstart_itemItems the player starts with
 Cstate_infoStruct to describe different timed effects
 Ctimed_effect_dataData struct
 CtrapAn actual trap
 Ctrap_kindA trap template

Sval ignore menu

 Cui_eventUnion type to hold information about any given event