sm64/shape/Player/Mario/mario_hat.sou
2022-12-04 22:27:02 -05:00

305 lines
13 KiB
Plaintext

/***************************************************************************************************
Convert from NINGEN (mario_hat_only)
****************************************************************************************************/
static Vtx vtx_mario_hat_only_0[] = {
{ 33, 35, 118, 0, 728, 758, 48, 38, 110, 255},
{ 96, 22, 45, 0, 1240, 876, 72, -92, 49, 255},
{ 71, 101, 113, 0, 1028, 148, 85, 22, 91, 255},
{ 0, 110, 143, 0, 460, 68, 0, 52, 115, 255},
{ -31, 35, 118, 0, 206, 762, -48, 38, 111, 255},
{ -70, 101, 113, 0, -106, 158, -85, 22, 91, 255},
{ -95, 22, 46, 0, -302, 890, -88, -71, 56, 255},
};
static Vtx vtx_mario_hat_only_1[] = {
{ -66, 2, 139, 0, 0, 0, -80, -69, 69, 255},
{ 0, 0, 163, 0, 0, 0, 0, -70, 105, 255},
{ -31, 35, 118, 0, 0, 0, -48, 38, 111, 255},
{ -32, 17, 109, 0, 0, 0, 0, -125, -16, 255},
{ 33, 17, 109, 0, 0, 0, -5, -124, -22, 255},
{ -95, 22, 46, 0, 0, 0, -88, -71, 56, 255},
{ -101, 10, -7, 0, 0, 0, -40, -119, 17, 255},
{ -70, 101, 113, 0, 0, 0, -85, 22, 91, 255},
{ -135, 70, 23, 0, 0, 0, -124, 21, 16, 255},
{ -125, 38, -45, 0, 0, 0, -115, -20, -47, 255},
{ -86, 1, -60, 0, 0, 0, -50, -116, -10, 255},
{ -41, 144, 64, 0, 0, 0, -36, 121, 0, 255},
{ -76, 84, -60, 0, 0, 0, -43, 110, -45, 255},
{ 136, 70, 22, 0, 0, 0, 123, 22, 16, 255},
{ 71, 101, 113, 0, 0, 0, 85, 22, 91, 255},
{ 96, 22, 45, 0, 0, 0, 72, -92, 49, 255},
{ 42, 144, 64, 0, 0, 0, 43, 118, 13, 255},
{ 136, 70, 22, 0, 0, 0, 123, 22, 16, 255},
{ 76, 84, -60, 0, 0, 0, 42, 108, -49, 255},
{ 103, 10, -6, 0, 0, 0, 66, -106, 18, 255},
{ 126, 38, -46, 0, 0, 0, 115, -20, -48, 255},
{ 71, 101, 113, 0, 0, 0, 85, 22, 91, 255},
{ 96, 22, 45, 0, 0, 0, 72, -92, 49, 255},
{ 67, 2, 139, 0, 0, 0, 80, -70, 68, 255},
{ 33, 17, 109, 0, 0, 0, -5, -124, -22, 255},
{ 33, 35, 118, 0, 0, 0, 48, 38, 110, 255},
{ 86, 1, -60, 0, 0, 0, 32, -122, -2, 255},
{ 0, 0, 163, 0, 0, 0, 0, -70, 105, 255},
{ -31, 35, 118, 0, 0, 0, -48, 38, 111, 255},
{ 53, 0, -118, 0, 0, 0, 44, -75, -91, 255},
{ 49, 62, -139, 0, 0, 0, 50, 73, -90, 255},
{ -76, 84, -60, 0, 0, 0, -43, 110, -45, 255},
{ -41, 144, 64, 0, 0, 0, -36, 121, 0, 255},
{ 76, 84, -60, 0, 0, 0, 42, 108, -49, 255},
{ 0, 110, 143, 0, 0, 0, 0, 52, 115, 255},
{ 42, 144, 64, 0, 0, 0, 43, 118, 13, 255},
{ -70, 101, 113, 0, 0, 0, -85, 22, 91, 255},
{ 71, 101, 113, 0, 0, 0, 85, 22, 91, 255},
{ 49, 62, -139, 0, 0, 0, 50, 73, -90, 255},
{ 126, 38, -46, 0, 0, 0, 115, -20, -48, 255},
{ -52, 0, -118, 0, 0, 0, -46, -99, -63, 255},
{ -49, 62, -138, 0, 0, 0, -50, 26, -113, 255},
{ 53, 0, -118, 0, 0, 0, 44, -75, -91, 255},
{ -125, 38, -45, 0, 0, 0, -115, -20, -47, 255},
{ 86, 1, -60, 0, 0, 0, 32, -122, -2, 255},
{ -86, 1, -60, 0, 0, 0, -50, -116, -10, 255},
{ 86, 1, -60, 0, 0, 0, 32, -122, -2, 255},
{ -86, 1, -60, 0, 0, 0, -50, -116, -10, 255},
{ -52, 0, -118, 0, 0, 0, -46, -99, -63, 255},
{ 33, 17, 109, 0, 0, 0, -5, -124, -22, 255},
{ -32, 17, 109, 0, 0, 0, 0, -125, -16, 255},
{ -101, 10, -7, 0, 0, 0, -40, -119, 17, 255},
{ 96, 22, 45, 0, 0, 0, 72, -92, 49, 255},
{ 103, 10, -6, 0, 0, 0, 66, -106, 18, 255},
{ 53, 0, -118, 0, 0, 0, 44, -75, -91, 255},
};
static Gfx gfx_mario_hat_only_0[] = {
gsSPVertex(&vtx_mario_hat_only_0[0], 7, 0),
gsSP1Triangle( 0, 1, 2, 0),
gsSP1Triangle( 3, 4, 0, 0),
gsSP1Triangle( 3, 5, 4, 0),
gsSP1Triangle( 2, 3, 0, 0),
gsSP1Triangle( 5, 6, 4, 0),
gsSPEndDisplayList()
};
static Gfx gfx_mario_hat_only_1_draw0[] = {
gsSPVertex(&vtx_mario_hat_only_1[0], 16, 0),
gsSP1Triangle( 0, 1, 2, 0),
gsSP1Triangle( 3, 4, 1, 0),
gsSP1Triangle( 3, 1, 0, 0),
gsSP1Triangle( 3, 5, 6, 0),
gsSP1Triangle( 3, 0, 5, 0),
gsSP1Triangle( 5, 7, 8, 0),
gsSP1Triangle( 5, 8, 6, 0),
gsSP1Triangle( 0, 2, 5, 0),
gsSP1Triangle( 6, 9,10, 0),
gsSP1Triangle( 8, 9, 6, 0),
gsSP1Triangle(11, 8, 7, 0),
gsSP1Triangle( 8,12, 9, 0),
gsSP1Triangle(12, 8,11, 0),
gsSP1Triangle(13,14,15, 0),
gsSPVertex(&vtx_mario_hat_only_1[16], 15, 0),
gsSP1Triangle( 0, 1, 2, 0),
gsSP1Triangle( 3, 4, 1, 0),
gsSP1Triangle( 4, 2, 1, 0),
gsSP1Triangle( 5, 1, 0, 0),
gsSP1Triangle( 1, 6, 3, 0),
gsSP1Triangle( 6, 7, 8, 0),
gsSP1Triangle( 9, 7, 6, 0),
gsSP1Triangle(10, 4, 3, 0),
gsSP1Triangle( 9,11, 7, 0),
gsSP1Triangle( 7,11, 8, 0),
gsSP1Triangle(12,11, 9, 0),
gsSP1Triangle(13,14, 4, 0),
gsSPVertex(&vtx_mario_hat_only_1[31], 15, 0),
gsSP1Triangle( 0, 1, 2, 0),
gsSP1Triangle( 1, 3, 4, 0),
gsSP1Triangle( 5, 3, 1, 0),
gsSP1Triangle( 1, 4, 2, 0),
gsSP1Triangle( 4, 3, 6, 0),
gsSP1Triangle( 0, 2, 7, 0),
gsSP1Triangle( 8, 7, 2, 0),
gsSP1Triangle( 9,10,11, 0),
gsSP1Triangle(12,10, 9, 0),
gsSP1Triangle( 7,10, 0, 0),
gsSP1Triangle(10, 7,11, 0),
gsSP1Triangle( 0,10,12, 0),
gsSP1Triangle(11, 8,13, 0),
gsSP1Triangle(14,12, 9, 0),
gsSPEndDisplayList()
};
static Gfx gfx_mario_hat_only_1_draw1[] = {
gsSPVertex(&vtx_mario_hat_only_1[46], 9, 0),
gsSP1Triangle( 0, 1, 2, 0),
gsSP1Triangle( 3, 4, 5, 0),
gsSP1Triangle( 6, 3, 5, 0),
gsSP1Triangle( 7, 6, 5, 0),
gsSP1Triangle( 0, 7, 5, 0),
gsSP1Triangle( 0, 5, 1, 0),
gsSP1Triangle( 2, 8, 0, 0),
gsSPEndDisplayList()
};
static Gfx gfx_mario_hat_only_1[] = {
gsSPDisplayList(gfx_mario_hat_only_1_draw0),
gsSPLight((&light_mario[5].l[0]),1 ),
gsSPLight((&light_mario[5].a ),2 ),
gsSPDisplayList(gfx_mario_hat_only_1_draw1),
gsSPEndDisplayList()
};
/***************************************************************************************************
Convert from NINGEN (hat_wing_only)
****************************************************************************************************/
static Vtx vtx_hat_wing_only_0[] = {
{ 199, 247, -55, 0, 990, 0, 89, -19, 88, 255},
{ 131, 274, 20, 0, 0, 0, 89, -19, 88, 255},
{ 69, 71, 38, 0, 0, 2012, 89, -19, 88, 255},
{ 199, 247, -55, 0, 990, 0, 88, -18, 88, 255},
{ 69, 71, 38, 0, 0, 2012, 88, -18, 88, 255},
{ 138, 44, -37, 0, 990, 2012, 88, -18, 88, 255},
{ -137, 44, -37, 0, 990, 2012, -88, -18, 88, 255},
{ -68, 71, 38, 0, 0, 2012, -88, -18, 88, 255},
{ -198, 247, -55, 0, 990, 0, -88, -18, 88, 255},
{ -68, 71, 38, 0, 0, 2012, -89, -19, 88, 255},
{ -130, 274, 20, 0, 0, 0, -89, -19, 88, 255},
{ -198, 247, -55, 0, 990, 0, -89, -19, 88, 255},
};
static Vtx vtx_hat_wing_only_1[] = {
{ 268, 219, -132, 0, 990, 0, 89, -19, 87, 255},
{ 199, 247, -55, 0, 0, 0, 89, -19, 87, 255},
{ 138, 44, -37, 0, 0, 2012, 89, -19, 87, 255},
{ 207, 16, -114, 0, 990, 2012, 89, -19, 87, 255},
{ -206, 16, -114, 0, 990, 2012, -89, -19, 87, 255},
{ -137, 44, -37, 0, 0, 2012, -89, -19, 87, 255},
{ -267, 219, -132, 0, 990, 0, -89, -19, 87, 255},
{ -198, 247, -55, 0, 0, 0, -89, -19, 87, 255},
};
static Gfx gfx_hat_wing_only_0[] = {
gsSPVertex(&vtx_hat_wing_only_0[0], 12, 0),
gsSP1Triangle( 0, 1, 2, 0),
gsSP1Triangle( 3, 4, 5, 0),
gsSP1Triangle( 6, 7, 8, 0),
gsSP1Triangle( 9,10,11, 0),
gsSPEndDisplayList()
};
static Gfx gfx_hat_wing_only_1[] = {
gsSPVertex(&vtx_hat_wing_only_1[0], 8, 0),
gsSP1Triangle( 0, 1, 2, 0),
gsSP1Triangle( 0, 2, 3, 0),
gsSP1Triangle( 4, 5, 6, 0),
gsSP1Triangle( 5, 7, 6, 0),
gsSPEndDisplayList()
};
static Gfx gfx_wing_only_common_init[] = {
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, 64, 0, 0, G_TX_CLAMP|G_TX_NOMIRROR, 5, G_TX_NOLOD, G_TX_CLAMP|G_TX_NOMIRROR, 6, G_TX_NOLOD),
gsSPLight((&light_mario[2].l[0]),1 ),
gsSPLight((&light_mario[2].a ),2 ),
gsSPEndDisplayList()
};
static Gfx gfx_wing_only_common_reset[] = {
gsSPTexture(0xffff, 0xffff, 0, 0, G_OFF),
gsDPPipeSync(),
gsDPSetCombineMode(G_CC_SHADE, G_CC_SHADE),
gsSPSetGeometryMode(G_SHADING_SMOOTH|G_CULL_BACK),
gsSPEndDisplayList()
};
/* -------------------------------------------------------------------------------------------- */
/* -------------------------------------------------------------------------------------------- */
/* ====================================================================================
: Hat data.
======================================================================================= */
Gfx RCP_hat_only[] = {
gsDPPipeSync(),
gsDPSetCombineMode(G_CC_BLENDRGBA, G_CC_BLENDRGBA),
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),
gs_Tani_LoadTextureImage2(m_mark_txt, G_IM_FMT_RGBA, G_IM_SIZ_16b, 32, 32, 0, 7),
gsSPLight((&light_mario[1].l[0]),1 ),
gsSPLight((&light_mario[1].a ),2 ),
gsSPDisplayList(gfx_mario_hat_only_0),
gsSPTexture(0xffff, 0xffff, 0, 0, G_OFF),
gsDPPipeSync(),
gsDPSetCombineMode(G_CC_SHADE, G_CC_SHADE),
gsSPDisplayList(gfx_mario_hat_only_1),
gsSPEndDisplayList()
};
/* ====================================================================================
: Metal hat data.
======================================================================================= */
Gfx RCP_metal_hat_only[] = {
gsDPPipeSync(),
gsSPSetGeometryMode(G_TEXTURE_GEN),
gsDPSetCombineMode(G_CC_MODULATERGB, G_CC_MODULATERGB),
gsDPLoadTextureBlock(mario_env_txt, G_IM_FMT_RGBA, G_IM_SIZ_16b, 64, 32, 0,
G_TX_WRAP|G_TX_NOMIRROR, G_TX_WRAP|G_TX_NOMIRROR,
6, 5, G_TX_NOLOD, G_TX_NOLOD),
gsSPTexture((0x07c0*2), 0x07c0, 0, G_TX_RENDERTILE, G_ON),
gsSPLight((&light_mario[2].l[0]),1),
gsSPLight((&light_mario[2].a),2),
gsSPDisplayList(gfx_mario_hat_only_0),
gsSPDisplayList(gfx_mario_hat_only_1_draw0),
gsSPDisplayList(gfx_mario_hat_only_1_draw1),
gsDPPipeSync(),
gsSPClearGeometryMode(G_TEXTURE_GEN),
gsDPSetCombineMode(G_CC_SHADE, G_CC_SHADE),
gsSPTexture((0x07c0*2), 0x07c0, 0, G_TX_RENDERTILE, G_OFF),
gsSPEndDisplayList()
};
/* ====================================================================================
: Wing data for hat.
======================================================================================= */
Gfx RCP_wing_only[] = {
gsSPDisplayList(gfx_wing_only_common_init),
gs_Tani_LoadTextureImage2(h_wing0_txt, G_IM_FMT_RGBA, G_IM_SIZ_16b, 32, 64, 0, 7),
gsSPDisplayList(gfx_hat_wing_only_0),
gs_Tani_LoadTextureImage2(h_wing1_txt, G_IM_FMT_RGBA, G_IM_SIZ_16b, 32, 64, 0, 7),
gsSPDisplayList(gfx_hat_wing_only_1),
gsSPDisplayList(gfx_wing_only_common_reset),
gsSPEndDisplayList()
};
/* ====================================================================================
: Metal wing data for metal hat.
======================================================================================= */
Gfx RCP_metal_wing_only[] = {
gsSPDisplayList(gfx_wing_only_common_init),
gs_Tani_LoadTextureImage2(h_metal_wing0_txt, G_IM_FMT_RGBA, G_IM_SIZ_16b, 32, 64, 0, 7),
gsSPDisplayList(gfx_hat_wing_only_0),
gs_Tani_LoadTextureImage2(h_metal_wing1_txt, G_IM_FMT_RGBA, G_IM_SIZ_16b, 32, 64, 0, 7),
gsSPDisplayList(gfx_hat_wing_only_1),
gsSPDisplayList(gfx_wing_only_common_reset),
gsSPEndDisplayList()
};