Free Hero Mesh

Check-in [dd3e717a78]
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:More documentation improvements, including README and some minor changes in other files.
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA1: dd3e717a7808e982f9d2cefc5c6596e5fb5052cd
User & Date: user on 2023-01-16 07:32:31
Other Links: manifest | tags
Context
2023-01-16
07:34
Add GitHub Actions file to auto assignment issues from GitHub. check-in: 7078901d62 user: user tags: trunk
07:32
More documentation improvements, including README and some minor changes in other files. check-in: dd3e717a78 user: user tags: trunk
2023-01-14
22:39
Documentation improvements (no code changes). check-in: caee27e331 user: user tags: trunk
Changes

Modified README from [05cc196059] to [6fa6718b83].

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
Free Hero Mesh is a puzzle game engine for grid-based puzzle games with
levels, strictly based on changing game state due to the sequence of
inputs, e.g. Sokoban and Hero Hearts. You can define your own classes of
objects using the Free Hero Mesh programming language.

It is also designed to be compatible with EKS Hero Mesh puzzle sets, which
must be converted to Free Hero Mesh using the provided "mbtofhm" program.
However, Free Hero Mesh adds a lot of new features and bug fixes compared
with EKS Hero Mesh, many of which have already been implemented, and many
of which have not been implemented yet.

It is available in a Fossil repository; there are two sources:

* Main: http://zzo38computer.org/fossil/heromesh.ui

* Mirror: http://chiselapp.com/user/zzo38/repository/freeheromesh

|
<
|
|

|


|
<







1

2
3
4
5
6
7
8

9
10
11
12
13
14
15
Free Hero Mesh is a puzzle game engine for turn-based grid-based puzzle

games. You can define your own classes of objects using the Free Hero
Mesh programming language.

It is also designed to be compatible with MESH:Hero puzzle sets, which
must be converted to Free Hero Mesh using the provided "mbtofhm" program.
However, Free Hero Mesh adds a lot of new features and bug fixes compared
with MESH:Hero.


It is available in a Fossil repository; there are two sources:

* Main: http://zzo38computer.org/fossil/heromesh.ui

* Mirror: http://chiselapp.com/user/zzo38/repository/freeheromesh

Modified class.doc from [d0a4a4775b] to [c34c71c5cb].

253
254
255
256
257
258
259
260

261
262
263
264
265
266
267

Note that as the argument, you can use {cat} to convert other tokens
to strings if needed.


=== Global definitions ===

These are the global definitions in the class definition file.


(Animate <limit>)
  Set the limit for logical animations, from 1 to 255. The default is 32.

(Background <number> [<number>])
  Set the background colour, from 0 to 255. The default value is 1. You
  can optionally specify a second number, which is the background colour







|
>







253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268

Note that as the argument, you can use {cat} to convert other tokens
to strings if needed.


=== Global definitions ===

These are the global definitions in the class definition file. (All of
these definitions are optional.)

(Animate <limit>)
  Set the limit for logical animations, from 1 to 255. The default is 32.

(Background <number> [<number>])
  Set the background colour, from 0 to 255. The default value is 1. You
  can optionally specify a second number, which is the background colour
2969
2970
2971
2972
2973
2974
2975
2976
2977
2978
2979
2980
2981
2982
2983

=== Compatibility ===

Compatible objects have the following differences from the default:

* VisualOnly implies Stealthy.

* If the current quiz object is Compatible, The effect of "-1 FlushObj"
is implied at the beginning of the turn (before the input phase), except
that Inertia is not reset.

* Some bits are masked out of the return value from HIT and HITBY.

* Many variables are limited to 16-bits.








|







2970
2971
2972
2973
2974
2975
2976
2977
2978
2979
2980
2981
2982
2983
2984

=== Compatibility ===

Compatible objects have the following differences from the default:

* VisualOnly implies Stealthy.

* If the current quiz object is Compatible, the effect of "-1 FlushObj"
is implied at the beginning of the turn (before the input phase), except
that Inertia is not reset.

* Some bits are masked out of the return value from HIT and HITBY.

* Many variables are limited to 16-bits.

3087
3088
3089
3090
3091
3092
3093
3094
3095
3096
3097
3098
3099
3100
3101
        any later position (at the first place where it is found), or if
        it doesn't match, fail.
  [    Set beginning of slice.
  ]    Set end of slice.
  (    Set beginning of slice (same as the [ command);
  )    Set end of slice, but use the position just before the matched item
        instead of just after it.
  \n   Skip until a line break of horizontal bar, and past it. If it is
        followed by any more consecutive line breaks without anything else
        in between, skips those ones too.
  \d   Follow by some text and then : and \ or just \ to skip to and find
        the data in the string that has the same text. If it contains a
        question mark then any single character is matched. Between : and \
        you can have usual other matching commands such as [ and ]. It can
        also be ; instead of : optionally.







|







3088
3089
3090
3091
3092
3093
3094
3095
3096
3097
3098
3099
3100
3101
3102
        any later position (at the first place where it is found), or if
        it doesn't match, fail.
  [    Set beginning of slice.
  ]    Set end of slice.
  (    Set beginning of slice (same as the [ command);
  )    Set end of slice, but use the position just before the matched item
        instead of just after it.
  \n   Skip until a line break or horizontal bar, and past it. If it is
        followed by any more consecutive line breaks without anything else
        in between, skips those ones too.
  \d   Follow by some text and then : and \ or just \ to skip to and find
        the data in the string that has the same text. If it contains a
        question mark then any single character is matched. Between : and \
        you can have usual other matching commands such as [ and ]. It can
        also be ; instead of : optionally.