/********************************************************************************
	Water Drop Gfx.
															[ Jan 20, ]
 ********************************************************************************/

/********************************************************************************/
/*	Vertex data.																*/
/********************************************************************************/
static Vtx vtx_waterdrop[] = {
	{ -8/2,    0, 0,  0,	   0<<6, 15<<6,		255, 255, 255, 255	},
	{  8/2,    0, 0,  0,	  15<<6, 15<<6,		255, 255, 255, 255	},
	{  8/2, 16/2, 0,  0,	  15<<6,  0<<6,		255, 255, 255, 255	},
	{ -8/2, 16/2, 0,  0,	   0<<6,  0<<6,		255, 255, 255, 255	}
};

static Vtx vtx_waterdrop_red[] = {
	{ -8/2,  0,   0,  0,	   0<<6, 15<<6,		255, 0, 0, 255	},
	{  8/2,  0,   0,  0,	  15<<6, 15<<6,		255, 0, 0, 255	},
	{  8/2, 16/2, 0,  0,	  15<<6,  0<<6,		255, 0, 0, 255	},
	{ -8/2, 16/2, 0,  0,	   0<<6,  0<<6,		255, 0, 0, 255	}
};



/********************************************************************************/
/*	Texture data.																*/
/********************************************************************************/
static unsigned short waterdrop_txt[] = {
    0x96bc,  0x96bc,  0x96bc,  0x96bc,  0x96bc,  0xa6bc,  0xa6bc,  0xa6bc,  0xa6bc,  0xa6bc,  0xa6bc,  0x96bc,  0x96bc,  0x96bc,  0x96bc,  0x96bc,  
    0x96bc,  0x96bc,  0x96bc,  0x96bc,  0xaefc,  0xdfbf,  0xefbf,  0xf7ff,  0xf7ff,  0xf7ff,  0xe7bf,  0xaefc,  0x96bc,  0x96bc,  0x96bc,  0x96bc,  
    0x96bc,  0x96bc,  0x96bc,  0xaefc,  0xdf7f,  0xf7ff,  0xffff,  0xffff,  0xffff,  0xffff,  0xffff,  0xe7bf,  0xaefc,  0x96bc,  0x96bc,  0x96bc,  
    0x96bc,  0x96bc,  0xaefc,  0xd77f,  0xf7ff,  0xf7ff,  0xffff,  0xffff,  0xffff,  0xffff,  0xffff,  0xffff,  0xe7bf,  0xaefc,  0x96bc,  0x96bc,  
    0x96bc,  0xa6fc,  0xd77f,  0xefbf,  0xf7ff,  0xf7ff,  0xffff,  0xffff,  0xffff,  0xffff,  0xffff,  0xffff,  0xffff,  0xe7bf,  0xaefc,  0x96bc,  
    0x9ebc,  0xc73e,  0xdfbf,  0xe7bf,  0xefbf,  0xf7ff,  0xffff,  0xffff,  0xffff,  0xffff,  0xffff,  0xffff,  0xffff,  0xffff,  0xe7be,  0xa6bc,  
    0x9ebc,  0xcf7f,  0xd77f,  0xdfbf,  0xefbf,  0xf7ff,  0xf7ff,  0xffff,  0xffff,  0xffff,  0xffff,  0xffff,  0xffff,  0xffff,  0xf7ff,  0xa6bc,  
    0x9ebc,  0xcf3f,  0xcf7f,  0xcf3d,  0xd77f,  0xe7bf,  0xf7ff,  0xf7ff,  0xf7ff,  0xffff,  0xffff,  0xffff,  0xffff,  0xffff,  0xf7ff,  0xa6bc,  
    0x9ebc,  0xc73d,  0xbf3d,  0xaefd,  0xaefd,  0xcf3f,  0xe7bf,  0xefbf,  0xefff,  0xf7ff,  0xf7ff,  0xf7ff,  0xffff,  0xffff,  0xefbf,  0xa6bc,  
    0x9ebc,  0xbf3d,  0xb6fd,  0xa6bd,  0xa6bd,  0xaefd,  0xbf3d,  0xcf7f,  0xdf7f,  0xe7bf,  0xe7bf,  0xefbf,  0xefff,  0xf7ff,  0xefbf,  0xa6bc,  
    0x9ebc,  0xbf3c,  0xbf3d,  0xaefd,  0x9ebd,  0x9ebd,  0x9ebd,  0xaefd,  0xbf3d,  0xbf3d,  0xbf3d,  0xd77f,  0xe7bf,  0xefbf,  0xdf7e,  0x9ebc,  
    0x96bc,  0xa6bc,  0xb6fd,  0xb6fd,  0xaebd,  0xa6bd,  0xa6fd,  0xa6fd,  0xaefd,  0x9ebd,  0xaefd,  0xcf7d,  0xdf7f,  0xcf7f,  0xaefc,  0x96bc,  
    0x96bc,  0x96bc,  0x9ebc,  0xaefd,  0xb6fd,  0xaefd,  0xaefd,  0xaefd,  0xb6fd,  0xb6fd,  0xbf3d,  0xcf7f,  0xc73d,  0xa6fc,  0x96bc,  0x96bc,  
    0x96bc,  0x96bc,  0x96bc,  0x9ebc,  0xaefd,  0xbefd,  0xb6fd,  0xbefd,  0xbf3d,  0xc73d,  0xcf7f,  0xc73d,  0xa6bc,  0x96bc,  0x96bc,  0x96bc,  
    0x96bc,  0x96bc,  0x96bc,  0x96bc,  0x9ebc,  0xb6fd,  0xbf3d,  0xbf3d,  0xc73d,  0xc73f,  0xc73d,  0xa6bc,  0x96bc,  0x96bc,  0x96bc,  0x96bc,  
    0x96bc,  0x96bc,  0x96bc,  0x96bc,  0x96bc,  0x9ebc,  0x9ebc,  0x9ebc,  0x9ebc,  0x9ebc,  0x9ebc,  0x96bc,  0x96bc,  0x96bc,  0x96bc,  0x96bc,  
};

/********************************************************************************/
/*	Graphic display list.														*/
/********************************************************************************/
static Gfx gfx_waterdrop_init[] = {
	gsDPPipeSync(),
	gsSPClearGeometryMode(G_LIGHTING),
    gsDPSetCombineMode(G_CC_MODULATERGBA, G_CC_MODULATERGBA),
    gsSPTexture(0x8000, 0x8000, 0, G_TX_RENDERTILE, G_ON),
    gsDPLoadTextureBlock(waterdrop_txt, G_IM_FMT_RGBA, G_IM_SIZ_16b, 16, 16, 0,
						  G_TX_CLAMP|G_TX_NOMIRROR, G_TX_CLAMP|G_TX_NOMIRROR,
						  4, 4, G_TX_NOLOD, G_TX_NOLOD),
	gsSPEndDisplayList()
};

static Gfx gfx_waterdrop_reset[] = {
	gsSP1Triangle(0, 1, 2, 0),
	gsSP1Triangle(0, 2, 3, 0),
	gsDPPipeSync(),
    gsSPTexture(1, 1, 0, G_TX_RENDERTILE, G_OFF),
    gsDPSetCombineMode(G_CC_SHADE, G_CC_SHADE),
	gsSPSetGeometryMode(G_LIGHTING),
	gsSPEndDisplayList()
};

Gfx gfx_waterdrop[] = {
	gsSPDisplayList(gfx_waterdrop_init),
	gsSPVertex(&vtx_waterdrop[0], 4, 0),
	gsSPBranchList(gfx_waterdrop_reset)
};

Gfx gfx_waterdrop_red[] = {
	gsSPDisplayList(gfx_waterdrop_init),
	gsSPVertex(&vtx_waterdrop_red[0], 4, 0),
	gsSPBranchList(gfx_waterdrop_reset)
};
