From CloudModding ZGCN Wiki
Revision as of 03:47, 6 November 2015 by Gamma (talk | contribs) (Created page with "'''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...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

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.

File Header

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;

Heading

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;

Option

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