sm64

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

model.inc.c (8745B)


      1 // 0x07009B78 - 0x07009B90
      2 static const Lights1 wdw_seg7_lights_07009B78 = gdSPDefLights1(
      3     0x99, 0x99, 0x99,
      4     0xff, 0xff, 0xff, 0x28, 0x28, 0x28
      5 );
      6 
      7 // 0x07009B90 - 0x07009C70
      8 static const Vtx wdw_seg7_vertex_07009B90[] = {
      9     {{{ -1023,   1280,   1249}, 0, {  5844,  -4376}, {0x00, 0x00, 0x7f, 0xff}}},
     10     {{{ -3839,   1152,   1249}, 0, {   478,   1500}, {0x00, 0x00, 0x7f, 0xff}}},
     11     {{{ -1023,   1152,   1249}, 0, {  6100,  -4120}, {0x00, 0x00, 0x7f, 0xff}}},
     12     {{{ -3839,   1280,   1249}, 0, {   224,   1244}, {0x00, 0x00, 0x7f, 0xff}}},
     13     {{{  -286,   1152,   -511}, 0, {  3546,  -1566}, {0x7f, 0x00, 0x00, 0xff}}},
     14     {{{  -286,   1280,   1152}, 0, {   224,   1244}, {0x7f, 0x00, 0x00, 0xff}}},
     15     {{{  -286,   1152,   1152}, 0, {   480,   1500}, {0x7f, 0x00, 0x00, 0xff}}},
     16     {{{  -286,   1280,   -511}, 0, {  3290,  -1820}, {0x7f, 0x00, 0x00, 0xff}}},
     17     {{{  3584,   3072,  -3839}, 0, {  2012,   -714}, {0x00, 0x7f, 0x00, 0xff}}},
     18     {{{  3482,   3072,  -3839}, 0, {  1842,   -884}, {0x00, 0x7f, 0x00, 0xff}}},
     19     {{{  3482,   3072,  -2713}, 0, {     0,    990}, {0x00, 0x7f, 0x00, 0xff}}},
     20     {{{  3584,   3072,  -2815}, 0, {   308,    990}, {0x00, 0x7f, 0x00, 0xff}}},
     21     {{{  4608,   3072,  -2815}, 0, {  2012,   2692}, {0x00, 0x7f, 0x00, 0xff}}},
     22     {{{  4608,   3072,  -2713}, 0, {  1842,   2862}, {0x00, 0x7f, 0x00, 0xff}}},
     23 };
     24 
     25 // 0x07009C70 - 0x07009D50
     26 static const Vtx wdw_seg7_vertex_07009C70[] = {
     27     {{{  3482,      0,  -2713}, 0, {   480,   1498}, {0x00, 0x00, 0x7f, 0xff}}},
     28     {{{  4608,      0,  -2713}, 0, {  2352,   -372}, {0x00, 0x00, 0x7f, 0xff}}},
     29     {{{  4608,   3072,  -2713}, 0, { -2756,  -5482}, {0x00, 0x00, 0x7f, 0xff}}},
     30     {{{  3482,   3072,  -2713}, 0, { -4630,  -3610}, {0x00, 0x00, 0x7f, 0xff}}},
     31     {{{  3482,      0,  -3839}, 0, {  -370,   2350}, {0x81, 0x00, 0x00, 0xff}}},
     32     {{{  3482,      0,  -2713}, 0, {  1500,    480}, {0x81, 0x00, 0x00, 0xff}}},
     33     {{{  3482,   3072,  -3839}, 0, { -5480,  -2758}, {0x81, 0x00, 0x00, 0xff}}},
     34     {{{  3482,   3072,  -2713}, 0, { -3606,  -4632}, {0x81, 0x00, 0x00, 0xff}}},
     35     {{{  1229,   2304,  -2175}, 0, { -1026,   2902}, {0x7f, 0x00, 0x00, 0xff}}},
     36     {{{  1229,    404,  -1479}, 0, {   362,   6692}, {0x7f, 0x00, 0x00, 0xff}}},
     37     {{{  1229,    205,  -1479}, 0, {   362,   7092}, {0x7f, 0x00, 0x00, 0xff}}},
     38     {{{  1229,    205,  -2175}, 0, { -1026,   7092}, {0x7f, 0x00, 0x00, 0xff}}},
     39     {{{  1229,    404,  -1279}, 0, {   762,   6692}, {0x7f, 0x00, 0x00, 0xff}}},
     40     {{{  1229,   2304,  -1279}, 0, {   762,   2902}, {0x7f, 0x00, 0x00, 0xff}}},
     41 };
     42 
     43 // 0x07009D50 - 0x07009E40
     44 static const Vtx wdw_seg7_vertex_07009D50[] = {
     45     {{{   589,   3584,  -2226}, 0, {  -414,   -160}, {0x00, 0x00, 0x81, 0xff}}},
     46     {{{  1229,   2304,  -2226}, 0, {   862,   2394}, {0x00, 0x00, 0x81, 0xff}}},
     47     {{{   589,   2304,  -2226}, 0, {  -414,   2394}, {0x00, 0x00, 0x81, 0xff}}},
     48     {{{  1229,   2304,  -1228}, 0, {   864,   2902}, {0x7f, 0x00, 0x00, 0xff}}},
     49     {{{  1229,   2304,  -2226}, 0, { -1128,   2902}, {0x7f, 0x00, 0x00, 0xff}}},
     50     {{{  1229,   3584,  -2226}, 0, { -1128,    348}, {0x7f, 0x00, 0x00, 0xff}}},
     51     {{{  1229,   3584,  -1228}, 0, {   864,    348}, {0x7f, 0x00, 0x00, 0xff}}},
     52     {{{  1229,   2304,  -1228}, 0, {   864,   2648}, {0x00, 0x00, 0x7f, 0xff}}},
     53     {{{  1229,   3584,  -1228}, 0, {   864,     94}, {0x00, 0x00, 0x7f, 0xff}}},
     54     {{{   589,   3584,  -1228}, 0, {  -412,     94}, {0x00, 0x00, 0x7f, 0xff}}},
     55     {{{   589,   2304,  -1228}, 0, {  -412,   2648}, {0x00, 0x00, 0x7f, 0xff}}},
     56     {{{   589,   2304,  -1228}, 0, {   864,   2648}, {0x81, 0x00, 0x00, 0xff}}},
     57     {{{   589,   3584,  -2226}, 0, { -1128,     94}, {0x81, 0x00, 0x00, 0xff}}},
     58     {{{   589,   2304,  -2226}, 0, { -1128,   2648}, {0x81, 0x00, 0x00, 0xff}}},
     59     {{{   589,   3584,  -1228}, 0, {   864,     94}, {0x81, 0x00, 0x00, 0xff}}},
     60 };
     61 
     62 // 0x07009E40 - 0x07009EB0
     63 static const Vtx wdw_seg7_vertex_07009E40[] = {
     64     {{{  1229,   3584,  -2226}, 0, {  1116,   -876}, {0x00, 0x7f, 0x00, 0xff}}},
     65     {{{   589,   3584,  -2226}, 0, {  -158,   -876}, {0x00, 0x7f, 0x00, 0xff}}},
     66     {{{   589,   3584,  -1228}, 0, {  -158,   1114}, {0x00, 0x7f, 0x00, 0xff}}},
     67     {{{   589,   3584,  -2226}, 0, {  -414,   -160}, {0x00, 0x00, 0x81, 0xff}}},
     68     {{{  1229,   3584,  -2226}, 0, {   862,   -160}, {0x00, 0x00, 0x81, 0xff}}},
     69     {{{  1229,   2304,  -2226}, 0, {   862,   2394}, {0x00, 0x00, 0x81, 0xff}}},
     70     {{{  1229,   3584,  -1228}, 0, {  1116,   1114}, {0x00, 0x7f, 0x00, 0xff}}},
     71 };
     72 
     73 // 0x07009EB0 - 0x07009FB0
     74 static const Vtx wdw_seg7_vertex_07009EB0[] = {
     75     {{{  3681,   1280,   3681}, 0, { 23228,    990}, {0x81, 0x00, 0x00, 0xff}}},
     76     {{{  3681,   1408,    768}, 0, {     0,      0}, {0x81, 0x00, 0x00, 0xff}}},
     77     {{{  3681,   1280,    768}, 0, {     0,    990}, {0x81, 0x00, 0x00, 0xff}}},
     78     {{{  3103,   1280,   3681}, 0, { 23228,    990}, {0x81, 0x00, 0x00, 0xff}}},
     79     {{{  3103,   1408,   3584}, 0, { 22452,      0}, {0x81, 0x00, 0x00, 0xff}}},
     80     {{{  3103,   1280,   3584}, 0, { 22452,    990}, {0x81, 0x00, 0x00, 0xff}}},
     81     {{{  3103,   1408,   3681}, 0, { 23228,      0}, {0x81, 0x00, 0x00, 0xff}}},
     82     {{{  3103,   1408,   3328}, 0, { 20408,      0}, {0x81, 0x00, 0x00, 0xff}}},
     83     {{{  3103,   1280,    768}, 0, {     0,    990}, {0x81, 0x00, 0x00, 0xff}}},
     84     {{{  3103,   1280,   3328}, 0, { 20408,    990}, {0x81, 0x00, 0x00, 0xff}}},
     85     {{{  3103,   1408,    768}, 0, {     0,      0}, {0x81, 0x00, 0x00, 0xff}}},
     86     {{{  3681,   1408,   3681}, 0, {     0,      0}, {0x00, 0x00, 0x7f, 0xff}}},
     87     {{{  3103,   1408,   3681}, 0, {  5078,      0}, {0x00, 0x00, 0x7f, 0xff}}},
     88     {{{  3103,   1280,   3681}, 0, {  5078,    990}, {0x00, 0x00, 0x7f, 0xff}}},
     89     {{{  3681,   1280,   3681}, 0, {     0,    990}, {0x00, 0x00, 0x7f, 0xff}}},
     90     {{{  3681,   1408,   3681}, 0, { 23228,      0}, {0x81, 0x00, 0x00, 0xff}}},
     91 };
     92 
     93 // 0x07009FB0 - 0x0700A0D0
     94 static const Gfx wdw_seg7_dl_07009FB0[] = {
     95     gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, grass_09000000),
     96     gsDPLoadSync(),
     97     gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)),
     98     gsSPLight(&wdw_seg7_lights_07009B78.l, 1),
     99     gsSPLight(&wdw_seg7_lights_07009B78.a, 2),
    100     gsSPVertex(wdw_seg7_vertex_07009B90, 14, 0),
    101     gsSP2Triangles( 0,  1,  2, 0x0,  0,  3,  1, 0x0),
    102     gsSP2Triangles( 4,  5,  6, 0x0,  4,  7,  5, 0x0),
    103     gsSP2Triangles( 8,  9, 10, 0x0, 10, 11,  8, 0x0),
    104     gsSP2Triangles(10, 12, 11, 0x0, 10, 13, 12, 0x0),
    105     gsSPVertex(wdw_seg7_vertex_07009C70, 14, 0),
    106     gsSP2Triangles( 0,  1,  2, 0x0,  3,  0,  2, 0x0),
    107     gsSP2Triangles( 4,  5,  6, 0x0,  5,  7,  6, 0x0),
    108     gsSP2Triangles( 8,  9, 10, 0x0, 10, 11,  8, 0x0),
    109     gsSP2Triangles( 8, 12,  9, 0x0,  8, 13, 12, 0x0),
    110     gsSPVertex(wdw_seg7_vertex_07009D50, 15, 0),
    111     gsSP2Triangles( 0,  1,  2, 0x0,  3,  4,  5, 0x0),
    112     gsSP2Triangles( 3,  5,  6, 0x0,  7,  8,  9, 0x0),
    113     gsSP2Triangles( 7,  9, 10, 0x0, 11, 12, 13, 0x0),
    114     gsSP1Triangle(11, 14, 12, 0x0),
    115     gsSPVertex(wdw_seg7_vertex_07009E40, 7, 0),
    116     gsSP2Triangles( 0,  1,  2, 0x0,  3,  4,  5, 0x0),
    117     gsSP1Triangle( 0,  2,  6, 0x0),
    118     gsSPEndDisplayList(),
    119 };
    120 
    121 // 0x0700A0D0 - 0x0700A138
    122 static const Gfx wdw_seg7_dl_0700A0D0[] = {
    123     gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, grass_0900A000),
    124     gsDPLoadSync(),
    125     gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)),
    126     gsSPVertex(wdw_seg7_vertex_07009EB0, 16, 0),
    127     gsSP2Triangles( 0,  1,  2, 0x0,  3,  4,  5, 0x0),
    128     gsSP2Triangles( 3,  6,  4, 0x0,  7,  8,  9, 0x0),
    129     gsSP2Triangles( 7, 10,  8, 0x0, 11, 12, 13, 0x0),
    130     gsSP2Triangles(11, 13, 14, 0x0,  0, 15,  1, 0x0),
    131     gsSPEndDisplayList(),
    132 };
    133 
    134 // 0x0700A138 - 0x0700A1B0
    135 const Gfx wdw_seg7_dl_0700A138[] = {
    136     gsDPPipeSync(),
    137     gsDPSetCombineMode(G_CC_MODULATERGBA, G_CC_MODULATERGBA),
    138     gsSPClearGeometryMode(G_CULL_BACK | G_SHADING_SMOOTH),
    139     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),
    140     gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_ON),
    141     gsDPTileSync(),
    142     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),
    143     gsDPSetTileSize(0, 0, 0, (32 - 1) << G_TEXTURE_IMAGE_FRAC, (32 - 1) << G_TEXTURE_IMAGE_FRAC),
    144     gsSPDisplayList(wdw_seg7_dl_07009FB0),
    145     gsSPDisplayList(wdw_seg7_dl_0700A0D0),
    146     gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF),
    147     gsDPPipeSync(),
    148     gsDPSetCombineMode(G_CC_SHADE, G_CC_SHADE),
    149     gsSPSetGeometryMode(G_CULL_BACK | G_SHADING_SMOOTH),
    150     gsSPEndDisplayList(),
    151 };