Menu1.dat, found at res/Menu, contains the layout for The Wind Waker's debug map select screen. It is made up of a header, a series of headings, and a series of options.
The header of the file stores the number of headings, as well as some other fields. Their use is currently unknown.
//8 bytes long /*0x00*/ byte NumHeadings; /*0x01*/ const byte UnknownField1 = 0x5E; /*0x02*/ const short UnknownField2 = 0x61; /*0x04*/ const int UnknownField3 = 8;
Headings populate the list, giving a short description of what maps the heading deals with. The format defines a string to display on the menu, the number of options that heading has in it, and where the first option is according to the start of the file.
//0x28/40dec bytes long /*0x00*/ string DisplayString; //Strings are 33 bytes: 32 chars and null terminator /*0x21*/ byte NumOptions; /*0x22*/ short Padding; /*0x24*/ int OptionDataOffset;
Options contain the data used to load maps. They consist of a display string, the name of the map to load, and various settings to use when loading the map.
//0x2C/44dec bytes long /*0x00*/ string DisplayString; //Strings are 33 bytes: 32 chars and null terminator /*0x21*/ string MapName; /*0x29*/ byte RoomNumber; //Room to spawn into /*0x2A*/ byte SpawnID; //ID of the spawn to use to enter the map /*0x2B*/ byte UnknownField1; //Purpose not known, but it varies between options. Possibly time of day