/*************************************************************************************************** Convert from NINGEN (nes_jaw) ****************************************************************************************************/ #define nes_jaw_AMB_SCALE 0.5 #define ShapeColor_nes_jaw(R,G,B) {{R*nes_jaw_AMB_SCALE ,G*nes_jaw_AMB_SCALE ,B*nes_jaw_AMB_SCALE ,0 ,R*nes_jaw_AMB_SCALE ,G*nes_jaw_AMB_SCALE ,B*nes_jaw_AMB_SCALE ,0 },{ R, G, B, 0, R, G, B, 0, LIGHT_X, LIGHT_Y, LIGHT_Z, 0} } static Lights1 light_nes_jaw[] = { ShapeColor_nes_jaw(255,255,255), }; static Vtx vtx_nes_jaw_0[] = { { 442, 17, -243, 0, 220, 696, -37, -120, 11, 255}, { 442, 17, 253, 0, 716, 696, -33, -122, -10, 255}, { -109, -18, 237, 0, 700, 208, -19, -125, 6, 255}, { -109, -18, -227, 0, 236, 208, -16, -125, -3, 255}, { 390, -29, -460, 0, 2, 658, 33, -74, -97, 255}, { 677, -171, 253, 0, 716, 936, 38, -119, 20, 255}, { 677, -171, -243, 0, 220, 936, 33, -117, -33, 255}, { 390, -29, 470, 0, 932, 658, 39, -48, 110, 255}, { -93, 25, 516, 0, 978, 216, -14, -101, 75, 255}, { -345, 87, 467, 0, 928, -20, -94, -38, 76, 255}, { -345, 87, -456, 0, 6, -20, -103, -49, -53, 255}, { -93, 23, -481, 0, -18, 216, -17, -81, -95, 255}, }; static Vtx vtx_nes_jaw_1[] = { { -272, 375, 253, 0, -80, 1972, -68, 102, 28, 255}, { -345, 87, -456, 0, 58, 2052, -103, -49, -53, 255}, { -345, 87, 467, 0, -122, 2052, -94, -38, 76, 255}, { 456, 72, 416, 0, -112, 1164, 68, 53, 92, 255}, { 708, 9, 173, 0, -64, 884, 107, 36, 57, 255}, { 498, 236, 173, 0, -64, 1120, 67, 103, 29, 255}, { -28, 276, 501, 0, -128, 1704, 9, 72, 104, 255}, { 3, 403, -243, 0, 16, 1668, 15, 124, -20, 255}, { 498, 236, -165, 0, 0, 1120, 65, 100, -41, 255}, { 3, 403, 253, 0, -80, 1668, 15, 122, 30, 255}, { 708, 9, -164, 0, 0, 884, 114, 36, -41, 255}, { 390, -29, 470, 0, -122, 1240, 39, -48, 110, 255}, { -93, 25, 516, 0, -132, 1776, -14, -101, 75, 255}, { -93, 23, -481, 0, 62, 1776, -17, -81, -95, 255}, { -28, 276, -491, 0, 64, 1704, 9, 68, -106, 255}, { 677, -171, 253, 0, -80, 920, 38, -119, 20, 255}, { 498, 236, -165, 0, 0, 1120, 65, 100, -41, 255}, { 456, 72, -407, 0, 48, 1164, 68, 52, -92, 255}, { -28, 276, -491, 0, 64, 1704, 9, 68, -106, 255}, { -272, 375, -243, 0, 16, 1972, -60, 103, -42, 255}, { 3, 403, -243, 0, 16, 1668, 15, 124, -20, 255}, { 390, -29, -460, 0, 58, 1240, 33, -74, -97, 255}, { -93, 23, -481, 0, 62, 1776, -17, -81, -95, 255}, { -272, 375, 253, 0, -80, 1972, -68, 102, 28, 255}, { 708, 9, -164, 0, 0, 884, 114, 36, -41, 255}, { 708, 9, 173, 0, -64, 884, 107, 36, 57, 255}, { 677, -171, 253, 0, -80, 920, 38, -119, 20, 255}, { 677, -171, -243, 0, 16, 920, 33, -117, -33, 255}, { -345, 87, -456, 0, 58, 2052, -103, -49, -53, 255}, }; static Gfx gfx_nes_jaw_0[] = { gs_Tani_LoadTextureImage2(nes_tongue_txt, G_IM_FMT_RGBA, G_IM_SIZ_16b, 32, 32, 0, 7), gsSPLight((&light_nes_jaw[0].l[0]),1 ), gsSPLight((&light_nes_jaw[0].a ),2 ), gsSPVertex(&vtx_nes_jaw_0[0], 12, 0), gsSP1Triangle( 0, 1, 2, 0), gsSP1Triangle( 0, 2, 3, 0), gsSP1Triangle( 4, 0, 3, 0), gsSP1Triangle( 0, 5, 1, 0), gsSP1Triangle( 0, 6, 5, 0), gsSP1Triangle( 4, 6, 0, 0), gsSP1Triangle( 1, 5, 7, 0), gsSP1Triangle( 8, 1, 7, 0), gsSP1Triangle( 8, 2, 1, 0), gsSP1Triangle( 8, 9, 2, 0), gsSP1Triangle( 2,10, 3, 0), gsSP1Triangle( 2, 9,10, 0), gsSP1Triangle( 3,10,11, 0), gsSP1Triangle( 4, 3,11, 0), gsSPEndDisplayList() }; static Gfx gfx_nes_jaw_1[] = { gs_Tani_LoadTextureImage2(nes_skinC_txt, G_IM_FMT_RGBA, G_IM_SIZ_16b, 32, 64, 0, 7), gsSPVertex(&vtx_nes_jaw_1[0], 16, 0), gsSP1Triangle( 0, 1, 2, 0), gsSP1Triangle( 3, 4, 5, 0), gsSP1Triangle( 6, 3, 5, 0), gsSP1Triangle( 7, 5, 8, 0), gsSP1Triangle( 7, 9, 5, 0), gsSP1Triangle( 5, 9, 6, 0), gsSP1Triangle( 5,10, 8, 0), gsSP1Triangle( 5, 4,10, 0), gsSP1Triangle( 0, 6, 9, 0), gsSP1Triangle( 7, 0, 9, 0), gsSP1Triangle(11, 3, 6, 0), gsSP1Triangle( 6,12,11, 0), gsSP1Triangle( 6, 0, 2, 0), gsSP1Triangle( 6, 2,12, 0), gsSP1Triangle(13, 1,14, 0), gsSP1Triangle(14, 7, 8, 0), gsSP1Triangle( 4, 3,11, 0), gsSP1Triangle(11,15, 4, 0), gsSPVertex(&vtx_nes_jaw_1[16], 13, 0), gsSP1Triangle( 0, 1, 2, 0), gsSP1Triangle( 2, 3, 4, 0), gsSP1Triangle( 5, 6, 2, 0), gsSP1Triangle( 2, 1, 5, 0), gsSP1Triangle( 4, 3, 7, 0), gsSP1Triangle( 8, 1, 0, 0), gsSP1Triangle( 8, 9,10, 0), gsSP1Triangle( 8,10,11, 0), gsSP1Triangle( 5, 1, 8, 0), gsSP1Triangle( 8,11, 5, 0), gsSP1Triangle( 7, 3,12, 0), gsSP1Triangle(12, 3, 2, 0), gsSPEndDisplayList() }; Gfx gfx_nes_jaw[] = { gsDPPipeSync(), gsDPSetCycleType(G_CYC_2CYCLE), gsDPSetRenderMode(G_RM_FOG_SHADE_A, G_RM_AA_ZB_OPA_SURF2), gsDPSetDepthSource(G_ZS_PIXEL), gsDPSetFogColor(STAGE7_NESSY_FOG_R, STAGE7_NESSY_FOG_G, STAGE7_NESSY_FOG_B, 255), gsSPFogPosition(STAGE7_NESSY_FOG_START, 1000), gsSPSetGeometryMode(G_FOG), gsDPSetCombineMode(G_CC_MODULATERGB, G_CC_PASS2), 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), gsSPDisplayList(gfx_nes_jaw_0), gs_Tani_SetUpTileDescrip(G_IM_FMT_RGBA, G_IM_SIZ_16b, 32, 64, 0, 0, G_TX_WRAP|G_TX_NOMIRROR, 5, G_TX_NOLOD, G_TX_WRAP|G_TX_NOMIRROR, 6, G_TX_NOLOD), gsSPDisplayList(gfx_nes_jaw_1), gsSPTexture(0xffff, 0xffff, 0, 0, G_OFF), gsDPPipeSync(), gsDPSetCycleType(G_CYC_1CYCLE), gsDPSetRenderMode(G_RM_AA_ZB_OPA_SURF, G_RM_AA_ZB_OPA_SURF), gsSPClearGeometryMode(G_FOG), gsDPSetCombineMode(G_CC_SHADE, G_CC_SHADE), gsSPEndDisplayList() };