Difference between revisions of "Eggerland: Meikyuu no Fukkatsu:Room data"

From Data Crystal
Jump to: navigation, search
(example map image)
Line 3: Line 3:
 
The uncompressed map has 15 rows and 16 columns.  There is an extra row or column beyond each wall, with a second extra column on the right (the first contains the status bar).  The room space within the walls is 11 by 11 tiles.
 
The uncompressed map has 15 rows and 16 columns.  There is an extra row or column beyond each wall, with a second extra column on the right (the first contains the status bar).  The room space within the walls is 11 by 11 tiles.
  
Commands F0-FE skip 2-16 tiles, leaving the previous row's tiles in the read buffer.  In other words, they copy the tiles that are one space down.  Command FF is followed by two bytes: a number, and a normal map tile.  The map tile is written that many times, plus two.  For example, the command "FF 03 40" would write "40 40 40 40 40" to the map.
+
The tiles are loaded one row at a time from a read buffer.  Commands F0-FE skip 2-16 tiles, leaving the previous row's tiles in the read buffer.  In other words, they copy the tiles that are one space down.  Command FF is followed by two bytes: a number, and a normal map tile.  The map tile is written that many times, plus two.  For example, the command "FF 03 40" would write "40 40 40 40 40" to the map.  To put it simply: commands F0-FE are for vertical repetition, and command FF is for horizontal repetition.
  
 
Commands cannot extend past the end of a row.  To skip 5 tiles at the end of a row and 3 tiles at the start of the next row, the commands "F3 F1" must be used.  Due to this restriction, "FE" can only be used at the start of a row, and acts as a "row skip" command.
 
Commands cannot extend past the end of a row.  To skip 5 tiles at the end of a row and 3 tiles at the start of the next row, the commands "F3 F1" must be used.  Due to this restriction, "FE" can only be used at the start of a row, and acts as a "row skip" command.

Revision as of 15:19, 30 April 2006

Eggerland: Meikyuu no Fukkatsu's room data is stored as a series of tiles, which are loaded left-to-right starting with the bottom row. Tile redundancy is compressed using bytes F0-FF as commands; all other bytes are loaded directly as tiles.

The uncompressed map has 15 rows and 16 columns. There is an extra row or column beyond each wall, with a second extra column on the right (the first contains the status bar). The room space within the walls is 11 by 11 tiles.

The tiles are loaded one row at a time from a read buffer. Commands F0-FE skip 2-16 tiles, leaving the previous row's tiles in the read buffer. In other words, they copy the tiles that are one space down. Command FF is followed by two bytes: a number, and a normal map tile. The map tile is written that many times, plus two. For example, the command "FF 03 40" would write "40 40 40 40 40" to the map. To put it simply: commands F0-FE are for vertical repetition, and command FF is for horizontal repetition.

Commands cannot extend past the end of a row. To skip 5 tiles at the end of a row and 3 tiles at the start of the next row, the commands "F3 F1" must be used. Due to this restriction, "FE" can only be used at the start of a row, and acts as a "row skip" command.

The first room's data, seperated by row (starting at the bottom), is as follows:

First room data as a graphical map (click to enlarge)

C1 E0 C1 E0 C1 E0 E0 FF 03 40 E0 E0 40 40
40 13 FF 09 16 14 F0
40 17 FF 03 40 C0 FF 03 40 18 F0
F5 40 F6
FE
F1 0D F1 4D F1 0D F2
F0 0D 4C 4B F0 40 F0 4B 4D 0D F1
F0 40 40 9C F0 D4 F0 9C 40 40 F1
F0 0D 4C 4B F0 40 F0 4B 4C 0D F1
F0 40 0D 40 F3 40 0D 40 F1
F1 40 F5 40 F2
F4 9C 4B 9C F5
F3 0D 4C 40 4C 0D F4
40 11 FF 03 15 09 FF 03 15 12 F0
40 FF 0B 40 F0

The bottom row of the map serves as a 16-byte room data header:

  • 0 = POW 1 type
  • 1 = POW 1 hearts needed
  • 2 = POW 2 type
  • 3 = POW 2 hearts needed
  • 4 = POW 3 type
  • 5 = POW 3 hearts needed
  • 6 = "?" type (bottom of status bar)
  • 7 = Dungeon entrance
  • 8 = Speech (wise men / 4 gods)
  • 9 = [Unused]
  • A = [Unused]
  • B = [Unused]
  • C = Music
  • D = ???
  • E = [Unused]
  • F = [Unused]