sm64/shape/enemy1_f/indy/indy_tooth_shape.sou

50 lines
1.9 KiB
Plaintext

/***************************************************************************************************
Convert from NINGEN (indy_tooth)
****************************************************************************************************/
#define indy_tooth_AMB_SCALE 0.5
#define ShapeColor_indy_tooth(R,G,B) {{R*indy_tooth_AMB_SCALE ,G*indy_tooth_AMB_SCALE ,B*indy_tooth_AMB_SCALE ,0 ,R*indy_tooth_AMB_SCALE ,G*indy_tooth_AMB_SCALE ,B*indy_tooth_AMB_SCALE ,0 },{ R, G, B, 0, R, G, B, 0, LIGHT_X, LIGHT_Y, LIGHT_Z, 0} }
static Lights1 light_indy_tooth[] = {
ShapeColor_indy_tooth(255,255,255),
};
static Vtx vtx_indy_tooth_0[] = {
{ 3, 99, -25, 0, -154, -14, -19, 125, 0, 255},
{ -42, 92, -12, 0, 160, 980, -19, 125, 0, 255},
{ -42, 92, 13, 0, 800, 978, -19, 125, 0, 255},
{ 3, 99, 26, 0, 1092, -18, -19, 125, 0, 255},
};
static Gfx gfx_indy_tooth_0[] = {
gs_Tani_LoadTextureImage2(indy_tooth_txt, G_IM_FMT_RGBA, G_IM_SIZ_16b, 32, 32, 0, 7),
gsSPLight((&light_indy_tooth[0].l[0]),1 ),
gsSPLight((&light_indy_tooth[0].a ),2 ),
gsSPVertex(&vtx_indy_tooth_0[0], 4, 0),
gsSP1Triangle( 0, 1, 2, 0),
gsSP1Triangle( 0, 2, 3, 0),
gsSPEndDisplayList()
};
Gfx gfx_indy_tooth[] = {
gsDPPipeSync(),
gsDPSetCombineMode(G_CC_MODULATERGBA, G_CC_MODULATERGBA),
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, 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_indy_tooth_0),
gsSPTexture(0xffff, 0xffff, 0, 0, G_OFF),
gsDPPipeSync(),
gsDPSetCombineMode(G_CC_SHADE, G_CC_SHADE),
gsSPSetGeometryMode(G_SHADING_SMOOTH|G_CULL_BACK),
gsSPEndDisplayList()
};