# GXOamAttr

## 定義

  `#include <nitro/gx/g2_oam.h>`

      typedef struct
      {
          union
          {
              u32 attr01;
              struct
              {
                  u16 attr0;
                  u16 attr1;
              };
              struct
              {
                  u32 y:8;
                  u32 rsMode:2;
                  u32 objMode:2;
                  u32 mosaic:1;
                  u32 colorMode:1;
                  u32 shape:2;

                  u32 x:9;
                  u32 rsParam:5;
                  u32 size:2;
              };
              struct
              {
                  u32 _0:28;
                  u32 flipH:1;
                  u32 flipV:1;
                  u32 _1:2;
              };
          };
          union
          {
              struct
              {
                  u16 attr2;
                  u16 _3;
              };
              u32 attr23;
              struct
              {
                  u32 charNo:10;
                  u32 priority:2;
                  u32 cParam:4;
                  u32 _2:16;
              };
          };
      }
      GXOamAttr;

## 要素

y | Y座標
rsMode | アフィン変換フラグ(アフィン変換のON/OFF, 倍角のON/OFF)
objMode | OBJモード
GX_OAM_MODE_NORMAL | ノーマルOBJ
GX_OAM_MODE_XLU | 半透明OBJ
GX_OAM_MODE_OBJWND | OBJウィンドウ
GX_OAM_MODE_BITMAPOBJ | ビットマップOBJ
mosaic | モザイクの有無
colorMode | カラーモード
GX_OAM_COLORMODE_16 | 16色モード
GX_OAM_COLORMODE_256 | 256色モード
shape | OBJの形状
x | X座標
rsParam | アフィン変換パラメータの選択
size | OBJサイズ
flipH | Hフリップフラグ(アフィン変換がOFFの場合)
flipV | Vフリップフラグ(アフィン変換がOFFの場合)
charNo | 先頭キャラクタネーム
priority | 表示優先順位
cParam | カラーパラメータ

## 説明

OAMのOBJアトリビュート0-2を操作するための構造体です。

u16及びu32のビットフィールドとして定義されていますので、実体がVRAM上に配置されている場合のメンバへのアクセスも問題ありません。

## 参照

G2_SetOBJAttr

## 履歴

2004/11/05 初版