/*
 * $Id: bg_oam.h,v 1.1 2003/02/07 18:15:44 wheeler Exp $
 *
 * oam´ðËÜÄêµÁ
 *
 * $Log: bg_oam.h,v $
 * Revision 1.1  2003/02/07 18:15:44  wheeler
 * Fox's version of libultra and friends.
 *
 * Revision 1.1  1996/11/21  05:47:14  hayakawa
 * Initial revision
 *
 *
 */

#ifndef __BG_OAM_H_
#define __BG_OAM_H_

#if 1
#define oam_isenable(p1) 		(!((p1)->attr & BG_HIDDEN))
#define oam_enable(p1) 		((p1)->attr &= ~BG_HIDDEN)
#define oam_disable(p1) 		((p1)->attr |= BG_HIDDEN)
#else
#define oam_isenable(p1) 		((p1)->hidden == 0)
#define oam_enable(p1) 			((p1)->hidden = 0)
#define oam_disable(p1) 		((p1)->hidden = 1)
#endif
#define oam_setName(p1, n1) 		((p1)->name = (n1))
#define oam_getName(p1) 		((p1)->name)
#define oam_moveXY(p1, x1, y1) 		((p1)->xPos += (x1), (p1)->yPos += (y1))
#define oam_moveXYZ(p1, x1, y1, z1) 	((p1)->xPos += (x1), (p1)->yPos += (y1), (p1)->zdepth += (z1))
#define oam_setPosition(p1, x1, y1) 	((p1)->xPos = (x1), (p1)->yPos = (y1))
#define oam_setPositionX(p1, x1) 	((p1)->xPos = (x1))
#define oam_setPositionY(p1, y1) 	((p1)->yPos = (y1))
#define oam_setPosition3(p1, x1, y1, z1) ((p1)->xPos = (x1), (p1)->yPos = (y1), (p1)->zdepth = (z1))
#define oam_getPositionX(p1)   		((p1)->xPos)
#define oam_getPositionY(p1)   		((p1)->yPos)
#define oam_getZdepth(p1)   		((p1)->zdepth)
#define oam_setScale(p1, x1, y1) 	((p1)->xScale = (x1), (p1)->yScale = (y1))
#define oam_hFlip(p1) 			((p1)->xScale *= -1.0f)
#define oam_vFlip(p1) 			((p1)->yScale *= -1.0f)
#define oam_setZpos(p1, z1) 		((p1)->zPos = (z1))
#define oam_getBitmap(p1) 		((p1)->bitmap)
#define oam_setBitmap(p1, b1) 		((p1)->bitmap = (b1))
#define oam_setMatrix(p1, m1) 		((p1)->matrix = (m1))
#define oam_getMatrix(p1) 		((p1)->matrix)
#define oam_setGfx(p1, g1) 		((p1)->gfx = (g1))
#define oam_getGfx(p1) 			((p1)->gfx)
#define oam_setRenderMode(p1, r1) 	((p1)->rendmode = (r1))
#define oam_getRenderMode(p1) 		((p1)->rendmode)
#define oam_setPrimColor(p1, r1, g1, b1, a1) ((p1)->primcolor.c.r = (r1), (p1)->primcolor.c.g = (g1), (p1)->primcolor.c.b = (b1), (p1)->primcolor.c.a = (a1))
#define oam_setPrimColor_rgba8888(p1, rgba8888) ((p1)->primcolor.rgba8888.c = (rgba8888))
#define oam_setEnvColor(p1, r1, g1, b1, a1) ((p1)->envcolor.c.r = (r1), (p1)->envcolor.c.g = (g1), (p1)->envcolor.c.b = (b1), (p1)->envcolor.c.a = (a1))
#define oam_setEnvColor_rgba8888(p1, rgba8888) ((p1)->envcolor.rgba8888.c = (rgba8888))

#endif /* __BG_OAM_H_ */
