Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

SMM 2 > Level Files

A Super Mario Maker level consists of the following files:

All .bcd files have the same size in Super Mario Maker 2:

OffsetSizeDescription
0x00x10File header
0x100x5BFC0File body (encrypted)
0x5BFD00x30Crypto footer

Encryption

Details about the encryption algorithm are described here.

The following integer table is passed to the key generation algorithm:

table = [
	0x7AB1C9D2, 0xCA750936, 0x3003E59C, 0xF261014B,
	0x2E25160A, 0xED614811, 0xF1AC6240, 0xD59272CD,
	0xF38549BF, 0x6CF5B327, 0xDA4DB82A, 0x820C435A,
	0xC95609BA, 0x19BE08B0, 0x738E2B81, 0xED3C349A,
	0x045275D1, 0xE0A73635, 0x1DEBF4DA, 0x9924B0DE,
	0x6A1FC367, 0x71970467, 0xFC55ABEB, 0x368D7489,
	0x0CC97D1D, 0x17CC441E, 0x3528D152, 0xD0129B53,
	0xE12A69E9, 0x13D1BDB7, 0x32EAA9ED, 0x42F41D1B,
	0xAEA5F51F, 0x42C5D23C, 0x7CC742ED, 0x723BA5F9,
	0xDE5B99E3, 0x2C0055A4, 0xC38807B4, 0x4C099B61,
	0xC4E4568E, 0x8C29C901, 0xE13B34AC, 0xE7C3F212,
	0xB67EF941, 0x08038965, 0x8AFD1E6A, 0x8E5341A3,
	0xA4C61107, 0xFBAF1418, 0x9B05EF64, 0x3C91734E,
	0x82EC6646, 0xFB19F33E, 0x3BDE6FE2, 0x17A84CCA,
	0xCCDF0CE9, 0x50E4135C, 0xFF2658B2, 0x3780F156,
	0x7D8F5D68, 0x517CBED1, 0x1FCDDF0D, 0x77A58C94
]

File Header

The header is not encrypted.

OffsetSizeDescription
0x04Always 1
0x42Always 16
0x62Always 1
0x84CRC-32 of decrypted file body
0xC4Magic number (always SCDL)

File Body

OffsetSizeDescription
0x00x200Course metadata
0x2000x2DEE0Course Area Main area
0x2E0E00x2DEE0Course Area Sub area

Course Metadata

OffsetSizeDescription
0x01Start Y position
0x11Goal Y position
0x22Goal X position
0x42Level timer
0x62Clear Condition Amount
0x82Last modification year
0xA1Last modification month
0xB1Last modification day
0xC1Last modification hour
0xD1Last modification minute
0xE1Custom scroll speed (0 = Slow, 1 = Medium, 2 = Fast)
0xF1Clear Condition Category (0 = None, 1 = Parts, 2 = Status, 3 = Actions)
0x104Clear Condition CRC32
0x144Game version (physics and it’s represented on bits in this offset)
0x184Management flags
0x1C4Clear check attempts
0x204Clear check time
0x244Random number seed
0x288Level ID
0x304Clear check game version (this value is represented in byte)
0x340xBCReserved
0xF01Unknown (usually 0xFF)
0xF12GameStyle (M1, M3, MW, WU, or 3W)
0xF31Unknown
0xF40x42Level name 32 characters null-terminated (UTF-16)
0x1360xCALevel description 75 characters with space for 100 null-terminated (UTF-16)

Game Version

This field specifies the game version of the physics engine. The older the version, the less patches have been applied.

Bit/ValueVersion
01.0.0
11.0.1
21.1.0
32.0.0
43.0.0
53.0.1

Management flags

BitDescription
0Needs to be set, but isn’t for quest_105 and quest_115
1Has passed clear check
2Unknown
3Used only for Lesson and Quest courses
4Can’t upload course
5Has clear condition amount
6Has chosen sub area orientation
7+Unknown

Course Area

OffsetSizeDescription
0x00x48Course Area Header
0x480x14500 (0x20 * 2600)Object
0x145840x4B0 (0x4 * 300)Sound Effect
0x149F80x12D4 (0x3C4 * 5)Snake Block
0x15CCC0xE420 (0x124 * 200)Clear Pipe
0x240EC0x348 (0x54 * 10)Piranha Creeper
0x244340x1B8 (0x2C * 10)! Block
0x245EC0x1B8 (0x2C * 10)Track Block
0x247A40x3E80 (0x4 * 4000)Ground
0x286240x4650 (0xC * 1500)Track
0x2CC740x4B0 (0x4 * 300)Icicle
0x2D1240xDBCReserved

Course Area Header

OffsetSizeDescription
0x01Theme
0x11Level scroll (0 = None, 1 = Slow, 2 = Medium, 3 = Fast, 4 = Custom)
0x21Boundary Flags (0 = Built Above Line, 1 = Built Under Line)
0x31Orientation (0 = Horizontal, 1 = Vertical)
0x41End Liquid Height
0x51Liquid Mode (0 = Static, 1 = Rising or Falling, 2 = Rising and Falling)
0x61Liquid Speed (0 = None, 1 = Slow, 2 = Medium, 3 = Fast)
0x71Start Liquid Height
0x84Right Boundary
0xC4Top Boundary
0x104Left Boundary
0x144Bottom Boundary
0x184Is night time (0 or 1)
0x1C4Object Count
0x204Sound Effect Count
0x244Snake Block Count
0x284Clear Pipe Count
0x2C4Piranha Creeper Count
0x304! Block Count
0x344Track Block Count
0x384Reserved
0x3C4Ground Count
0x404Track Count
0x444Icicle Count

Level Theme

ValueTheme
0Ground
1Underground
2Castle
3Airship
4Underwater
5Ghost house
6Snow
7Desert
8Sky
9Forest

The following repositories provide more information about placing objects: