Free Hero Mesh

Check-in [185096251c]
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:Some improvements to README file
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA1: 185096251cd7724e73520408f7f23c1b9f45d914
User & Date: user on 2021-08-30 06:28:28
Other Links: manifest | tags
Context
2021-09-05
06:11
Correct a problem in the string editor when inserting graphic control characters. check-in: 0da86bb01b user: user tags: trunk
2021-08-30
06:28
Some improvements to README file check-in: 185096251c user: user tags: trunk
05:16
In the class/image selection menu, ensure that the selected item will be scrolled into view when changing the selection. check-in: c2f30f9949 user: user tags: trunk
Changes

Modified README from [cfa7aa1742] to [9c5567ad37].

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
Currently, there isn't much of this; contributions will be accepted.
There is a shell script for compiling it available, though.

Requirements:

* Linux (it should hopefully work on other POSIX systems, although this is
untested; it might use some Linux-specific functions and/or GNU-specific
functions; I may be willing to accept contributions if this can be fixed)

* SQLite version 3 (a recent version). Add a symlink to the sqlite3.o file
into the same directory with the source files.



* SDL1.x (the compatibility layers have not been tested with this
software; if you have tested it please report it, and you may contribute
patches to fix it)

* A C compiler, with GNU extensions (tested with GCC; it has not been
tested with Clang, but I expect it to work; report it if it doesn't work)

* If you wish to alter some of the files, Node.js or a compatible
JavaScript runtime is required for compiling these files (you do not need
this if you do not wish to modify Free Hero Mesh)

* The smallxrm is required. It is included with this package; you must
compile smallxrm.c as smallxrm.o (one way is "bash smallxrm.c").


* Colour display, with resolution at least 640x480 (preferably more), and
at least 256 colours

* Keyboard and mouse, with three mouse buttons (the mouse wheel is not
needed and is not used, but it is OK if you have it)

The distributor should edit man6/heromesh.str in order to correctly
specify the directory containing the documentation files.


Before using it, you must create a file called .heromeshrc in your home
directory; you may use default.heromeshrc to start with, and then customize
it as you wish.

If compiled with "./compile p" then it is installed as "bin/heromesh"
(relative to the current directory, which should be the directory where







|


|
>
>



|


|



|


|
>


|


|


|
>







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
Currently, there isn't much of this; contributions will be accepted.
There is a shell script for compiling it available, though.

Requirements:

* Linux (it should hopefully work on other POSIX systems, although this is
untested; it might use some Linux-specific functions and/or GNU-specific
functions; I may be willing to accept contributions if this can be fixed).

* SQLite version 3 (a recent version). Add a symlink to the sqlite3.o file
into the same directory with the source files (or you can compile it from
source with the desired options; the default options will do, although it
is safe to omit the deprecated functions and to set SQLITE_DQS=0).

* SDL1.x (the compatibility layers have not been tested with this
software; if you have tested it please report it, and you may contribute
patches to fix it).

* A C compiler, with GNU extensions (tested with GCC; it has not been
tested with Clang, but I expect it to work; report it if it doesn't work).

* If you wish to alter some of the files, Node.js or a compatible
JavaScript runtime is required for compiling these files (you do not need
this if you do not wish to modify Free Hero Mesh).

* The smallxrm is required. It is included with this package; you must
compile smallxrm.c as smallxrm.o (one way is "bash smallxrm.c", or you
can use gcc or clang with the options you want).

* Colour display, with resolution at least 640x480 (preferably more), and
at least 256 colours.

* Keyboard and mouse, with three mouse buttons (the mouse wheel is not
needed and is not used, but it is OK if you have it).

The distributor should edit man6/heromesh.str in order to correctly
specify the directory containing the documentation files. (This does not
affect the working of Free Hero Mesh itself; it only affects the man page.)

Before using it, you must create a file called .heromeshrc in your home
directory; you may use default.heromeshrc to start with, and then customize
it as you wish.

If compiled with "./compile p" then it is installed as "bin/heromesh"
(relative to the current directory, which should be the directory where
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
140
141
* 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.


* man6/heromesh.str: Must be installed in the same directory as the
man6/heromesh.6 file. The distributor should change this to point to
the correct directories where the files are stored; these directories
will be mentioned in the man page

* misc/mbform.doc: Describes the .mb file format for Hero Mesh. (Not
directly relevant to Free Hero Mesh. It contains information that was
used for writing the converter, and may be of interest to some readers
for other purposes, but is neither used nor does it contain anything
that is needed for users or developers of Free Hero Mesh.)

* picedit.doc: Describes the picture editor.

* puzzleset.doc: Describes what makes up a puzzle set.

* sql.doc: This file lists and documents each of the SQL functions and SQL
tables that are available. This is not relevant to programming the rules
of the game; it is used for user customization.



=== Other files ===

Free Hero Mesh also includes the following other files, which are not the
source code files, compilation files, or documentation files:








>


















|
>







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
140
141
142
143
144
145
146
147
* 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
the correct directories where the files are stored; these directories
will be mentioned in the man page

* misc/mbform.doc: Describes the .mb file format for Hero Mesh. (Not
directly relevant to Free Hero Mesh. It contains information that was
used for writing the converter, and may be of interest to some readers
for other purposes, but is neither used nor does it contain anything
that is needed for users or developers of Free Hero Mesh.)

* picedit.doc: Describes the picture editor.

* puzzleset.doc: Describes what makes up a puzzle set.

* sql.doc: This file lists and documents each of the SQL functions and SQL
tables that are available. This is not relevant to programming the rules
of the game; it is used for user customization, and for performing batch
operations when editing, and for producing reports.


=== Other files ===

Free Hero Mesh also includes the following other files, which are not the
source code files, compilation files, or documentation files:

149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
* mbtofhm.c: Converter from Everett Kaser's MESH engine into Free Hero
Mesh. Give the base name of the output files as the command-line argument,
and receives the .mb file from stdin.

* misc/har.c: A small C program for dealing with Hamster archives. This is
not properly a part of Free Hero Mesh (and is not needed in order to use
or compile Free Hero Mesh), but is included since it is likely to be useful
for some users.

* misc/sokoban.tar.gz: Example puzzle set.

(The files in the misc/ directory are not part of Free Hero Mesh nor are
they needed by Free Hero Mesh, but are provided for convenience. They can
safely be ignored or deleted if you are not using them.)








|







155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
* mbtofhm.c: Converter from Everett Kaser's MESH engine into Free Hero
Mesh. Give the base name of the output files as the command-line argument,
and receives the .mb file from stdin.

* misc/har.c: A small C program for dealing with Hamster archives. This is
not properly a part of Free Hero Mesh (and is not needed in order to use
or compile Free Hero Mesh), but is included since it is likely to be useful
for some users (e.g. to copy pictures/sounds between puzzle sets).

* misc/sokoban.tar.gz: Example puzzle set.

(The files in the misc/ directory are not part of Free Hero Mesh nor are
they needed by Free Hero Mesh, but are provided for convenience. They can
safely be ignored or deleted if you are not using them.)

215
216
217
218
219
220
221



222
223
224
225
226
227
228

** It says "FATAL: Failed to open xclass file (No such file or directory)"
when trying to load the puzzle set. How to load it correctly?

 You must use the base name. For example, if the puzzle set files are
 named "sokoban.xclass", "sokoban.class", "sokoban.level", and
 "sokoban.solution", then you must type "heromesh sokoban" to load it.




** How to access the NNTP?

 You can use a NNTP client program, often called a "newsreader" program.
 Many email programs can also do NNTP, including Mozilla Thunderbird.
 There are also specialized NNTP programs, including Pan and bystand.
 (Some are text, some are binary, and some are hybrid; you will need one







>
>
>







221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237

** It says "FATAL: Failed to open xclass file (No such file or directory)"
when trying to load the puzzle set. How to load it correctly?

 You must use the base name. For example, if the puzzle set files are
 named "sokoban.xclass", "sokoban.class", "sokoban.level", and
 "sokoban.solution", then you must type "heromesh sokoban" to load it.
 (This assumes that the file is in the current directory. If it isn't,
 then you must also specify the directory name, in addition to the puzzle
 set base name.)

** How to access the NNTP?

 You can use a NNTP client program, often called a "newsreader" program.
 Many email programs can also do NNTP, including Mozilla Thunderbird.
 There are also specialized NNTP programs, including Pan and bystand.
 (Some are text, some are binary, and some are hybrid; you will need one

Modified TODO from [e9c47846b0] to [9de01445bc].

1
2
3
4

5
6
7
8
9
10
11
* Sound effects
  * Wave sounds
    * Standard sounds
    * User sounds

  * MML sounds
  * Numeric sounds (?)
* Game engine features
  * Multiple connected objects moving as a unit
  * Bizarro world
  * Testing the deferred movement
  * String data




>







1
2
3
4
5
6
7
8
9
10
11
12
* Sound effects
  * Wave sounds
    * Standard sounds
    * User sounds
    * Compressed wave sounds (?)
  * MML sounds
  * Numeric sounds (?)
* Game engine features
  * Multiple connected objects moving as a unit
  * Bizarro world
  * Testing the deferred movement
  * String data
39
40
41
42
43
44
45




* SQL
  * Implement the GROUP column in the CLASSES table
  * Allow multiple SQL statements in one binding
* Large fonts (width 8 or 16, height 8-32)
* Branching replay recording
* Slow movement displaying state between triggers
* Warning if file changed when uncommited data exists in the cache database











>
>
>
>
40
41
42
43
44
45
46
47
48
49
50
* SQL
  * Implement the GROUP column in the CLASSES table
  * Allow multiple SQL statements in one binding
* Large fonts (width 8 or 16, height 8-32)
* Branching replay recording
* Slow movement displaying state between triggers
* Warning if file changed when uncommited data exists in the cache database
* Composite puzzle set format (in a single file; read-only)
  * Optional hypertext help
  * Compressed class definitions (?)
* Option to auto display level titles