sm64/map/stage12/water_donjon/fune_fr_shape.sou

274 lines
13 KiB
Plaintext

/***************************************************************************************************
Convert from NINGEN (fune_fr)
****************************************************************************************************/
#define SCALE 0.25
#define ShapeColor_fune_fr(R,G,B) {{R*SCALE ,G*SCALE ,B*SCALE ,0 ,R*SCALE ,G*SCALE ,B*SCALE ,0 },{ R, G, B, 0, R, G, B, 0, LIGHT_X, LIGHT_Y, LIGHT_Z, 0} }
static Lights1 light_fune_fr[] = {
ShapeColor_fune_fr(121,178,235),
ShapeColor_fune_fr(255,255,255),
ShapeColor_fune_fr( 0, 0, 0),
};
static Vtx vtx_fune_fr_0[] = {
{ 727, 307, -613, 0, 990, 990, 127, 0, 0, 255},
{ 727, 512, -613, 0, 990, 0, 127, 0, 0, 255},
{ 727, 512, -409, 0, 0, 0, 127, 0, 0, 255},
{ 727, 819, -409, 0, -1052, 990, 127, 0, 0, 255},
{ 727, 1024, -409, 0, -1052, 0, 127, 0, 0, 255},
{ 727, 1024, -204, 0, -2074, 0, 127, 0, 0, 255},
{ 727, 819, -204, 0, -2074, 990, 127, 0, 0, 255},
{ 727, 819, -921, 0, 990, 990, 127, 0, 0, 255},
{ 727, 1024, -716, 0, 0, 0, 127, 0, 0, 255},
{ 727, 819, -716, 0, 0, 990, 127, 0, 0, 255},
{ 727, 1024, -921, 0, 990, 0, 127, 0, 0, 255},
{ 727, 307, 1434, 0, 990, 990, 127, 0, 0, 255},
{ 727, 512, 1638, 0, 0, 0, 127, 0, 0, 255},
{ 727, 307, 1638, 0, 0, 990, 127, 0, 0, 255},
{ 727, 512, 1434, 0, 990, 0, 127, 0, 0, 255},
{ 727, 307, 410, 0, 990, 990, 127, 0, 0, 255},
{ 727, 512, 410, 0, 990, 0, 127, 0, 0, 255},
{ 727, 512, 614, 0, 0, 0, 127, 0, 0, 255},
{ 727, 307, -613, 0, 990, 990, 127, 0, 0, 255},
{ 727, 512, -409, 0, 0, 0, 127, 0, 0, 255},
{ 727, 307, -409, 0, 0, 990, 127, 0, 0, 255},
{ 727, 307, -101, 0, 990, 990, 127, 0, 0, 255},
{ 727, 512, 102, 0, 0, 0, 127, 0, 0, 255},
{ 727, 307, 102, 0, 0, 990, 127, 0, 0, 255},
{ 727, 512, -101, 0, 990, 0, 127, 0, 0, 255},
{ 727, 307, 922, 0, 990, 990, 127, 0, 0, 255},
{ 727, 512, 1126, 0, 0, 0, 127, 0, 0, 255},
{ 727, 307, 1126, 0, 0, 990, 127, 0, 0, 255},
{ 727, 512, 922, 0, 990, 0, 127, 0, 0, 255},
{ 727, 307, 614, 0, 0, 990, 127, 0, 0, 255},
};
static Vtx vtx_fune_fr_1[] = {
{ 410, 819, 2560, 0, 2524, 3542, 80, 96, 21, 255},
{ 717, 717, 1946, 0, 5590, 5076, 67, 106, 10, 255},
{ 614, 717, 1946, 0, 5590, 4564, -83, 88, -36, 255},
{ 41, 1126, 3482, 0, -4220, -718, 126, 2, 15, 255},
{ 41, 1024, 3482, 0, -4260, -570, 125, 0, 18, 255},
{ 102, 717, 3072, 0, -3566, -44, 126, 2, 10, 255},
{ 102, 922, 2970, 0, -3292, -338, 113, -11, 55, 255},
{ 102, -101, 2662, 0, -2976, 690, 127, 0, 0, 255},
{ 102, 1024, 2970, 0, -3252, -486, 114, 53, 6, 255},
{ 102, 0, 2560, 0, -2740, 544, 93, -61, 60, 255},
{ 102, 922, 2867, 0, 990, 2010, -62, 80, -75, 255},
{ 102, 1024, 2970, 0, 480, 2010, 114, 53, 6, 255},
{ 307, 819, 2560, 0, 2524, 3032, -85, 64, -68, 255},
{ 614, 717, -101, 0, 15810, 4566, -89, 89, 0, 255},
{ 717, 717, -101, 0, 15810, 5076, 124, 24, 0, 255},
{ 102, -409, 1946, 0, -1718, 1130, 108, -64, 12, 255},
{ 102, -101, 2662, 0, -2976, 690, 127, 0, 0, 255},
{ 102, -511, 2048, 0, -1954, 1278, 127, 0, 0, 255},
{ 102, -409, 1946, 0, -1718, 1130, 108, -64, 12, 255},
{ 102, -409, -921, 0, 3782, 1130, 119, -43, 0, 255},
{ 102, -511, -921, 0, 3742, 1278, 127, 0, 0, 255},
{ 717, 1229, -101, 0, 5078, 7120, 40, 81, 88, 255},
{ 717, 1331, -1330, 0, 7122, 7120, 113, 56, 4, 255},
{ 614, 1331, -1330, 0, 7122, 6610, -89, 89, 7, 255},
{ 614, 1229, -101, 0, 5078, 6610, -71, 71, 77, 255},
};
static Vtx vtx_fune_fr_2[] = {
{ 512, 1024, -306, 0, 5284, 0, -84, -42, 84, 255},
{ 512, 819, -306, 0, 5284, 2010, -51, 103, 51, 255},
{ 512, 819, -101, 0, 4464, 2010, -113, 56, 0, 255},
{ 307, 819, -306, 0, 5284, 2010, 84, 42, 84, 255},
{ 307, 1024, -306, 0, 5284, 0, 51, -103, 51, 255},
{ 512, 1024, -101, 0, 4464, 0, -56, -113, 0, 255},
{ 307, 1024, -101, 0, 4464, 0, 113, -56, 0, 255},
{ 307, 819, -101, 0, 4464, 2010, 56, 113, 0, 255},
{ 717, 1229, -101, 0, 5692, 0, 40, 81, 88, 255},
{ 614, 1126, -101, 0, 5284, 990, -89, 0, 89, 255},
{ 717, 1126, -101, 0, 5692, 990, 0, 0, 127, 255},
{ 614, 1229, -101, 0, 5284, 0, -71, 71, 77, 255},
{ 410, 307, 2560, 0, -6160, 7120, 99, -21, 76, 255},
{ 102, 922, 2970, 0, -7796, 990, 113, -11, 55, 255},
{ 307, 102, 2560, 0, -6160, 9164, 72, -60, 84, 255},
{ 410, 819, 2560, 0, -6160, 2010, 80, 96, 21, 255},
{ 102, 0, 2560, 0, -6160, 10186, 93, -61, 60, 255},
{ 102, 1024, 2970, 0, -7796, 0, 114, 53, 6, 255},
{ 614, 717, 1946, 0, -3708, 3032, -83, 88, -36, 255},
{ 307, 614, 2560, 0, -6160, 4054, -111, 0, -61, 255},
{ 307, 819, 2560, 0, -6160, 2010, -85, 64, -68, 255},
{ 102, 819, 2867, 0, -7388, 2010, -105, 0, -70, 255},
{ 717, 410, -921, 0, 7736, 6098, 127, 0, 0, 255},
{ 717, 1331, -1330, 0, 9372, -3098, 113, 56, 4, 255},
{ 717, 717, -101, 0, 4464, 3032, 124, 24, 0, 255},
{ 307, 819, 2560, 0, -6160, 2010, -85, 64, -68, 255},
{ 102, 819, 2867, 0, -7388, 2010, -105, 0, -70, 255},
{ 102, 922, 2867, 0, -7388, 990, -62, 80, -75, 255},
{ 614, 717, 1946, 0, -3708, 3032, -83, 88, -36, 255},
{ 614, 614, 1946, 0, -3708, 4054, -125, 0, -19, 255},
{ 307, 614, 2560, 0, -6160, 4054, -111, 0, -61, 255},
{ 614, 717, -101, 0, 4464, 3032, -89, 89, 0, 255},
{ 614, 614, -101, 0, 4464, 4054, -127, 0, 0, 255},
{ 614, 1331, -1330, 0, -1664, 0, -89, 89, 7, 255},
{ 614, 1126, -1330, 0, -1664, 2010, -127, 0, 0, 255},
{ 614, 1126, -101, 0, 3240, 2010, -89, 0, 89, 255},
{ 614, 1229, -101, 0, 3240, 990, -71, 71, 77, 255},
{ 717, 1229, -101, 0, 4464, -2076, 40, 81, 88, 255},
{ 717, 205, -921, 0, 7736, 8142, 123, -29, 0, 255},
{ 717, 410, -921, 0, 7736, 6098, 127, 0, 0, 255},
{ 717, 717, -101, 0, 4464, 3032, 124, 24, 0, 255},
{ 717, 205, 1946, 0, -3708, 8142, 119, -23, 34, 255},
{ 717, 717, 1946, 0, -3708, 3032, 67, 106, 10, 255},
{ 512, -204, 1946, 0, -3708, 12230, 87, -85, 34, 255},
{ 512, -204, -921, 0, 7736, 12230, 79, -99, 0, 255},
{ 102, 0, 2560, 0, -6160, 10186, 93, -61, 60, 255},
{ 102, -409, 1946, 0, -3708, 14274, 108, -64, 12, 255},
{ 307, 102, 2560, 0, -6160, 9164, 72, -60, 84, 255},
{ 410, 307, 2560, 0, -6160, 7120, 99, -21, 76, 255},
{ 102, -409, -921, 0, 7736, 14274, 119, -43, 0, 255},
{ 410, 819, 2560, 0, -6160, 2010, 80, 96, 21, 255},
};
static Gfx gfx_fune_fr_0[] = {
gs_Tani_LoadTextureImage2(d_mado03_txt, G_IM_FMT_RGBA, G_IM_SIZ_16b, 32, 32, 0, 7),
gsSPLight((&light_fune_fr[0].l[0]),1 ),
gsSPLight((&light_fune_fr[0].a ),2 ),
gsSPVertex(&vtx_fune_fr_0[0], 15, 0),
gsSP1Triangle( 0, 1, 2, 0),
gsSP1Triangle( 3, 4, 5, 0),
gsSP1Triangle( 3, 5, 6, 0),
gsSP1Triangle( 7, 8, 9, 0),
gsSP1Triangle( 7,10, 8, 0),
gsSP1Triangle(11,12,13, 0),
gsSP1Triangle(11,14,12, 0),
gsSPVertex(&vtx_fune_fr_0[15], 15, 0),
gsSP1Triangle( 0, 1, 2, 0),
gsSP1Triangle( 3, 4, 5, 0),
gsSP1Triangle( 6, 7, 8, 0),
gsSP1Triangle( 6, 9, 7, 0),
gsSP1Triangle(10,11,12, 0),
gsSP1Triangle(10,13,11, 0),
gsSP1Triangle( 0, 2,14, 0),
gsSPEndDisplayList()
};
static Gfx gfx_fune_fr_1[] = {
gs_Tani_LoadTextureImage2(d_funeita_txt, G_IM_FMT_RGBA, G_IM_SIZ_16b, 32, 32, 0, 7),
gsSPLight((&light_fune_fr[1].l[0]),1 ),
gsSPLight((&light_fune_fr[1].a ),2 ),
gsSPVertex(&vtx_fune_fr_1[0], 16, 0),
gsSP1Triangle( 0, 1, 2, 0),
gsSP1Triangle( 3, 4, 5, 0),
gsSP1Triangle( 6, 3, 5, 0),
gsSP1Triangle( 6, 5, 7, 0),
gsSP1Triangle( 6, 8, 3, 0),
gsSP1Triangle( 6, 7, 9, 0),
gsSP1Triangle( 0,10,11, 0),
gsSP1Triangle( 0,12,10, 0),
gsSP1Triangle( 0, 2,12, 0),
gsSP1Triangle( 1,13, 2, 0),
gsSP1Triangle( 1,14,13, 0),
gsSP1Triangle( 7,15, 9, 0),
gsSPVertex(&vtx_fune_fr_1[16], 9, 0),
gsSP1Triangle( 0, 1, 2, 0),
gsSP1Triangle( 1, 3, 2, 0),
gsSP1Triangle( 1, 4, 3, 0),
gsSP1Triangle( 5, 6, 7, 0),
gsSP1Triangle( 5, 7, 8, 0),
gsSPEndDisplayList()
};
static Gfx gfx_fune_fr_2[] = {
gs_Tani_LoadTextureImage2(d_funesoto05_txt, G_IM_FMT_RGBA, G_IM_SIZ_16b, 64, 32, 0, 7),
gsSPLight((&light_fune_fr[2].l[0]),1 ),
gsSPLight((&light_fune_fr[2].a ),2 ),
gsSPVertex(&vtx_fune_fr_2[0], 8, 0),
gsSP1Triangle( 0, 1, 2, 0),
gsSP1Triangle( 0, 3, 1, 0),
gsSP1Triangle( 0, 4, 3, 0),
gsSP1Triangle( 4, 5, 6, 0),
gsSP1Triangle( 4, 0, 5, 0),
gsSP1Triangle( 7, 1, 3, 0),
gsSP1Triangle( 7, 2, 1, 0),
gsSP1Triangle( 6, 7, 3, 0),
gsSP1Triangle( 0, 2, 5, 0),
gsSP1Triangle( 6, 3, 4, 0),
gsSPLight((&light_fune_fr[1].l[0]),1 ),
gsSPLight((&light_fune_fr[1].a ),2 ),
gsSPVertex(&vtx_fune_fr_2[8], 14, 0),
gsSP1Triangle( 0, 1, 2, 0),
gsSP1Triangle( 0, 3, 1, 0),
gsSP1Triangle( 4, 5, 6, 0),
gsSP1Triangle( 4, 7, 5, 0),
gsSP1Triangle( 8, 6, 5, 0),
gsSP1Triangle( 5, 7, 9, 0),
gsSP1Triangle(10,11,12, 0),
gsSP1Triangle(12,11,13, 0),
gsSPVertex(&vtx_fune_fr_2[22], 16, 0),
gsSP1Triangle( 0, 1, 2, 0),
gsSP1Triangle( 3, 4, 5, 0),
gsSP1Triangle( 6, 7, 8, 0),
gsSP1Triangle( 9, 7, 6, 0),
gsSP1Triangle( 9,10, 7, 0),
gsSP1Triangle(11,12,13, 0),
gsSP1Triangle(11,13,14, 0),
gsSP1Triangle( 1,15, 2, 0),
gsSPVertex(&vtx_fune_fr_2[38], 13, 0),
gsSP1Triangle( 0, 1, 2, 0),
gsSP1Triangle( 3, 2, 4, 0),
gsSP1Triangle( 3, 0, 2, 0),
gsSP1Triangle( 5, 6, 0, 0),
gsSP1Triangle( 5, 0, 3, 0),
gsSP1Triangle( 7, 8, 5, 0),
gsSP1Triangle( 7, 5, 9, 0),
gsSP1Triangle( 8, 6, 5, 0),
gsSP1Triangle( 9, 5, 3, 0),
gsSP1Triangle( 9, 3,10, 0),
gsSP1Triangle( 8,11, 6, 0),
gsSP1Triangle(10, 3,12, 0),
gsSP1Triangle( 3, 4,12, 0),
gsSPEndDisplayList()
};
/* ========================================================================================
: Front-Right opaque.
=========================================================================================== */
Gfx gfx_fune_fr[] = {
gsDPPipeSync(),
gsDPSetCycleType(G_CYC_2CYCLE),
gsDPSetRenderMode(G_RM_FOG_SHADE_A, G_RM_AA_ZB_OPA_SURF2),
gsDPSetDepthSource(G_ZS_PIXEL),
gsDPSetFogColor(STAGE12_FOG_R, STAGE12_FOG_G, STAGE12_FOG_B, 255),
gsSPFogPosition(STAGE12_FOG_START, 1000),
gsSPSetGeometryMode(G_FOG),
gsDPSetCombineMode(G_CC_MODULATERGB, G_CC_PASS2),
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_fune_fr_0),
gsSPDisplayList(gfx_fune_fr_1),
gs_Tani_SetUpTileDescrip(G_IM_FMT_RGBA, G_IM_SIZ_16b, 64, 32, 0, 0, G_TX_WRAP|G_TX_NOMIRROR, 6, G_TX_NOLOD, G_TX_WRAP|G_TX_NOMIRROR, 5, G_TX_NOLOD),
gsSPDisplayList(gfx_fune_fr_2),
gsSPTexture(0xffff, 0xffff, 0, 0, G_OFF),
gsDPPipeSync(),
gsDPSetCycleType(G_CYC_1CYCLE),
gsDPSetRenderMode(G_RM_AA_ZB_OPA_SURF, G_RM_AA_ZB_OPA_SURF),
gsSPClearGeometryMode(G_FOG),
gsDPSetCombineMode(G_CC_SHADE, G_CC_SHADE),
gsSPEndDisplayList()
};