Name can be a maximum of 12 characters.

Flags 0-255 bitfield.

Add

Add the sprite#s you'll use in the Map Tile Chunk manager from the sprite editor grid. (The test level is using 176 for the basic ground platform.)

-
Add

Add the tile chunks. All coordinates and sizes by 8x8 tile. Add a unique EID if the tile chunk is involved in an Event.

Layer: Type: (ground palette ID)
X: Y: W: H:
EventID: Flags: -
Add

Add the exits. Coordinates are not by tile!

X:
Y:
DoorID:
ExitID:
Flags:
Delete
Add

Add items that should show up on the map. Coordinates are not by tile!

X:
Y:
ItemID:
Delete
Add

Add NPCs that should show up on the map. Coordinates are not by tile!

X:
Y:
NPC ID:
Delete
Add

Add events that should show up on the map. Coordinates and sizes are by 8x8 tile. Record ID is a three-character identifier for the event to match a lookup table.

Event Type:
X:
Y:
W:
H:
Record ID:
Delete
Add

Add dialogue lines. The green number is a handy index number for setting up NPC speech events.

Text: | Delete
Compile
()

You'll need to replace the same amount of zeros at the start of the MAP data in the .p8 file - you can open it with a text editor like Notepad++ and examine the file - you can scroll down past the code to see the SPRITE and then the MAP data.

In the code you'll want to keep track of the lengths that are used in each by adding the extra map files to the b_map_ptrs - this array is the addresses of the start of each map's data.

So far there's only 0x2000 - the 0x or any letters ABCDEF will denote a hexadecimal number. The easiest way to add the next map, would be to get the OUTPUT HEX (#) - the length of the data - and using a calculator with hexadecimal and decimal settings, you can put in the 0x2000 as hex, change it to decimal, add the length from the parenthesis, and turn the result back to hex. The result is the next number you'd need to add. To add more, you'd just need to add the next length to the second number instead of the first number (0x2000).


Decompile