From CloudModding ZGCN Wiki
(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...")
 
 
Line 4: Line 4:
 
The header of the file stores the number of headings, as well as some other fields. Their use is currently unknown.
 
The header of the file stores the number of headings, as well as some other fields. Their use is currently unknown.
  
<code>
+
<syntaxhighlight lang="csharp">
 
//8 bytes long
 
//8 bytes long
  
/*0x00*/ byte NumHeadings;<br>
+
/*0x00*/ byte NumHeadings;
/*0x01*/ const byte UnknownField1 = 0x5E;<br>
+
 
/*0x02*/ const short UnknownField2 = 0x61;<br>
+
/*0x01*/ const byte UnknownField1 = 0x5E;
/*0x04*/ const int UnknownField3 = 8;<br>
+
 
</code>
+
/*0x02*/ const short UnknownField2 = 0x61;
 +
 
 +
/*0x04*/ const int UnknownField3 = 8;
 +
 
 +
</syntaxhighlight>
 
== Heading ==
 
== 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
 
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.
 
has in it, and where the first option is according to the start of the file.
  
<code>
+
<syntaxhighlight lang="csharp">
 
//0x28/40dec bytes long
 
//0x28/40dec bytes long
  
/*0x00*/ string DisplayString; //Strings are 33 bytes: 32 chars and null terminator<br>
+
/*0x00*/ string DisplayString; //Strings are 33 bytes: 32 chars and null terminator
/*0x21*/ byte NumOptions;<br>
+
 
/*0x22*/ short Padding;<br>
+
/*0x21*/ byte NumOptions;
/*0x24*/ int OptionDataOffset;<br>
+
 
</code>  
+
/*0x22*/ short Padding;
 +
 
 +
/*0x24*/ int OptionDataOffset;
 +
</syntaxhighlight>  
  
 
== Option ==
 
== 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.
 
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.
  
<code>
+
<syntaxhighlight lang="csharp">
 
//0x2C/44dec bytes long
 
//0x2C/44dec bytes long
  
/*0x00*/ string DisplayString; //Strings are 33 bytes: 32 chars and null terminator<br>
+
/*0x00*/ string DisplayString; //Strings are 33 bytes: 32 chars and null terminator
/*0x21*/ string MapName;<br>
+
 
/*0x29*/ byte RoomNumber; //Room to spawn into<br>
+
/*0x21*/ string MapName;
/*0x2A*/ byte SpawnID; //ID of the spawn to use to enter the map<br>
+
 
/*0x2B*/ byte UnknownField1; //Purpose not known, but it varies between options. Possibly time of day<br>
+
/*0x29*/ byte RoomNumber; //Room to spawn into
</code>
+
 
 +
/*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
 +
</syntaxhighlight>

Latest revision as of 05:58, 6 November 2015

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