# MBGameInfo

## Definitions

      /* 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 ];
      u8  userVolatData[ MB_USER_VOLAT_DATA_SIZE ];
      } 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;

## Elements

The members of MBGameInfo are:

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:

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:

nowPlayerNum | Current number of players.
nowPlayerFlag | express the player numbers of all current players as a bit xyxyxy
changePlayerFlag | Flag indicating the number of a player whose information changed with the latest update.
member | Member information.
userVolatData | User setting data, which is set by parent using `MB_SetUserVolatData`.

## Description

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

## See Also

MB_FakeStartScanParent

## Revision History

11/25/2004 Initial version.