sm64

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

2.inc.c (11601B)


      1 // 0x07008838 - 0x07008850
      2 static const Lights1 wf_seg7_lights_07008838 = gdSPDefLights1(
      3     0x66, 0x66, 0x66,
      4     0xff, 0xff, 0xff, 0x28, 0x28, 0x28
      5 );
      6 
      7 // 0x07008850 - 0x07008950
      8 static const Vtx wf_seg7_vertex_07008850[] = {
      9     {{{   128,   1792,    128}, 0, {  1244,   1000}, {0x00, 0x00, 0x7f, 0xff}}},
     10     {{{   128,   2048,    128}, 0, {  1244,    -20}, {0x00, 0x00, 0x7f, 0xff}}},
     11     {{{  -127,   2048,    128}, 0, {   222,    -20}, {0x00, 0x00, 0x7f, 0xff}}},
     12     {{{  -127,   1792,   -127}, 0, {  1236,    990}, {0x00, 0x00, 0x81, 0xff}}},
     13     {{{   128,   2048,   -127}, 0, {   214,    -30}, {0x00, 0x00, 0x81, 0xff}}},
     14     {{{   128,   1792,   -127}, 0, {   214,    990}, {0x00, 0x00, 0x81, 0xff}}},
     15     {{{  -127,   2048,   -127}, 0, {  1236,    -30}, {0x00, 0x00, 0x81, 0xff}}},
     16     {{{  -127,   1792,    128}, 0, {  1226,    988}, {0x81, 0x00, 0x00, 0xff}}},
     17     {{{  -127,   2048,    128}, 0, {  1226,    -34}, {0x81, 0x00, 0x00, 0xff}}},
     18     {{{  -127,   2048,   -127}, 0, {   204,    -34}, {0x81, 0x00, 0x00, 0xff}}},
     19     {{{  -127,   1792,   -127}, 0, {   204,    988}, {0x81, 0x00, 0x00, 0xff}}},
     20     {{{   128,   1792,   -127}, 0, {  1244,    996}, {0x7f, 0x00, 0x00, 0xff}}},
     21     {{{   128,   2048,   -127}, 0, {  1244,    -24}, {0x7f, 0x00, 0x00, 0xff}}},
     22     {{{   128,   2048,    128}, 0, {   222,    -24}, {0x7f, 0x00, 0x00, 0xff}}},
     23     {{{   128,   1792,    128}, 0, {   222,    996}, {0x7f, 0x00, 0x00, 0xff}}},
     24     {{{  -127,   1792,    128}, 0, {   222,   1000}, {0x00, 0x00, 0x7f, 0xff}}},
     25 };
     26 
     27 // 0x07008950 - 0x070089F0
     28 static const Vtx wf_seg7_vertex_07008950[] = {
     29     {{{   256,   2048,    256}, 0, {  4056,   4054}, {0x00, 0x81, 0x00, 0xff}}},
     30     {{{  -255,   2048,    256}, 0, {  4056,      0}, {0x00, 0x81, 0x00, 0xff}}},
     31     {{{  -255,   2048,   -255}, 0, {     0,      0}, {0x00, 0x81, 0x00, 0xff}}},
     32     {{{   256,   2048,   -255}, 0, {     0,   4054}, {0x00, 0x81, 0x00, 0xff}}},
     33     {{{     0,   1792,   -537}, 0, {  -802,  -1362}, {0x00, 0x7f, 0x00, 0xff}}},
     34     {{{   466,   1792,    269}, 0, {  1056,   1858}, {0x00, 0x7f, 0x00, 0xff}}},
     35     {{{   466,   1792,   -268}, 0, {  1056,   -288}, {0x00, 0x7f, 0x00, 0xff}}},
     36     {{{  -465,   1792,   -268}, 0, { -2662,   -288}, {0x00, 0x7f, 0x00, 0xff}}},
     37     {{{  -465,   1792,    269}, 0, { -2662,   1858}, {0x00, 0x7f, 0x00, 0xff}}},
     38     {{{     0,   1792,    538}, 0, {  -802,   2932}, {0x00, 0x7f, 0x00, 0xff}}},
     39 };
     40 
     41 // 0x070089F0 - 0x07008AF0
     42 static const Vtx wf_seg7_vertex_070089F0[] = {
     43     {{{   466,   1536,   -268}, 0, {   990,    990}, {0x7f, 0x00, 0x00, 0xff}}},
     44     {{{   466,   1792,   -268}, 0, {   990,      0}, {0x7f, 0x00, 0x00, 0xff}}},
     45     {{{   466,   1792,    269}, 0, {   -82,      0}, {0x7f, 0x00, 0x00, 0xff}}},
     46     {{{  -465,   1536,    269}, 0, {  1042,    990}, {0x81, 0x00, 0x00, 0xff}}},
     47     {{{  -465,   1792,   -268}, 0, {     0,      0}, {0x81, 0x00, 0x00, 0xff}}},
     48     {{{  -465,   1536,   -268}, 0, {     0,    990}, {0x81, 0x00, 0x00, 0xff}}},
     49     {{{  -465,   1792,    269}, 0, {  1042,      0}, {0x81, 0x00, 0x00, 0xff}}},
     50     {{{     0,   1536,    538}, 0, {  1042,    990}, {0xc1, 0x00, 0x6d, 0xff}}},
     51     {{{  -465,   1792,    269}, 0, {     0,      0}, {0xc1, 0x00, 0x6d, 0xff}}},
     52     {{{  -465,   1536,    269}, 0, {     0,    990}, {0xc1, 0x00, 0x6d, 0xff}}},
     53     {{{     0,   1792,    538}, 0, {  1042,      0}, {0xc1, 0x00, 0x6d, 0xff}}},
     54     {{{   466,   1536,    269}, 0, {   990,    990}, {0x3f, 0x00, 0x6d, 0xff}}},
     55     {{{     0,   1792,    538}, 0, {   -82,      0}, {0x3f, 0x00, 0x6d, 0xff}}},
     56     {{{     0,   1536,    538}, 0, {   -82,    990}, {0x3f, 0x00, 0x6d, 0xff}}},
     57     {{{   466,   1792,    269}, 0, {   990,      0}, {0x3f, 0x00, 0x6d, 0xff}}},
     58     {{{   466,   1536,    269}, 0, {   -82,    990}, {0x7f, 0x00, 0x00, 0xff}}},
     59 };
     60 
     61 // 0x07008AF0 - 0x07008BD0
     62 static const Vtx wf_seg7_vertex_07008AF0[] = {
     63     {{{     0,   1536,   -537}, 0, {   990,    990}, {0x3f, 0x00, 0x93, 0xff}}},
     64     {{{   466,   1792,   -268}, 0, {   -82,      0}, {0x3f, 0x00, 0x93, 0xff}}},
     65     {{{   466,   1536,   -268}, 0, {   -82,    990}, {0x3f, 0x00, 0x93, 0xff}}},
     66     {{{     0,   1792,   -537}, 0, {   990,      0}, {0x3f, 0x00, 0x93, 0xff}}},
     67     {{{  -465,   1536,   -268}, 0, {  1042,    990}, {0xc1, 0x00, 0x93, 0xff}}},
     68     {{{     0,   1792,   -537}, 0, {     0,      0}, {0xc1, 0x00, 0x93, 0xff}}},
     69     {{{     0,   1536,   -537}, 0, {     0,    990}, {0xc1, 0x00, 0x93, 0xff}}},
     70     {{{  -465,   1792,   -268}, 0, {  1042,      0}, {0xc1, 0x00, 0x93, 0xff}}},
     71     {{{   256,   2048,   -255}, 0, { -1052,    990}, {0x00, 0x38, 0x8f, 0xff}}},
     72     {{{  -255,   2048,   -255}, 0, {  3034,    990}, {0x00, 0x38, 0x8f, 0xff}}},
     73     {{{     0,   2560,      0}, 0, {   990,  -3580}, {0x00, 0x38, 0x8f, 0xff}}},
     74     {{{  -255,   2048,    256}, 0, { -2414,    982}, {0x00, 0x38, 0x71, 0xff}}},
     75     {{{   256,   2048,    256}, 0, {  1672,    982}, {0x00, 0x38, 0x71, 0xff}}},
     76     {{{     0,   2560,      0}, 0, {  -370,  -3588}, {0x00, 0x38, 0x71, 0xff}}},
     77 };
     78 
     79 // 0x07008BD0 - 0x07008C30
     80 static const Vtx wf_seg7_vertex_07008BD0[] = {
     81     {{{  -255,   2048,   -255}, 0, {     0,    990}, {0x8f, 0x38, 0x00, 0xff}}},
     82     {{{  -255,   2048,    256}, 0, {  4056,    990}, {0x8f, 0x38, 0x00, 0xff}}},
     83     {{{     0,   2560,      0}, 0, {  2012,  -3580}, {0x8f, 0x38, 0x00, 0xff}}},
     84     {{{   256,   2048,    256}, 0, {     0,    990}, {0x71, 0x38, 0x00, 0xff}}},
     85     {{{   256,   2048,   -255}, 0, {  4056,    990}, {0x71, 0x38, 0x00, 0xff}}},
     86     {{{     0,   2560,      0}, 0, {  2012,  -3580}, {0x71, 0x38, 0x00, 0xff}}},
     87 };
     88 
     89 // 0x07008C30 - 0x07008D20
     90 static const Vtx wf_seg7_vertex_07008C30[] = {
     91     {{{   466,      0,   -268}, 0, {  1246,   7120}, {0x7f, 0x00, 0x00, 0xff}}},
     92     {{{   466,   1536,    269}, 0, {   -94,   -544}, {0x7f, 0x00, 0x00, 0xff}}},
     93     {{{   466,      0,    269}, 0, {   -94,   7120}, {0x7f, 0x00, 0x00, 0xff}}},
     94     {{{  -465,      0,    269}, 0, {  1246,   7120}, {0x81, 0x00, 0x00, 0xff}}},
     95     {{{  -465,   1536,    269}, 0, {  1246,   -542}, {0x81, 0x00, 0x00, 0xff}}},
     96     {{{  -465,   1536,   -268}, 0, {   -94,   -544}, {0x81, 0x00, 0x00, 0xff}}},
     97     {{{  -465,      0,   -268}, 0, {   -94,   7120}, {0x81, 0x00, 0x00, 0xff}}},
     98     {{{     0,      0,    538}, 0, {  1246,   7120}, {0xc1, 0x00, 0x6d, 0xff}}},
     99     {{{     0,   1536,    538}, 0, {  1246,   -542}, {0xc1, 0x00, 0x6d, 0xff}}},
    100     {{{  -465,   1536,    269}, 0, {   -94,   -542}, {0xc1, 0x00, 0x6d, 0xff}}},
    101     {{{  -465,      0,    269}, 0, {   -94,   7120}, {0xc1, 0x00, 0x6d, 0xff}}},
    102     {{{   466,      0,    269}, 0, {  1246,   7120}, {0x3f, 0x00, 0x6d, 0xff}}},
    103     {{{   466,   1536,    269}, 0, {  1246,   -544}, {0x3f, 0x00, 0x6d, 0xff}}},
    104     {{{     0,   1536,    538}, 0, {   -94,   -544}, {0x3f, 0x00, 0x6d, 0xff}}},
    105     {{{     0,      0,    538}, 0, {   -94,   7120}, {0x3f, 0x00, 0x6d, 0xff}}},
    106 };
    107 
    108 // 0x07008D20 - 0x07008DD0
    109 static const Vtx wf_seg7_vertex_07008D20[] = {
    110     {{{  -465,      0,   -268}, 0, {  1246,   7120}, {0xc1, 0x00, 0x93, 0xff}}},
    111     {{{  -465,   1536,   -268}, 0, {  1246,   -544}, {0xc1, 0x00, 0x93, 0xff}}},
    112     {{{     0,   1536,   -537}, 0, {   -94,   -544}, {0xc1, 0x00, 0x93, 0xff}}},
    113     {{{   466,      0,   -268}, 0, {  1246,   7120}, {0x7f, 0x00, 0x00, 0xff}}},
    114     {{{   466,   1536,   -268}, 0, {  1246,   -544}, {0x7f, 0x00, 0x00, 0xff}}},
    115     {{{   466,   1536,    269}, 0, {   -94,   -544}, {0x7f, 0x00, 0x00, 0xff}}},
    116     {{{     0,      0,   -537}, 0, {  1246,   7120}, {0x3f, 0x00, 0x93, 0xff}}},
    117     {{{     0,   1536,   -537}, 0, {  1246,   -542}, {0x3f, 0x00, 0x93, 0xff}}},
    118     {{{   466,   1536,   -268}, 0, {   -94,   -544}, {0x3f, 0x00, 0x93, 0xff}}},
    119     {{{   466,      0,   -268}, 0, {   -94,   7120}, {0x3f, 0x00, 0x93, 0xff}}},
    120     {{{     0,      0,   -537}, 0, {   -94,   7120}, {0xc1, 0x00, 0x93, 0xff}}},
    121 };
    122 
    123 // 0x07008DD0 - 0x07008E48
    124 static const Gfx wf_seg7_dl_07008DD0[] = {
    125     gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, wf_seg7_texture_07001800),
    126     gsDPLoadSync(),
    127     gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)),
    128     gsSPLight(&wf_seg7_lights_07008838.l, 1),
    129     gsSPLight(&wf_seg7_lights_07008838.a, 2),
    130     gsSPVertex(wf_seg7_vertex_07008850, 16, 0),
    131     gsSP2Triangles( 0,  1,  2, 0x0,  3,  4,  5, 0x0),
    132     gsSP2Triangles( 3,  6,  4, 0x0,  7,  8,  9, 0x0),
    133     gsSP2Triangles( 7,  9, 10, 0x0, 11, 12, 13, 0x0),
    134     gsSP2Triangles(11, 13, 14, 0x0,  0,  2, 15, 0x0),
    135     gsSPEndDisplayList(),
    136 };
    137 
    138 // 0x07008E48 - 0x07008EA0
    139 static const Gfx wf_seg7_dl_07008E48[] = {
    140     gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, grass_09007800),
    141     gsDPLoadSync(),
    142     gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)),
    143     gsSPVertex(wf_seg7_vertex_07008950, 10, 0),
    144     gsSP2Triangles( 0,  1,  2, 0x0,  0,  2,  3, 0x0),
    145     gsSP2Triangles( 4,  5,  6, 0x0,  4,  7,  8, 0x0),
    146     gsSP2Triangles( 4,  8,  9, 0x0,  4,  9,  5, 0x0),
    147     gsSPEndDisplayList(),
    148 };
    149 
    150 // 0x07008EA0 - 0x07008F58
    151 static const Gfx wf_seg7_dl_07008EA0[] = {
    152     gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, grass_09009000),
    153     gsDPLoadSync(),
    154     gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)),
    155     gsSPVertex(wf_seg7_vertex_070089F0, 16, 0),
    156     gsSP2Triangles( 0,  1,  2, 0x0,  3,  4,  5, 0x0),
    157     gsSP2Triangles( 3,  6,  4, 0x0,  7,  8,  9, 0x0),
    158     gsSP2Triangles( 7, 10,  8, 0x0, 11, 12, 13, 0x0),
    159     gsSP2Triangles(11, 14, 12, 0x0,  0,  2, 15, 0x0),
    160     gsSPVertex(wf_seg7_vertex_07008AF0, 14, 0),
    161     gsSP2Triangles( 0,  1,  2, 0x0,  0,  3,  1, 0x0),
    162     gsSP2Triangles( 4,  5,  6, 0x0,  4,  7,  5, 0x0),
    163     gsSP2Triangles( 8,  9, 10, 0x0, 11, 12, 13, 0x0),
    164     gsSPVertex(wf_seg7_vertex_07008BD0, 6, 0),
    165     gsSP2Triangles( 0,  1,  2, 0x0,  3,  4,  5, 0x0),
    166     gsSPEndDisplayList(),
    167 };
    168 
    169 // 0x07008F58 - 0x07008FE8
    170 static const Gfx wf_seg7_dl_07008F58[] = {
    171     gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, grass_09007000),
    172     gsDPLoadSync(),
    173     gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)),
    174     gsSPVertex(wf_seg7_vertex_07008C30, 15, 0),
    175     gsSP2Triangles( 0,  1,  2, 0x0,  3,  4,  5, 0x0),
    176     gsSP2Triangles( 3,  5,  6, 0x0,  7,  8,  9, 0x0),
    177     gsSP2Triangles( 7,  9, 10, 0x0, 11, 12, 13, 0x0),
    178     gsSP1Triangle(11, 13, 14, 0x0),
    179     gsSPVertex(wf_seg7_vertex_07008D20, 11, 0),
    180     gsSP2Triangles( 0,  1,  2, 0x0,  3,  4,  5, 0x0),
    181     gsSP2Triangles( 6,  7,  8, 0x0,  6,  8,  9, 0x0),
    182     gsSP1Triangle( 0,  2, 10, 0x0),
    183     gsSPEndDisplayList(),
    184 };
    185 
    186 // 0x07008FE8 - 0x07009070
    187 const Gfx wf_seg7_dl_07008FE8[] = {
    188     gsDPPipeSync(),
    189     gsDPSetCombineMode(G_CC_MODULATERGB, G_CC_MODULATERGB),
    190     gsSPClearGeometryMode(G_SHADING_SMOOTH),
    191     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),
    192     gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_ON),
    193     gsDPTileSync(),
    194     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),
    195     gsDPSetTileSize(0, 0, 0, (32 - 1) << G_TEXTURE_IMAGE_FRAC, (32 - 1) << G_TEXTURE_IMAGE_FRAC),
    196     gsSPDisplayList(wf_seg7_dl_07008DD0),
    197     gsSPDisplayList(wf_seg7_dl_07008E48),
    198     gsSPDisplayList(wf_seg7_dl_07008EA0),
    199     gsSPDisplayList(wf_seg7_dl_07008F58),
    200     gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF),
    201     gsDPPipeSync(),
    202     gsDPSetCombineMode(G_CC_SHADE, G_CC_SHADE),
    203     gsSPSetGeometryMode(G_SHADING_SMOOTH),
    204     gsSPEndDisplayList(),
    205 };