Eggerland: Meikyuu no Fukkatsu/ROM map/Room data: Difference between revisions

From Data Crystal
Jump to navigation Jump to search
(example map image)
 
(6 intermediate revisions by 4 users not shown)
Line 1: Line 1:
{{subpage}}
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.
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 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.
Line 9: Line 10:
The first room's data, seperated by row (starting at the bottom), is as follows:
The first room's data, seperated by row (starting at the bottom), is as follows:


[[Image:Eggerland_mnf_room_data.png|right|thumb|First room data as a graphical map (click to enlarge)]]
[[File:Eggerland_mnf_room_data.png|right|thumb|First room data as a graphical map (click to enlarge)]]
[[File:Eggerland_mnf_room_in-game.png|right|frame|First room as it appears in the game]]


<tt>C1 E0 C1 E0 C1 E0 E0 FF 03 40 E0 E0 40 40<br>
<tt>C1 E0 C1 E0 C1 E0 E0 FF 03 40 E0 E0 40 40<br>
Line 45: Line 47:
* F = [Unused]
* F = [Unused]


[[Category:Eggerland: Meikyuu no Fukkatsu|ROM map]]
[[Category:ROM maps]]

Latest revision as of 19:56, 28 January 2024

This is a sub-page of Eggerland: Meikyuu no Fukkatsu/ROM map.

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)
First room as it appears in the game

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]