See what I did there? Anyway, since somebody has figured out pretty much all the corridor information, I figured that I should get to work in describing the Labyrinth mode data because somebody beats me to it.
So to start off with, at $14A7E is the start of the game's map data. The structure is variable length, with the first byte being the control code. The first nybble of the first byte controls what type of room it is. Here a list of what each bit does:
00 - empty room(except for possible enemies)
10 - adds pointer, which is read after enemy index or item index, if present, is defined
20 - adds item index after enemy index(if present)
40 - miniboss room, adds item index which becomes miniboss index
70 - used when you want to have a room with chips. Prevents them from comming back unless you refresh the area
80 - indicates a room or corridor
The second nybble is the length of the room. The greater the length, the more the room contains:
02 - contains only the basic map definitions such as exit directions/key usage, and area index
03 - like 02 but with enemies, or miniboss room with item/boss index
04 - room contains pointeres to level data
05 - room contains pointers to level data + enemies
06 - room contains item index + enemies + level data
For interior rooms, 82 is used for corridors and password rooms. A3 is used for shops and info rooms. In either case, adding 80 to the room type will transform it into a corridor from 00 to 127.
More to come...
So to start off with, at $14A7E is the start of the game's map data. The structure is variable length, with the first byte being the control code. The first nybble of the first byte controls what type of room it is. Here a list of what each bit does:
00 - empty room(except for possible enemies)
10 - adds pointer, which is read after enemy index or item index, if present, is defined
20 - adds item index after enemy index(if present)
40 - miniboss room, adds item index which becomes miniboss index
70 - used when you want to have a room with chips. Prevents them from comming back unless you refresh the area
80 - indicates a room or corridor
The second nybble is the length of the room. The greater the length, the more the room contains:
02 - contains only the basic map definitions such as exit directions/key usage, and area index
03 - like 02 but with enemies, or miniboss room with item/boss index
04 - room contains pointeres to level data
05 - room contains pointers to level data + enemies
06 - room contains item index + enemies + level data
For interior rooms, 82 is used for corridors and password rooms. A3 is used for shops and info rooms. In either case, adding 80 to the room type will transform it into a corridor from 00 to 127.
More to come...