Sunrise | 10 Mar 2006 23:42:39 Lemmings 3D File FormatThe subject came up in an AIM conversation between me and Shvegait, and I then went to Lemming Crazy to relook at my data... and found the link to be broken! (the images work, but the txt file doesn't!)
So I'm going to repost it here, as well as save it on my hard drive.
This is the currently known information about L3D Levels:
The level is stored in the "LEVEL.???" file - the "BLK.???" files contain the tileset - I don't know exactly how BLK.??? files work.
In the FIRST level of Lemmings 3D Winterland, "3FA0" is a solid block.
The level name is stored near the start of the file.
How the time limit is stored is unknown. The number of lemmings, lemmings to save and release rate are stored near the level name.
The tools are about 12 bytes into the file.
The camera positions are a bit after the author's name - which, by the way, doesn't seem to effect the game.
Blocks found in first level of Lemmings 3D Winterland: (Key: North is straight ahead from Camera 1, East is to the right, West is to the left, South is backwards)
3F A0 - Full Block 3F A4 - Full Block 3F 6C - Different Full Block 3F xx - Various Full Blocks (?) 2F A0 - Buggy Full Block(the camera can go through it - don't know if lemmings can) 7F 6D - Diagonal Block(North low, South high) xF 6D - Various Diagonal Blocks 3F 6D - Stalagtite Block 3F 6F - Corner Block(between North low/South high diagonal block and West low/East high diagonal block) xF 6F - Various Corner Blocks(they go as low as 0F 6F!) FF A1 - Turning Block(turn to North or West) xF A1 - Various Turning Blocks 1F 04 - Exit xF 04 - Various Direction of Exits xF 05 - Stalagtite-Shape Exits 53 94 - Snow Pile(like on top of exit) 5F A2 - Bottom of level tile (?) 1F 68 - Water Hole
In the terrain, first a row of blocks are stored. They go from east to west. Then comes the next row - each row is in order from the top one to the bottom. These rows make up one square(or it might be a rectangle). Then, all of the squares put together(from North to South) make up the entire level.
UPDATE: It seems the rows are stored from bottom to top.
It seems that the two bytes are actually to define different things about the block - both have the shape of it, and the second also seems to have the type of block.
UPDATE: The last byte definately has an effect on the shape - try using 05 or 06 instead of 04 for the exit(the exits won't work, but try them!)
Seems to be that each row has 31 blocks. |
---|