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

Directory scanning API

 Cang_file
 Cangband_constantsInformation about maximal indices of certain arrays
 CartifactInformation about artifacts
 Cartifact_set_data
 Cattack_result
 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
 Cblockheader
 Cblockinfo
 Cblow_effect
 Cblow_infoDescribes the number of blows possible for given stat bonuses
 Cblow_method
 CbrandBrand type
 Ccave_profile
 Cchunk
 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
 Ccmd_arg_data

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
 Ccolor_type
 CcommandThe struct command type is used to return details of the command the game should carry out
 Ccommand_info

A simple list of commands and their handling functions

 Ccommand_listA categorised list of all the command lists
 CcurseCurse type
 Ccurse_data
 Ccurse_menu_data
 CDIBINITInformation about a bitmap
 Cdice_expression_entry_s
 Cdice_s
 Cdun_dataStructure to hold all "dungeon generation" data
 CeffectEffect
 Ceffect_handler_context_s

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
 Cevent_handler_entry
 Cexpression_operation_s
 Cexpression_s
 CfeatureInformation about terrain features
 Cfile_parser
 Cflag_event_trigger
 Cflavor
 Cgame_event_data
 Cgrid_data
 Cgroup_funcsThe first part of this file contains the knowledge menus
 Cgrouper
 Cgz_header_s
 Cheatmap
 Chigh_scoreSemi-Portable High Score List Entry (128 bytes)
 Chint
 Chistory_chart
 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
 Cignore_choice

Quality ignore menu

 Cinfo_entryEntries for spell/activation descriptions
 Cinit_module
 Cinternal_state
 Citerate
 CjoinHelper class for generating joins
 Ckb_parsedata

Initialize object bases

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

Spell selection

 Cmon_timed_effectMonster timed effects
 Cmoney
 CmonsterMonster information, for a specific monster
 Cmonster_baseBase monster type
 Cmonster_blowMonster blows
 Cmonster_dropSpecified monster drops
 Cmonster_flagStructures
 Cmonster_friendsMonster friends (specific monster)
 Cmonster_friends_baseMonster friends (general type)
 Cmonster_list_entry_s
 Cmonster_list_s
 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
 Cmsg_snd_data
 Cname

Intialize random names

 Cnames_parse
 Cnds_kbd_key
 Cobj_property

Structures

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

Data tables

 Cowner
 CpanelPanel holder type
 Cpanel_line

Panel utilities

 Cparser
 Cparser_hook
 Cparser_spec
 Cparser_state
 Cparser_value
 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_flag_record
 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
 Cpng_color_16_struct
 Cpng_color_8_struct
 Cpng_color_struct
 Cpng_info_struct
 Cpng_row_info_struct
 Cpng_sPLT_entry_struct
 Cpng_sPLT_struct
 Cpng_struct_def
 Cpng_text_struct
 Cpng_time_struct
 Cpng_unknown_chunk_t
 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
 Cpower_calc
 Cprefs_dataPrivate data for pref file parsing
 Cproject_feature_handler_context_s

Feature handlers

 Cproject_monster_handler_context_s

Monster handlers

 Cproject_object_handler_context_s

Object handlers

 Cproject_player_handler_context_s
 CprojectionElement struct
 Cquality_ignore_struct
 Cquality_name_struct
 CquestStructure for the "quests"
 Cqueue
 CrandomA struct representing a strategy for making a dice roll
 Cregion
 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
 Crune
 Csdl_sampleStruct representing all data about an event sample
 Cset
 Cside_handler_tStruct of sidebar handlers
 CslaySlay type
 Cslot_info
 Csound_data
 Csound_file_type
 Csound_hooks
 Csound_module
 Csource
 Cspell_menu_dataSpell menu data struct
 Csquare
 Cstart_itemItems the player starts with
 Cstate_infoStruct to describe different timed effects
 Cstore
 Cstore_context
 Cstreamer_profile
 Csummon_details
 Cterm
 Cterm_data
 Cterm_win
 Ctest
 Ctextblock
 Ctimed_effect_dataData struct
 CtrapAn actual trap
 Ctrap_kindA trap template
 Ctunnel_profile
 Ctval_desc

Sval ignore menu

 Cui_eventUnion type to hold information about any given event
 Cvault
 Cz_stream_s