Free Hero Mesh

Changes To SQL functions
Login
This is a mirror of the main repository for Free Hero Mesh. New tickets and changes will not be accepted at this mirror.

Changes to "SQL functions" between 2018-06-08 06:21:48 and 2018-06-10 15:52:56

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15



16
17
18
19
20
21
22
1
2
3
4
5
6
7
8
9



10
11
12
13
14
15
16
17
18
19
20
21
22









-
-
-



+
+
+







This document is a list of the available SQL functions that you can use in the customization of Free Hero Mesh. In addition to the ones listed here, you can also use the [http://sqlite.org/lang_corefunc.html|core functions], [http://sqlite.org/lang_datefunc.html|date/time functions], and [http://sqlite.org/lang_aggfunc.html|aggregate functions], of SQLite, as well as any functions defined by extensions. See also: [SQL tables].

(Note: This is only a draft and is likely to change in future.)

Asterisks in the headings indicate aggregate functions.

<h2>BASENAME()</h2>
Returns the base name, which is a copy of the first command-line argument (other than switches).

<h2>KEYSTATE(key)</h2>
Given a string with a key name (the same key names used in [keybindings]), return 1 if the key is pushed or 0 if it is not pushed.

<h2>LEVEL()</h2>
Returns the one-based order number of the current level.

<h2>LEVEL_CACHEID()</h2>
Returns the ID number of the active level file in the user cache table.

<h2>LEVEL_ID()</h2>
Returns the ID number of the current level.

<h2>MODSTATE()</h2>
Get the current keyboard modifiers state. It is the sum of the following:
  *  0x0001: Left shift
  *  0x0002: Right shift
32
33
34
35
36
37
38



39
40
41



42
43
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49







+
+
+



+
+
+



<h2>MOVENUMBER()</h2>
Tells you how many moves have been played so far since it has been reset.

<h2>PICTURE_SIZE()</h2>
Tell you the picture size.

<h2>RESOURCE(...)</h2>
Given a list of strings, find the matching resource from the .heromeshrc file and command-line arguments. Result is null if there is no such resource value.

<h2>SIGN_EXTEND(num)</h2>
Sign-extend a 32-bit integer to 64-bits. The 32-bit user variables in Free Hero Mesh might or might not be signed, so when accessing them in SQL (which uses 64-bit numbers) you must use this if you want to treat it as a signed number.

<h2>SOLUTION_CACHEID()</h2>
Returns the ID number of the active level file in the user cache table.

<h2>SOLUTION_REPLAY()</h2>
Returns 1 if replaying the solution or 0 for the normal game.