Source code

From CrawlWiki
Revision as of 11:13, 1 June 2014 by Derrek (talk | contribs) (link to current release)
Jump to: navigation, search

The source code for Crawl is the complete set of programming instructions and data that are compiled into a playable game. Unlike most commercial programs, Crawl is released under an open source license, meaning the source code is freely accessible by anyone. Crawl is written in C++.

Crawl is actively in development, with new code changes being introduced daily. Trunk is the version of the code containing the latest changes. Periodically these changes are gathered up into a release version which has been tested to minimize bugs and other problems.

The Crawl source code can be accessed at http://gitorious.org/crawl/; a more accessible (and searchable) mirror of the source is at http://git.develz.org/?p=crawl.git;a=summary. The default view is of trunk; to view source code from prior release versions, visit http://git.develz.org/?p=crawl.git;a=tags, click on "commit" next to the version you want, then "tree".

To search through the code, make sure you are viewing the entire tree (or at least the /source subdirectory), and select "grep" in the dropdown box. The search is case-sensitive: "kiku" will return different results from "KIKU".

Prospective developers should read the introductory pages on the Crawl dev wiki. The patch guide is also a good introduction to getting your feet wet. Others may simply enjoy source diving to tease out many of the game's secrets.

Source diving

"Source diving" is the act of reading/searching through the source code of a program. Source diving is usually done when someone wants to know how something really works in the game. Source divers may also program their own patches to the game.

Even those who do not understand C++ may be able to do source diving to discover Easter eggs or interesting comments in the source, or to look up basic data or text (such in-game flavour messages).