Hacking the RPG Maker 2000 map format (*.lmu)

Hacking the RPG Maker 2000 map format (*.lmu)

manwesulimo2004's picture

I've never really done this kind of thing before but I'm currently playing around with RPG Maker 2000's map files. Unfortunately they are saved in a binary format and I'm trying to figure out how they work. Maybe then it would be possible to convert them to tmx format or simply use them as-is in open-source projects.

After examining some maps in a hex editor I've discovered that the core map data (which tiles go where) is saved in an array of bytes with two bytes representing one tile. I tried using this information to create a Tiled-compatible CSV. But I can't quite figure out how the saved values map to the tileset.

Does anyone here have experience with this sort of thing? Maybe you have some ideas or feel like helping out?

Cheers.

Edit: I wanted to attach a sample map but OpenGameArt.org won't allow it so here is what it looks like in a hex editor (map image and tileset are attached). I have highlighted the first and last tile in red. Obviously there is a pattern to the first few tiles but the snow tiles really confuse me.

Edit 2: I have removed the attached images.

00000000 0A 4C 63 66 4D 61 70 55 6E 69 74 0B 01 00 47 84 58 88 13 89 13 8A .LcfMapUnit...G.X.....
00000016 13 8B 13 8C 13 8D 13 8E 13 8F 13 90 13 91 13 92 13 93 13 94 13 95 ......................
0000002C 13 96 13 97 13 98 13 99 13 9A 13 9B 13 9C 13 9D 13 9E 13 9F 13 92 ......................
00000042 13 93 13 A0 13 A1 13 A2 13 A3 13 A4 13 A5 13 A6 13 A7 13 A8 13 A9 ......................
00000058 13 AA 13 AB 13 AC 13 AD 13 AE 13 AF 13 B0 13 B1 13 B2 13 B3 13 B4 ......................
0000006E 13 B5 13 B6 13 B7 13 B8 13 B9 13 BA 13 BB 13 BC 13 BD 13 BE 13 BF ......................
00000084 13 C0 13 C1 13 C2 13 C3 13 20 11 12 11 12 11 12 11 12 11 12 11 12 ......... ............
0000009A 11 12 11 12 11 12 11 12 11 12 11 12 11 12 11 12 11 12 11 12 11 12 ......................
000000B0 11 C3 13 C3 13 0E 11 FE 10 FE 10 FE 10 FE 10 FE 10 FE 10 FE 10 FE ......................
000000C6 10 FE 10 FE 10 FE 10 FE 10 FE 10 FE 10 FE 10 FE 10 FE 10 C3 13 C3 ......................
000000DC 13 26 11 1A 11 1A 11 1A 11 06 11 FE 10 FE 10 FE 10 FE 10 FE 10 FE .&....................
000000F2 10 FE 10 FE 10 FE 10 FE 10 FE 10 FE 10 FE 10 C3 13 C3 13 C3 13 C3 ......................
00000108 13 C3 13 C3 13 0E 11 FE 10 02 11 1A 11 06 11 FE 10 FE 10 FE 10 FE ......................
0000011E 10 FE 10 FE 10 FE 10 FE 10 FE 10 12 11 12 11 12 11 12 11 22 11 C3 ..................."..
00000134 13 26 11 1A 11 24 11 C3 13 0E 11 FE 10 FE 10 FE 10 FE 10 FE 10 FE .&...$................
0000014A 10 FE 10 FE 10 FE 10 FE 10 FE 10 FE 10 FE 10 16 11 C3 13 C3 13 C3 ......................
00000160 13 C3 13 C3 13 0E 11 FE 10 FE 10 FE 10 FE 10 FE 10 FE 10 FE 10 FE ......................
00000176 10 FE 10 FE 10 FE 10 FE 10 FE 10 00 11 12 11 12 11 12 11 12 11 12 ......................
0000018C 11 FF 10 FE 10 FE 10 FE 10 FE 10 FE 10 FE 10 FE 10 FE 10 FE 10 FE ......................
000001A2 10 FE 10 FE 10 FE 10 FE 10 FE 10 FE 10 FE 10 FE 10 FE 10 FE 10 FE ......................
000001B8 10 FE 10 FE 10 FE 10 FE 10 FE 10 FE 10 FE 10 FE 10 FE 10 FE 10 FE ......................
000001CE 10 FE 10 FE 10 FE 10 FE 10 FE 10 FE 10 FE 10 FE 10 FE 10 FE 10 FE ......................
000001E4 10 FE 10 FE 10 FE 10 FE 10 FE 10 FE 10 FE 10 FE 10 FE 10 FE 10 FE ......................
000001FA 10 FE 10 FE 10 FE 10 FE 10 FE 10 FE 10 FE 10 FE 10 FE 10 FE 10 FE ......................
00000210 10 FE 10 FE 10 FE 10 FE 10 FE 10 FE 10 FE 10 FE 10 FE 10 FE 10 FE ......................
00000226 10 FE 10 FE 10 FE 10 FE 10 FE 10 FE 10 FE 10 FE 10 FE 10 FE 10 FE ......................
0000023C 10 FE 10 FE 10 FE 10 FE 10 FE 10 FE 10 FE 10 FE 10 FE 10 FE 10 FE ......................
00000252 10 FE 10 FE 10 FE 10 FE 10 FE 10 FE 10 FE 10 FE 10 FE 10 FE 10 FE ......................
00000268 10 48 84 58 10 27 10 27 10 27 10 27 10 27 10 27 10 27 10 27 10 27 .H.X.'.'.'.'.'.'.'.'.'
0000027E 10 27 10 27 10 27 10 27 10 27 10 27 10 27 10 27 10 27 10 27 10 27 .'.'.'.'.'.'.'.'.'.'.'
00000294 10 27 10 27 10 27 10 27 10 27 10 27 10 27 10 27 10 27 10 27 10 27 .'.'.'.'.'.'.'.'.'.'.'
000002AA 10 27 10 27 10 27 10 27 10 27 10 27 10 27 10 27 10 27 10 27 10 27 .'.'.'.'.'.'.'.'.'.'.'
000002C0 10 27 10 27 10 27 10 27 10 27 10 27 10 27 10 27 10 27 10 27 10 27 .'.'.'.'.'.'.'.'.'.'.'
000002D6 10 27 10 27 10 27 10 27 10 27 10 27 10 27 10 27 10 27 10 27 10 27 .'.'.'.'.'.'.'.'.'.'.'
000002EC 10 27 10 27 10 27 10 27 10 27 10 27 10 27 10 27 10 27 10 27 10 27 .'.'.'.'.'.'.'.'.'.'.'
00000302 10 27 10 27 10 27 10 27 10 27 10 27 10 27 10 27 10 27 10 27 10 27 .'.'.'.'.'.'.'.'.'.'.'
00000318 10 27 10 27 10 27 10 27 10 27 10 27 10 27 10 27 10 27 10 27 10 27 .'.'.'.'.'.'.'.'.'.'.'
0000032E 10 27 10 27 10 27 10 27 10 27 10 27 10 27 10 27 10 27 10 27 10 27 .'.'.'.'.'.'.'.'.'.'.'
00000344 10 27 10 27 10 27 10 27 10 27 10 27 10 27 10 27 10 27 10 27 10 27 .'.'.'.'.'.'.'.'.'.'.'
0000035A 10 27 10 27 10 27 10 27 10 27 10 27 10 27 10 27 10 27 10 27 10 27 .'.'.'.'.'.'.'.'.'.'.'
00000370 10 27 10 27 10 27 10 27 10 27 10 27 10 27 10 27 10 27 10 27 10 27 .'.'.'.'.'.'.'.'.'.'.'
00000386 10 27 10 27 10 27 10 27 10 27 10 27 10 27 10 27 10 27 10 27 10 27 .'.'.'.'.'.'.'.'.'.'.'
0000039C 10 27 10 27 10 27 10 27 10 27 10 27 10 27 10 27 10 27 10 27 10 27 .'.'.'.'.'.'.'.'.'.'.'
000003B2 10 27 10 27 10 27 10 27 10 27 10 27 10 27 10 27 10 27 10 27 10 27 .'.'.'.'.'.'.'.'.'.'.'
000003C8 10 27 10 27 10 27 10 27 10 27 10 27 10 27 10 27 10 27 10 27 10 27 .'.'.'.'.'.'.'.'.'.'.'
000003DE 10 27 10 27 10 27 10 27 10 27 10 27 10 27 10 27 10 27 10 27 10 27 .'.'.'.'.'.'.'.'.'.'.'
000003F4 10 27 10 27 10 27 10 27 10 27 10 27 10 27 10 27 10 27 10 27 10 27 .'.'.'.'.'.'.'.'.'.'.'
0000040A 10 27 10 27 10 27 10 27 10 27 10 27 10 27 10 27 10 27 10 27 10 27 .'.'.'.'.'.'.'.'.'.'.'
00000420 10 27 10 27 10 27 10 27 10 27 10 27 10 27 10 27 10 27 10 27 10 27 .'.'.'.'.'.'.'.'.'.'.'
00000436 10 27 10 27 10 27 10 27 10 27 10 27 10 27 10 27 10 27 10 27 10 27 .'.'.'.'.'.'.'.'.'.'.'
0000044C 10 27 10 27 10 27 10 27 10 27 10 27 10 27 10 27 10 27 10 27 10 27 .'.'.'.'.'.'.'.'.'.'.'
00000462 10 27 10 27 10 27 10 27 10 27 10 27 10 27 10 27 10 27 10 27 10 27 .'.'.'.'.'.'.'.'.'.'.'
00000478 10 27 10 27 10 27 10 27 10 27 10 27 10 27 10 27 10 27 10 27 10 27 .'.'.'.'.'.'.'.'.'.'.'
0000048E 10 27 10 27 10 27 10 27 10 27 10 27 10 27 10 27 10 27 10 27 10 27 .'.'.'.'.'.'.'.'.'.'.'
000004A4 10 27 10 27 10 27 10 27 10 27 10 27 10 27 10 27 10 27 10 27 10 27 .'.'.'.'.'.'.'.'.'.'.'
000004BA 10 27 10 27 10 27 10 27 10 27 51 01 00 5B 01 42 00                .'.'.'.'.'Q..[.B.