# MBGameInfo

## C Specification

      /* This parent game information does not change */
      typedef struct MBGameInfoFixed
      {
          MBIconInfo icon;
          MBUserInfo parent;
          u8         maxPlayerNum;
          u8         pad[1];
          u16        gameName[ MB_GAME_NAME_LENGTH ];
          u16        gameIntroduction[ MB_GAME_INTRO_LENGTH ];
      } MBGameInfoFixed;

      /* This parent information changes dynamically */
      typedef struct MBGameInfoVolatile
      {
          u8         nowPlayerNum;
          u8         pad[1];
          u16        nowPlayerFlag;
          u16        changePlayerFlag;
          MBUserInfo member[ MB_MEMBER_MAX_NUM ];
      } MBGameInfoVolatile;

      /* Parent game information beacon */
      typedef struct  MBGameInfo
      {
          MBGameInfoFixed    fixed;
          MBGameInfoVolatile volat;
          u16                broadcastedPlayerFlag;
          u8                 dataAttr;
          u8                 seqNoFixed;
          u8                 seqNoVolat;
          u8                 fileNo;
          u8                 pad[2];
          u32                ggid;
          struct             MBGameInfo *nextp;
      } MBGameInfo;

## Description

This structure stores the information previously returned by the children that the multiboot parent will broadcast in its next beacon to all children.

## Members

The members of MBGameInfo are:

Member | Meaning
`fixed` | Parent game information that does not change.
`volat` | Volatile parent game information that changes dynamically.
`broadcastedPlayerFlag` | Bit indicating that player information has been broadcast.
`dataAttr` | Attributes of beacon broadcast by parent: `MB_BEACON_DATA_ATTR_FIXED_NORMAL MB_BEACON_DATA_ATTR_FIXED_NO_ICON MB_BEACON_DATA_ATTR_VOLAT`
`seqNoFixed` | Sequence number of the fixed region. When this number changes, the data in fixed is received again. (But this is normally fixed and not changed.).
`seqNoVolat` | Sequence number of the volatile region. When this number changes, the data in volat is received again.
`fileNo` | File number.
`ggid` | Game group ID.
`nextp` | Pointer to the next GameInfo (One-directional list).

The members of MBGameInfoFixed are:

Member | Meaning
`icon` | Icon data.
`parent` | Parent user information.
`maxPlayerNum` | Maximum number of players.
`gameName` | Game title.
`gameIntroduction` | Description of the game.

The members of MBGameInfoVolatile are:

Member | Meaning
`nowPlayerNum` | Current number of players.
`nowPlayerFlag` | Bit indicating the player number of the current player.
`changePlayerFlag` | Flag indicating the number of a player whose information changed with the latest update.
`member` | Member information.

## See Also

`MB_FakeStartScanParent`

## Revision History

11/25/2004 Initial version.