#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 coordinate | |
rsMode | Affine transform flag (affine transform ON/OFF, double-size ON/OFF) | |
objMode | OBJ mode | |
GX_OAM_MODE_NORMAL | Normal OBJ | |
GX_OAM_MODE_XLU | Translucent OBJ | |
GX_OAM_MODE_OBJWND | OBJ window | |
GX_OAM_MODE_BITMAPOBJ | Bitmap OBJ | |
mosaic | Mosaic enable/disable | |
colorMode | Color mode | |
GX_OAM_COLORMODE_16 | 16-color mode | |
GX_OAM_COLORMODE_256 | 256-color mode | |
shape | Shape of OBJ | |
x | X coordinate | |
rsParam | Affine transform parameter selection | |
size | OBJ size | |
flipH | H-flip flag (when affine transform is OFF) | |
flipV | V-flip flag (when affine transform is OFF) | |
charNo | First character name | |
priority | Display order of priority | |
cParam | Color parameter |
This structure is for manipulating OAM's OBJ attributes 0-2.
Because members are defined as u16 and u32 bit fields, they can be accessed even when the structure is stored in VRAM.
11/05/2004 Initial version.