The current URL is datacrystal.tcrf.net.
Eggerland: Meikyuu no Fukkatsu/ROM map/Room data: Difference between revisions
No edit summary |
(→top: replaced: [[Image: → [[File: (2)) |
||
Line 10: | 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: | ||
[[ | [[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> |
Revision as of 08:58, 26 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:
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]