Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- GetLevelPointers x1F764
- x010010 to 0x010024 - Level starting areas
- 0x010025 to 0x0100F6 (0001a4) = Level Pointers (low byte)
- 0x0100F7 to 0x0101C8 (0001a4) = Level Pointers (high byte)
- x12510-x12524 Level Enemy High Bank Pointers (high byte)
- x12525-x12539 Level Enemy High Bank Pointers (low byte)
- x1253A-x1254E Level Enemy Low Bank Pointers (high byte)
- x1254F-x12563 Level Enemy Low Bank Pointers (low byte)
- 0x01FE10 to 0x01FE16 (000006) = Sprite set for Worlds 1-7 (known valid values: 0C, 0D, 0E, 0F)
- 0x01FE17 to 0x01FE1D (000006) = Landscape set for Worlds 1-7 (known valid values: 0A, 10, 12, 14, 16)
- x12564-x12707 Area Enemy Pointers
- Grouped by level, high bytes followed by low bytes
- 0XC454-0xC613
- Ground Styles
- Per world
- 4 Bytes per style- Empty, Ground, Top, Cave/Gap
- 8 Horizontal Styles
- 8 Vertical Styles
- 0x0101C9 to 0x012433 (00226b) = Level Data
- Level Header 4 Bytes, 32 Bits
- Byte 1
- 80 - Horizontal if True
- 40 - ?
- 38 - Palette
- 04 - ?
- 03 - Enemy Palette
- Byte 2
- E0 - ?
- 1F - Ground
- Byte 3
- F0 - Level Length (-1)
- 0F - Object Type
- 1
- Bricks->Wood
- X Blocks->Sand
- Brick Column->Black
- 2
- Bricks->X Blocks
- X Blocks->X Blocks
- Brick Column->Bombable
- 3
- Bricks->X Blocks
- X Blocks->X Blocks
- Brick Column->Bricks
- 4 Ladder->Chain
- 8 Ladder->Dark Ladder?
- Byte 4
- 38 - Ground Tileset
- 03 - Music
- Objects 2 Bytes Each
- Byte 1 = YX Y is an offset from last object Y, all objects sorted by Y
- (XY on horizontal levels?)
- Byte 2 = Object #
- If Byte 1 = FS Then Special Object
- F0 = Ground Setting
- 1 Byte
- XXXGGGGG - Switch to Ground G at X
- F1 = Ground Setting
- 1 Byte
- XXXGGGGG - Switch to Ground G at X+8
- F2 = Skip one screen of objects
- F3 = Skip two screens of objects
- F4 = Goes back to start of level, next Z layer
- F5 = Pointer - Used by objects with optional exits (vines, ladders, jars)
- 2 Bytes
- F6 = Change Ground Type
- 1 Byte
- ????TTTT - Switch whole level ground type to T?
- Pointers 2 Bytes? Follow Doors / Jars
- Byte 1 = LL Level
- Byte 2 = AS A=Area S=Screen
- Loads 'level' L + A and drops player at screen S, will use door if at mirrored position
- FF
- GetEnemyPointers x1F78D
- Enemies
- Stored by Screen
- 1 Byte - total byte length for screen (1 + 2 * Num Enemies)
- 2 Bytes per enemy
- NN - Enemy Number
- XY - X,Y position relative to screen
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement