Skip to content

Instantly share code, notes, and snippets.

@freem
Created May 4, 2018 06:12
Show Gist options
  • Select an option

  • Save freem/03d6c1832299e8d8a32f64361380920d to your computer and use it in GitHub Desktop.

Select an option

Save freem/03d6c1832299e8d8a32f64361380920d to your computer and use it in GitHub Desktop.
Mega Man Maker Level Format (.mmlv file)
Mega Man Maker Level Format (.mmlv file)
========================================
This is a work in progress and still requires investigation.
If a value is missing from a level file, it's assumed to be 0.
MMLV files are similar to INI files. There's only one section, "[Level]".
================================================================================
References:
https://megamanmaker.com/forum/viewtopic.php?f=14&t=2371
https://megamanmaker.com/forum/viewtopic.php?f=14&t=3468
================================================================================
0a = user ID
1a = level name
4a = user name
4b = user icon
1b = sliding
1c = charge shot (enable/disable)
1ba = double damage
1ca = proto strike
1bb = double jump
1d = charge shot type (valid values: 4,5,6)
1e = default background color
1f = boss portrait?
1ga = boss weakness 1 enabled?
1g = boss weakness 1 item
1ha = boss weakness 2 enabled?
1h = boss weakness 2 item
1i = boss immunity enable/disable?
1j = boss immunity item
1k*, where * is 0 to 11 = weapon slots. 11 is final slot.
1l = level music (music)
1m = level music (game number; 0-5)
1n = boss music
1o = boss music type (0=normal, 1=wily)
1p = ?? don't set to nonzero?
1q = number of blocks to load???
1r = ?
1s = ?
1t = ?
a(x,y) = enabled?
b(x,y) = facing direction? (-1 = face left)
d(x,y) = item main type
e(x,y) = item sub-type
f(x,y) = color variant?
g(x,y) = does this even exist?
h(x,y) = item timer? (bombs)
i(x,y) = block type? (1=normal 2=spike 3=ladder)
j(x,y) = horizontal texture offset?
k(x,y) = vertical texture offset?
l(x,y) = spike direction?
m(x,y) = ?
n(x,y) = ?
o(x,y) = (somehow related to option)
2a(x,y) = is square enabled?
2b(x,y) = horizontal screen transition type?
2c(x,y) = vertical screen transition type?
2d(x,y) = background?
================================================================================
[data.win TXTR chunk]
00000f60.png
- Mega Man 1 blocks
- Mega Man 2 Bubble Man and Air Man blocks
- Backgrounds part 1
00000f61.png
- remaining Mega Man 2 blocks
- Mega Man 3 Spark Man, Snake Man, Needle Man blocks
- Backgrounds part 2
00000f62.png
- all other blocks
- most sprites
- Centaur Man?? pillar BG
================================================================================
[Weapons (1k*)]
If there are no 1k* entries, the default weapon is "nothing".
0 = M. Buster
1 = S. Tomahawk
2 = W. Storm
3 = P. Shot
4 = Metal Blade
5 = Rush Coil
6 = S. Crash
7 = Rush Jet
8 = Shine
9 = Gravity Hold
10 = Top Spin
11 = Magnet Beam
12 = C. Bomber
13 = T. Beam
14 = R. Cutter
15 = F. Stopper
16 = Magnet Missile
17 = F. Storm
18 = S. Snake
19 = Quick Boomerang
20 = S. Barrier
21 = Charge Kick
22 = Nado
23 = P. Barrier
24 = Ring Boomerang
25 = Needle Cannon
26 = D. Missile
27 = Hard Knuckle
28 = Atomic Fire
29 = P. Freeze
30 = T. Slow
31 = I. Slasher
32 = H. Bomb
33 = O. Slider
34 = Item-1
35 = Item-2
36 = Item-3
37 = L. Shield
38 = A. Shooter
39 = G. Laser
40 = B. Drop
41 = D. Bomb
42 = S. Arrow
43 = Power Stone
44 = W. Wave
45 = C. Eye
46 and above are currently invalid.
================================================================================
[d(x,y) entries]
player = 4
enemies = 5
level obj = 6
health = 7
boss = 8
================================================================================
[Item Types]
values are for e(x,y) entries
--------------------------------------------------------------------------------
{d(x,y) == 4: Player Character}
0 = Megaman
1 = Protoman
2 = Bass
--------------------------------------------------------------------------------
{d(x,y) == 5: Enemies}
--------------------------------------------------------------------------------
{d(x,y) == 6: Level Objects}
--------------------------------------------------------------------------------
{d(x,y) == 7: Pickups}
--------------------------------------------------------------------------------
{d(x,y) == 8: Bosses}
0 = Vertical Boss Door
1 = Horizontal Boss Door
2 = Pharaoh Man
3 = Top Man
4 = Crash Man
5 = Cut Man
6 = Metal Man
7 = Toad Man
8 = Plant Man
9 = (unknown, crashes game)
10 = Spark Man
11 = Napalm Man
12 = Stone Man
13 = Bomb Man
14 = Knight Man
15 = Energy Element/MM1 Exit Orb
16 = Party Balloon
17 = Ice Man
18 = Time Man
19 = Wood Man
20 = Magnet Man
21 = Hard Man
22 = Bubble Man
23 = Skull Man
24 = Ring Man
25 = Crystal Man
26 = Charge Man
27 = (unknown, crashes game)
================================================================================
[2d(x,y) entries | Backgrounds]
0 = Elec Man
1 = Guts Man 1
2 = Ice Man 1
3 = Bomb Man 1
4 = Fire Man
5 = Bubble Man 1
6 = Quick Man
7 = Wood Man
8 = Flash Man
9 = Metal Man
10 = Heat Man
11 = Spark Man 1
12 = Snake Man
13 = Needle Man 1
14 = Top Man
15 = Shadow Man
16 = Magnet Man 1
17 = Hard Man 1
18 = Skull Man
19 = Bright Man
20 = Dust Man
21 = Drill Man
22 = Toad Man
23 = Pharaoh Man
24 = Stone Man
25 = Gravity Man
26 = Crystal Man
27 = Napalm Man
28 = Gyro Man
29 = Wave Man
30 = Charge Man 1
31 = Blizzard Man
32 = Wind Man
33 = Flame Man
34 = Tomahawk Man
35 = Centaur Man
36 = Knight Man
37 = Yamato Man 1
38 = Plant Man
39 = Yamato Man 2
40 = Time Man
41 = MM2 Wily 1-1
42 = MM2 Wily 2
43 = MM2 Wily 3
44 = MM3 Wily 1
45 = Guts Man 2
46 = Ice Man 2
47 = Bomb Man 2
48 = MM1 Wily 1
49 = MM1 Wily 3
50 = Crash Man
51 = Spark Man 2
52 = Needle Man 2
53 = Gemini Man
54 = Hard Man 2
55 = MM3 Wily 2
56 = Bubble Man 2
57 = MM4 Cossack 1
58 = MM4 Cossack 2
59 = Charge Man 2
60 = Oil Man
61 = MM2 Wily 1-2
62 = MM2 Wily 4
63 = MM2 Wily 6
64 = Magnet Man 2
65 = (alternate version of MM3 Wily 2?)
66 = MM3 Wily 3
67 = MM4 Cossack 3
68 = MM4 Cossack 4
69 = MM4 Wily 1
70 = MM4 Wily 2
71 = MM4 Wily 3
72 = Dark Man 1
73 = Dark Man 2
74 = Dark Man 3
75 = Dark Man 4
76 = MM5 Wily 2
77 = MM5 Wily 3
78 = MM5 Wily 4
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment