

#include <nitro/gx/g2_oam.h>
void G2_SetOBJAttr(
GXOamAttr * oam,
int x,
int y,
int priority,
GXOamMode mode,
BOOL mosaic,
GXOamEffect effect,
GXOamShape shape,
GXOamColorMode color,
int charName,
int cParam,
int rsParam
);| oam | OAMデータの格納場所へのポインタ |
| x | X座標 |
| y | Y座標 |
| priority | 表示優先順位(0〜3) |
| mode | OBJモード |
| mosaic | モザイクの有無 |
| effect | エフェクトの種類を指定 |
| shape | OBJの形状 |
| color | カラーモード(modeがビットマップOBJ時は16色モードのみ指定可能) |
| charName | 先頭キャラクタネーム(2次元マッピングモードかつ256色モードの場合は、偶数である必要があります) |
| cParam | カラーパラメータ(modeがビットマップOBJ時はα値、それ以外の場合はカラーパレットNo) |
| rsParam | アフィン変換パラメータインデックス(effectがアフィン・アフィン倍角表示の場合のみ有効) |
なし。
OBJの属性を一括設定します。この関数でOBJアトリビュート0,1,2の全てのビットを設定することができます。
GX_OAM_MODE_NORMAL |
ノーマルOBJ |
GX_OAM_MODE_XLU |
半透明OBJ |
GX_OAM_MODE_OBJWND |
OBJウィンドウ |
GX_OAM_MODE_BITMAPOBJ |
ビットマップOBJ |
GX_OAM_EFFECT_NONE |
effectなし |
GX_OAM_EFFECT_FLIP_H |
Hフリップ |
GX_OAM_EFFECT_FLIP_V |
Vフリップ |
GX_OAM_EFFECT_FLIP_HV |
HVフリップ |
GX_OAM_EFFECT_AFFINE |
アフィン |
GX_OAM_EFFECT_NODISPLAY |
非表示 |
GX_OAM_EFFECT_AFFINE_DOUBLE |
アフィン(倍角表示) |
GX_OAM_SHAPE_8x8 |
8x8ドット |
GX_OAM_SHAPE_16x16 |
16x16ドット |
GX_OAM_SHAPE_32x32 |
32x32ドット |
GX_OAM_SHAPE_64x64 |
64x64ドット |
GX_OAM_SHAPE_16x8 |
16x8ドット |
GX_OAM_SHAPE_32x8 |
32x8ドット |
GX_OAM_SHAPE_32x16 |
32x16ドット |
GX_OAM_SHAPE_64x32 |
64x32ドット |
GX_OAM_SHAPE_8x16 |
8x16ドット |
GX_OAM_SHAPE_8x32 |
8x32ドット |
GX_OAM_SHAPE_16x32 |
16x32ドット |
GX_OAM_SHAPE_32x64 |
32x64ドット |
GX_OAM_COLORMODE_16 |
16色モード |
GX_OAM_COLORMODE_256 |
256色モード |
以下に引数に使用される列挙型の型定義を示しておきます。
typedef enum
{
GX_OAM_MODE_NORMAL = 0,
GX_OAM_MODE_XLU = 1,
GX_OAM_MODE_OBJWND = 2,
GX_OAM_MODE_BITMAPOBJ = 3
}
GXOamMode;
typedef enum
{
GX_OAM_EFFECT_NONE =
(0 << GX_OAM_ATTR01_RSENABLE_SHIFT) | (0 << GX_OAM_ATTR01_HF_SHIFT) | (0 << GX_OAM_ATTR01_VF_SHIFT),
GX_OAM_EFFECT_FLIP_H =
(0 << GX_OAM_ATTR01_RSENABLE_SHIFT) | (1 << GX_OAM_ATTR01_HF_SHIFT) | (0 << GX_OAM_ATTR01_VF_SHIFT),
GX_OAM_EFFECT_FLIP_V =
(0 << GX_OAM_ATTR01_RSENABLE_SHIFT) | (0 << GX_OAM_ATTR01_HF_SHIFT) | (1 << GX_OAM_ATTR01_VF_SHIFT),
GX_OAM_EFFECT_FLIP_HV =
(0 << GX_OAM_ATTR01_RSENABLE_SHIFT) | (1 << GX_OAM_ATTR01_HF_SHIFT) | (1 << GX_OAM_ATTR01_VF_SHIFT),
GX_OAM_EFFECT_AFFINE = (1 << GX_OAM_ATTR01_RSENABLE_SHIFT),
GX_OAM_EFFECT_NODISPLAY = (2 << GX_OAM_ATTR01_RSENABLE_SHIFT),
GX_OAM_EFFECT_AFFINE_DOUBLE = (3 << GX_OAM_ATTR01_RSENABLE_SHIFT)
}
GXOamEffect;
typedef enum
{
GX_OAM_SHAPE_8x8 = (0 << GX_OAM_ATTR01_SHAPE_SHIFT) | (0 << GX_OAM_ATTR01_SIZE_SHIFT),
GX_OAM_SHAPE_16x16 = (0 << GX_OAM_ATTR01_SHAPE_SHIFT) | (1 << GX_OAM_ATTR01_SIZE_SHIFT),
GX_OAM_SHAPE_32x32 = (0 << GX_OAM_ATTR01_SHAPE_SHIFT) | (2 << GX_OAM_ATTR01_SIZE_SHIFT),
GX_OAM_SHAPE_64x64 = (0 << GX_OAM_ATTR01_SHAPE_SHIFT) | (3 << GX_OAM_ATTR01_SIZE_SHIFT),
GX_OAM_SHAPE_16x8 = (1 << GX_OAM_ATTR01_SHAPE_SHIFT) | (0 << GX_OAM_ATTR01_SIZE_SHIFT),
GX_OAM_SHAPE_32x8 = (1 << GX_OAM_ATTR01_SHAPE_SHIFT) | (1 << GX_OAM_ATTR01_SIZE_SHIFT),
GX_OAM_SHAPE_32x16 = (1 << GX_OAM_ATTR01_SHAPE_SHIFT) | (2 << GX_OAM_ATTR01_SIZE_SHIFT),
GX_OAM_SHAPE_64x32 = (1 << GX_OAM_ATTR01_SHAPE_SHIFT) | (3 << GX_OAM_ATTR01_SIZE_SHIFT),
GX_OAM_SHAPE_8x16 = (2 << GX_OAM_ATTR01_SHAPE_SHIFT) | (0 << GX_OAM_ATTR01_SIZE_SHIFT),
GX_OAM_SHAPE_8x32 = (2 << GX_OAM_ATTR01_SHAPE_SHIFT) | (1 << GX_OAM_ATTR01_SIZE_SHIFT),
GX_OAM_SHAPE_16x32 = (2 << GX_OAM_ATTR01_SHAPE_SHIFT) | (2 << GX_OAM_ATTR01_SIZE_SHIFT),
GX_OAM_SHAPE_32x64 = (2 << GX_OAM_ATTR01_SHAPE_SHIFT) | (3 << GX_OAM_ATTR01_SIZE_SHIFT)
}
GXOamShape;
typedef enum
{
GX_OAM_COLORMODE_16 = 0,
GX_OAM_COLORMODE_256 = 1
}
GXOamColorMode;
Ver. 2004/02/13
Ver. 2004/01/19