Humongous Entertainment Games Wiki
Humongous Entertainment Games Wiki
Advertisement
Level Saved in Editor

The secret editor with an example level open!

The Secret Level Editor in Maze Madness is an in-house editor that was used by the designers to create the game's levels. In its final game state, it allows single caves to be saved and loaded. The editor can be opened with ScummVM by using Control-D, and then typing "room 5." It can also be opened by going into hegames.ini on C:\Windows, adding "RhettCool=1" under [Maze], then entering the game and pressing the "E" key while viewing the standard editor. This file can be accessed in the Steam version as well. It is called "scummvm-freddimazemadness.ini" in the folder "Steam\steamapps\common\Freddi Fish and Luthers Maze Madness\ScummVM_Windows".

Level Saved in Game

The same example level as viewed in the game.

Game levels are stored in the MAZE.he8 game data file. The file has the following structure:

300 x [CAVE DATA] 706B (0x2C2)
  lower_level     176 shorts      352B
  background        1 short         2B
  upper_level     176 shorts      352B


lower_level: Each short codes for a wall or an object (kelp seed, urchin, etc.). There is one short for each square on the level grid; the first short codes for the upper left and subsequent shorts proceed right across the rows. There are 16 squares in each row and 11 rows.

background: Codes for one of five background images

upper_level: Each short codes for an arch, shovel and pail, valve, or other swim-through object. Follows the same square pattern as the lower_level block. Note that some upper_level objects span several squares which can cause unexpected behavior if objects overlap.

The cave data block is repeated 300 times, six times for each of the 50 levels (each level is thus 4236B, 0x108C). The first five cave data blocks for each level are standard caves; the sixth is for the bonus cave. Thus despite the fact the game only has bonus caves every 5 levels by default, it is possible to have a bonus cave on every single level. Levels always start in cave 1 (the level's first cave data block in MAZE.he8), so the start must always be placed in cave 1 and never in caves 2 through 5. The bonus cave, if used, must have a start square.

The editor can only save one cave at a time. Thus in order to create a full level, all the level's caves must be created and saved separately. The level's caves must then be assembled in order and copied into the MAZE.he8 file. The only way to test custom levels is to overwrite the game's existing levels, so the file should be copied prior to editing so that the original levels may be restored if desired. If a level does not use all of the 5 available caves, the remaining cave data blocks may be left blank (filled with 706 null bytes). If a level does not use a bonus cave, that cave data block may be left blank.

It is advisable to copy all six cave data blocks for a given level into a single file, save that file, and then copy the entire level into MAZE.he8 in order to avoid errors. A hex editor should be used to edit MAZE.he8 so that level offsets are easy to find.

A full level takes 108C size of data.

Offsets for each level are as follows;

1	0
2	108C
3	2118
4	31A4
5	4230
	
6	52BC
7	6348
8	73D4
9	8460
10	94EC
	
11	A578
12	B604
13	C690
14	D71C
15	E7A8
	
16	F834
17	108C0
18	1194C
19	129D8
20	13A64
	
21	14AF0
22	15B7C
23	16C08
24	17C94
25	18D20

26	19DAC
27	1AE38
28	1BEC4
29	1CF50
30	1DFDC
	
31	1F068
32	200F4
33	21180
34	2220C
35	23298
	
36	24324
37	253B0
38	2643C
39	274C8
40	28554
	
41	295E0
42	2A66C
43	2B6F8
44	2C784
45	2D810
	
46	2E89C
47	2F928
48	309B4
49	31A40
50	32ACC

End of file: 33B58


Walls[]

Walls can be tricky to use in the editor. Here is a guide on the arrangements of tiles of each set both with and without grid.

WallGuide


WallGuideGrid


Most sets follow the same arrangement, but there are a few versions and exceptions. These arrangements are numbered, the same number being the same arrangement, with a few exceptions, such as the Sand tileset having the lone tile at the very end instead of in the middle between the blank tiles. Also, a few tilesets don't have these blank tiles and instead go right to the second wall portion (which are alternative aesthetical tiles). The ship tileset also has a bunch of solid tiles at the very end. The bonus room tileset has a lot of tiles that look similar, but they are actually different and do correspond with the pink guidelines above the tiles (missing only single pixels in corners, it really isn't that big of a deal but it's there nonetheless). Also note that the empty wall tiles do have collision, thus making it possible to have invisible walls.

Decorations[]

Decorations can also be tricky to use since the editor doesn't show them clearly in the selector, and many take up more than one tile. Fortunately, each decoration will switch to the corresponding tileset automatically. Each decoration will be placed with the tile shown in the selector at the mouse cursor, which usually is the top-left most tile of the respective decoration, but there are exceptions. Keep in mind to never place decorations that go beyond the bottom of the screen, this can and will mess things up, and it can be hard to reverse this (basically needing to manually editing hex values yourself). No decoration is taller than 3 tiles, so always keep this in mind when placing near or at the bottom.

Here is a guide of all the pieces per set.

DecoAll


Backgrounds[]

In the secret editor you can choose which backgrounds each room/level uses, as opposed to it being selected automatically like in the regular editor. However, the background selector in the secret editor is glitchy and thus it can be hard to figure out which background is which. Here is a helpful image of what background is which, and in which official levels they're used.

All

Backgrounds 1 and 8 are identical.

Backgrounds 4 and 10 are never used in the official levels.

Additional Notes[]

  • The game makers used this editor for the official game levels.
  • Music is selected by the wall style- the wall in the uppermost left hand corner determines the music. [1]
  • Unlike the regular editor, you can surpass the 40 object limit. However, doing this will cause random objects to not load while playing, so it is highly recommended to never go beyond 40 objects. This does not include invisible objects like the scepter spawning tiles (though as long as 40 objects are present, the scepter will not spawn, though the sound still plays), the currents, the bubble rapids and geysers (though they won't animate on their own), Freddi's spawning point (contrary to the normal editor), or the cave exits (but the exit notifications won't show up), but does include the bonus level crack/portal and any visible object, enemy, or pickup. The bonus figures won't appear as long as the limit has been reached, however, sometimes they still won't appear after the object count has been reduced. Pearls won't spawn from containers until the count has been decreased, spawning only as many pearls until the limit has been reached or all pearls have been released. Wall tiles and decorations also don't count as objects and can thus be placed without restrictions.
  • It has been erroneously claimed that the editor cannot be used with ScummVM or Steam. While it is a bit more involved, it is still possible.
    • ScummVM deflates levels using gzip prior to saving. Levels saved with ScummVM must thus be decompressed prior to insertion in the MAZE.he8 file.
    • In the Steam version, your levels are saved in the folder "Steam\steamapps\common\Freddi Fish and Luthers Maze Madness\Saves".
    • After saving a level, add .gz extension to the file and then use any zip extractor to extract it. Now you can use that file to paste into your custom Maze.he8 file to play your levels!
    • You can alternatively write level data by hand in your hex editor, byte by byte, and load your rooms into the secret editor to confirm that they are how you want them.
  • There are two crabs in the enemy list and no blowfish. The second crab actually represents the blowfish.
  • Swinging doors are oriented such that the hinge is positioned at the narrow end. Swinging doors always swing through the square on which they are placed in the editor.
  • Narrow "cave to x" squares are used for caves which are positioned on the side walls. Wide "cave to x" squares are used for caves positioned on the top and bottom walls. These caves may also be placed on middle walls; in this case, wide squares are for caves meant to be entered from above or below and narrow caves are used for caves meant to be entered from the left or right.
  • An open-source variant of the editor is available on GitHub.

Video tutorial[]

YouTuber Colorful Arty created a tutorial on using the secret editor.

Freddi_Fish_and_Luther's_Maze_Madness_Secret_Level_Editor_Tutorial-0

Freddi Fish and Luther's Maze Madness Secret Level Editor Tutorial-0

Colorful Arty's Tutorial

Advertisement