Free Hero Mesh

Check-in [2139f8602e]
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
Comment:Improve documentation, including game playing documentation.
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA1: 2139f8602e2f6a87f5b56227d962514d752b6f77
User & Date: user on 2021-09-27 21:22:55
Other Links: manifest | tags
Context
2021-09-28
21:54
More improvements of documentation of game/editor check-in: 8d8766182a user: user tags: trunk
2021-09-27
21:22
Improve documentation, including game playing documentation. check-in: 2139f8602e user: user tags: trunk
2021-09-26
22:10
Add edit.doc (documentation of level editor) check-in: 887efd70b0 user: user tags: trunk
Changes

Modified README from [681b1e8bac] to [95780c926f].

107
108
109
110
111
112
113


114
115
116


117
118
119
120
121
122
123
codepage.har file.

* commandline.doc: Describes the command-line arguments. The man page
also describes the command-line arguments, although the commandline.doc
file has a more elaborate description.

* config.doc: Describes the configuration options for Free Hero Mesh.



* export.doc: The level export format is described in this file; it can
be used for importing as well as exporting.



* man6/heromesh.6: Man page; includes information about command-line
arguments, environment variables, and link to further documentation.
(You should install this in your man pages directory.)

* man6/heromesh.str: Must be installed in the same directory as the
man6/heromesh.6 file. The distributor should change this to point to







>
>



>
>







107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
codepage.har file.

* commandline.doc: Describes the command-line arguments. The man page
also describes the command-line arguments, although the commandline.doc
file has a more elaborate description.

* config.doc: Describes the configuration options for Free Hero Mesh.

* edit.doc: Describes the use of the level editor.

* export.doc: The level export format is described in this file; it can
be used for importing as well as exporting.

* game.doc: Describes the game play and the controls for the game play.

* man6/heromesh.6: Man page; includes information about command-line
arguments, environment variables, and link to further documentation.
(You should install this in your man pages directory.)

* man6/heromesh.str: Must be installed in the same directory as the
man6/heromesh.6 file. The distributor should change this to point to

Modified edit.doc from [49d82cfe2e] to [5d5430cc4e].

1
2
3
4
5
6
7
8
9
10
This file describes the Free Hero Mesh level editor. This file describes
them in terms of the default key/mouse bindings; if they have been changed,
then some things mentioned in this file might not apply.

Each level consists of the following:

* Level title: Push CTRL+T to edit it. It may contain one or more lines of
text and may contain formatting codes too. During the game, CTRL+T will
display this text (which you can use for whatever purposes you want to:
the author's name, commentary, hints, etc).


|







1
2
3
4
5
6
7
8
9
10
This file describes the Free Hero Mesh level editor. This file describes
them in terms of the default key/mouse bindings; if they have been changed,
then some of the things mentioned in this file might not apply.

Each level consists of the following:

* Level title: Push CTRL+T to edit it. It may contain one or more lines of
text and may contain formatting codes too. During the game, CTRL+T will
display this text (which you can use for whatever purposes you want to:
the author's name, commentary, hints, etc).
44
45
46
47
48
49
50




51
52
53
54
55
56
57
the Density variable of the class; see class.doc for details).

* Objects: The level contains objects, each of which is at a specific
position in either of the two worlds; see below for more about objects.

Of the above, the level title, order number, ID number, and version number
have no effect on the game rules; class codes cannot access them.






=== Object placement/MRU ===

On the left side of the screen is the MRU list. Each MRU consists of a
class, image of that class, Misc values, and Dir value. If the Misc values
are not all zero, then * is displayed next to the MRU icon.







>
>
>
>







44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
the Density variable of the class; see class.doc for details).

* Objects: The level contains objects, each of which is at a specific
position in either of the two worlds; see below for more about objects.

Of the above, the level title, order number, ID number, and version number
have no effect on the game rules; class codes cannot access them.

IMPORTANT NOTE: Saving the levels here will only save them in the user
cache database, not to the puzzle set file. To save them to the puzzle
set file, you must invoke heromesh -f to flush the user cache.


=== Object placement/MRU ===

On the left side of the screen is the MRU list. Each MRU consists of a
class, image of that class, Misc values, and Dir value. If the Misc values
are not all zero, then * is displayed next to the MRU icon.
136
137
138
139
140
141
142

















143
144
145
146
147
148
149
* Push numbers on number pad to set direction. You can also push the +
and - on number pad to adjust direction.

* Push F1 or G to display the (Help) text for this class.

* Push F2 or H to display the (EditorHelp) text for this class.



















=== Summary of default key/mouse bindings ===

Keyboard:

  CTRL+G    Go to level (won't auto save)
  CTRL+N    Add new level (after last one)







>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>







140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
* Push numbers on number pad to set direction. You can also push the +
and - on number pad to adjust direction.

* Push F1 or G to display the (Help) text for this class.

* Push F2 or H to display the (EditorHelp) text for this class.


=== Import/export ===

You can import/export levels.

Push F1 to import, and then at the prompt, type a operating system shell
command which produces the level text in the exported format (in X window
system, type "xclip -o" to import from the primary selection; you will
need to install xclip to use this).

Push F2 to export, and then at the prompt, type a operating system shell
command which will accept the level text as input (in X window system,
type "xclip" to export to the primary selection; you will need to install
xclip to use this).

See export.doc for the file format.


=== Summary of default key/mouse bindings ===

Keyboard:

  CTRL+G    Go to level (won't auto save)
  CTRL+N    Add new level (after last one)

Modified export.doc from [39ee704f6d] to [9602e574ee].

66
67
68
69
70
71
72
73
74
75
A class name has $ at first.

A message name will start with # if it is a user-defined message, or will
have no prefix if it is a standard message.

A reference to a level string starts with % and is then the number.

Nine of the misc values are written with spaces inside the value, although
there are spaces around the value.








|


66
67
68
69
70
71
72
73
74
75
A class name has $ at first.

A message name will start with # if it is a user-defined message, or will
have no prefix if it is a standard message.

A reference to a level string starts with % and is then the number.

None of the misc values are written with spaces inside the value, although
there are spaces around the value.

Added game.doc version [4bbf0db7e8].























































































































































































































































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
This file describes the controls for playing the game of Free Hero Mesh.
This file describes them in terms of the default key/mouse bindings; if
they have been changed, then some of the things mentioned in this file
might not apply.

The grid of objects is displayed in the right half of the screen, and the
left side can be toggled (by pushing the TAB key) between displaying the
replay list and displaying the inventory. See the below section about the
margin area for more details.

Play by pushing the keys for this game (normally, the arrows are used to
move the player object; sometimes diagonals are also allowed, in which
case the number pad can be used if num lock is off). This game does not
depend on timing or randomness; you have as much time as you want to
decide your next move. You can also rewind and replay moves; see the
below section for details.

The goal of this game depends on the specific puzzle set being played. In
Hero Hearts, you have to catch all Hearts and then reach the Exit. In the
left margin will display the win/lose state of the game.

There are two features for helping you: If you click on any object with
the middle button, help text is displayed with a description of that
object. If you click with the right button, a list of objects at that
location is displayed, and you can then view all variables of that object.

You can push the ESC key to restart a level. You can also push the plus
and minus on the number pad to skip levels, or CTRL+G allows you to access
a specific level directly by its order number. Push CTRL+T to display the
level title.


=== Margin area ===

At the top of the screen on the left side is displayed the numbers: the
order number, the ID number, the version number, and the code number, in
that order. Below that is the grid dimensions, and then the coordinates of
where the mouse arrow is pointing at (if any). The level order number is
red if you have not solved the level, green if you have solved the level,
or yellow during the solution replay.

There are two modes of the display, either the replay list or the
inventory list.

The replay list displays the blue current move number (initially zero),
and below that will be the part of the move list, and the total number
of recorded moves on the bottom (which will be green during the solution
replay mode). The current move is marked by yellow ~~ mark, and the marked
move is marked by purple ~~ mark.

The inventory list displays the icons of the inventory items, with their
number next to each one. Some puzzle sets will display information here
such as which keys you have.


=== Replay and solutions ===

When you play moves, they are automatically recorded in the replay list.
The replay list is saved with each level even when you access a different
level, and is saved in the user cache database even if you quit and then
run Free Hero Mesh again later.

You can click on the replay list to rewind/advance to the specified move;
you can also use the keys F1, F2, F3, F4 to replay a specified number of
moves (1, 10, 100, or 1000), or the same keys with SHIFT to rewind that
number of moves.

You can set a mark by pushing F5. You can then push F6 or F7 to rewind or
replay up to this point. The marks are also saved with each level and is
saved in the user cache database too.

You can also import/export move lists. Push CTRL+I to import or CTRL+X
to export, and at the prompt type the operating system command which will
send the move list to stdout or receive the move list from stdin, for
example if you want the file called "Movelist" then you can type "cat
Movelist" to read that file or "cat > Movelist" to write to that file.

Push F8 to toggle solution replay. During solution replay, you cannot
play your own moves, but can still rewind/replay as noted above, and you
can push ALT+P for slow replay. During the slow replay, you can pause it
by pushing ALT+P again, and you can push ALT+[ and ALT+] to adjust speed.

If you solve a level yourself, you can push CTRL+S to record the solution.
The solution will be recorded in the puzzle set once the user cache is
flushed as described below.

IMPORTANT NOTE: Saving the solutions here will only save them in the user
cache database, not to the puzzle set file. To save them to the puzzle
set file, you must invoke heromesh -f to flush the user cache. The local
replay list and mark will not be saved in the puzzle set though; they are
local to the user account.


=== Summary of default key/mouse bindings ===

(Below, "KP" means the "key pad" or "number pad".)

Keyboard:

  CTRL+D      Describe by keyboard
  CTRL+E      Level editor
  CTRL+G      Go to level
  CTRL+I      Import move list
  CTRL+Q      Quit
  CTRL+S      Save solution
  CTRL+T      Display level title
  CTRL+X      Export move list
  F1          Replay 1 move
  F2          Replay 10 moves
  F3          Replay 100 moves
  F4          Replay 1000 moves
  SHIFT+F1    Rewind 1 move
  SHIFT+F2    Rewind 10 moves
  SHIFT+F3    Rewind 100 moves
  SHIFT+F4    Rewind 1000 moves
  F5          Set mark
  F6          Rewind to mark
  F7          Replay to mark
  F8          Toggle solution replay
  F10         SQL queries
  ESCAPE      Restart level
  TAB         Toggle inventory/replay display
  KP ENTER    Restart level
  KP +        Next level
  KP -        Previous level
  SHIFT+KP +  Last level
  SHIFT+KP -  Previous level
  ALT+G       Inspect globals
  ALT+P       Begin slow replay
  ALT+[       Increase slow replay speed
  ALT+]       Decrease slow replay speed

Mouse (in grid):

  MIDDLE       Describe topmost object
  RIGHT        Inspect objects (main world)
  SHIFT+RIGHT  Inspect objects (bizarro world)