btmux/autom4te.cache/
btmux/doc/.svn/
btmux/event/.svn/
btmux/game/.svn/
btmux/game/bin/.svn/
btmux/game/data/.svn/
btmux/game/logs/.svn/
btmux/game/maps/
btmux/game/maps/.svn/
btmux/game/maps/.svn/prop-base/
btmux/game/maps/.svn/props/
btmux/game/maps/.svn/text-base/
btmux/game/maps/.svn/wcprops/
btmux/game/mechs/
btmux/game/mechs/.svn/
btmux/game/mechs/.svn/prop-base/
btmux/game/mechs/.svn/props/
btmux/game/mechs/.svn/text-base/
btmux/game/mechs/.svn/wcprops/
btmux/game/text/.svn/
btmux/include/.svn/
btmux/misc/
btmux/misc/.svn/
btmux/misc/.svn/prop-base/
btmux/misc/.svn/props/
btmux/misc/.svn/text-base/
btmux/misc/.svn/wcprops/
btmux/python/
btmux/python/.svn/
btmux/python/.svn/prop-base/
btmux/python/.svn/props/
btmux/python/.svn/text-base/
btmux/python/.svn/wcprops/
btmux/src/.svn/prop-base/
btmux/src/.svn/props/
btmux/src/.svn/text-base/
btmux/src/.svn/wcprops/
btmux/src/hcode/.svn/
btmux/src/hcode/btech/
btmux/src/hcode/btech/.svn/
btmux/src/hcode/btech/.svn/prop-base/
btmux/src/hcode/btech/.svn/props/
btmux/src/hcode/btech/.svn/text-base/
btmux/src/hcode/btech/.svn/wcprops/
btmux/src/hcode/include/.svn/
                             Coding Style

The Battletech MUX (and MUSE) source has always been a mess. Part of this is
because of the codebases they built on, others are because writing readable
code is damned hard. However, I would still like to try :) When submitting
patches or commiting changes, please consider the following guidelines:

   - Most of the code is indented using the following indent options:
	indent -kr -i4 -bad -bbb -bap -nbbo -nlp -hnl -br -brs
     (K&R style, 4-space indents, see the indent manpage for the rest.)
     Try to keep your changes in the same style.

   - Try not to combine whitespace/indent changes and code changes in a
     single patch/commit. This makes it very hard to see what actually
     changed. Use two separate patches/commits.

   - For commiters: commit only one fix at a time, with a sensible comment;
     preferably what bug/problem is being fixed, why, how and where.

   - For patch submittors: try to provide sensible information with any
     patches: preferably what bug/problem it fixes, why, how and where.

   - Keep code in easy-to-read chunks. Avoid long if/else clauses or
     multiple flags to carry information from one section of a function to
     another. Today's optimizers are better than what we can hand-hack into
     the code, and a few lines of code duplications are better than stunned
     looks on other people's faces when they try to follow the code.

   - Avoid long C preprocessor macros; more than two lines is generally a
     sign it should really be a function. Don't use function-local data that
     isn't in the argument list for the macro -- this makes rewriting it
     into a function harder.

   - Comments should be ANSI C (C89) comments, '/* */', not C++/C99's '//'.

A lot of the code still violates these, especially the latter two. Fix them
if you happen to touch the code, or take a look at mech.sensor.functions.c or
mech.tech.*.c to see what they can turn into.