sm64

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

model.inc.c (7632B)


      1 // 0x07009900 - 0x07009918
      2 static const Lights1 wf_seg7_lights_07009900 = gdSPDefLights1(
      3     0x66, 0x66, 0x66,
      4     0xff, 0xff, 0xff, 0x28, 0x28, 0x28
      5 );
      6 
      7 // 0x07009918 - 0x07009958
      8 static const Vtx wf_seg7_vertex_07009918[] = {
      9     {{{   794,     38,   -255}, 0, { 22452,   6606}, {0x00, 0x7f, 0x00, 0xff}}},
     10     {{{   128,     38,   -255}, 0, { 20408,   6606}, {0x00, 0x7f, 0x00, 0xff}}},
     11     {{{   128,     38,    512}, 0, { 20408,   8650}, {0x00, 0x7f, 0x00, 0xff}}},
     12     {{{   794,     38,    512}, 0, { 22452,   8650}, {0x00, 0x7f, 0x00, 0xff}}},
     13 };
     14 
     15 // 0x07009958 - 0x07009A48
     16 static const Vtx wf_seg7_vertex_07009958[] = {
     17     {{{   794,    -89,    512}, 0, { -3096,    990}, {0x00, 0x81, 0x00, 0xff}}},
     18     {{{   128,    -89,   -255}, 0, {   990,  -3098}, {0x00, 0x81, 0x00, 0xff}}},
     19     {{{   794,    -89,   -255}, 0, { -3096,  -3098}, {0x00, 0x81, 0x00, 0xff}}},
     20     {{{   794,     38,    512}, 0, {     0,    478}, {0x7f, 0x00, 0x00, 0xff}}},
     21     {{{   794,    -89,    512}, 0, {     0,    990}, {0x7f, 0x00, 0x00, 0xff}}},
     22     {{{   794,    -89,   -255}, 0, {  2012,    990}, {0x7f, 0x00, 0x00, 0xff}}},
     23     {{{   794,     38,   -255}, 0, {  2012,    478}, {0x7f, 0x00, 0x00, 0xff}}},
     24     {{{   128,     38,    512}, 0, {     0,    480}, {0x00, 0x00, 0x7f, 0xff}}},
     25     {{{   128,    -89,    512}, 0, {     0,    990}, {0x00, 0x00, 0x7f, 0xff}}},
     26     {{{   794,    -89,    512}, 0, {  2012,    990}, {0x00, 0x00, 0x7f, 0xff}}},
     27     {{{   794,     38,    512}, 0, {  2012,    480}, {0x00, 0x00, 0x7f, 0xff}}},
     28     {{{   128,     38,   -255}, 0, { -1052,    480}, {0x81, 0x00, 0x00, 0xff}}},
     29     {{{   128,    -89,   -255}, 0, { -1052,    990}, {0x81, 0x00, 0x00, 0xff}}},
     30     {{{   128,    -89,    512}, 0, {   990,    990}, {0x81, 0x00, 0x00, 0xff}}},
     31     {{{   128,     38,    512}, 0, {   990,    478}, {0x81, 0x00, 0x00, 0xff}}},
     32 };
     33 
     34 // 0x07009A48 - 0x07009AB8
     35 static const Vtx wf_seg7_vertex_07009A48[] = {
     36     {{{   794,     38,   -255}, 0, {     0,    478}, {0x00, 0x00, 0x81, 0xff}}},
     37     {{{   128,    -89,   -255}, 0, {  2012,    990}, {0x00, 0x00, 0x81, 0xff}}},
     38     {{{   128,     38,   -255}, 0, {  2012,    480}, {0x00, 0x00, 0x81, 0xff}}},
     39     {{{   794,    -89,    512}, 0, { -3096,    990}, {0x00, 0x81, 0x00, 0xff}}},
     40     {{{   128,    -89,    512}, 0, {   990,    990}, {0x00, 0x81, 0x00, 0xff}}},
     41     {{{   128,    -89,   -255}, 0, {   990,  -3098}, {0x00, 0x81, 0x00, 0xff}}},
     42     {{{   794,    -89,   -255}, 0, {     0,    990}, {0x00, 0x00, 0x81, 0xff}}},
     43 };
     44 
     45 // 0x07009AB8 - 0x07009BA8
     46 static const Vtx wf_seg7_vertex_07009AB8[] = {
     47     {{{  -666,     38,   -178}, 0, {  7122,    990}, {0x00, 0x00, 0x81, 0xff}}},
     48     {{{  -666,     63,   -178}, 0, {  7122,    582}, {0x00, 0x00, 0x81, 0xff}}},
     49     {{{   358,     63,   -178}, 0, {     0,    582}, {0x00, 0x00, 0x81, 0xff}}},
     50     {{{  -666,     38,    -76}, 0, {   990,    376}, {0x81, 0x00, 0x00, 0xff}}},
     51     {{{  -666,     63,    -76}, 0, {   990,      0}, {0x81, 0x00, 0x00, 0xff}}},
     52     {{{  -666,     63,   -178}, 0, {   172,      0}, {0x81, 0x00, 0x00, 0xff}}},
     53     {{{  -666,     38,   -178}, 0, {   172,    376}, {0x81, 0x00, 0x00, 0xff}}},
     54     {{{   358,     63,   -178}, 0, {  4568,  -1310}, {0x00, 0x7f, 0x00, 0xff}}},
     55     {{{  -666,     63,   -178}, 0, {-13316,  -1310}, {0x00, 0x7f, 0x00, 0xff}}},
     56     {{{  -666,     63,    -76}, 0, {-13316,      0}, {0x00, 0x7f, 0x00, 0xff}}},
     57     {{{   358,     63,    -76}, 0, {  4568,      0}, {0x00, 0x7f, 0x00, 0xff}}},
     58     {{{   358,     38,    -76}, 0, {  2012,   1396}, {0x00, 0x00, 0x7f, 0xff}}},
     59     {{{   358,     63,    -76}, 0, {  2012,    990}, {0x00, 0x00, 0x7f, 0xff}}},
     60     {{{  -666,     63,    -76}, 0, { -5140,    990}, {0x00, 0x00, 0x7f, 0xff}}},
     61     {{{  -666,     38,    -76}, 0, { -5140,   1396}, {0x00, 0x00, 0x7f, 0xff}}},
     62 };
     63 
     64 // 0x07009BA8 - 0x07009C58
     65 static const Vtx wf_seg7_vertex_07009BA8[] = {
     66     {{{   358,     38,   -178}, 0, {   990,    990}, {0x7f, 0x00, 0x00, 0xff}}},
     67     {{{   358,     63,   -178}, 0, {   990,    582}, {0x7f, 0x00, 0x00, 0xff}}},
     68     {{{   358,     63,    -76}, 0, {     0,    582}, {0x7f, 0x00, 0x00, 0xff}}},
     69     {{{  -666,     38,   -178}, 0, {  7122,    990}, {0x00, 0x00, 0x81, 0xff}}},
     70     {{{   358,     63,   -178}, 0, {     0,    582}, {0x00, 0x00, 0x81, 0xff}}},
     71     {{{   358,     38,   -178}, 0, {     0,    990}, {0x00, 0x00, 0x81, 0xff}}},
     72     {{{   358,     38,    -76}, 0, {  4568,      0}, {0x00, 0x81, 0x00, 0xff}}},
     73     {{{  -666,     38,    -76}, 0, {-13316,      0}, {0x00, 0x81, 0x00, 0xff}}},
     74     {{{  -666,     38,   -178}, 0, {-13316,  -1310}, {0x00, 0x81, 0x00, 0xff}}},
     75     {{{   358,     38,   -178}, 0, {  4568,  -1310}, {0x00, 0x81, 0x00, 0xff}}},
     76     {{{   358,     38,    -76}, 0, {     0,    990}, {0x7f, 0x00, 0x00, 0xff}}},
     77 };
     78 
     79 // 0x07009C58 - 0x07009CA0
     80 static const Gfx wf_seg7_dl_07009C58[] = {
     81     gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, grass_09001000),
     82     gsDPLoadSync(),
     83     gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)),
     84     gsSPLight(&wf_seg7_lights_07009900.l, 1),
     85     gsSPLight(&wf_seg7_lights_07009900.a, 2),
     86     gsSPVertex(wf_seg7_vertex_07009918, 4, 0),
     87     gsSP2Triangles( 0,  1,  2, 0x0,  0,  2,  3, 0x0),
     88     gsSPEndDisplayList(),
     89 };
     90 
     91 // 0x07009CA0 - 0x07009D20
     92 static const Gfx wf_seg7_dl_07009CA0[] = {
     93     gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, grass_09000800),
     94     gsDPLoadSync(),
     95     gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)),
     96     gsSPVertex(wf_seg7_vertex_07009958, 15, 0),
     97     gsSP2Triangles( 0,  1,  2, 0x0,  3,  4,  5, 0x0),
     98     gsSP2Triangles( 3,  5,  6, 0x0,  7,  8,  9, 0x0),
     99     gsSP2Triangles( 7,  9, 10, 0x0, 11, 12, 13, 0x0),
    100     gsSP1Triangle(11, 13, 14, 0x0),
    101     gsSPVertex(wf_seg7_vertex_07009A48, 7, 0),
    102     gsSP2Triangles( 0,  1,  2, 0x0,  3,  4,  5, 0x0),
    103     gsSP1Triangle( 0,  6,  1, 0x0),
    104     gsSPEndDisplayList(),
    105 };
    106 
    107 // 0x07009D20 - 0x07009DB0
    108 static const Gfx wf_seg7_dl_07009D20[] = {
    109     gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, grass_09006800),
    110     gsDPLoadSync(),
    111     gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)),
    112     gsSPVertex(wf_seg7_vertex_07009AB8, 15, 0),
    113     gsSP2Triangles( 0,  1,  2, 0x0,  3,  4,  5, 0x0),
    114     gsSP2Triangles( 3,  5,  6, 0x0,  7,  8,  9, 0x0),
    115     gsSP2Triangles( 7,  9, 10, 0x0, 11, 12, 13, 0x0),
    116     gsSP1Triangle(11, 13, 14, 0x0),
    117     gsSPVertex(wf_seg7_vertex_07009BA8, 11, 0),
    118     gsSP2Triangles( 0,  1,  2, 0x0,  3,  4,  5, 0x0),
    119     gsSP2Triangles( 6,  7,  8, 0x0,  6,  8,  9, 0x0),
    120     gsSP1Triangle( 0,  2, 10, 0x0),
    121     gsSPEndDisplayList(),
    122 };
    123 
    124 // 0x07009DB0 - 0x07009E30
    125 const Gfx wf_seg7_dl_07009DB0[] = {
    126     gsDPPipeSync(),
    127     gsDPSetCombineMode(G_CC_MODULATERGB, G_CC_MODULATERGB),
    128     gsSPClearGeometryMode(G_SHADING_SMOOTH),
    129     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),
    130     gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_ON),
    131     gsDPTileSync(),
    132     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),
    133     gsDPSetTileSize(0, 0, 0, (32 - 1) << G_TEXTURE_IMAGE_FRAC, (32 - 1) << G_TEXTURE_IMAGE_FRAC),
    134     gsSPDisplayList(wf_seg7_dl_07009C58),
    135     gsSPDisplayList(wf_seg7_dl_07009CA0),
    136     gsSPDisplayList(wf_seg7_dl_07009D20),
    137     gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF),
    138     gsDPPipeSync(),
    139     gsDPSetCombineMode(G_CC_SHADE, G_CC_SHADE),
    140     gsSPSetGeometryMode(G_SHADING_SMOOTH),
    141     gsSPEndDisplayList(),
    142 };