Eggerland: Meikyuu no Fukkatsu:Room data
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.
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.
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:
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
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
TODO: example map graphic
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]