Free Hero Mesh

Changes To Level file format
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 "Level file format" between 2018-08-19 20:40:18 and 2020-11-23 23:19:04

41
42
43
44
45
46
47
48

49
50
51
52
53
54
55
41
42
43
44
45
46
47

48
49
50
51
52
53
54
55







-
+







  *  bit6 = Increment X
  *  bit5 = Has X coordinate
  *  bit4 = Has Y coordinate
  *  bit3-bit0 = Repeat count

Either way, bit6 and bit5 should not both be set together. Also, if bit4 is not set for the first object, the Y coordinate is 1, and if bit5 is not set for the first object, the X coordinate is 0 (which is not a valid coordinate, unless bit6 is also set).

The MRU has two layers, one for the bottom object and one for the object directly above the bottom object. All data other than the coordinates are stored in the MRU. Objects above the second one are not stored in MRU. If the repeat count is nonzero, then in addition to the current cell, further cells to the right copy it too (this is only applicable for the bottom layer), leaving the cursor on the rightmost cell that has been written to.
The MRU has two layers, one for when some of bit6-bit4 of the flag byte are set, and one for when none of those bits are set.

The data type byte consists of:
  *  bit7-bit6 = Indicate which parameters are set. 0=Misc2 and Misc3, 1=Misc1, 2=Misc1 and Misc2, 3=Misc1 and Misc2 and Misc3.
  *  bit5-bit4 = Data type of Misc3. 0=number, 1=class, 2=message, 3=string. (Directions and key codes also use type 0.)
  *  bit3-bit2 = Data type of Misc2.
  *  bit1-bit0 = Data type of Misc1.