# MBGameRegistry

## Definition

  `#include <nitro/mb.h>`

      typedef	struct
      {
          const char    *romFilePathp;
          u16           *gameNamep;
          u16           *gameIntroductionp;
          const char    *iconCharPathp;
          const char    *iconPalettePathp;
          u32           ggid;
          u8            maxPlayerNum;
          u8            pad[3];
          u8            userParam[MB_DOWNLOAD_PARAMETER_SIZE];
      } MBGameRegistry;

## Description

This structure is used when specifying the download file with the `MB_RegistryFile` function. The meaning of each member is shown in the following table:

Member | Description
romFilePathp | Pointer to the file path string of the program binary.The binaries that can operate on a child device during multiboot are NITRO ROMs and HYBRID ROMs. For details, see the Overview. This member is provided for future expansion. It is not referenced by current MB function implementations, which instead request a pointer to an `FSFile` structure.
gameNamep | Pointer to the game name string. The number of characters in the string must be `MB_GAME_NAME_LENGTH` or fewer.
gameIntroductionp | Pointer to the introduction string of the game content. The number of characters in the string must be `MB_GAME_INTRO_LENGTH` or fewer.
iconCharPathp | Pointer that indicates the path string to the icon character data file.
iconPalettePathp | Pointer that indicates the path string to the icon palette data file.

ggid

GGID value that is passed to a child when this game is downloaded. This value is stored in little-endian format in `ssid[0]`, `ssid[1]`, `ssid[2]`, and `ssid[3]` in the `MBParentBssDesc` structure obtained by the multiboot child device with the `MB_GetMultiBootParentBssDesc` function. The `MB_ReadMultiBootParentBssDesc` function uses this value to create the `WMBssDesc` information that is used to connect to the parent device.
When not used for another purpose, GGID can be used as a random u32 value.

maxPlayerNum | The maximum number of simultaneous players for this game, including the parent. The maximum is 16 machines. The value set indicates the maximum number of players that can enter at once. The `MB_SetParentCommParam` function must be used separately to configure the maximum number of child devices that can connect at once via multiboot. The value configured by the `MB_SetParentCommParam` function is one less than the `MBGameRegistry` value because the former does not include the parent device.
userParam | These are the user-defined extended parameters, which can be provided to the child program that started up this game. You can set up to `MB_DOWNLOAD_PARAMETER_SIZE` (=32) bytes of arbitrary data, which can be accessed by the child program with the `MB_GetMultiBootDownloadParameter` function.

## See Also

`MB_GAME_*`
`MBIconInfo`
`MBParentBssDesc`
`WMBssDesc`
`MB_GetMultiBootParentBssDesc`
`MB_GetMultiBootDownloadParameter`
`MB_ReadMultiBootParentBssDesc`
`MB_RegisterFile`

## Revision History

2008/09/16 Added a note on the binary ROMs that can be used by multiboot children.
2005/08/17 Added a link to the `MB_GetMultiBootDownloadParameter` function.
2005/05/20 Added the `userParam` member.
2004/11/02 Corrected member names.
2004/10/18 Corrected the description for `ggid`.
2004/10/05 Corrected the description for `ggid`.
2004/09/27 Added links.
2004/09/10 Revised descriptions for `iconCharp` and `iconPalettep`.
2004/08/09 Initial version.

CONFIDENTIAL