Doxygen (all classes, namespaces and comments for many of them): http://dev.narc.ro/cataclysm/doxygen/
In general it's the best to pick a simple problem and track it down to the bottom. That helps with understanding everything along the way.
Simple parts are weather (except for weather generation math), sounds, monster attacks. Those are mostly hardcoded and defined in 1-2 places.
Complex parts are items, characters, map, submaps. Those are either handled all over the place (items), involve caches (characters, map) or just plain hard to understand (submaps, mostly due to coordinates).
Trying to understand it all at once is neither necessary nor a good idea. Many sections are incredibly important yet rather small, while others are lengthy but don't do anything.