Free Hero Mesh

Update of ".heromeshrc"
Login
This is a mirror of the main repository for Free Hero Mesh. New tickets and changes will not be accepted at this mirror.
Overview

Artifact ID: d683459d1a396c3a81ee6e8e939d73fbd3018c25
Page Name:.heromeshrc
Date: 2018-04-13 06:27:19
Original User: zzo38
Parent: 1142c03981a4b3ef7b7f9d32d8240e42ecadf1de (diff)
Next 0d55dd25a768405aebf5d56bf942c57fde4ce49c
Content

This document describes the current plan (part of which is implemented), and may be altered if it changes.

The .heromeshrc file is a file in X resource manager format, except that #include isn't (currently) implemented. It should be placed in your home directory. If the environment variable HOME is not set, the current directory is used. (Note: The X server is not queried for resources, nor are any other files queried; this resource database is entirely local to Free Hero Mesh.)

The first component if all resource settings is the puzzle set name, ignoring any directory path components. If the puzzle set includes a .name file, its contents are used as the puzzle set name for this purpose.

Some options are boolean. In this case, a true value is anything that starts with "t", "T", "y", "Y", or "1", while a false value is anything that starts with "f", "F", "n", "N", or "0". If neither is the case, the default setting is used.

altImage

A nonnegative integer (default zero). If more than one picture is available of the selected picture size, this is used to determine which one to load.

For example, it can be used to select which player character you want (e.g. male or female or whatever).

class

Define overrides for classes. The next component is the class name (without the initial $), and the next component after that is the option to set. So far the only option is:

editClick

Define mouse bindings for the level editor (only applies to clicks on the playfield). See keybindings.

editKey

Define keybindings for the level editor. See keybindings.

gameClick

Define mouse bindings for the game (only applies to clicks on the playfield). See keybindings.

gameKey

Define keybindings for the game. See keybindings.

gamma

If set, all colours in the palette are modified by raising them to the given exponent (which is a positive number given in decimal notation, which does not need to be an integer).

Numbers greater than 1.0 darken the colours while numbers less than 1.0 will lighten the colours.

imageSize

Specify picture size. This should be one to thirty-two integers in the range from 1 to 255. The pictures are always square. It tries to use the picture sizes with the first number given first priority. It will terminate with the puzzle set does not contain any pictures of the specified sizes and the pictures cannot be integer scaled to meet the given sizes either.

Sometimes a puzzle set may contain multiple pictures of the same size in a picture set. In this case, use the altImage setting to select which one you want.

palette

If set, the name of a file to use as the palette instead of using the built-in palette. The file consists of 256 colours, separated by white space, where each colour is given as six hex digits (two each for red, green, and blue).

screenFlags

A list of zero or more of the following characters:

screenHeight

The height of the main window (a decimal number). Default is 800 pixels.

screenWidth

The width of the main window (a decimal number). Default is 600 pixels.

sqlCoveringIndexScan

Boolean; set true to enable covering index scans in SQLite. It is true by default.

sqlExtensions

A list of SQLite extensions, with spaces in between. They are loaded in the order given.

sqlFile

The file to use to store the user cache database. If this is set to :memory: then it is created in RAM and will not persist. The default setting is to use the file named .heromeshsession in your home directory.

sqlInit

Any number of SQL statements, which will be executed during initialization. If there are any result rows, the result rows are ignored.

Use this if you need any temporary tables/views/triggers, to set database connection options with pragmas, to configure any extensions that may have been loaded, to attach any additional databases you may be using, etc.

(Note: Recursive triggers are automatically enabled and you need not add commands to enable it in this resource setting.)

sqlMemStatus

Boolean; set true to collect memory statistics for SQLite. (Not all memory allocation in Free Hero Mesh uses SQLite, however.) Currently this does not do anything in Free Hero Mesh itself, although an extension might use it.

sqlSmallAllocations

Boolean; if true, SQLite tries to avoid large memory allocations. False by default.