Command line arguments:

heromesh [<switches>] <basename> [<resources>]

Where <switches> is the switches, <basename> is the puzzle set base
name (excluding extensions; a puzzle set consists of four files),
and <resources> is optional resources to override.


=== Switches ===

-C
  Dump all class data.

-H
  Dump the hash table.

-L
  Display all tokens being read from the class definition file.

-M
  Write details of macro expansion to stdout.

-T
  Mode for testing some internal functions of Free Hero Mesh and SDL. You
  probably do not need to use this mode yourself.

-a
  Autotest levels, ensuring that the provided solution is valid.

-c
  Only load classes and then terminate. This can be used to test that
  the class definition file does not contain syntax errors, or it can be
  used together with -C, -H, -L, -M to see how it is parsing it.

-e
  Start in the editor instead of game.

-n
  Create a new puzzle set. The .xclass and .class files should already
  exist; the .level and .solution files should not already exist, and will
  be created with minimal data.

-r
  Open in read-only mode.

-t
  Enable tracing.

-v
  More verbose error logging.

-x
  Do not start the GUI; accept SQL codes to execute from stdin, and write
  the results to stdout. See sql.doc for the fuunctions and tables that
  may be used. Dot commands are also possible; see the below section.


=== Dot commands ===

.b0
  Disable terminate on errors.

.b1
  Enable terminate on errors.

.f
  Flush the database cache and release memory.

.i
  Tell you the filename of the database.

.q
  Quit.

.u
  Flush the user cache, writing changes to the level and solution files.

.x0
  Disable loading SQLite extensions.

.x1
  Enable loading SQLite extensions.

