sm64/shape/enemy2_e/nokonoko/noko_body_shape.sou
2022-12-04 22:27:02 -05:00

205 lines
9.9 KiB
Plaintext

/***************************************************************************************************
Convert from NINGEN (noko_body)
****************************************************************************************************/
#define NOKO_BODY_AMB_SCALE 0.5
#define ShapeColor_noko_body(R,G,B) {{R*NOKO_BODY_AMB_SCALE ,G*NOKO_BODY_AMB_SCALE ,B*NOKO_BODY_AMB_SCALE ,0 ,R*NOKO_BODY_AMB_SCALE ,G*NOKO_BODY_AMB_SCALE ,B*NOKO_BODY_AMB_SCALE ,0 },{ R, G, B, 0, R, G, B, 0, LIGHT_X, LIGHT_Y, LIGHT_Z, 0} }
static Lights1 light_noko_body[] = {
ShapeColor_noko_body(255,255,255),
ShapeColor_noko_body(224,174, 0),
};
static Vtx vtx_noko_body_0[] = {
{ -11*2.55, -31*2.55, -13*2.55, 0, 774, 814, -57, -106, -38, 255},
{ -33*2.55, -6*2.55, 0*2.55, 0, 468, 1346, -96, -82, 0, 255},
{ -22*2.55, 0*2.55, -28*2.55, 0, 1132, 1060, -50, -80, -84, 255},
{ 14*2.55, -35*2.55, -13*2.55, 0, 770, 152, 18, -105, -67, 255},
{ -11*2.55, -31*2.55, 13*2.55, 0, 158, 814, -66, -97, 47, 255},
{ 14*2.55, -35*2.55, 13*2.55, 0, 156, 152, 11, -113, 54, 255},
{ -22*2.55, 0*2.55, 29*2.55, 0, -196, 1060, -50, -81, 83, 255},
{ 25*2.55, -11*2.55, -30*2.55, 0, 1164, -156, 19, -82, -94, 255},
{ 36*2.55, -25*2.55, 0*2.55, 0, 462, -438, 57, -113, 0, 255},
{ 25*2.55, -11*2.55, 31*2.55, 0, -236, -154, 21, -81, 94, 255},
};
static Vtx vtx_noko_body_1[] = {
{ 27*2.55, 25*2.55, 16*2.55, 0, 826, 98, 44, 114, 31, 255},
{ 43*2.55, 15*2.55, 0*2.55, 0, 524, -122, 109, 64, 0, 255},
{ 27*2.55, 25*2.55, -15*2.55, 0, 212, 100, 51, 109, -38, 255},
{ -16*2.55, 28*2.55, -15*2.55, 0, 196, 712, -35, 116, -35, 255},
{ -16*2.55, 28*2.55, 16*2.55, 0, 810, 710, -29, 113, 49, 255},
{ 36*2.55, 11*2.55, 24*2.55, 0, 990, -24, 92, 63, 58, 255},
{ 20*2.55, 17*2.55, 31*2.55, 0, 1120, 194, 27, 95, 78, 255},
{ 20*2.55, 17*2.55, -30*2.55, 0, -88, 190, 27, 97, -76, 255},
{ 36*2.55, 11*2.55, -23*2.55, 0, 52, -26, 92, 65, -57, 255},
{ -27*2.55, 15*2.55, 22*2.55, 0, 932, 864, -85, 83, 42, 255},
{ -27*2.55, 15*2.55, -22*2.55, 0, 58, 862, -81, 84, -49, 255},
{ -10*2.55, 17*2.55, -30*2.55, 0, -98, 628, -25, 93, -81, 255},
{ -32*2.55, 10*2.55, 0*2.55, 0, 492, 932, -103, 73, 0, 255},
{ -10*2.55, 17*2.55, 31*2.55, 0, 1104, 632, -28, 90, 84, 255},
};
static Vtx vtx_noko_body_2[] = {
{ 48*2.55, -17*2.55, -12*2.55, 0, 0, 0, 106, -43, -52, 255},
{ 36*2.55, 11*2.55, -23*2.55, 0, 0, 0, 92, 65, -57, 255},
{ 43*2.55, 15*2.55, 0*2.55, 0, 0, 0, 109, 64, 0, 255},
{ 48*2.55, -17*2.55, 12*2.55, 0, 0, 0, 107, -43, 52, 255},
{ 36*2.55, 11*2.55, 24*2.55, 0, 0, 0, 92, 63, 58, 255},
{ -22*2.55, 0*2.55, -28*2.55, 0, 0, 0, -50, -80, -84, 255},
{ -27*2.55, 7*2.55, -33*2.55, 0, 0, 0, -99, 16, -76, 255},
{ 0*2.55, 9*2.55, -42*2.55, 0, 0, 0, -18, 25, -123, 255},
{ -42*2.55, 2*2.55, 0*2.55, 0, 0, 0, -120, -40, 0, 255},
{ -32*2.55, 10*2.55, 0*2.55, 0, 0, 0, -103, 73, 0, 255},
{ -27*2.55, 15*2.55, -22*2.55, 0, 0, 0, -81, 84, -49, 255},
{ -27*2.55, 7*2.55, 34*2.55, 0, 0, 0, -99, 18, 76, 255},
{ -27*2.55, 15*2.55, 22*2.55, 0, 0, 0, -85, 83, 42, 255},
{ -10*2.55, 17*2.55, -30*2.55, 0, 0, 0, -25, 93, -81, 255},
{ 25*2.55, -11*2.55, -30*2.55, 0, 0, 0, 19, -82, -94, 255},
{ 31*2.55, 4*2.55, -37*2.55, 0, 0, 0, 67, 17, -106, 255},
{ 48*2.55, -17*2.55, -12*2.55, 0, 0, 0, 106, -43, -52, 255},
{ 36*2.55, -25*2.55, 0*2.55, 0, 0, 0, 57, -113, 0, 255},
{ 48*2.55, -17*2.55, 12*2.55, 0, 0, 0, 107, -43, 52, 255},
{ 36*2.55, 11*2.55, -23*2.55, 0, 0, 0, 92, 65, -57, 255},
{ -42*2.55, 2*2.55, 0*2.55, 0, 0, 0, -120, -40, 0, 255},
{ -33*2.55, -6*2.55, 0*2.55, 0, 0, 0, -96, -82, 0, 255},
{ -22*2.55, 0*2.55, 29*2.55, 0, 0, 0, -50, -81, 83, 255},
{ 20*2.55, 17*2.55, -30*2.55, 0, 0, 0, 27, 97, -76, 255},
{ 36*2.55, 11*2.55, -23*2.55, 0, 0, 0, 92, 65, -57, 255},
{ 31*2.55, 4*2.55, -37*2.55, 0, 0, 0, 67, 17, -106, 255},
{ 0*2.55, 9*2.55, -42*2.55, 0, 0, 0, -18, 25, -123, 255},
{ -10*2.55, 17*2.55, -30*2.55, 0, 0, 0, -25, 93, -81, 255},
{ -22*2.55, 0*2.55, -28*2.55, 0, 0, 0, -50, -80, -84, 255},
{ 25*2.55, -11*2.55, 31*2.55, 0, 0, 0, 21, -81, 94, 255},
{ 36*2.55, -25*2.55, 0*2.55, 0, 0, 0, 57, -113, 0, 255},
{ 48*2.55, -17*2.55, 12*2.55, 0, 0, 0, 107, -43, 52, 255},
{ -27*2.55, 7*2.55, 34*2.55, 0, 0, 0, -99, 18, 76, 255},
{ 36*2.55, 11*2.55, 24*2.55, 0, 0, 0, 92, 63, 58, 255},
{ 31*2.55, 4*2.55, 37*2.55, 0, 0, 0, 66, 16, 106, 255},
{ -27*2.55, 15*2.55, 22*2.55, 0, 0, 0, -85, 83, 42, 255},
{ -27*2.55, 7*2.55, 34*2.55, 0, 0, 0, -99, 18, 76, 255},
{ 0*2.55, 9*2.55, 42*2.55, 0, 0, 0, -17, 23, 123, 255},
{ -10*2.55, 17*2.55, 31*2.55, 0, 0, 0, -28, 90, 84, 255},
{ -22*2.55, 0*2.55, 29*2.55, 0, 0, 0, -50, -81, 83, 255},
{ 25*2.55, -11*2.55, 31*2.55, 0, 0, 0, 21, -81, 94, 255},
{ 20*2.55, 17*2.55, 31*2.55, 0, 0, 0, 27, 95, 78, 255},
{ 31*2.55, 4*2.55, 37*2.55, 0, 0, 0, 66, 16, 106, 255},
{ 36*2.55, 11*2.55, 24*2.55, 0, 0, 0, 92, 63, 58, 255},
};
static Gfx gfx_noko_body_0[] = {
gs_Tani_LoadTextureImage2(noko_kora_txt, G_IM_FMT_RGBA, G_IM_SIZ_16b, 32, 32, 0, 7),
gsSPLight((&light_noko_body[0].l[0]),1 ),
gsSPLight((&light_noko_body[0].a ),2 ),
gsSPVertex(&vtx_noko_body_0[0], 10, 0),
gsSP1Triangle( 0, 1, 2, 0),
gsSP1Triangle( 2, 3, 0, 0),
gsSP1Triangle( 0, 4, 1, 0),
gsSP1Triangle( 0, 5, 4, 0),
gsSP1Triangle( 0, 3, 5, 0),
gsSP1Triangle( 1, 4, 6, 0),
gsSP1Triangle( 6, 4, 5, 0),
gsSP1Triangle( 3, 2, 7, 0),
gsSP1Triangle( 3, 8, 5, 0),
gsSP1Triangle( 8, 3, 7, 0),
gsSP1Triangle( 9, 5, 8, 0),
gsSP1Triangle( 9, 6, 5, 0),
gsSPEndDisplayList()
};
static Gfx gfx_noko_body_1[] = {
gs_Tani_LoadTextureImage2(noko_hara_txt, G_IM_FMT_RGBA, G_IM_SIZ_16b, 32, 32, 0, 7),
gsSPVertex(&vtx_noko_body_1[0], 14, 0),
gsSP1Triangle( 0, 1, 2, 0),
gsSP1Triangle( 3, 4, 0, 0),
gsSP1Triangle( 0, 2, 3, 0),
gsSP1Triangle( 1, 0, 5, 0),
gsSP1Triangle( 4, 6, 0, 0),
gsSP1Triangle( 6, 5, 0, 0),
gsSP1Triangle( 3, 2, 7, 0),
gsSP1Triangle( 8, 2, 1, 0),
gsSP1Triangle( 2, 8, 7, 0),
gsSP1Triangle( 9, 4, 3, 0),
gsSP1Triangle( 3,10, 9, 0),
gsSP1Triangle( 7,11, 3, 0),
gsSP1Triangle(11,10, 3, 0),
gsSP1Triangle(10,12, 9, 0),
gsSP1Triangle( 4, 9,13, 0),
gsSP1Triangle( 4,13, 6, 0),
gsSPEndDisplayList()
};
static Gfx gfx_noko_body_2[] = {
gsSPLight((&light_noko_body[1].l[0]),1 ),
gsSPLight((&light_noko_body[1].a ),2 ),
gsSPVertex(&vtx_noko_body_2[0], 5, 0),
gsSP1Triangle( 0, 1, 2, 0),
gsSP1Triangle( 3, 0, 2, 0),
gsSP1Triangle( 2, 4, 3, 0),
gsSPLight((&light_noko_body[0].l[0]),1 ),
gsSPLight((&light_noko_body[0].a ),2 ),
gsSPVertex(&vtx_noko_body_2[5], 15, 0),
gsSP1Triangle( 0, 1, 2, 0),
gsSP1Triangle( 3, 1, 0, 0),
gsSP1Triangle( 4, 1, 3, 0),
gsSP1Triangle( 2, 1, 5, 0),
gsSP1Triangle( 1, 4, 5, 0),
gsSP1Triangle( 4, 3, 6, 0),
gsSP1Triangle( 7, 4, 6, 0),
gsSP1Triangle( 2, 5, 8, 0),
gsSP1Triangle( 9,10,11, 0),
gsSP1Triangle(11,12, 9, 0),
gsSP1Triangle(12,11,13, 0),
gsSP1Triangle(11,10,14, 0),
gsSP1Triangle( 9, 2,10, 0),
gsSP1Triangle( 2, 9, 0, 0),
gsSPVertex(&vtx_noko_body_2[20], 15, 0),
gsSP1Triangle( 0, 1, 2, 0),
gsSP1Triangle( 3, 4, 5, 0),
gsSP1Triangle( 5, 6, 3, 0),
gsSP1Triangle( 6, 7, 3, 0),
gsSP1Triangle( 0, 8, 1, 0),
gsSP1Triangle( 9,10,11, 0),
gsSP1Triangle( 2,12, 0, 0),
gsSP1Triangle(13,14,11, 0),
gsSP1Triangle(11,14, 9, 0),
gsSPVertex(&vtx_noko_body_2[35], 9, 0),
gsSP1Triangle( 0, 1, 2, 0),
gsSP1Triangle( 3, 0, 2, 0),
gsSP1Triangle( 2, 1, 4, 0),
gsSP1Triangle( 4, 5, 2, 0),
gsSP1Triangle( 6, 2, 7, 0),
gsSP1Triangle( 6, 3, 2, 0),
gsSP1Triangle( 7, 2, 5, 0),
gsSP1Triangle( 6, 7, 8, 0),
gsSPEndDisplayList()
};
Gfx gfx_noko_body[] = {
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_WRAP|G_TX_NOMIRROR, 5, G_TX_NOLOD, G_TX_WRAP|G_TX_NOMIRROR, 5, G_TX_NOLOD),
gsSPDisplayList(gfx_noko_body_0),
gsSPDisplayList(gfx_noko_body_1),
gsSPTexture(0xffff, 0xffff, 0, 0, G_OFF),
gsDPPipeSync(),
gsDPSetCombineMode(G_CC_SHADE, G_CC_SHADE),
gsSPDisplayList(gfx_noko_body_2),
gsSPEndDisplayList()
};