sm64

A Super Mario 64 decompilation
Log | Files | Refs | README | LICENSE

model.inc.c (13866B)


      1 // 0x0700E5B0 - 0x0700E6B0
      2 static const Vtx hmc_seg7_vertex_0700E5B0[] = {
      3     {{{  6244,    154,   2560}, 0, {  4056,  -3098}, {0xff, 0xff, 0xff, 0xff}}},
      4     {{{  5579,    154,   2560}, 0, { -2586,  -3098}, {0xff, 0xff, 0xff, 0xff}}},
      5     {{{  5579,    256,   2458}, 0, { -2586,  -2076}, {0xff, 0xff, 0xff, 0xff}}},
      6     {{{   901,   2048,   3564}, 0, {     0,  10186}, {0xff, 0xff, 0xff, 0xff}}},
      7     {{{   901,   3072,   3564}, 0, {     0,      0}, {0xff, 0xff, 0xff, 0xff}}},
      8     {{{   901,   3072,   4076}, 0, {  5078,      0}, {0xff, 0xff, 0xff, 0xff}}},
      9     {{{   901,   2048,   4076}, 0, {  5078,  10186}, {0xff, 0xff, 0xff, 0xff}}},
     10     {{{   901,   2048,   4076}, 0, {  3034,   6098}, {0xff, 0xff, 0xff, 0xff}}},
     11     {{{   901,   3072,   4076}, 0, {  3034,  -4120}, {0xff, 0xff, 0xff, 0xff}}},
     12     {{{   410,   3072,   4076}, 0, { -1870,  -4120}, {0xff, 0xff, 0xff, 0xff}}},
     13     {{{   410,   2048,   4076}, 0, { -1870,   6098}, {0xff, 0xff, 0xff, 0xff}}},
     14     {{{  6244,    922,   2560}, 0, {  4056,   4564}, {0xff, 0xff, 0xff, 0xff}}},
     15     {{{  5579,    922,   2560}, 0, { -2584,   4564}, {0xff, 0xff, 0xff, 0xff}}},
     16     {{{ -2578,   1434,   1346}, 0, {  5590,   4054}, {0xff, 0xff, 0xff, 0xff}}},
     17     {{{ -2899,   1434,   1506}, 0, {  2012,   4054}, {0xff, 0xff, 0xff, 0xff}}},
     18     {{{ -3128,   1434,   1048}, 0, {  2012,  -1054}, {0xff, 0xff, 0xff, 0xff}}},
     19 };
     20 
     21 // 0x0700E6B0 - 0x0700E7A0
     22 static const Vtx hmc_seg7_vertex_0700E6B0[] = {
     23     {{{  6244,    154,   2560}, 0, {  4056,  -3098}, {0xff, 0xff, 0xff, 0xff}}},
     24     {{{  5579,    256,   2458}, 0, { -2586,  -2076}, {0xff, 0xff, 0xff, 0xff}}},
     25     {{{  6244,    256,   2458}, 0, {  4056,  -2076}, {0xff, 0xff, 0xff, 0xff}}},
     26     {{{  5579,    922,   2458}, 0, { -2584,   4564}, {0xff, 0xff, 0xff, 0xff}}},
     27     {{{  6244,    922,   2458}, 0, {  4056,   4564}, {0xff, 0xff, 0xff, 0xff}}},
     28     {{{ -3586,   1434,   1277}, 0, { -3096,  -1054}, {0xff, 0xff, 0xff, 0xff}}},
     29     {{{ -3631,   1434,   1872}, 0, { -6162,   4054}, {0xff, 0xff, 0xff, 0xff}}},
     30     {{{ -4089,   1434,    956}, 0, { -6162,  -6164}, {0xff, 0xff, 0xff, 0xff}}},
     31     {{{ -3357,   1434,   1735}, 0, { -3096,   4054}, {0xff, 0xff, 0xff, 0xff}}},
     32     {{{ -2578,   1434,   1346}, 0, {  5590,   4054}, {0xff, 0xff, 0xff, 0xff}}},
     33     {{{ -3128,   1434,   1048}, 0, {  2012,  -1054}, {0xff, 0xff, 0xff, 0xff}}},
     34     {{{ -3036,   1434,    430}, 0, {  5588,  -6164}, {0xff, 0xff, 0xff, 0xff}}},
     35     {{{ -3128,   1536,   1048}, 0, { -2074,      0}, {0xff, 0xff, 0xff, 0xff}}},
     36     {{{ -3128,   1434,   1048}, 0, { -2074,    990}, {0xff, 0xff, 0xff, 0xff}}},
     37     {{{ -2899,   1434,   1506}, 0, {  3034,    990}, {0xff, 0xff, 0xff, 0xff}}},
     38 };
     39 
     40 // 0x0700E7A0 - 0x0700E880
     41 static const Vtx hmc_seg7_vertex_0700E7A0[] = {
     42     {{{ -3631,   1536,   1872}, 0, { -6162,   4054}, {0xff, 0xff, 0xff, 0xff}}},
     43     {{{ -3357,   1536,   1735}, 0, { -3096,   4054}, {0xff, 0xff, 0xff, 0xff}}},
     44     {{{ -3586,   1536,   1277}, 0, { -3096,  -1054}, {0xff, 0xff, 0xff, 0xff}}},
     45     {{{ -4089,   1536,    956}, 0, { -6162,  -6164}, {0xff, 0xff, 0xff, 0xff}}},
     46     {{{ -3036,   1536,    430}, 0, {  5588,  -6164}, {0xff, 0xff, 0xff, 0xff}}},
     47     {{{ -3128,   1536,   1048}, 0, {  2012,  -1054}, {0xff, 0xff, 0xff, 0xff}}},
     48     {{{ -2578,   1536,   1346}, 0, {  5590,   4054}, {0xff, 0xff, 0xff, 0xff}}},
     49     {{{ -2899,   1536,   1506}, 0, {  2012,   4054}, {0xff, 0xff, 0xff, 0xff}}},
     50     {{{  2765,   1126,   4403}, 0, {     0,   7120}, {0xff, 0xff, 0xff, 0xff}}},
     51     {{{  2406,   1331,   4147}, 0, {  2522,   3544}, {0xff, 0xff, 0xff, 0xff}}},
     52     {{{  2048,   1126,   4403}, 0, {     0,      0}, {0xff, 0xff, 0xff, 0xff}}},
     53     {{{ -3128,   1536,   1048}, 0, { -2074,      0}, {0xff, 0xff, 0xff, 0xff}}},
     54     {{{ -2899,   1434,   1506}, 0, {  3034,    990}, {0xff, 0xff, 0xff, 0xff}}},
     55     {{{ -2899,   1536,   1506}, 0, {  3034,      0}, {0xff, 0xff, 0xff, 0xff}}},
     56 };
     57 
     58 // 0x0700E880 - 0x0700E980
     59 static const Vtx hmc_seg7_vertex_0700E880[] = {
     60     {{{ -3586,   1536,   1277}, 0, {     0,      0}, {0xff, 0xff, 0xff, 0xff}}},
     61     {{{ -3128,   1434,   1048}, 0, {  5078,    990}, {0xff, 0xff, 0xff, 0xff}}},
     62     {{{ -3128,   1536,   1048}, 0, {  5078,      0}, {0xff, 0xff, 0xff, 0xff}}},
     63     {{{ -3586,   1434,   1277}, 0, {     0,    990}, {0xff, 0xff, 0xff, 0xff}}},
     64     {{{ -3357,   1536,   1735}, 0, {     0,      0}, {0xff, 0xff, 0xff, 0xff}}},
     65     {{{ -3357,   1434,   1735}, 0, {     0,    990}, {0xff, 0xff, 0xff, 0xff}}},
     66     {{{ -3586,   1434,   1277}, 0, {  5078,    990}, {0xff, 0xff, 0xff, 0xff}}},
     67     {{{ -3586,   1536,   1277}, 0, {  5078,      0}, {0xff, 0xff, 0xff, 0xff}}},
     68     {{{  2048,   1126,   4403}, 0, {     0,      0}, {0xff, 0xff, 0xff, 0xff}}},
     69     {{{  2406,   1331,   4147}, 0, {  2522,   3544}, {0xff, 0xff, 0xff, 0xff}}},
     70     {{{  2048,   1126,   3891}, 0, {  5078,      0}, {0xff, 0xff, 0xff, 0xff}}},
     71     {{{  2048,      0,   3891}, 0, {     0,    990}, {0xff, 0xff, 0xff, 0xff}}},
     72     {{{  2048,   1126,   3891}, 0, {     0, -10252}, {0xff, 0xff, 0xff, 0xff}}},
     73     {{{  2765,   1126,   3891}, 0, {  7122, -10252}, {0xff, 0xff, 0xff, 0xff}}},
     74     {{{  2765,   1126,   3891}, 0, {  5078,   7120}, {0xff, 0xff, 0xff, 0xff}}},
     75     {{{  2765,   1126,   4403}, 0, {     0,   7120}, {0xff, 0xff, 0xff, 0xff}}},
     76 };
     77 
     78 // 0x0700E980 - 0x0700EA50
     79 static const Vtx hmc_seg7_vertex_0700E980[] = {
     80     {{{  2765,      0,   4403}, 0, {  7122,    990}, {0xff, 0xff, 0xff, 0xff}}},
     81     {{{  2765,   1126,   4403}, 0, {  7122, -10252}, {0xff, 0xff, 0xff, 0xff}}},
     82     {{{  2048,   1126,   4403}, 0, {     0, -10252}, {0xff, 0xff, 0xff, 0xff}}},
     83     {{{  2048,      0,   4403}, 0, {     0,    990}, {0xff, 0xff, 0xff, 0xff}}},
     84     {{{  2048,   1126,   3891}, 0, {  5078, -10252}, {0xff, 0xff, 0xff, 0xff}}},
     85     {{{  2048,      0,   3891}, 0, {  5078,    990}, {0xff, 0xff, 0xff, 0xff}}},
     86     {{{  2765,      0,   3891}, 0, {  5078,    990}, {0xff, 0xff, 0xff, 0xff}}},
     87     {{{  2765,   1126,   4403}, 0, {     0, -10252}, {0xff, 0xff, 0xff, 0xff}}},
     88     {{{  2765,      0,   4403}, 0, {     0,    990}, {0xff, 0xff, 0xff, 0xff}}},
     89     {{{  2048,      0,   3891}, 0, {     0,    990}, {0xff, 0xff, 0xff, 0xff}}},
     90     {{{  2765,   1126,   3891}, 0, {  7122, -10252}, {0xff, 0xff, 0xff, 0xff}}},
     91     {{{  2765,      0,   3891}, 0, {  7122,    990}, {0xff, 0xff, 0xff, 0xff}}},
     92     {{{  2765,   1126,   3891}, 0, {  5078, -10252}, {0xff, 0xff, 0xff, 0xff}}},
     93 };
     94 
     95 // 0x0700EA50 - 0x0700EB40
     96 static const Vtx hmc_seg7_vertex_0700EA50[] = {
     97     {{{  6543,    819,   6646}, 0, {  3034,    990}, {0xff, 0xff, 0xff, 0xff}}},
     98     {{{  6543,   1024,   6646}, 0, {  3034,      0}, {0xff, 0xff, 0xff, 0xff}}},
     99     {{{  7588,   1024,   6646}, 0, { -7388,      0}, {0xff, 0xff, 0xff, 0xff}}},
    100     {{{  6543,    819,   3594}, 0, {     0,    990}, {0xff, 0xff, 0xff, 0xff}}},
    101     {{{  6543,   1024,   2550}, 0, { 10392,      0}, {0xff, 0xff, 0xff, 0xff}}},
    102     {{{  6543,    819,   2550}, 0, { 10392,    990}, {0xff, 0xff, 0xff, 0xff}}},
    103     {{{  6543,   1024,   3594}, 0, {     0,      0}, {0xff, 0xff, 0xff, 0xff}}},
    104     {{{  7588,    819,   3594}, 0, { -7388,    990}, {0xff, 0xff, 0xff, 0xff}}},
    105     {{{  6543,   1024,   3594}, 0, {  3034,      0}, {0xff, 0xff, 0xff, 0xff}}},
    106     {{{  6543,    819,   3594}, 0, {  3034,    990}, {0xff, 0xff, 0xff, 0xff}}},
    107     {{{  7588,   1024,   3594}, 0, { -7388,      0}, {0xff, 0xff, 0xff, 0xff}}},
    108     {{{  6543,    819,   7690}, 0, { 10392,    990}, {0xff, 0xff, 0xff, 0xff}}},
    109     {{{  6543,   1024,   6646}, 0, {     0,      0}, {0xff, 0xff, 0xff, 0xff}}},
    110     {{{  6543,    819,   6646}, 0, {     0,    990}, {0xff, 0xff, 0xff, 0xff}}},
    111     {{{  6543,   1024,   7690}, 0, { 10392,      0}, {0xff, 0xff, 0xff, 0xff}}},
    112 };
    113 
    114 // 0x0700EB40 - 0x0700EC30
    115 static const Vtx hmc_seg7_vertex_0700EB40[] = {
    116     {{{   410,    819,   4086}, 0, { 10290,    990}, {0xff, 0xff, 0xff, 0xff}}},
    117     {{{   410,   1024,   4086}, 0, { 10290,      0}, {0xff, 0xff, 0xff, 0xff}}},
    118     {{{  1444,   1024,   4086}, 0, {     0,      0}, {0xff, 0xff, 0xff, 0xff}}},
    119     {{{  6543,    819,   6646}, 0, {  3034,    990}, {0xff, 0xff, 0xff, 0xff}}},
    120     {{{  7588,   1024,   6646}, 0, { -7388,      0}, {0xff, 0xff, 0xff, 0xff}}},
    121     {{{  7588,    819,   6646}, 0, { -7388,    990}, {0xff, 0xff, 0xff, 0xff}}},
    122     {{{  1444,    819,   6646}, 0, {   990,    990}, {0xff, 0xff, 0xff, 0xff}}},
    123     {{{  1444,   1024,   7680}, 0, { -9330,      0}, {0xff, 0xff, 0xff, 0xff}}},
    124     {{{  1444,    819,   7680}, 0, { -9330,    990}, {0xff, 0xff, 0xff, 0xff}}},
    125     {{{  1444,   1024,   6646}, 0, {   990,      0}, {0xff, 0xff, 0xff, 0xff}}},
    126     {{{   399,    819,   6646}, 0, { -7388,    990}, {0xff, 0xff, 0xff, 0xff}}},
    127     {{{  1444,   1024,   6646}, 0, {  3034,      0}, {0xff, 0xff, 0xff, 0xff}}},
    128     {{{  1444,    819,   6646}, 0, {  3034,    990}, {0xff, 0xff, 0xff, 0xff}}},
    129     {{{   399,   1024,   6646}, 0, { -7388,      0}, {0xff, 0xff, 0xff, 0xff}}},
    130     {{{  1444,    819,   4086}, 0, {     0,    990}, {0xff, 0xff, 0xff, 0xff}}},
    131 };
    132 
    133 // 0x0700EC30 - 0x0700ECB0
    134 static const Vtx hmc_seg7_vertex_0700EC30[] = {
    135     {{{  1444,    819,   4086}, 0, {   990,    990}, {0xff, 0xff, 0xff, 0xff}}},
    136     {{{  1444,   1024,   4618}, 0, { -4220,      0}, {0xff, 0xff, 0xff, 0xff}}},
    137     {{{  1444,    819,   4618}, 0, { -4220,    990}, {0xff, 0xff, 0xff, 0xff}}},
    138     {{{  1444,   1024,   4086}, 0, {   990,      0}, {0xff, 0xff, 0xff, 0xff}}},
    139     {{{   922,   1024,   4618}, 0, {  5078,      0}, {0xff, 0xff, 0xff, 0xff}}},
    140     {{{   410,    819,   4618}, 0, {     0,    990}, {0xff, 0xff, 0xff, 0xff}}},
    141     {{{   922,    819,   4618}, 0, {  5078,    990}, {0xff, 0xff, 0xff, 0xff}}},
    142     {{{   410,   1024,   4618}, 0, {     0,      0}, {0xff, 0xff, 0xff, 0xff}}},
    143 };
    144 
    145 // 0x0700ECB0 - 0x0700EE38
    146 static const Gfx hmc_seg7_dl_0700ECB0[] = {
    147     gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, cave_09001000),
    148     gsDPLoadSync(),
    149     gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)),
    150     gsSPVertex(hmc_seg7_vertex_0700E5B0, 16, 0),
    151     gsSP2Triangles( 0,  1,  2, 0x0,  3,  4,  5, 0x0),
    152     gsSP2Triangles( 3,  5,  6, 0x0,  7,  8,  9, 0x0),
    153     gsSP2Triangles( 7,  9, 10, 0x0, 11,  1,  0, 0x0),
    154     gsSP2Triangles(11, 12,  1, 0x0, 13, 14, 15, 0x0),
    155     gsSPVertex(hmc_seg7_vertex_0700E6B0, 15, 0),
    156     gsSP2Triangles( 0,  1,  2, 0x0,  2,  1,  3, 0x0),
    157     gsSP2Triangles( 2,  3,  4, 0x0,  5,  6,  7, 0x0),
    158     gsSP2Triangles( 5,  8,  6, 0x0,  9, 10, 11, 0x0),
    159     gsSP2Triangles(12, 13, 14, 0x0, 10,  5,  7, 0x0),
    160     gsSP1Triangle(10,  7, 11, 0x0),
    161     gsSPVertex(hmc_seg7_vertex_0700E7A0, 14, 0),
    162     gsSP2Triangles( 0,  1,  2, 0x0,  3,  0,  2, 0x0),
    163     gsSP2Triangles( 4,  3,  2, 0x0,  4,  2,  5, 0x0),
    164     gsSP2Triangles( 4,  5,  6, 0x0,  5,  7,  6, 0x0),
    165     gsSP2Triangles( 8,  9, 10, 0x0, 11, 12, 13, 0x0),
    166     gsSPVertex(hmc_seg7_vertex_0700E880, 16, 0),
    167     gsSP2Triangles( 0,  1,  2, 0x0,  0,  3,  1, 0x0),
    168     gsSP2Triangles( 4,  5,  6, 0x0,  4,  6,  7, 0x0),
    169     gsSP2Triangles( 8,  9, 10, 0x0, 11, 12, 13, 0x0),
    170     gsSP2Triangles( 9, 14, 10, 0x0, 14,  9, 15, 0x0),
    171     gsSPVertex(hmc_seg7_vertex_0700E980, 13, 0),
    172     gsSP2Triangles( 0,  1,  2, 0x0,  0,  2,  3, 0x0),
    173     gsSP2Triangles( 3,  4,  5, 0x0,  3,  2,  4, 0x0),
    174     gsSP2Triangles( 6,  7,  8, 0x0,  9, 10, 11, 0x0),
    175     gsSP1Triangle( 6, 12,  7, 0x0),
    176     gsSPEndDisplayList(),
    177 };
    178 
    179 // 0x0700EE38 - 0x0700EF00
    180 static const Gfx hmc_seg7_dl_0700EE38[] = {
    181     gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, cave_09003000),
    182     gsDPLoadSync(),
    183     gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)),
    184     gsSPVertex(hmc_seg7_vertex_0700EA50, 15, 0),
    185     gsSP2Triangles( 0,  1,  2, 0x0,  3,  4,  5, 0x0),
    186     gsSP2Triangles( 3,  6,  4, 0x0,  7,  8,  9, 0x0),
    187     gsSP2Triangles( 7, 10,  8, 0x0, 11, 12, 13, 0x0),
    188     gsSP1Triangle(11, 14, 12, 0x0),
    189     gsSPVertex(hmc_seg7_vertex_0700EB40, 15, 0),
    190     gsSP2Triangles( 0,  1,  2, 0x0,  3,  4,  5, 0x0),
    191     gsSP2Triangles( 6,  7,  8, 0x0,  6,  9,  7, 0x0),
    192     gsSP2Triangles(10, 11, 12, 0x0, 10, 13, 11, 0x0),
    193     gsSP1Triangle( 0,  2, 14, 0x0),
    194     gsSPVertex(hmc_seg7_vertex_0700EC30, 8, 0),
    195     gsSP2Triangles( 0,  1,  2, 0x0,  0,  3,  1, 0x0),
    196     gsSP2Triangles( 4,  5,  6, 0x0,  4,  7,  5, 0x0),
    197     gsSPEndDisplayList(),
    198 };
    199 
    200 // 0x0700EF00 - 0x0700EFD8
    201 const Gfx hmc_seg7_dl_0700EF00[] = {
    202     gsDPPipeSync(),
    203     gsDPSetCycleType(G_CYC_2CYCLE),
    204     gsDPSetRenderMode(G_RM_FOG_SHADE_A, G_RM_AA_ZB_TEX_EDGE2),
    205     gsDPSetDepthSource(G_ZS_PIXEL),
    206     gsDPSetFogColor(0, 0, 0, 255),
    207     gsSPFogPosition(960, 1000),
    208     gsSPSetGeometryMode(G_FOG),
    209     gsDPSetCombineMode(G_CC_DECALRGBA, G_CC_PASS2),
    210     gsSPClearGeometryMode(G_LIGHTING | G_CULL_BACK),
    211     gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 0, 0, G_TX_LOADTILE, 0, G_TX_WRAP | G_TX_NOMIRROR, G_TX_NOMASK, G_TX_NOLOD, G_TX_WRAP | G_TX_NOMIRROR, G_TX_NOMASK, G_TX_NOLOD),
    212     gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_ON),
    213     gsDPTileSync(),
    214     gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, G_TX_RENDERTILE, 0, G_TX_WRAP | G_TX_NOMIRROR, 5, G_TX_NOLOD, G_TX_WRAP | G_TX_NOMIRROR, 5, G_TX_NOLOD),
    215     gsDPSetTileSize(0, 0, 0, (32 - 1) << G_TEXTURE_IMAGE_FRAC, (32 - 1) << G_TEXTURE_IMAGE_FRAC),
    216     gsSPDisplayList(hmc_seg7_dl_0700ECB0),
    217     gsDPTileSync(),
    218     gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, G_TX_RENDERTILE, 0, G_TX_CLAMP, 5, G_TX_NOLOD, G_TX_WRAP | G_TX_NOMIRROR, 5, G_TX_NOLOD),
    219     gsDPSetTileSize(0, 0, 0, (32 - 1) << G_TEXTURE_IMAGE_FRAC, (32 - 1) << G_TEXTURE_IMAGE_FRAC),
    220     gsSPDisplayList(hmc_seg7_dl_0700EE38),
    221     gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF),
    222     gsDPPipeSync(),
    223     gsDPSetCycleType(G_CYC_1CYCLE),
    224     gsDPSetRenderMode(G_RM_AA_ZB_TEX_EDGE, G_RM_NOOP2),
    225     gsSPClearGeometryMode(G_FOG),
    226     gsDPSetCombineMode(G_CC_SHADE, G_CC_SHADE),
    227     gsSPSetGeometryMode(G_LIGHTING | G_CULL_BACK),
    228     gsSPEndDisplayList(),
    229 };