/*************************************************************************************************** Convert from NINGEN (ping_head) ****************************************************************************************************/ #define ping_head_AMB_SCALE 0.4 #define ShapeColor_ping_head(R,G,B) {{R*ping_head_AMB_SCALE ,G*ping_head_AMB_SCALE ,B*ping_head_AMB_SCALE ,0 ,R*ping_head_AMB_SCALE ,G*ping_head_AMB_SCALE ,B*ping_head_AMB_SCALE ,0 },{ R, G, B, 0, R, G, B, 0, LIGHT_X, LIGHT_Y, LIGHT_Z, 0} } static Lights1 light_ping_head[] = { ShapeColor_ping_head( 11, 38,164), ShapeColor_ping_head(255,255,255), ShapeColor_ping_head(242,213, 28), }; static Vtx vtx_ping_head_0[] = { { 27, 97, 36, 0, 484, 1164, -84, 74, 58, 255}, { 79, 90, 42, 0, 696, -154, 50, 100, 59, 255}, { 57, 105, 0, 0, -440, 404, 49, 117, 0, 255}, { 41, 76, 60, 0, 1270, 804, -52, 37, 109, 255}, { 41, 76, -59, 0, 1262, 804, -52, 37, -109, 255}, { 27, 97, -35, 0, 476, 1164, -68, 80, -70, 255}, { 79, 90, -41, 0, 688, -154, 50, 100, -59, 255}, { 57, 105, 0, 0, -448, 404, 49, 117, 0, 255}, }; static Vtx vtx_ping_head_1[] = { { 26, 154, 0, 0, -468, 1134, 44, 119, -1, 255}, { 27, 97, 36, 0, 1974, 1130, -84, 74, 58, 255}, { 57, 105, 0, 0, 1030, -328, 49, 117, 0, 255}, { 27, 97, -35, 0, 1974, 1130, -68, 80, -70, 255}, }; static Vtx vtx_ping_head_2[] = { { 93, 17, 53, 0, 0, 0, 90, -22, 86, 255}, { 110, 55, 26, 0, 0, 0, 118, 32, 31, 255}, { 92, 64, 53, 0, 0, 0, 61, 30, 106, 255}, { 79, 90, 42, 0, 0, 0, 50, 100, 59, 255}, { 110, 55, -25, 0, 0, 0, 118, 32, -31, 255}, { 105, -5, 0, 0, 0, 0, 123, -27, 0, 255}, { 82, 99, 0, 0, 0, 0, 78, 99, 0, 255}, { 92, 64, -52, 0, 0, 0, 61, 30, -106, 255}, { 79, 90, -41, 0, 0, 0, 50, 100, -59, 255}, { 93, 17, -52, 0, 0, 0, 90, -21, -86, 255}, { 57, 105, 0, 0, 0, 0, 49, 117, 0, 255}, { 41, 76, -59, 0, 0, 0, -52, 37, -109, 255}, { 41, 76, 60, 0, 0, 0, -52, 37, 109, 255}, { 43, 4, -61, 0, 0, 0, -16, -29, -122, 255}, { 18, 10, 37, 0, 0, 0, -119, -7, 41, 255}, { 43, 4, 62, 0, 0, 0, -16, -29, 122, 255}, { 18, 10, -36, 0, 0, 0, -116, -7, -49, 255}, { 28, -96, 0, 0, 0, 0, -64, -109, 0, 255}, { 18, 10, 37, 0, 0, 0, -119, -7, 41, 255}, { 16, 58, -19, 0, 0, 0, -124, 13, -22, 255}, { 43, 4, 62, 0, 0, 0, -16, -29, 122, 255}, { 41, 76, 60, 0, 0, 0, -52, 37, 109, 255}, { 16, 58, 20, 0, 0, 0, -121, 12, 33, 255}, { 27, 97, 36, 0, 0, 0, -84, 74, 58, 255}, { 27, 97, -35, 0, 0, 0, -68, 80, -70, 255}, { 41, 76, -59, 0, 0, 0, -52, 37, -109, 255}, { 92, 64, 53, 0, 0, 0, 61, 30, 106, 255}, { 43, 4, -61, 0, 0, 0, -16, -29, -122, 255}, { 91, -35, -28, 0, 0, 0, 88, -67, -60, 255}, { 92, 64, -52, 0, 0, 0, 61, 30, -106, 255}, { 93, 17, -52, 0, 0, 0, 90, -21, -86, 255}, { 105, -5, 0, 0, 0, 0, 123, -27, 0, 255}, { 28, -96, 0, 0, 0, 0, -64, -109, 0, 255}, { 91, -35, -28, 0, 0, 0, 88, -67, -60, 255}, { 91, -35, 29, 0, 0, 0, 88, -68, 59, 255}, { 105, -5, 0, 0, 0, 0, 123, -27, 0, 255}, { 43, 4, 62, 0, 0, 0, -16, -29, 122, 255}, { 93, 17, 53, 0, 0, 0, 90, -22, 86, 255}, { 92, 64, 53, 0, 0, 0, 61, 30, 106, 255}, { 27, 97, 36, 0, 0, 0, -84, 74, 58, 255}, { 26, 154, 0, 0, 0, 0, 44, 119, -1, 255}, { 27, 97, -35, 0, 0, 0, -68, 80, -70, 255}, }; static Gfx gfx_ping_head_0[] = { gsSPLight((&light_ping_head[0].l[0]),1 ), gsSPLight((&light_ping_head[0].a ),2 ), gsSPVertex(&vtx_ping_head_0[0], 8, 0), gsSP1Triangle( 0, 1, 2, 0), gsSP1Triangle( 1, 0, 3, 0), gsSP1Triangle( 4, 5, 6, 0), gsSP1Triangle( 7, 6, 5, 0), gsSPEndDisplayList() }; static Gfx gfx_ping_head_1[] = { gsSPLight((&light_ping_head[1].l[0]),1 ), gsSPLight((&light_ping_head[1].a ),2 ), gsSPVertex(&vtx_ping_head_1[0], 4, 0), gsSP1Triangle( 0, 1, 2, 0), gsSP1Triangle( 3, 0, 2, 0), gsSPEndDisplayList() }; static Gfx gfx_ping_head_2[] = { gsSPLight((&light_ping_head[0].l[0]),1 ), gsSPLight((&light_ping_head[0].a ),2 ), gsSPVertex(&vtx_ping_head_2[0], 16, 0), gsSP1Triangle( 0, 1, 2, 0), gsSP1Triangle( 1, 3, 2, 0), gsSP1Triangle( 4, 1, 5, 0), gsSP1Triangle( 1, 4, 6, 0), gsSP1Triangle( 6, 3, 1, 0), gsSP1Triangle( 0, 5, 1, 0), gsSP1Triangle( 7, 8, 4, 0), gsSP1Triangle( 4, 5, 9, 0), gsSP1Triangle( 4, 8, 6, 0), gsSP1Triangle( 9, 7, 4, 0), gsSP1Triangle( 6, 8,10, 0), gsSP1Triangle(10, 3, 6, 0), gsSP1Triangle(11, 8, 7, 0), gsSP1Triangle(12, 2, 3, 0), gsSP1Triangle(13,11, 7, 0), gsSP1Triangle(12,14,15, 0), gsSPVertex(&vtx_ping_head_2[16], 16, 0), gsSP1Triangle( 0, 1, 2, 0), gsSP1Triangle( 0, 2, 3, 0), gsSP1Triangle( 1, 4, 2, 0), gsSP1Triangle( 5, 6, 2, 0), gsSP1Triangle( 2, 6, 3, 0), gsSP1Triangle( 5, 7, 6, 0), gsSP1Triangle( 3, 6, 7, 0), gsSP1Triangle( 8, 9, 3, 0), gsSP1Triangle( 7, 8, 3, 0), gsSP1Triangle( 0, 3, 9, 0), gsSP1Triangle( 5, 4,10, 0), gsSP1Triangle(11, 0, 9, 0), gsSP1Triangle(11, 1, 0, 0), gsSP1Triangle(12, 1,11, 0), gsSP1Triangle(11,13,14, 0), gsSP1Triangle(11,14,12, 0), gsSP1Triangle(15,12,14, 0), gsSPVertex(&vtx_ping_head_2[32], 7, 0), gsSP1Triangle( 0, 1, 2, 0), gsSP1Triangle( 1, 3, 2, 0), gsSP1Triangle( 4, 0, 2, 0), gsSP1Triangle( 5, 2, 3, 0), gsSP1Triangle( 2, 5, 4, 0), gsSP1Triangle( 4, 5, 6, 0), gsSPLight((&light_ping_head[2].l[0]),1 ), gsSPLight((&light_ping_head[2].a ),2 ), gsSPVertex(&vtx_ping_head_2[39], 3, 0), gsSP1Triangle( 0, 1, 2, 0), gsSPEndDisplayList() }; static Gfx gfx_ping_head_init[] = { gsDPPipeSync(), gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 0, 0, 7, 0, 0,0,0, 0,0,0), gsSPTexture(0xffff,0xffff, 0, 0, G_ON), gs_Tani_SetUpTileDescrip(G_IM_FMT_RGBA, G_IM_SIZ_16b, 32, 32, 0, 0, G_TX_CLAMP|G_TX_NOMIRROR, 5, G_TX_NOLOD, G_TX_CLAMP|G_TX_NOMIRROR, 5, G_TX_NOLOD), gsDPPipeSync(), gsDPSetCombineMode(G_CC_BLENDRGBA, G_CC_BLENDRGBA), gsSPEndDisplayList() }; static Gfx gfx_ping_head_reset[] = { gsSPDisplayList(gfx_ping_head_0), gsDPPipeSync(), gsDPSetCombineMode(G_CC_MODULATERGB, G_CC_MODULATERGB), gs_Tani_LoadTextureImage2(ping_mouth_txt, G_IM_FMT_RGBA, G_IM_SIZ_16b, 32, 32, 0, 7), gsSPDisplayList(gfx_ping_head_1), gsSPTexture(0xffff, 0xffff, 0, 0, G_OFF), gsDPPipeSync(), gsDPSetCombineMode(G_CC_SHADE, G_CC_SHADE), gsSPDisplayList(gfx_ping_head_2), gsSPEndDisplayList() }; /* -------------------------------------------------------------------------------------------- */ /* -------------------------------------------------------------------------------------------- */ Gfx RCP_ping_head_eye1[] = { gsSPDisplayList(gfx_ping_head_init), gs_Tani_LoadTextureImage2(ping_eye1_txt, G_IM_FMT_RGBA, G_IM_SIZ_16b, 32, 32, 0, 7), gsSPDisplayList(gfx_ping_head_reset), gsSPEndDisplayList() }; Gfx RCP_ping_head_eye2[] = { gsSPDisplayList(gfx_ping_head_init), gs_Tani_LoadTextureImage2(ping_eye2_txt, G_IM_FMT_RGBA, G_IM_SIZ_16b, 32, 32, 0, 7), gsSPDisplayList(gfx_ping_head_reset), gsSPEndDisplayList() }; Gfx RCP_ping_head_eye3[] = { gsSPDisplayList(gfx_ping_head_init), gs_Tani_LoadTextureImage2(ping_eye3_txt, G_IM_FMT_RGBA, G_IM_SIZ_16b, 32, 32, 0, 7), gsSPDisplayList(gfx_ping_head_reset), gsSPEndDisplayList() }; Gfx RCP_ping_head_eye4[] = { gsSPDisplayList(gfx_ping_head_init), gs_Tani_LoadTextureImage2(ping_eye4_txt, G_IM_FMT_RGBA, G_IM_SIZ_16b, 32, 32, 0, 7), gsSPDisplayList(gfx_ping_head_reset), gsSPEndDisplayList() }; Gfx RCP_ping_head_eye5[] = { gsSPDisplayList(gfx_ping_head_init), gs_Tani_LoadTextureImage2(ping_eye5_txt, G_IM_FMT_RGBA, G_IM_SIZ_16b, 32, 32, 0, 7), gsSPDisplayList(gfx_ping_head_reset), gsSPEndDisplayList() };