/*************************************************************************************************** Convert from NINGEN (piano_tooth) ****************************************************************************************************/ #define piano_tooth_AMB_SCALE 0.3 #define ShapeColor_piano_tooth(R,G,B) {{R*piano_tooth_AMB_SCALE ,G*piano_tooth_AMB_SCALE ,B*piano_tooth_AMB_SCALE ,0 ,R*piano_tooth_AMB_SCALE ,G*piano_tooth_AMB_SCALE ,B*piano_tooth_AMB_SCALE ,0 },{ R, G, B, 0, R, G, B, 0, LIGHT_X, LIGHT_Y, LIGHT_Z, 0} } static Lights1 light_piano_tooth[] = { ShapeColor_piano_tooth(255,255,255), }; static Vtx vtx_piano_tooth_0[] = { { 0, 0, 609, 0, 17, 776, 0, 126, 0, 255}, { 834, -2, -523, 0, 529, 420, 0, 126, 0, 255}, { 626, -1, -740, 0, 566, 662, 0, 126, 0, 255}, { 0, 0, 609, 0, 17, 776, 0, 127, 0, 255}, { 201, 0, -740, 0, 495, 1020, 0, 127, 0, 255}, { 0, 0, -523, 0, 390, 1124, 0, 127, 0, 255}, { 201, 0, -740, 0, 495, 1020, 0, 126, 0, 255}, { 1136, -2, 140, 0, 361, -38, 0, 126, 0, 255}, { 887, -2, -47, 0, 381, 228, 0, 126, 0, 255}, { 1136, -2, 609, 0, 206, -184, 0, 126, 0, 255}, }; static Vtx vtx_piano_tooth_1[] = { { 641, -4, 600, 0, -344, 224, 0, 0, 127, 255}, { 721, -189, 600, 0, 920, 884, 0, 0, 127, 255}, { 802, -5, 600, 0, 536, -572, 0, 0, 127, 255}, { 2, -2, 600, 0, 998, 390, 0, 0, 127, 255}, { 83, -135, 600, 0, 22, 878, 0, 0, 127, 255}, { 163, -3, 600, 0, 136, -574, 0, 0, 127, 255}, { 160, -3, 600, 0, -78, 226, 0, 0, 127, 255}, { 241, -164, 600, 0, 1000, 906, 0, 0, 127, 255}, { 321, -3, 600, 0, 876, -476, 0, 0, 127, 255}, { 320, -3, 600, 0, -370, 262, 0, 0, 127, 255}, { 401, -189, 600, 0, 1036, 966, 0, 0, 127, 255}, { 482, -4, 600, 0, 588, -652, 0, 0, 127, 255}, { 479, -4, 600, 0, -184, 116, 0, 0, 127, 255}, { 559, -211, 600, 0, 914, 830, 0, 0, 127, 255}, { 640, -4, 600, 0, 566, -574, 0, 0, 127, 255}, { 1126, -6, 337, 0, 68, 134, 126, -13, 0, 255}, { 1110, -157, 267, 0, 728, 892, 126, -13, 0, 255}, { 1126, -6, 198, 0, 726, -548, 126, -13, 0, 255}, { 799, -5, 600, 0, 14, 114, 0, 0, 127, 255}, { 880, -164, 600, 0, 904, 824, 0, 0, 127, 255}, { 961, -5, 600, 0, 868, -900, 0, 0, 127, 255}, { 959, -5, 600, 0, -42, 174, 0, 0, 127, 255}, { 1040, -156, 600, 0, 982, 896, 0, 0, 127, 255}, { 1120, -5, 600, 0, 974, -680, 0, 0, 127, 255}, { 1126, -6, 598, 0, -22, 132, 126, -13, 0, 255}, { 1110, -159, 541, 0, 690, 890, 126, -13, 0, 255}, { 1126, -6, 472, 0, 574, -626, 126, -13, 0, 255}, { 1126, -6, 475, 0, -38, 232, 126, -13, 0, 255}, { 1110, -152, 405, 0, 764, 754, 126, -13, 0, 255}, { 1126, -6, 336, 0, 650, -482, 126, -13, 0, 255}, { 435, -4, -728, 0, 90, 138, 0, 0, -127, 255}, { 354, -123, -728, 0, 858, 806, 0, 0, -127, 255}, { 274, -3, -728, 0, 978, -868, 0, 0, -127, 255}, { 1126, -6, 201, 0, 120, -18, 107, 3, -68, 255}, { 1097, -151, 148, 0, 816, 786, 107, 3, -68, 255}, { 1059, -5, 96, 0, 662, -828, 107, 3, -68, 255}, { 1059, -5, 97, 0, 182, 198, 60, 5, -111, 255}, { 1007, -140, 62, 0, 808, 914, 60, 5, -111, 255}, { 933, -5, 28, 0, 958, -596, 60, 5, -111, 255}, { 935, -5, 29, 0, -62, 182, 103, -2, -72, 255}, { 895, -134, -23, 0, 834, 682, 103, -2, -72, 255}, { 860, -5, -78, 0, 694, -694, 103, -2, -72, 255}, { 860, -5, -78, 0, 128, 310, 126, 1, -13, 255}, { 854, -119, -147, 0, 746, 928, 126, 1, -13, 255}, { 845, -5, -216, 0, 712, -528, 126, 1, -13, 255}, { 845, -5, -216, 0, 10, 306, 126, 2, -11, 255}, { 841, -123, -288, 0, 828, 886, 126, 2, -11, 255}, { 831, -5, -368, 0, 878, -954, 126, 2, -11, 255}, { 594, -4, -728, 0, -258, 222, 0, 0, -127, 255}, { 513, -123, -728, 0, 840, 686, 0, 0, -127, 255}, { 433, -3, -728, 0, 838, -766, 0, 0, -127, 255}, { 707, -4, -612, 0, -84, 164, 90, 0, -88, 255}, { 651, -123, -670, 0, 866, 834, 90, 0, -88, 255}, { 594, -4, -728, 0, 992, -908, 90, 0, -88, 255}, { 817, -5, -501, 0, -268, 128, 90, 0, -89, 255}, { 759, -123, -559, 0, 872, 820, 90, 0, -89, 255}, { 707, -4, -612, 0, 826, -972, 90, 0, -89, 255}, { 831, -5, -368, 0, 166, 88, 126, 2, -13, 255}, { 828, -123, -421, 0, 836, 872, 126, 2, -13, 255}, { 817, -5, -501, 0, 818, -724, 126, 2, -13, 255}, }; static Gfx gfx_piano_tooth_0[] = { gs_Tani_LoadTextureImage2(piano_surface_txt, G_IM_FMT_RGBA, G_IM_SIZ_16b, 16, 32, 0, 7), gsSPLight((&light_piano_tooth[0].l[0]),1 ), gsSPLight((&light_piano_tooth[0].a ),2 ), gsSPVertex(&vtx_piano_tooth_0[0], 10, 0), gsSP1Triangle( 0, 1, 2, 0), gsSP1Triangle( 3, 4, 5, 0), gsSP1Triangle( 0, 2, 6, 0), gsSP1Triangle( 0, 7, 8, 0), gsSP1Triangle( 0, 8, 1, 0), gsSP1Triangle( 0, 9, 7, 0), gsSPEndDisplayList() }; static Gfx gfx_piano_tooth_1[] = { gs_Tani_LoadTextureImage2(piano_ha_txt, G_IM_FMT_RGBA, G_IM_SIZ_16b, 32, 32, 0, 7), gsSPVertex(&vtx_piano_tooth_1[0], 15, 0), gsSP1Triangle( 0, 1, 2, 0), gsSP1Triangle( 3, 4, 5, 0), gsSP1Triangle( 6, 7, 8, 0), gsSP1Triangle( 9,10,11, 0), gsSP1Triangle(12,13,14, 0), gsSPVertex(&vtx_piano_tooth_1[15], 15, 0), gsSP1Triangle( 0, 1, 2, 0), gsSP1Triangle( 3, 4, 5, 0), gsSP1Triangle( 6, 7, 8, 0), gsSP1Triangle( 9,10,11, 0), gsSP1Triangle(12,13,14, 0), gsSPVertex(&vtx_piano_tooth_1[30], 15, 0), gsSP1Triangle( 0, 1, 2, 0), gsSP1Triangle( 3, 4, 5, 0), gsSP1Triangle( 6, 7, 8, 0), gsSP1Triangle( 9,10,11, 0), gsSP1Triangle(12,13,14, 0), gsSPVertex(&vtx_piano_tooth_1[45], 15, 0), gsSP1Triangle( 0, 1, 2, 0), gsSP1Triangle( 3, 4, 5, 0), gsSP1Triangle( 6, 7, 8, 0), gsSP1Triangle( 9,10,11, 0), gsSP1Triangle(12,13,14, 0), gsSPEndDisplayList() }; Gfx gfx_piano_tooth[] = { gsDPPipeSync(), gsDPSetCombineMode(G_CC_MODULATERGB, G_CC_MODULATERGB), gsSPClearGeometryMode(G_SHADING_SMOOTH|G_CULL_BACK), 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, 16, 32, 0, 0, G_TX_WRAP|G_TX_NOMIRROR, 4, G_TX_NOLOD, G_TX_WRAP|G_TX_NOMIRROR, 5, G_TX_NOLOD), gsSPDisplayList(gfx_piano_tooth_0), gs_Tani_SetUpTileDescrip(G_IM_FMT_RGBA, G_IM_SIZ_16b, 32, 32, 0, 0, G_TX_WRAP|G_TX_NOMIRROR, 5, G_TX_NOLOD, G_TX_WRAP|G_TX_NOMIRROR, 5, G_TX_NOLOD), gsSPDisplayList(gfx_piano_tooth_1), gsSPTexture(0xffff, 0xffff, 0, 0, G_OFF), gsDPPipeSync(), gsDPSetCombineMode(G_CC_SHADE, G_CC_SHADE), gsSPSetGeometryMode(G_SHADING_SMOOTH|G_CULL_BACK), gsSPEndDisplayList() };