Valid for Oangband 0.3.1



Birth.c
/* All sorts of code used when a character is selected, rolled, and born. 
 * Includes background info, determination and rolling of stats and skills,
 * the character birth interface, the autoroller, and actual creation of a
 * character.

cave.c
/* distance, LOS (and targetting), destruction of a square, legal object
 * and monster codes, hallucination, code for dungeon display, memorization
 * of objects and features, small-scale dungeon maps,  and management,
 * magic mapping, wizard light the dungeon, forget the dungeon, the pro-
 * jection code, disturb player, check for quest level.

cmd1.c
/* Decide if a blow or shot hits, apply critical hits and slay/brands.
 * Searching, pickup, traps (chances & effects), the melee combat algorithm,
 * move one square, and the running algorithm.  

cmd2.c
/* Decide if a blow or shot hits, apply critical hits and slay/brands,
 * calculate druid blows.  Searching, pickup, traps (chances & effects),
 * the melee combat algorithm, move one square, and the running algorithm.  

cmd3.c
/* Inventory and equipment display and management interface, observing an 
 * object, inscribing, refuelling, (l)ooking around the screen and 
 * Looking around the dungeon, help info on textual chars ("8" is the home, 
 * etc.), monster memory interface, stealing and setting monster traps.

cmd4.c
/* Screen refresh, change character name, message recall, interacting 
 * with options (inc. text of cheat options), macros, visuals, also level 
 * feelings, screen dumps/loading, and known Uniques/Artifacts/Objects/
 * recalling the contents of the home.

cmd5.c
/* Selection, browsing, learning, and casting of spells and prayers.  
 * Includes definitions of all spells and prayers.  Weapon branding,
 * shapeshifting, and making Athelas.

cmd6.c
/* Code for eating food, drinking potions, reading scrolls, aiming wands, 
 * using staffs, zapping rods, and activating anything that can be 
 * activated.  Also defines all effects of the items listed, and all 
 * activations.  Missile and bolt branding.  Ending a druid shapechange.

dungeon.c
/* Peusdo-ID, char & monster regeneration, town and dungeon management,
 * all timed character, monster, and object states, entry into Wizard, 
 * debug, and borg mode, definitions of user commands, process player, 
 * the basic function for interacting with the dungeon (including what 
 * happens when a wizard cheats death).

files.c
/* Code for multiuser machines, Colors for skill descriptions, the char-
 * acter screens (inc. resistance flags for races, etc.), equippy chars, 
 * online-help, extraction of base name (for savefiles), saving, death 
 * (with inventory, equip, etc. display), calculating and displaying 
 * scores, creating tombstones, winners, panic saves, reading a random 
 * line from a file, and signal handling.

generate.c
/* Code for making, stocking, and populating levels when generated.  
 * Additions to level feelings.  Includes rooms of every kind, pits, 
 * nests, vaults (inc. interpretation of v_info.txt).  Level feelings 
 * and other messages, autoscummer behavior.  Creation of the town.

init1.c
/* Initialization of monsters, objects, artifacts, ego-items, and terrain.
 * All code to handle *_info.txt files.  Lists all monster and object flags
 * that *_info.txt files contain, translation of colors.

init2.c
/* Paths, initializiation of *_info arrays from the binary files, control 
 * of what items are sold in the stores, prepare stores, inventory, and 
 * many other things, some error text, startup initializations.

load1.c
/* Old savefile handling.

File: load2.c
/* Up-to-date savefile handling

File: main.c
/* system-specific variations and special features, command-line arguments.

melee1.c
/* Monster melee attacks.  Monster critical blows, whether a monster 
 * attack hits, insult messages.  The code used when a monster attacks 
 * an adjacent player, including descriptions and effects.

melee2.c
/* Monster learning, monster distance attacks and spells, fear, flow/
 * movement, monster AI effecting movement and spells, process a monster 
 * (with spells and actions of all kinds, reproduction, effects of any 
 * terrain on monster movement, picking up and destroying objects), 
 * process all monsters.

monster1.c
/* how the char gains new monster info and the monster recall, including 
 * all descriptions.  The player ghost alteration code.

monster2.c
/* Monster processing, compacting, generation, goody drops, deletion, 
 * place the player, monsters, and their escorts at a given location, 
 * generation of monsters, summoning, monster reaction to pain 
 * levels, monster learning.

object1.c
/* Object flavors, colors, easy-know, display of modifiers (eg. "(+2 to 
 * strength)"), naming, puralizations, etc., artifact and DSM activation 
 * descriptions, text for full info screen, what items go where in equip-
 * ment, equipment-related strings, etc., and inventory management and 
 * display functions.

object2.c
/* Object stacks, compaction, generation, IDing, "trying", pricing, 
 * stacking.  Creating special artifacts, Adding charges to wands and 
 * staffs, bonuses to weapons and armour, powers and higher pvals to 
 * amulets and rings, fuel to lights, trap difficulty to chests, creating
 * ego items, what consititutes "cursed", "good", and "great" items,
 * generate objects (inc. Acquirement code) and treasures, object &
 * inventory routines, inventory sorting, equipment, spell failure chance,
 * if is OK to cast, and extra info shown in books.

save.c
/* Creation of savefiles.  Loading a player from a savefile.

spells1.c
/* Polymorph, teleport monster, teleport player, colors and ascii 
 * graphics for spells, hurt and kill player, melting/burning/freezing/
 * electrocuting items, effects of these attacks on the player and his 
 * stuff, spells that increase, decrease, and restore stats, disenchant, 
 * nexus, destroy and create terrain features, light+dark, destroy ob-
 * jects.  handlers for beam/bolt/ball spells that do damage to a monster, 
 * other player combat spells, special effects of monster beaths and 
 * spells, projection code.

spells2.c
/* Healing spells, glyphs of warding, reducing or sustaining a stat, ID 
 * everything, chance for enchant spells to fail, remove curses, regain 
 * exp, self-knowledge, detection spells, create stairs.  Definitions of 
 * armour & weapons, enchantment and ID code, what items are rechargable 
 * and the recharging code.  Spells that effect an area or LOS, lighten 
 * & darken rooms and areas, casting ball, projection, beam, and bolt 
 * spells.  Some old functions.

store.c
/* Store comments, racial penalties, what an item will cost, store 
 * inventory management, what a store will buy (what stores will sell
 * is in init2.c, and store owners in tables.c), interacting with the
 * stores (entering, haggling, buying, selling, leaving, getting kicked
 * out, etc.).  Shuffle store owners.

tables.c
/* Stat effects, blows per round (inc. non-stat effects), store owners, 
 * speed-to-energy, base exp level cost, player sexes, races, classes, 
 * spell table (for each class), spells in books, traps on chests, class 
 * names, color names, stat abbrevs, window flags, options and their
 * default values.  Druid blows.  What classes are legal for what races.

util.c
/* Functions, etc. for various machines that need them.

variable.c
/* The copyright.  Definitions for a large number of variables, arrays,
 * and pointers, plus the color table and sound names. 

wizard1.c
/* Generation of object, artifact, and monster spoilers.

wizard2.c
/* The wizard & debugging commands and their effects.

xtra1.c
/* Display of stats to the user from internal figures, char info shown on 
 * main screen and status displays, monster health bar, display various
 * things in sub-windows, spell management, calculation of max mana, max
 * HP, light radius, and weight limit.  Apply and display all modifiers,
 * attributes, etc. of the player, his gear, and temporary conditions to
 * the player.  Includes all racial and class attributes, effects of Bless
 * and the like, encumbrance, blows table inputs, and over-heavy weapons.

xtra2.c
/* Messages printed about the player's temporary attributes, resistances,
 * nutrition, experience.  Monsters that drop a specific treasure, monster
 * death and subsequent events, screen scrolling, monster health descrip-
 * tions.  Sorting, targetting, what and how squares appear when looked at,
 * prompting for a direction to aim at and move in.

z-form.c
/* Purpose: Low level text formatting -BEN- */

z-rand.c
 * This file provides an optimized random number generator.

z-term.c
/* Purpose: a generic, efficient, terminal window package -BEN- */

z-util.c
/* Purpose: Low level utilities -BEN- */

z-virt.c
/* Purpose: Memory management routines -BEN- */

angband.h
/* The basic include file.

config.h
/* Compilation options.

defines.h
/* Version #, grid, etc. size, MAX_* figures, limits, constants, critical
 * values, etc. for every characteristic of Angband.  Indexes, text locat-
 * ions, list of summonable monsters. Feature, artifact and ego-item codes.
 * Object tval (kind) and sval (specific type) with sval limitations.
 * Monster blow constants, functions, player, object and monster bit flags
 * (translation from code to flag).  Definitions of options and object in-
 * scriptions.

externs.h
/* Global variable and function definitions.  A superb map of the code.

h-basic.h
* The most basic "include" file.

h-config.h
 * Choose the hardware, operating system, and compiler.
 * Also, choose various "system level" compilation options.

h-define.h
 * Define some simple constants

h-system.h
 * Include the basic "system" files.

h-type.h
 * Basic "types".

types.h
/* Definitions for a large number of types and arrays.  This file controls
 * what sort of data can go where.