/******************************************************************************** RCP_HmsGrassPiece [ Nob 16, 1995 ] ********************************************************************************/ #define GRASS_ONE_SIDE_HALF 10 /********************************************************************************/ /* Vertex data. */ /********************************************************************************/ static Vtx vtx_grass[] = { { -GRASS_ONE_SIDE_HALF, -GRASS_ONE_SIDE_HALF, 0, 0, 0<<5, 15<<5, 255, 255, 255, 255 }, { GRASS_ONE_SIDE_HALF, -GRASS_ONE_SIDE_HALF, 0, 0, 15<<5, 15<<5, 255, 255, 255, 255 }, { GRASS_ONE_SIDE_HALF, GRASS_ONE_SIDE_HALF, 0, 0, 15<<5, 0<<5, 255, 255, 255, 255 }, { -GRASS_ONE_SIDE_HALF, GRASS_ONE_SIDE_HALF, 0, 0, 0<<5, 0<<5, 255, 255, 255, 255 }, }; /********************************************************************************/ /* Texture data. */ /********************************************************************************/ static unsigned short grass_piece_txt[] = { 0x0b42, 0x0b42, 0x0b42, 0x0b42, 0x0b42, 0x0b42, 0x0b42, 0x0b42, 0x0b42, 0x0b42, 0x0b42, 0x0b42, 0x0b42, 0x0b42, 0x0b42, 0x0b42, 0x0b42, 0x0b42, 0x0b42, 0x0b42, 0x0b42, 0x0b42, 0x0b42, 0x0483, 0x0483, 0x0b42, 0x0b42, 0x0b42, 0x0b42, 0x0b42, 0x0b42, 0x0b42, 0x0b42, 0x0b42, 0x0b42, 0x0b42, 0x0b42, 0x0b42, 0x0483, 0x03c1, 0x0401, 0x0483, 0x0b42, 0x0b42, 0x0b42, 0x0b42, 0x0b42, 0x0b42, 0x0b42, 0x0b42, 0x0b42, 0x0b42, 0x0b42, 0x0c85, 0x03c1, 0x0403, 0x0441, 0x0403, 0x0cc3, 0x0b42, 0x0b42, 0x0b42, 0x0b42, 0x0b42, 0x0b42, 0x0b42, 0x0b42, 0x0b42, 0x0c85, 0x0383, 0x0403, 0x0443, 0x0483, 0x0443, 0x0c03, 0x1d09, 0x0b42, 0x0b42, 0x0b42, 0x0b42, 0x0b42, 0x0b42, 0x0b42, 0x0b42, 0x0381, 0x0c03, 0x0443, 0x0443, 0x0483, 0x0503, 0x0443, 0x0c85, 0x0b42, 0x0b42, 0x0b42, 0x0b42, 0x0b42, 0x0b42, 0x0b42, 0x0c85, 0x03c3, 0x0483, 0x04c3, 0x0483, 0x0483, 0x0543, 0x0503, 0x0483, 0x0c85, 0x0b42, 0x0b42, 0x0b42, 0x0b42, 0x0b42, 0x0b42, 0x0b43, 0x0483, 0x0543, 0x0583, 0x04c3, 0x0483, 0x0543, 0x0583, 0x0543, 0x0403, 0x0b42, 0x0b42, 0x0b42, 0x0b42, 0x0b42, 0x0b42, 0x0383, 0x0503, 0x05c3, 0x05c5, 0x04c3, 0x0483, 0x0503, 0x0583, 0x0583, 0x0443, 0x0b42, 0x0b42, 0x0b42, 0x0b42, 0x0b42, 0x0b42, 0x0bc3, 0x0583, 0x05c5, 0x05c3, 0x0483, 0x0403, 0x0503, 0x0543, 0x0583, 0x0483, 0x0b42, 0x0b42, 0x0b42, 0x0b42, 0x0b42, 0x0b42, 0x0bc5, 0x0503, 0x05c5, 0x0543, 0x04c3, 0x03c3, 0x04c3, 0x0543, 0x0543, 0x0c85, 0x0b42, 0x0b42, 0x0b42, 0x0b42, 0x0b42, 0x0b42, 0x0b43, 0x0403, 0x0503, 0x04c3, 0x0403, 0x0383, 0x0483, 0x04c3, 0x0c43, 0x1407, 0x0b42, 0x0b42, 0x0b42, 0x0b42, 0x0b42, 0x0b42, 0x0b42, 0x0341, 0x0381, 0x03c1, 0x03c3, 0x0383, 0x0401, 0x03c1, 0x0b85, 0x0b42, 0x0b42, 0x0b42, 0x0b42, 0x0b42, 0x0b42, 0x0b42, 0x0b42, 0x0b42, 0x0281, 0x02c1, 0x0301, 0x0343, 0x02c1, 0x0ac3, 0x0b42, 0x0b42, 0x0b42, 0x0b42, 0x0b42, 0x0b42, 0x0b42, 0x0b42, 0x0b42, 0x0b42, 0x0b42, 0x02c1, 0x02c1, 0x02c1, 0x02c1, 0x0b42, 0x0b42, 0x0b42, 0x0b42, 0x0b42, 0x0b42, 0x0b42, 0x0b42, 0x0b42, 0x0b42, 0x0b42, 0x0b42, 0x0b42, 0x0b42, 0x0b42, 0x0b42, 0x0b42, 0x0b42, 0x0b42, 0x0b42, 0x0b42, 0x0b42, }; /********************************************************************************/ /* Graphic display list. */ /********************************************************************************/ Gfx RCP_grass_piece[] = { gsDPPipeSync(), gsSPClearGeometryMode(G_LIGHTING | G_CULL_BACK), gsDPSetCombineMode(G_CC_DECALRGBA, G_CC_DECALRGBA), gsSPTexture(0xffff, 0xffff, 0, G_TX_RENDERTILE, G_ON), gsDPLoadTextureBlock(grass_piece_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), gsSPVertex(&vtx_grass[0], 4, 0), gsSP1Triangle(0, 1, 2, 0), gsSP1Triangle(0, 2, 3, 0), gsSPTexture(0xffff, 0xffff, 0, G_TX_RENDERTILE, G_OFF), gsSPSetGeometryMode(G_LIGHTING | G_CULL_BACK), gsDPSetCombineMode(G_CC_SHADE, G_CC_SHADE), gsSPEndDisplayList() };