sm64/shape/enemy2_e/nokonoko/noko_head_shape.sou

325 lines
15 KiB
Plaintext

/***************************************************************************************************
Convert from NINGEN (noko_head)
****************************************************************************************************/
#define noko_head_AMB_SCALE 0.5
#define ShapeColor_noko_head(R,G,B) {{R*noko_head_AMB_SCALE ,G*noko_head_AMB_SCALE ,B*noko_head_AMB_SCALE ,0 ,R*noko_head_AMB_SCALE ,G*noko_head_AMB_SCALE ,B*noko_head_AMB_SCALE ,0 },{ R, G, B, 0, R, G, B, 0, LIGHT_X, LIGHT_Y, LIGHT_Z, 0} }
static Lights1 light_noko_head[] = {
ShapeColor_noko_head(255,255,255),
ShapeColor_noko_head(206, 22, 53),
};
static Vtx vtx_noko_head_0[] = {
{ 139, -4, 0, 0, 486, 684, 118, 45, 0, 255},
{ 133, -11, -56, 0, 8, 694, 56, 78, -82, 255},
{ 111, 2, -51, 0, 40, 976, 57, 13, -112, 255},
{ 155, -27, 49, 0, 908, 324, 87, 54, 73, 255},
{ 184, -56, 23, 0, 700, -64, 117, 24, 41, 255},
{ 133, -11, 56, 0, 962, 696, 57, 65, 92, 255},
{ 184, -56, -23, 0, 302, -66, 111, 35, -49, 255},
{ 111, 2, 52, 0, 918, 980, 57, 14, 112, 255},
{ 155, -27, -48, 0, 78, 322, 81, 46, -85, 255},
};
static Vtx vtx_noko_head_1[] = {
{ 10, 50, -36, 0, 796, 3890, -83, 72, -62, 255},
{ 15, 22, -64, 0, 1060, 3604, -82, 29, -91, 255},
{ -12, -4, 0, 0, 458, 4320, -126, -8, 0, 255},
{ 16, -63, 0, 0, 458, 3226, -67, -107, 0, 255},
{ 43, -44, -54, 0, 964, 2536, -27, -92, -82, 255},
{ 69, -65, -18, 0, 626, 1742, -26, -117, -41, 255},
{ 99, -87, 0, 0, 458, 814, -36, -121, 0, 255},
{ 102, -44, -54, 0, 960, 882, -11, -81, -97, 255},
{ 69, -65, 18, 0, 288, 1766, -26, -117, 41, 255},
{ 102, -44, 54, 0, -42, 956, -12, -82, 96, 255},
{ 147, -93, 0, 0, 458, -570, -7, -126, 0, 255},
{ 43, -44, 54, 0, -46, 2612, -26, -92, 82, 255},
{ 23, -24, 60, 0, -92, 3240, -83, -53, 79, 255},
{ 23, -24, -59, 0, 1012, 3160, -84, -52, -78, 255},
{ 0, 52, 0, 0, 460, 4212, -103, 73, 9, 255},
{ 0, 52, 0, 0, 460, 4212, -103, 73, 9, 255},
{ 45, 75, 32, 0, 164, 3076, -29, 106, 62, 255},
{ 36, 84, 0, 0, 462, 3348, -47, 117, -6, 255},
{ -12, -4, 0, 0, 458, 4320, -126, -8, 0, 255},
{ 10, 50, 36, 0, 124, 3938, -84, 68, 65, 255},
{ 15, 22, 65, 0, -140, 3692, -82, 30, 91, 255},
{ 23, -24, 60, 0, -92, 3240, -83, -53, 79, 255},
{ 54, 2, 87, 0, -344, 2534, -13, 1, 126, 255},
{ 64, 41, 62, 0, -112, 2410, -13, 78, 98, 255},
{ 10, 50, -36, 0, 796, 3890, -83, 72, -62, 255},
{ 45, 75, -31, 0, 758, 3032, -13, 105, -69, 255},
{ 64, 41, -62, 0, 1034, 2326, 3, 71, -104, 255},
{ 15, 22, -64, 0, 1060, 3604, -82, 29, -91, 255},
{ 54, 2, -87, 0, 1264, 2416, -15, 1, -126, 255},
{ 77, -16, -82, 0, 1220, 1700, 45, -29, -114, 255},
{ 43, -44, -54, 0, 964, 2536, -27, -92, -82, 255},
{ 54, 2, -87, 0, 1264, 2416, -15, 1, -126, 255},
{ 23, -24, -59, 0, 1012, 3160, -84, -52, -78, 255},
{ 15, 22, -64, 0, 1060, 3604, -82, 29, -91, 255},
{ 92, 84, -51, 0, 940, 1738, -72, 67, -79, 255},
{ 92, 84, 51, 0, -16, 1808, -54, 61, 96, 255},
{ 87, 114, 0, 0, 460, 2068, -4, 126, 0, 255},
{ 64, 41, 62, 0, -112, 2410, -13, 78, 98, 255},
{ 64, 41, -62, 0, 1034, 2326, 3, 71, -104, 255},
{ 84, 81, 0, 0, 462, 2006, 64, 109, 0, 255},
{ 45, 75, 32, 0, 164, 3076, -29, 106, 62, 255},
{ 45, 75, -31, 0, 758, 3032, -13, 105, -69, 255},
{ 43, -44, -54, 0, 964, 2536, -27, -92, -82, 255},
{ 77, -16, -82, 0, 1220, 1700, 45, -29, -114, 255},
{ 102, -44, -54, 0, 960, 882, -11, -81, -97, 255},
{ 36, 84, 0, 0, 462, 3348, -47, 117, -6, 255},
{ 43, -44, 54, 0, -46, 2612, -26, -92, 82, 255},
{ 77, -16, 82, 0, -300, 1812, 44, -29, 115, 255},
{ 54, 2, 87, 0, -344, 2534, -13, 1, 126, 255},
{ 23, -24, 60, 0, -92, 3240, -83, -53, 79, 255},
{ 102, -44, 54, 0, -42, 956, -12, -82, 96, 255},
{ 36, 84, 0, 0, 462, 3348, -47, 117, -6, 255},
{ 45, 75, 32, 0, 164, 3076, -29, 106, 62, 255},
{ 84, 81, 0, 0, 462, 2006, 64, 109, 0, 255},
};
static Vtx vtx_noko_head_2[] = {
{ 92, 84, -51, 0, 48, 1042, -72, 67, -79, 255},
{ 140, 72, -49, 0, 80, 596, 69, 51, -93, 255},
{ 99, 22, -60, 0, -128, 110, 48, 14, -116, 255},
{ 153, 27, -31, 0, 388, -146, 90, -41, -78, 255},
{ 149, 99, 0, 0, 988, 924, 86, 92, 0, 255},
{ 170, 42, 0, 0, 968, -30, 126, -8, 0, 255},
{ 87, 114, 0, 0, 1000, 1504, -4, 126, 0, 255},
{ 140, 72, 49, 0, 1884, 574, 69, 51, 93, 255},
{ 153, 27, 31, 0, 1544, -162, 90, -40, 78, 255},
{ 139, -4, 0, 0, 960, -544, 118, 45, 0, 255},
{ 92, 84, 51, 0, 1932, 1018, -54, 61, 96, 255},
{ 99, 22, 60, 0, 2076, 82, 47, 16, 116, 255},
{ 111, 2, 52, 0, 1908, -278, 57, 14, 112, 255},
{ 77, -16, -82, 0, -536, -332, 45, -29, -114, 255},
{ 111, 2, -51, 0, 20, -254, 57, 13, -112, 255},
{ 111, 2, 52, 0, 1908, -278, 57, 14, 112, 255},
{ 77, -16, 82, 0, 2464, -370, 44, -29, 115, 255},
{ 102, -44, 54, 0, 1944, -924, -12, -82, 96, 255},
{ 99, 22, 60, 0, 2076, 82, 47, 16, 116, 255},
{ 111, 2, -51, 0, 20, -254, 57, 13, -112, 255},
{ 153, 27, -31, 0, 388, -146, 90, -41, -78, 255},
{ 139, -4, 0, 0, 960, -544, 118, 45, 0, 255},
{ 92, 84, 51, 0, 1932, 1018, -54, 61, 96, 255},
{ 64, 41, 62, 0, 2116, 556, -13, 78, 98, 255},
{ 54, 2, 87, 0, 2560, 40, -13, 1, 126, 255},
{ 102, -44, -54, 0, -36, -900, -11, -81, -97, 255},
{ 77, -16, -82, 0, -536, -332, 45, -29, -114, 255},
{ 99, 22, -60, 0, -128, 110, 48, 14, -116, 255},
{ 54, 2, -87, 0, -616, 80, -15, 1, -126, 255},
{ 64, 41, -62, 0, -148, 586, 3, 71, -104, 255},
{ 92, 84, -51, 0, 48, 1042, -72, 67, -79, 255},
{ 15, 22, -64, 0, -200, 590, -82, 29, -91, 255},
{ 64, 41, -62, 0, -148, 586, 3, 71, -104, 255},
{ 54, 2, -87, 0, -616, 80, -15, 1, -126, 255},
};
static Vtx vtx_noko_head_3[] = {
{ 64, 41, -62, 0, 0, 0, 3, 71, -104, 255},
{ 84, 81, 0, 0, 0, 0, 64, 109, 0, 255},
{ 64, 41, 62, 0, 0, 0, -13, 78, 98, 255},
{ 111, 2, 52, 0, 0, 0, 57, 14, 112, 255},
{ 102, -44, 54, 0, 0, 0, -12, -82, 96, 255},
{ 120, -30, 64, 0, 0, 0, -10, 7, 126, 255},
{ 184, -56, -23, 0, 0, 0, 111, 35, -49, 255},
{ 180, -81, -29, 0, 0, 0, 76, -84, -56, 255},
{ 139, -51, -58, 0, 0, 0, 36, -31, -117, 255},
{ 102, -44, -54, 0, 0, 0, -11, -81, -97, 255},
{ 147, -93, 0, 0, 0, 0, -7, -126, 0, 255},
{ 120, -30, -63, 0, 0, 0, 1, 9, -126, 255},
{ 111, 2, -51, 0, 0, 0, 57, 13, -112, 255},
{ 155, -27, -48, 0, 0, 0, 81, 46, -85, 255},
{ 180, -81, 29, 0, 0, 0, 54, -93, 66, 255},
{ 139, -51, 58, 0, 0, 0, 39, -25, 118, 255},
{ 184, -56, 23, 0, 0, 0, 117, 24, 41, 255},
{ 155, -27, 49, 0, 0, 0, 87, 54, 73, 255},
{ 133, -11, 56, 0, 0, 0, 57, 65, 92, 255},
{ 111, 2, -51, 0, 0, 0, 57, 13, -112, 255},
{ 133, -11, -56, 0, 0, 0, 56, 78, -82, 255},
{ 120, -30, -63, 0, 0, 0, 1, 9, -126, 255},
{ 155, -27, -48, 0, 0, 0, 81, 46, -85, 255},
{ 184, -56, 23, 0, 0, 0, 117, 24, 41, 255},
{ 180, -81, 29, 0, 0, 0, 54, -93, 66, 255},
{ 180, -81, -29, 0, 0, 0, 76, -84, -56, 255},
{ 139, -51, 58, 0, 0, 0, 39, -25, 118, 255},
{ 184, -56, -23, 0, 0, 0, 111, 35, -49, 255},
{ 147, -93, 0, 0, 0, 0, -7, -126, 0, 255},
};
static Gfx gfx_noko_head_0[] = {
gsSPLight((&light_noko_head[0].l[0]),1 ),
gsSPLight((&light_noko_head[0].a ),2 ),
gsSPVertex(&vtx_noko_head_0[0], 9, 0),
gsSP1Triangle( 0, 1, 2, 0),
gsSP1Triangle( 3, 4, 0, 0),
gsSP1Triangle( 0, 5, 3, 0),
gsSP1Triangle( 4, 6, 0, 0),
gsSP1Triangle( 7, 5, 0, 0),
gsSP1Triangle( 8, 1, 0, 0),
gsSP1Triangle( 0, 6, 8, 0),
gsSPEndDisplayList()
};
static Gfx gfx_noko_head_1[] = {
gs_Tani_LoadTextureImage2(noko_head_skin_txt, G_IM_FMT_RGBA, G_IM_SIZ_16b, 32, 32, 0, 7),
gsSPVertex(&vtx_noko_head_1[0], 15, 0),
gsSP1Triangle( 0, 1, 2, 0),
gsSP1Triangle( 3, 4, 5, 0),
gsSP1Triangle( 6, 5, 7, 0),
gsSP1Triangle( 5, 6, 8, 0),
gsSP1Triangle( 3, 5, 8, 0),
gsSP1Triangle( 7, 5, 4, 0),
gsSP1Triangle( 9, 6,10, 0),
gsSP1Triangle( 7,10, 6, 0),
gsSP1Triangle( 9, 8, 6, 0),
gsSP1Triangle( 8,11, 3, 0),
gsSP1Triangle(11, 8, 9, 0),
gsSP1Triangle( 3,11,12, 0),
gsSP1Triangle( 2, 3,12, 0),
gsSP1Triangle( 3,13, 4, 0),
gsSP1Triangle(13, 3, 2, 0),
gsSP1Triangle( 2, 1,13, 0),
gsSP1Triangle(14, 0, 2, 0),
gsSPVertex(&vtx_noko_head_1[15], 16, 0),
gsSP1Triangle( 0, 1, 2, 0),
gsSP1Triangle( 0, 3, 4, 0),
gsSP1Triangle( 3, 5, 4, 0),
gsSP1Triangle( 5, 6, 7, 0),
gsSP1Triangle( 7, 8, 5, 0),
gsSP1Triangle( 4, 5, 8, 0),
gsSP1Triangle( 6, 5, 3, 0),
gsSP1Triangle( 0, 4, 1, 0),
gsSP1Triangle( 8, 1, 4, 0),
gsSP1Triangle( 2, 9, 0, 0),
gsSP1Triangle( 2,10, 9, 0),
gsSP1Triangle( 9,11,12, 0),
gsSP1Triangle( 9,10,11, 0),
gsSP1Triangle(13,14,15, 0),
gsSPVertex(&vtx_noko_head_1[31], 15, 0),
gsSP1Triangle( 0, 1, 2, 0),
gsSP1Triangle( 3, 4, 5, 0),
gsSP1Triangle( 3, 6, 4, 0),
gsSP1Triangle( 3, 7, 6, 0),
gsSP1Triangle( 6, 8, 9, 0),
gsSP1Triangle(10, 8, 7, 0),
gsSP1Triangle(11,12,13, 0),
gsSP1Triangle( 0,11, 1, 0),
gsSP1Triangle(14, 8,10, 0),
gsSPVertex(&vtx_noko_head_1[46], 8, 0),
gsSP1Triangle( 0, 1, 2, 0),
gsSP1Triangle( 2, 3, 0, 0),
gsSP1Triangle( 1, 0, 4, 0),
gsSP1Triangle( 5, 6, 7, 0),
gsSPEndDisplayList()
};
static Gfx gfx_noko_head_2[] = {
gs_Tani_LoadTextureImage2(noko_nose_txt, G_IM_FMT_RGBA, G_IM_SIZ_16b, 64, 32, 0, 7),
gsSPVertex(&vtx_noko_head_2[0], 15, 0),
gsSP1Triangle( 0, 1, 2, 0),
gsSP1Triangle( 3, 2, 1, 0),
gsSP1Triangle( 1, 4, 5, 0),
gsSP1Triangle( 1, 0, 6, 0),
gsSP1Triangle( 6, 4, 1, 0),
gsSP1Triangle( 5, 3, 1, 0),
gsSP1Triangle( 7, 4, 6, 0),
gsSP1Triangle( 7, 5, 4, 0),
gsSP1Triangle( 7, 8, 5, 0),
gsSP1Triangle( 3, 5, 9, 0),
gsSP1Triangle( 9, 5, 8, 0),
gsSP1Triangle( 7, 6,10, 0),
gsSP1Triangle(11, 7,10, 0),
gsSP1Triangle( 8, 7,11, 0),
gsSP1Triangle(12, 9, 8, 0),
gsSP1Triangle( 8,11,12, 0),
gsSP1Triangle(13, 2,14, 0),
gsSPVertex(&vtx_noko_head_2[15], 16, 0),
gsSP1Triangle( 0, 1, 2, 0),
gsSP1Triangle( 0, 3, 1, 0),
gsSP1Triangle( 4, 5, 6, 0),
gsSP1Triangle( 7, 8, 3, 0),
gsSP1Triangle( 9, 1, 3, 0),
gsSP1Triangle( 9, 3, 8, 0),
gsSP1Triangle( 4,10,11, 0),
gsSP1Triangle( 4,12, 5, 0),
gsSP1Triangle(13,14,12, 0),
gsSP1Triangle(14,15,12, 0),
gsSP1Triangle(12,11,13, 0),
gsSPVertex(&vtx_noko_head_2[31], 3, 0),
gsSP1Triangle( 0, 1, 2, 0),
gsSPEndDisplayList()
};
static Gfx gfx_noko_head_3[] = {
gsSPLight((&light_noko_head[1].l[0]),1 ),
gsSPLight((&light_noko_head[1].a ),2 ),
gsSPVertex(&vtx_noko_head_3[0], 3, 0),
gsSP1Triangle( 0, 1, 2, 0),
gsSPLight((&light_noko_head[0].l[0]),1 ),
gsSPLight((&light_noko_head[0].a ),2 ),
gsSPVertex(&vtx_noko_head_3[3], 16, 0),
gsSP1Triangle( 0, 1, 2, 0),
gsSP1Triangle( 3, 4, 5, 0),
gsSP1Triangle( 6, 4, 7, 0),
gsSP1Triangle( 4, 6, 5, 0),
gsSP1Triangle( 6, 8, 5, 0),
gsSP1Triangle( 8, 6, 9, 0),
gsSP1Triangle( 5,10, 3, 0),
gsSP1Triangle( 8,10, 5, 0),
gsSP1Triangle(11,12, 1, 0),
gsSP1Triangle(12, 2, 1, 0),
gsSP1Triangle( 1, 7,11, 0),
gsSP1Triangle(13,14,12, 0),
gsSP1Triangle(12,15, 2, 0),
gsSP1Triangle(12,14,15, 0),
gsSP1Triangle( 0, 2,15, 0),
gsSPVertex(&vtx_noko_head_3[19], 10, 0),
gsSP1Triangle( 0, 1, 2, 0),
gsSP1Triangle( 2, 1, 3, 0),
gsSP1Triangle( 4, 5, 6, 0),
gsSP1Triangle( 7, 5, 4, 0),
gsSP1Triangle( 6, 8, 4, 0),
gsSP1Triangle( 9, 6, 5, 0),
gsSPEndDisplayList()
};
static Gfx gfx_noko_head_init[] = {
gsDPPipeSync(),
gsDPSetCombineMode(G_CC_MODULATERGB, G_CC_MODULATERGB),
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),
gsSPEndDisplayList()
};
static Gfx gfx_noko_head_reset[] = {
gsSPDisplayList(gfx_noko_head_0),
gsSPDisplayList(gfx_noko_head_1),
gs_Tani_SetUpTileDescrip(G_IM_FMT_RGBA, G_IM_SIZ_16b, 64, 32, 0, 0, G_TX_CLAMP|G_TX_NOMIRROR, 6, G_TX_NOLOD, G_TX_CLAMP|G_TX_NOMIRROR, 5, G_TX_NOLOD),
gsSPDisplayList(gfx_noko_head_2),
gsSPTexture(0xffff, 0xffff, 0, 0, G_OFF),
gsDPPipeSync(),
gsDPSetCombineMode(G_CC_SHADE, G_CC_SHADE),
gsSPDisplayList(gfx_noko_head_3),
gsSPEndDisplayList()
};
/* ---------------------------------------------------------------------------------------- */
Gfx gfx_noko_head1[] = {
gsSPDisplayList(gfx_noko_head_init),
gs_Tani_LoadTextureImage2(noko_eye1_txt, G_IM_FMT_RGBA, G_IM_SIZ_16b, 32, 32, 0, 7),
gsSPBranchList(gfx_noko_head_reset)
};
Gfx gfx_noko_head2[] = {
gsSPDisplayList(gfx_noko_head_init),
gs_Tani_LoadTextureImage2(noko_eye2_txt, G_IM_FMT_RGBA, G_IM_SIZ_16b, 32, 32, 0, 7),
gsSPBranchList(gfx_noko_head_reset)
};