sm64/shape/enemy2_g/kuramochi/kura_body_shape.sou
2022-12-04 22:27:02 -05:00

176 lines
7.0 KiB
Plaintext

/***************************************************************************************************
Convert from NINGEN (kura_body1)
****************************************************************************************************/
#define kura_body1_AMB_SCALE 0.5
#define ShapeColor_kura_body1(R,G,B) {{R*kura_body1_AMB_SCALE ,G*kura_body1_AMB_SCALE ,B*kura_body1_AMB_SCALE ,0 ,R*kura_body1_AMB_SCALE ,G*kura_body1_AMB_SCALE ,B*kura_body1_AMB_SCALE ,0 },{ R, G, B, 0, R, G, B, 0, LIGHT_X, LIGHT_Y, LIGHT_Z, 0} }
static Lights1 light_kura_body1[] = {
ShapeColor_kura_body1(255,255,255),
ShapeColor_kura_body1( 0,127, 71),
};
static Vtx vtx_kura_body1_0[] = {
{ 226, 1, 300, 0, 1988, 0, -51, -8, 115, 255},
{ 0, 0, 200, 0, 2656, 358, -84, -5, 94, 255},
{ 278, -190, 140, 0, 988, 390, -46, -106, 51, 255},
{ 261, 194, -174, 0, 824, 392, -52, 100, -56, 255},
{ 226, 1, -299, 0, -8, 0, -51, -8, -115, 255},
{ 0, 0, -199, 0, -672, 312, -84, -5, -94, 255},
{ 261, 194, 175, 0, 1156, 392, -52, 100, 56, 255},
{ 0, 0, 200, 0, 2656, 312, -84, -5, 94, 255},
{ 0, 0, -199, 0, -672, 358, -84, -5, -94, 255},
{ 278, -190, -139, 0, 992, 390, -46, -106, -51, 255},
};
static Vtx vtx_kura_body1_1[] = {
{ 0, 0, 200, 0, 0, 0, -84, -5, 94, 255},
{ -88, -68, 0, 0, 0, 0, -97, -81, 0, 255},
{ 278, -190, 140, 0, 0, 0, -46, -106, 51, 255},
{ -88, 71, 0, 0, 0, 0, -101, 76, 0, 255},
{ 261, 194, 175, 0, 0, 0, -52, 100, 56, 255},
{ 0, 0, -199, 0, 0, 0, -84, -5, -94, 255},
{ 278, -190, -139, 0, 0, 0, -46, -106, -51, 255},
{ 261, 194, -174, 0, 0, 0, -52, 100, -56, 255},
};
static Gfx gfx_kura_body1_0[] = {
gs_Tani_LoadTextureImage2(kura_body_txt, G_IM_FMT_RGBA, G_IM_SIZ_16b, 64, 32, 0, 7),
gsSPLight((&light_kura_body1[0].l[0]),1 ),
gsSPLight((&light_kura_body1[0].a ),2 ),
gsSPVertex(&vtx_kura_body1_0[0], 10, 0),
gsSP1Triangle( 0, 1, 2, 0),
gsSP1Triangle( 3, 4, 5, 0),
gsSP1Triangle( 6, 7, 0, 0),
gsSP1Triangle( 8, 4, 9, 0),
gsSPEndDisplayList()
};
static Gfx gfx_kura_body1_1[] = {
gsSPLight((&light_kura_body1[1].l[0]),1 ),
gsSPLight((&light_kura_body1[1].a ),2 ),
gsSPVertex(&vtx_kura_body1_1[0], 8, 0),
gsSP1Triangle( 0, 1, 2, 0),
gsSP1Triangle( 1, 0, 3, 0),
gsSP1Triangle( 3, 0, 4, 0),
gsSP1Triangle( 3, 5, 1, 0),
gsSP1Triangle( 6, 2, 1, 0),
gsSP1Triangle( 1, 5, 6, 0),
gsSP1Triangle( 5, 3, 7, 0),
gsSP1Triangle( 4, 7, 3, 0),
gsSPEndDisplayList()
};
static Gfx gfx_kura_body1[] = {
gsDPPipeSync(),
gsDPSetCombineMode(G_CC_MODULATERGB_ENVA, G_CC_MODULATERGB_ENVA),
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, 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_kura_body1_0),
gsSPTexture(0xffff, 0xffff, 0, 0, G_OFF),
gsDPPipeSync(),
gsDPSetCombineMode(G_CC_SHADE_ENVA, G_CC_SHADE_ENVA),
gsSPDisplayList(gfx_kura_body1_1),
gsDPSetCombineMode(G_CC_SHADE, G_CC_SHADE),
gsSPEndDisplayList()
};
/***************************************************************************************************
Convert from NINGEN (kura_body2)
****************************************************************************************************/
#define kura_body2_AMB_SCALE 0.5
#define ShapeColor_kura_body2(R,G,B) {{R*kura_body2_AMB_SCALE ,G*kura_body2_AMB_SCALE ,B*kura_body2_AMB_SCALE ,0 ,R*kura_body2_AMB_SCALE ,G*kura_body2_AMB_SCALE ,B*kura_body2_AMB_SCALE ,0 },{ R, G, B, 0, R, G, B, 0, LIGHT_X, LIGHT_Y, LIGHT_Z, 0} }
static Lights1 light_kura_body2[] = {
ShapeColor_kura_body2(255,255,255),
};
static Vtx vtx_kura_body2_0[] = {
{ 418, 89, -157, 0, 388, 0, 70, 98, -37, 255},
{ 261, 194, 175, 0, 1604, 408, 70, 98, 37, 255},
{ 418, 89, 157, 0, 1540, 0, 67, 91, 57, 255},
{ 418, 89, 157, 0, 684, 0, 67, 91, 57, 255},
{ 261, 194, 175, 0, 1156, 392, 70, 98, 37, 255},
{ 226, 1, 300, 0, 1988, 0, 52, -7, 115, 255},
{ 418, 89, -157, 0, 1296, 0, 70, 98, -37, 255},
{ 226, 1, -299, 0, -8, 0, 51, -7, -115, 255},
{ 261, 194, -174, 0, 824, 392, 67, 91, -57, 255},
{ 418, -85, -157, 0, 1296, 0, 40, -70, -97, 255},
{ 278, -190, -139, 0, 992, 390, 70, -99, -35, 255},
{ 278, -190, 140, 0, 988, 390, 64, -95, 53, 255},
{ 418, -85, 157, 0, 684, 0, 40, -70, 97, 255},
{ 261, 194, -174, 0, 324, 408, 67, 91, -57, 255},
{ 278, -190, -139, 0, 1512, 416, 70, -99, -35, 255},
{ 418, -85, -156, 0, 1588, 0, 76, -101, 0, 255},
{ 418, -85, 158, 0, 248, 0, 76, -101, 0, 255},
{ 278, -190, 140, 0, 320, 416, 64, -95, 53, 255},
{ 238, -15, 286, 0, 2336, 754, 62, -50, 98, 255},
{ 272, 77, 312, 0, 124, 1062, 62, -50, 98, 255},
{ 229, 73, 337, 0, 124, 436, 62, -50, 98, 255},
};
static Gfx gfx_kura_body2_0[] = {
gs_Tani_LoadTextureImage2(kura_body_txt, G_IM_FMT_RGBA, G_IM_SIZ_16b, 64, 32, 0, 7),
gsSPLight((&light_kura_body2[0].l[0]),1 ),
gsSPLight((&light_kura_body2[0].a ),2 ),
gsSPVertex(&vtx_kura_body2_0[0], 14, 0),
gsSP1Triangle( 0, 1, 2, 0),
gsSP1Triangle( 3, 4, 5, 0),
gsSP1Triangle( 6, 7, 8, 0),
gsSP1Triangle( 9,10, 7, 0),
gsSP1Triangle( 5,11,12, 0),
gsSP1Triangle( 0,13, 1, 0),
gsSPVertex(&vtx_kura_body2_0[14], 7, 0),
gsSP1Triangle( 0, 1, 2, 0),
gsSP1Triangle( 0, 2, 3, 0),
gsSP1Triangle( 4, 5, 6, 0),
gsSPEndDisplayList()
};
static Gfx gfx_kura_body2[] = {
gsDPPipeSync(),
gsDPSetCombineMode(G_CC_MODULATERGB_ENVA, G_CC_MODULATERGB_ENVA),
gsSPClearGeometryMode(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, 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_kura_body2_0),
gsSPTexture(0xffff, 0xffff, 0, 0, G_OFF),
gsDPPipeSync(),
gsDPSetCombineMode(G_CC_SHADE, G_CC_SHADE),
gsSPSetGeometryMode(G_CULL_BACK),
gsSPEndDisplayList()
};
Gfx gfx_kura_body[] = {
gsSPDisplayList(gfx_kura_body1),
gsSPDisplayList(gfx_kura_body2),
gsDPSetEnvColor(255,255,255,255),
gsSPEndDisplayList()
};