Free Hero Mesh

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

Differences From Artifact [6afac48c8f]:

To Artifact [d2fabbcb3d]:


12
13
14
15
16
17
18














19
20
21
22
23
24
25
Use the "mbtofhm" program to do conversion of the .MB files into a
non-composite Free Hero Mesh puzzle set.

A few things might need to be manually fixed in a converted puzzle set.
See FAQ for details about some of these things. Note that you can speed
up the game greatly by removing the Hero animations.
















=== Game play ===

Mostly this is like the original MESH:Hero. However, there are some new
features, such as:

* You can view the internal status of any object; nothing is hidden. This







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







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
Use the "mbtofhm" program to do conversion of the .MB files into a
non-composite Free Hero Mesh puzzle set.

A few things might need to be manually fixed in a converted puzzle set.
See FAQ for details about some of these things. Note that you can speed
up the game greatly by removing the Hero animations.


=== Limits ===

 Description                      EKS MESH:Hero      Free Hero Mesh
 ------------------------------------------------------------------
 Classes                               256 ?             16383
 Pictures                              512               32768
 User messages                        1004               16384
 Level grid size                     29x21               64x64
 Levels                               1024               32768
 Inventory items                         5                var.
 User sounds                       unknown ?               256
 Images per class                       32                 128


=== Game play ===

Mostly this is like the original MESH:Hero. However, there are some new
features, such as:

* You can view the internal status of any object; nothing is hidden. This
153
154
155
156
157
158
159





160
161
162
163
164
165
166
* Animation timing is different. This usually is only visual, though, so
the game will still run correctly.

* Some additional structured flow controls are available (GOTO and GOSUB
are still available too). The looping structures include "begin ... again",
"begin ... while ... repeat", and "begin ... until".






Some of the removed (and changed) commands and what to do instead:

* AltImage: Removed because it can affect game behaviour. (In converted
puzzle sets, this will always be zero.) Instead, you can use multiple
picture variants of the same size and use the .altImage user setting to
select them.








>
>
>
>
>







167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
* Animation timing is different. This usually is only visual, though, so
the game will still run correctly.

* Some additional structured flow controls are available (GOTO and GOSUB
are still available too). The looping structures include "begin ... again",
"begin ... while ... repeat", and "begin ... until".

* Goto and CallSub are not restricted between messages and subroutines;
you can branch from either kind to either kind. (In fact, there is really
no difference, except that only messages are received from others, while
labels are used only internally by the codes for the class they are in.)

Some of the removed (and changed) commands and what to do instead:

* AltImage: Removed because it can affect game behaviour. (In converted
puzzle sets, this will always be zero.) Instead, you can use multiple
picture variants of the same size and use the .altImage user setting to
select them.

278
279
280
281
282
283
284

































285
286
287
288
289
290
291

* XStep and YStep: Tells the -1, 0, or +1 of the step amount for a
specified direction in the specified axis.

See class.doc for further details and many additional features too; they
are too many to list in this document.



































=== Pictures ===

The pictures and sounds are stored in the ".xclass" file. Some of the
features of pictures are:

* The palette is extended with a few additional colours. (All of the







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







297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343

* XStep and YStep: Tells the -1, 0, or +1 of the step amount for a
specified direction in the specified axis.

See class.doc for further details and many additional features too; they
are too many to list in this document.


=== Changed names ===

In the below list, ? means anything matching.

 EKS MESH:Hero              Free Hero Mesh
 -----------------------------------------
 ANI_?                      ?
 BIT?                       bit?
 CallSub                    ,:
 CurImage                   Image
 Dir?                       ?
 ForEachObjAt               for ... next
 goto                       =:
 Hard?                      ? Hard
 KEY_?                      '?
 IsPlayer                   Player
 LastDir                    Dir
 MSG_?                      ?
 MsgArg1                    Arg1
 MsgArg2                    Arg2
 MsgFrom                    From
 return                     ret
 SendMessage                Send
 Shape?                     ? ShapeDir
 Sharp?                     ? Sharp
 SND_?                      ?

Please see class.doc for details; the syntax does not quite match MESH:Hero
and some other details are somewhat different as well. (For one thing, you
can use , for objects other than Self in many cases, and = for assignment
in many cases.)


=== Pictures ===

The pictures and sounds are stored in the ".xclass" file. Some of the
features of pictures are:

* The palette is extended with a few additional colours. (All of the
306
307
308
309
310
311
312
313




314
315
316





317
318
319
320
321
322
323
used for objects that can be in four directions, you might only need to
draw one of them and the others are made automatically.

* Pictures are now stored compressed so they take up less disk space.

* You can use the same picture for multiple classes (or multiple image
numbers of the same class can also refer to the same picture), without
needing to duplicate the picture.





Note that the picture editor works differently, and has some additional
features that MESH:Hero doesn't have, such as flood fills and macros.







=== Levels ===

The level editor is different from Everett Kaser's implementation. Use
the space bar to display the list of classes, and move arrows or click
to select one and push ENTER to select the wanted object.







|
>
>
>
>



>
>
>
>
>







358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
used for objects that can be in four directions, you might only need to
draw one of them and the others are made automatically.

* Pictures are now stored compressed so they take up less disk space.

* You can use the same picture for multiple classes (or multiple image
numbers of the same class can also refer to the same picture), without
needing to duplicate the picture. (Version 3.0 of the MESH engine also
allows this (earlier versions do not), but require that whether or not
they can be selected in the level editor is the same for all uses of
that picture. Free Hero Mesh does not have this restriction; the
availability in the level editor can be different for each instance.)

Note that the picture editor works differently, and has some additional
features that MESH:Hero doesn't have, such as flood fills and macros.

You may use an external picture editor if desired, and then copy them
into Free Hero Mesh. If you wish to do this, then the Farbfeld format
must be used; the newest versions of ImageMagick support this format,
so in this way you can use any file format readable by ImageMagick.


=== Levels ===

The level editor is different from Everett Kaser's implementation. Use
the space bar to display the list of classes, and move arrows or click
to select one and push ENTER to select the wanted object.
345
346
347
348
349
350
351




352
353
354
355
356
357
358
359
360
361
362
363
364
* Code number: A number which has no inherent use and you can use it for
your own use. The "Level" command in class codes can read this value (the
other three numbers are not accessible to class codes at all). It need not
be unique; multiple levels can have the same code number.

* Version number: Used to mark solutions as invalid if changes are made.
You do not normally need to touch this; it is handled automatically.






=== Missing features ===

There are a few features not implemented yet, such as:

* Background music.

* Click to make several moves.

* User names for solutions. (It is implemented but it is not currently
displayed anywhere.)








>
>
>
>













406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
* Code number: A number which has no inherent use and you can use it for
your own use. The "Level" command in class codes can read this value (the
other three numbers are not accessible to class codes at all). It need not
be unique; multiple levels can have the same code number.

* Version number: Used to mark solutions as invalid if changes are made.
You do not normally need to touch this; it is handled automatically.

One thing Free Hero Mesh does not have is border colours per level. You
can define a global background colour for the entire puzzle set in the
class definition file if desired, though.


=== Missing features ===

There are a few features not implemented yet, such as:

* Background music.

* Click to make several moves.

* User names for solutions. (It is implemented but it is not currently
displayed anywhere.)