sm64

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

model.inc.c (11547B)


      1 // 0x07012DB0 - 0x07012DC8
      2 static const Lights1 bits_seg7_lights_07012DB0 = gdSPDefLights1(
      3     0x58, 0x5f, 0x7d,
      4     0xb1, 0xbf, 0xfa, 0x28, 0x28, 0x28
      5 );
      6 
      7 // 0x07012DC8 - 0x07012DE0
      8 static const Lights1 bits_seg7_lights_07012DC8 = gdSPDefLights1(
      9     0x4c, 0x46, 0x6c,
     10     0x98, 0x8c, 0xd8, 0x28, 0x28, 0x28
     11 );
     12 
     13 // 0x07012DE0 - 0x07012DF8
     14 static const Lights1 bits_seg7_lights_07012DE0 = gdSPDefLights1(
     15     0x59, 0x32, 0x7f,
     16     0xb2, 0x65, 0xff, 0x28, 0x28, 0x28
     17 );
     18 
     19 // 0x07012DF8 - 0x07012E78
     20 static const Vtx bits_seg7_vertex_07012DF8[] = {
     21     {{{  -349,    307,   -767}, 0, {  2524,   3542}, {0x00, 0x7f, 0x00, 0xff}}},
     22     {{{  -759,    307,    358}, 0, {     0,   2350}, {0x00, 0x7f, 0x00, 0xff}}},
     23     {{{  -349,    307,    768}, 0, {     0,    990}, {0x00, 0x7f, 0x00, 0xff}}},
     24     {{{   367,    307,    768}, 0, {  1160,   -202}, {0x00, 0x7f, 0x00, 0xff}}},
     25     {{{   776,    307,    358}, 0, {  2522,   -202}, {0x00, 0x7f, 0x00, 0xff}}},
     26     {{{   776,    307,   -357}, 0, {  3716,    990}, {0x00, 0x7f, 0x00, 0xff}}},
     27     {{{   367,    307,   -767}, 0, {  3716,   2350}, {0x00, 0x7f, 0x00, 0xff}}},
     28     {{{  -759,    307,   -357}, 0, {  1160,   3542}, {0x00, 0x7f, 0x00, 0xff}}},
     29 };
     30 
     31 // 0x07012E78 - 0x07012F58
     32 static const Vtx bits_seg7_vertex_07012E78[] = {
     33     {{{  -759,    102,    358}, 0, {     0,   2350}, {0xa7, 0x00, 0x59, 0xff}}},
     34     {{{  -349,    307,    768}, 0, {     0,    990}, {0xa7, 0x00, 0x59, 0xff}}},
     35     {{{  -759,    307,    358}, 0, {     0,   2350}, {0xa7, 0x00, 0x59, 0xff}}},
     36     {{{   367,    102,   -767}, 0, {  3716,   2350}, {0x00, 0x00, 0x81, 0xff}}},
     37     {{{  -349,    102,   -767}, 0, {  2524,   3542}, {0x00, 0x00, 0x81, 0xff}}},
     38     {{{  -349,    307,   -767}, 0, {  2524,   3542}, {0x00, 0x00, 0x81, 0xff}}},
     39     {{{   776,    102,   -357}, 0, {  3716,    990}, {0x59, 0x00, 0xa7, 0xff}}},
     40     {{{   367,    102,   -767}, 0, {  3716,   2350}, {0x59, 0x00, 0xa7, 0xff}}},
     41     {{{   367,    307,   -767}, 0, {  3716,   2350}, {0x59, 0x00, 0xa7, 0xff}}},
     42     {{{   367,    307,   -767}, 0, {  3716,   2350}, {0x00, 0x00, 0x81, 0xff}}},
     43     {{{  -349,    307,   -767}, 0, {  2524,   3542}, {0xa7, 0x00, 0xa7, 0xff}}},
     44     {{{  -349,    102,   -767}, 0, {  2524,   3542}, {0xa7, 0x00, 0xa7, 0xff}}},
     45     {{{  -759,    102,   -357}, 0, {  1160,   3542}, {0xa7, 0x00, 0xa7, 0xff}}},
     46     {{{  -759,    307,   -357}, 0, {  1160,   3542}, {0xa7, 0x00, 0xa7, 0xff}}},
     47 };
     48 
     49 // 0x07012F58 - 0x07013058
     50 static const Vtx bits_seg7_vertex_07012F58[] = {
     51     {{{  -759,    102,    358}, 0, {     0,   2350}, {0x81, 0x00, 0x00, 0xff}}},
     52     {{{  -759,    307,    358}, 0, {     0,   2350}, {0x81, 0x00, 0x00, 0xff}}},
     53     {{{  -759,    307,   -357}, 0, {  1160,   3542}, {0x81, 0x00, 0x00, 0xff}}},
     54     {{{  -759,    102,   -357}, 0, {  1160,   3542}, {0x81, 0x00, 0x00, 0xff}}},
     55     {{{  -759,    102,    358}, 0, {     0,   2350}, {0xa7, 0x00, 0x59, 0xff}}},
     56     {{{  -349,    102,    768}, 0, {     0,    990}, {0xa7, 0x00, 0x59, 0xff}}},
     57     {{{  -349,    307,    768}, 0, {     0,    990}, {0xa7, 0x00, 0x59, 0xff}}},
     58     {{{   776,    307,    358}, 0, {  2522,   -202}, {0x59, 0x00, 0x59, 0xff}}},
     59     {{{   367,    102,    768}, 0, {  1160,   -202}, {0x59, 0x00, 0x59, 0xff}}},
     60     {{{   776,    102,    358}, 0, {  2522,   -202}, {0x59, 0x00, 0x59, 0xff}}},
     61     {{{   776,    102,   -357}, 0, {  3716,    990}, {0x59, 0x00, 0xa7, 0xff}}},
     62     {{{   367,    307,   -767}, 0, {  3716,   2350}, {0x59, 0x00, 0xa7, 0xff}}},
     63     {{{   776,    307,   -357}, 0, {  3716,    990}, {0x59, 0x00, 0xa7, 0xff}}},
     64     {{{   776,    102,   -357}, 0, {  3716,    990}, {0x7f, 0x00, 0x00, 0xff}}},
     65     {{{   776,    307,   -357}, 0, {  3716,    990}, {0x7f, 0x00, 0x00, 0xff}}},
     66     {{{   776,    307,    358}, 0, {  2522,   -202}, {0x7f, 0x00, 0x00, 0xff}}},
     67 };
     68 
     69 // 0x07013058 - 0x070130F8
     70 static const Vtx bits_seg7_vertex_07013058[] = {
     71     {{{   776,    102,   -357}, 0, {  3716,    990}, {0x7f, 0x00, 0x00, 0xff}}},
     72     {{{   776,    307,    358}, 0, {  2522,   -202}, {0x7f, 0x00, 0x00, 0xff}}},
     73     {{{   776,    102,    358}, 0, {  2522,   -202}, {0x7f, 0x00, 0x00, 0xff}}},
     74     {{{   776,    307,    358}, 0, {  2522,   -202}, {0x59, 0x00, 0x59, 0xff}}},
     75     {{{   367,    307,    768}, 0, {  1160,   -202}, {0x59, 0x00, 0x59, 0xff}}},
     76     {{{   367,    102,    768}, 0, {  1160,   -202}, {0x59, 0x00, 0x59, 0xff}}},
     77     {{{   367,    307,    768}, 0, {  1160,   -202}, {0x00, 0x00, 0x7f, 0xff}}},
     78     {{{  -349,    307,    768}, 0, {     0,    990}, {0x00, 0x00, 0x7f, 0xff}}},
     79     {{{  -349,    102,    768}, 0, {     0,    990}, {0x00, 0x00, 0x7f, 0xff}}},
     80     {{{   367,    102,    768}, 0, {  1160,   -202}, {0x00, 0x00, 0x7f, 0xff}}},
     81 };
     82 
     83 // 0x070130F8 - 0x070131E8
     84 static const Vtx bits_seg7_vertex_070130F8[] = {
     85     {{{   776,    102,    358}, 0, {  2522,   -202}, {0x5b, 0xa8, 0x00, 0xff}}},
     86     {{{   382,   -306,    179}, 0, {  2164,    752}, {0x5b, 0xa8, 0x00, 0xff}}},
     87     {{{   382,   -306,   -178}, 0, {  2762,   1346}, {0x5b, 0xa8, 0x00, 0xff}}},
     88     {{{  -385,   -306,    179}, 0, {   888,   2028}, {0xc0, 0xa9, 0x40, 0xff}}},
     89     {{{  -180,   -306,    384}, 0, {   888,   1346}, {0xc0, 0xa9, 0x40, 0xff}}},
     90     {{{  -349,    102,    768}, 0, {     0,    990}, {0xc0, 0xa9, 0x40, 0xff}}},
     91     {{{  -759,    102,    358}, 0, {     0,   2350}, {0xc0, 0xa9, 0x40, 0xff}}},
     92     {{{  -385,   -306,    179}, 0, {   888,   2028}, {0x00, 0x81, 0x00, 0xff}}},
     93     {{{  -180,   -306,   -383}, 0, {  2164,   2624}, {0x00, 0x81, 0x00, 0xff}}},
     94     {{{   177,   -306,   -383}, 0, {  2762,   2028}, {0x00, 0x81, 0x00, 0xff}}},
     95     {{{   382,   -306,   -178}, 0, {  2762,   1346}, {0x00, 0x81, 0x00, 0xff}}},
     96     {{{   382,   -306,    179}, 0, {  2164,    752}, {0x00, 0x81, 0x00, 0xff}}},
     97     {{{   177,   -306,    384}, 0, {  1484,    752}, {0x00, 0x81, 0x00, 0xff}}},
     98     {{{  -180,   -306,    384}, 0, {   888,   1346}, {0x00, 0x81, 0x00, 0xff}}},
     99     {{{  -385,   -306,   -178}, 0, {  1484,   2624}, {0x00, 0x81, 0x00, 0xff}}},
    100 };
    101 
    102 // 0x070131E8 - 0x070132D8
    103 static const Vtx bits_seg7_vertex_070131E8[] = {
    104     {{{  -759,    102,   -357}, 0, {  1160,   3542}, {0xa3, 0xab, 0x00, 0xff}}},
    105     {{{  -385,   -306,   -178}, 0, {  1484,   2624}, {0xa3, 0xab, 0x00, 0xff}}},
    106     {{{  -385,   -306,    179}, 0, {   888,   2028}, {0xa3, 0xab, 0x00, 0xff}}},
    107     {{{  -759,    102,    358}, 0, {     0,   2350}, {0xa3, 0xab, 0x00, 0xff}}},
    108     {{{  -349,    102,    768}, 0, {     0,    990}, {0x00, 0xa9, 0x5c, 0xff}}},
    109     {{{  -180,   -306,    384}, 0, {   888,   1346}, {0x00, 0xa9, 0x5c, 0xff}}},
    110     {{{   177,   -306,    384}, 0, {  1484,    752}, {0x00, 0xa9, 0x5c, 0xff}}},
    111     {{{   367,    102,    768}, 0, {  1160,   -202}, {0x00, 0xa9, 0x5c, 0xff}}},
    112     {{{   367,    102,    768}, 0, {  1160,   -202}, {0x3f, 0xa7, 0x3f, 0xff}}},
    113     {{{   177,   -306,    384}, 0, {  1484,    752}, {0x3f, 0xa7, 0x3f, 0xff}}},
    114     {{{   382,   -306,    179}, 0, {  2164,    752}, {0x3f, 0xa7, 0x3f, 0xff}}},
    115     {{{   776,    102,    358}, 0, {  2522,   -202}, {0x3f, 0xa7, 0x3f, 0xff}}},
    116     {{{  -349,    102,   -767}, 0, {  2524,   3542}, {0xc0, 0xa9, 0xc0, 0xff}}},
    117     {{{  -385,   -306,   -178}, 0, {  1484,   2624}, {0xc0, 0xa9, 0xc0, 0xff}}},
    118     {{{  -759,    102,   -357}, 0, {  1160,   3542}, {0xc0, 0xa9, 0xc0, 0xff}}},
    119 };
    120 
    121 // 0x070132D8 - 0x070133B8
    122 static const Vtx bits_seg7_vertex_070132D8[] = {
    123     {{{   776,    102,    358}, 0, {  2522,   -202}, {0x5b, 0xa8, 0x00, 0xff}}},
    124     {{{   382,   -306,   -178}, 0, {  2762,   1346}, {0x5b, 0xa8, 0x00, 0xff}}},
    125     {{{   776,    102,   -357}, 0, {  3716,    990}, {0x5b, 0xa8, 0x00, 0xff}}},
    126     {{{   382,   -306,   -178}, 0, {  2762,   1346}, {0x3f, 0xa7, 0xc1, 0xff}}},
    127     {{{   177,   -306,   -383}, 0, {  2762,   2028}, {0x3f, 0xa7, 0xc1, 0xff}}},
    128     {{{   367,    102,   -767}, 0, {  3716,   2350}, {0x3f, 0xa7, 0xc1, 0xff}}},
    129     {{{   776,    102,   -357}, 0, {  3716,    990}, {0x3f, 0xa7, 0xc1, 0xff}}},
    130     {{{   367,    102,   -767}, 0, {  3716,   2350}, {0x00, 0xa9, 0xa4, 0xff}}},
    131     {{{   177,   -306,   -383}, 0, {  2762,   2028}, {0x00, 0xa9, 0xa4, 0xff}}},
    132     {{{  -180,   -306,   -383}, 0, {  2164,   2624}, {0x00, 0xa9, 0xa4, 0xff}}},
    133     {{{  -349,    102,   -767}, 0, {  2524,   3542}, {0x00, 0xa9, 0xa4, 0xff}}},
    134     {{{  -349,    102,   -767}, 0, {  2524,   3542}, {0xc0, 0xa9, 0xc0, 0xff}}},
    135     {{{  -180,   -306,   -383}, 0, {  2164,   2624}, {0xc0, 0xa9, 0xc0, 0xff}}},
    136     {{{  -385,   -306,   -178}, 0, {  1484,   2624}, {0xc0, 0xa9, 0xc0, 0xff}}},
    137 };
    138 
    139 // 0x070133B8 - 0x070135A0
    140 static const Gfx bits_seg7_dl_070133B8[] = {
    141     gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, sky_09001800),
    142     gsDPLoadSync(),
    143     gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)),
    144     gsSPLight(&bits_seg7_lights_07012DB0.l, 1),
    145     gsSPLight(&bits_seg7_lights_07012DB0.a, 2),
    146     gsSPVertex(bits_seg7_vertex_07012DF8, 8, 0),
    147     gsSP2Triangles( 0,  1,  2, 0x0,  0,  2,  3, 0x0),
    148     gsSP2Triangles( 0,  3,  4, 0x0,  0,  5,  6, 0x0),
    149     gsSP2Triangles( 0,  7,  1, 0x0,  0,  4,  5, 0x0),
    150     gsSPLight(&bits_seg7_lights_07012DC8.l, 1),
    151     gsSPLight(&bits_seg7_lights_07012DC8.a, 2),
    152     gsSPVertex(bits_seg7_vertex_07012E78, 14, 0),
    153     gsSP2Triangles( 0,  1,  2, 0x0,  3,  4,  5, 0x0),
    154     gsSP2Triangles( 6,  7,  8, 0x0,  3,  5,  9, 0x0),
    155     gsSP2Triangles(10, 11, 12, 0x0, 13, 10, 12, 0x0),
    156     gsSPVertex(bits_seg7_vertex_07012F58, 16, 0),
    157     gsSP2Triangles( 0,  1,  2, 0x0,  0,  2,  3, 0x0),
    158     gsSP2Triangles( 4,  5,  6, 0x0,  7,  8,  9, 0x0),
    159     gsSP2Triangles(10, 11, 12, 0x0, 13, 14, 15, 0x0),
    160     gsSPVertex(bits_seg7_vertex_07013058, 10, 0),
    161     gsSP2Triangles( 0,  1,  2, 0x0,  3,  4,  5, 0x0),
    162     gsSP2Triangles( 6,  7,  8, 0x0,  6,  8,  9, 0x0),
    163     gsSPLight(&bits_seg7_lights_07012DE0.l, 1),
    164     gsSPLight(&bits_seg7_lights_07012DE0.a, 2),
    165     gsSPVertex(bits_seg7_vertex_070130F8, 15, 0),
    166     gsSP2Triangles( 0,  1,  2, 0x0,  3,  4,  5, 0x0),
    167     gsSP2Triangles( 6,  3,  5, 0x0,  7,  8,  9, 0x0),
    168     gsSP2Triangles( 7,  9, 10, 0x0,  7, 10, 11, 0x0),
    169     gsSP2Triangles( 7, 11, 12, 0x0,  7, 12, 13, 0x0),
    170     gsSP1Triangle( 7, 14,  8, 0x0),
    171     gsSPVertex(bits_seg7_vertex_070131E8, 15, 0),
    172     gsSP2Triangles( 0,  1,  2, 0x0,  0,  2,  3, 0x0),
    173     gsSP2Triangles( 4,  5,  6, 0x0,  4,  6,  7, 0x0),
    174     gsSP2Triangles( 8,  9, 10, 0x0,  8, 10, 11, 0x0),
    175     gsSP1Triangle(12, 13, 14, 0x0),
    176     gsSPVertex(bits_seg7_vertex_070132D8, 14, 0),
    177     gsSP2Triangles( 0,  1,  2, 0x0,  3,  4,  5, 0x0),
    178     gsSP2Triangles( 6,  3,  5, 0x0,  7,  8,  9, 0x0),
    179     gsSP2Triangles( 7,  9, 10, 0x0, 11, 12, 13, 0x0),
    180     gsSPEndDisplayList(),
    181 };
    182 
    183 // 0x070135A0 - 0x07013610
    184 const Gfx bits_seg7_dl_070135A0[] = {
    185     gsDPPipeSync(),
    186     gsDPSetCombineMode(G_CC_MODULATERGB, G_CC_MODULATERGB),
    187     gsSPClearGeometryMode(G_SHADING_SMOOTH),
    188     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),
    189     gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_ON),
    190     gsDPTileSync(),
    191     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),
    192     gsDPSetTileSize(0, 0, 0, (32 - 1) << G_TEXTURE_IMAGE_FRAC, (32 - 1) << G_TEXTURE_IMAGE_FRAC),
    193     gsSPDisplayList(bits_seg7_dl_070133B8),
    194     gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF),
    195     gsDPPipeSync(),
    196     gsDPSetCombineMode(G_CC_SHADE, G_CC_SHADE),
    197     gsSPSetGeometryMode(G_SHADING_SMOOTH),
    198     gsSPEndDisplayList(),
    199 };