sm64

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

model.inc.c (8213B)


      1 // Dirt
      2 
      3 // 0x0302BD68
      4 static const Lights1 dirt_seg3_lights_0302BD68 = gdSPDefLights1(
      5     0x3f, 0x19, 0x19,
      6     0xff, 0x64, 0x64, 0x28, 0x28, 0x28
      7 );
      8 
      9 // 0x0302BD80
     10 static const Lights1 dirt_seg3_lights_0302BD80 = gdSPDefLights1(
     11     0x19, 0x3f, 0x19,
     12     0x64, 0xff, 0x64, 0x28, 0x28, 0x28
     13 );
     14 
     15 // 0x0302BD98
     16 static const Lights1 dirt_seg3_lights_0302BD98 = gdSPDefLights1(
     17     0x19, 0x19, 0x3f,
     18     0x64, 0x64, 0xff, 0x28, 0x28, 0x28
     19 );
     20 
     21 // 0x0302BDB0
     22 static const Lights1 dirt_seg3_lights_0302BDB0 = gdSPDefLights1(
     23     0x3f, 0x3f, 0x19,
     24     0xff, 0xff, 0x64, 0x28, 0x28, 0x28
     25 );
     26 
     27 // 0x0302BDC8
     28 static const Vtx dirt_seg3_vertex_0302BDC8[] = {
     29     {{{  -101,    -60,      0}, 0, {  -130,    467}, {0x00, 0x00, 0x7f, 0xff}}},
     30     {{{   102,    -60,      0}, 0, {   599,    467}, {0x00, 0x00, 0x7f, 0xff}}},
     31     {{{     0,     92,      0}, 0, {   234,    -81}, {0x00, 0x00, 0x7f, 0xff}}},
     32 };
     33 
     34 // 0x0302BDF8
     35 ALIGNED8 static const Texture dirt_seg3_texture_0302BDF8[] = {
     36 #include "actors/dirt/dirt_particle.rgba16.inc.c"
     37 };
     38 
     39 // 0x0302BFF8 - 0x0302C028
     40 const Gfx dirt_seg3_dl_0302BFF8[] = {
     41     gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, dirt_seg3_texture_0302BDF8),
     42     gsDPLoadSync(),
     43     gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 16 * 16 - 1, CALC_DXT(16, G_IM_SIZ_16b_BYTES)),
     44     gsSPVertex(dirt_seg3_vertex_0302BDC8, 3, 0),
     45     gsSP1Triangle( 0,  1,  2, 0x0),
     46     gsSPEndDisplayList(),
     47 };
     48 
     49 // 0x0302C028 - 0x0302C098
     50 const Gfx dirt_seg3_dl_0302C028[] = {
     51     gsDPPipeSync(),
     52     gsDPSetCombineMode(G_CC_DECALRGBA, G_CC_DECALRGBA),
     53     gsSPClearGeometryMode(G_CULL_BACK),
     54     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),
     55     gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_ON),
     56     gsDPTileSync(),
     57     gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 4, 0, G_TX_RENDERTILE, 0, G_TX_CLAMP, 4, G_TX_NOLOD, G_TX_CLAMP, 4, G_TX_NOLOD),
     58     gsDPSetTileSize(0, 0, 0, (16 - 1) << G_TEXTURE_IMAGE_FRAC, (16 - 1) << G_TEXTURE_IMAGE_FRAC),
     59     gsSPDisplayList(dirt_seg3_dl_0302BFF8),
     60     gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF),
     61     gsDPPipeSync(),
     62     gsDPSetCombineMode(G_CC_SHADE, G_CC_SHADE),
     63     gsSPSetGeometryMode(G_CULL_BACK),
     64     gsSPEndDisplayList(),
     65 };
     66 
     67 // 0x0302C098
     68 static const Vtx dirt_seg3_vertex_0302C098[] = {
     69     {{{   -10,      0,     10}, 0, {     0,      0}, {0x00, 0x7f, 0x00, 0x00}}},
     70     {{{    10,      0,     10}, 0, {     0,      0}, {0x00, 0x7f, 0x00, 0x00}}},
     71     {{{     0,      0,    -10}, 0, {     0,      0}, {0x00, 0x7f, 0x00, 0x00}}},
     72 };
     73 
     74 // 0x0302C0C8
     75 static const Vtx dirt_seg3_vertex_0302C0C8[] = {
     76     {{{   -10,     10,      0}, 0, {     0,      0}, {0xff, 0xff, 0x00, 0xff}}},
     77     {{{    10,     10,      0}, 0, {     0,      0}, {0xff, 0xff, 0x00, 0xff}}},
     78     {{{     0,    -10,      0}, 0, {     0,      0}, {0xff, 0xff, 0x00, 0xff}}},
     79 };
     80 
     81 // 0x0302C0F8
     82 static const Vtx dirt_seg3_vertex_0302C0F8[] = {
     83     {{{     0,     -8,      0}, 0, {     0,      0}, {0x00, 0x00, 0x81, 0x00}}},
     84     {{{   -32,     80,      0}, 0, {     0,      0}, {0x00, 0x00, 0x81, 0x00}}},
     85     {{{    32,     80,      0}, 0, {     0,      0}, {0x00, 0x00, 0x81, 0x00}}},
     86     {{{   -52,     28,      0}, 0, {     0,      0}, {0x00, 0x00, 0x81, 0xff}}},
     87     {{{  -116,     80,      0}, 0, {     0,      0}, {0x00, 0x00, 0x81, 0xff}}},
     88     {{{   -84,    -52,      0}, 0, {     0,      0}, {0x00, 0x00, 0x81, 0xff}}},
     89     {{{    52,     28,      0}, 0, {     0,      0}, {0x00, 0x00, 0x81, 0xff}}},
     90     {{{    84,    -52,      0}, 0, {     0,      0}, {0x00, 0x00, 0x81, 0xff}}},
     91     {{{   116,     80,      0}, 0, {     0,      0}, {0x00, 0x00, 0x81, 0xff}}},
     92     {{{     0,    160,      0}, 0, {     0,      0}, {0x00, 0x00, 0x81, 0xff}}},
     93 };
     94 
     95 // 0x0302C198
     96 static const Vtx dirt_seg3_vertex_0302C198[] = {
     97     {{{     0,     -8,      0}, 0, {     0,      0}, {0xff, 0xff, 0x00, 0xff}}},
     98     {{{   -32,     80,      0}, 0, {     0,      0}, {0xff, 0xff, 0x00, 0xff}}},
     99     {{{    32,     80,      0}, 0, {     0,      0}, {0xff, 0xff, 0x00, 0xff}}},
    100     {{{   -52,     28,      0}, 0, {     0,      0}, {0xff, 0xff, 0x00, 0xff}}},
    101     {{{  -116,     80,      0}, 0, {     0,      0}, {0xff, 0xff, 0x00, 0xff}}},
    102     {{{   -84,    -52,      0}, 0, {     0,      0}, {0xff, 0xff, 0x00, 0xff}}},
    103     {{{    52,     28,      0}, 0, {     0,      0}, {0xff, 0xff, 0x00, 0xff}}},
    104     {{{    84,    -52,      0}, 0, {     0,      0}, {0xff, 0xff, 0x00, 0xff}}},
    105     {{{   116,     80,      0}, 0, {     0,      0}, {0xff, 0xff, 0x00, 0xff}}},
    106     {{{     0,    160,      0}, 0, {     0,      0}, {0xff, 0xff, 0x00, 0xff}}},
    107 };
    108 
    109 // 0x0302C238 - 0x0302C298
    110 const Gfx dirt_seg3_dl_0302C238[] = {
    111     gsSPClearGeometryMode(G_CULL_BACK),
    112     gsSPVertex(dirt_seg3_vertex_0302C0F8, 10, 0),
    113     gsSP2Triangles( 0,  1,  2, 0x0,  3,  4,  1, 0x0),
    114     gsSP2Triangles( 0,  5,  3, 0x0,  6,  7,  0, 0x0),
    115     gsSP2Triangles( 2,  8,  6, 0x0,  1,  9,  2, 0x0),
    116     gsSP2Triangles( 0,  3,  1, 0x0,  2,  6,  0, 0x0),
    117     gsSPSetGeometryMode(G_CULL_BACK),
    118     gsSPEndDisplayList(),
    119 };
    120 
    121 // 0x0302C298 - 0x0302C2B8
    122 const Gfx dirt_seg3_dl_0302C298[] = {
    123     gsSPLight(&dirt_seg3_lights_0302BD68.l, 1),
    124     gsSPLight(&dirt_seg3_lights_0302BD68.a, 2),
    125     gsSPDisplayList(dirt_seg3_dl_0302C238),
    126     gsSPEndDisplayList(),
    127 };
    128 
    129 // 0x0302C2B8 - 0x0302C2D8
    130 const Gfx dirt_seg3_dl_0302C2B8[] = {
    131     gsSPLight(&dirt_seg3_lights_0302BD80.l, 1),
    132     gsSPLight(&dirt_seg3_lights_0302BD80.a, 2),
    133     gsSPDisplayList(dirt_seg3_dl_0302C238),
    134     gsSPEndDisplayList(),
    135 };
    136 
    137 // 0x0302C2D8 - 0x0302C2F8
    138 const Gfx dirt_seg3_dl_0302C2D8[] = {
    139     gsSPLight(&dirt_seg3_lights_0302BD98.l, 1),
    140     gsSPLight(&dirt_seg3_lights_0302BD98.a, 2),
    141     gsSPDisplayList(dirt_seg3_dl_0302C238),
    142     gsSPEndDisplayList(),
    143 };
    144 
    145 // 0x0302C2F8 - 0x0302C318
    146 const Gfx dirt_seg3_dl_0302C2F8[] = {
    147     gsSPLight(&dirt_seg3_lights_0302BDB0.l, 1),
    148     gsSPLight(&dirt_seg3_lights_0302BDB0.a, 2),
    149     gsSPDisplayList(dirt_seg3_dl_0302C238),
    150     gsSPEndDisplayList(),
    151 };
    152 
    153 // 0x0302C318 - 0x0302C378
    154 const Gfx dirt_seg3_dl_0302C318[] = {
    155     gsSPClearGeometryMode(G_LIGHTING | G_CULL_BACK),
    156     gsSPVertex(dirt_seg3_vertex_0302C198, 10, 0),
    157     gsSP2Triangles( 0,  1,  2, 0x0,  3,  4,  1, 0x0),
    158     gsSP2Triangles( 0,  5,  3, 0x0,  6,  7,  0, 0x0),
    159     gsSP2Triangles( 2,  8,  6, 0x0,  1,  9,  2, 0x0),
    160     gsSP2Triangles( 0,  3,  1, 0x0,  2,  6,  0, 0x0),
    161     gsSPSetGeometryMode(G_LIGHTING | G_CULL_BACK),
    162     gsSPEndDisplayList(),
    163 };
    164 
    165 // 0x0302C378 - 0x0302C3B0
    166 const Gfx dirt_seg3_dl_0302C378[] = {
    167     gsSPLight(&dirt_seg3_lights_0302BD68.l, 1),
    168     gsSPLight(&dirt_seg3_lights_0302BD68.a, 2),
    169     gsSPClearGeometryMode(G_CULL_BACK),
    170     gsSPVertex(dirt_seg3_vertex_0302C098, 3, 0),
    171     gsSP1Triangle( 0,  1,  2, 0x0),
    172     gsSPSetGeometryMode(G_CULL_BACK),
    173     gsSPEndDisplayList(),
    174 };
    175 
    176 // 0x0302C3B0 - 0x0302C3E8
    177 const Gfx dirt_seg3_dl_0302C3B0[] = {
    178     gsSPLight(&dirt_seg3_lights_0302BD80.l, 1),
    179     gsSPLight(&dirt_seg3_lights_0302BD80.a, 2),
    180     gsSPClearGeometryMode(G_CULL_BACK),
    181     gsSPVertex(dirt_seg3_vertex_0302C098, 3, 0),
    182     gsSP1Triangle( 0,  1,  2, 0x0),
    183     gsSPSetGeometryMode(G_CULL_BACK),
    184     gsSPEndDisplayList(),
    185 };
    186 
    187 // 0x0302C3E8 - 0x0302C420
    188 const Gfx dirt_seg3_dl_0302C3E8[] = {
    189     gsSPLight(&dirt_seg3_lights_0302BD98.l, 1),
    190     gsSPLight(&dirt_seg3_lights_0302BD98.a, 2),
    191     gsSPClearGeometryMode(G_CULL_BACK),
    192     gsSPVertex(dirt_seg3_vertex_0302C098, 3, 0),
    193     gsSP1Triangle( 0,  1,  2, 0x0),
    194     gsSPSetGeometryMode(G_CULL_BACK),
    195     gsSPEndDisplayList(),
    196 };
    197 
    198 // 0x0302C420 - 0x0302C458
    199 const Gfx dirt_seg3_dl_0302C420[] = {
    200     gsSPLight(&dirt_seg3_lights_0302BDB0.l, 1),
    201     gsSPLight(&dirt_seg3_lights_0302BDB0.a, 2),
    202     gsSPClearGeometryMode(G_CULL_BACK),
    203     gsSPVertex(dirt_seg3_vertex_0302C098, 3, 0),
    204     gsSP1Triangle( 0,  1,  2, 0x0),
    205     gsSPSetGeometryMode(G_CULL_BACK),
    206     gsSPEndDisplayList(),
    207 };
    208 
    209 // 0x0302C458 - 0x0302C480
    210 const Gfx dirt_seg3_dl_0302C458[] = {
    211     gsSPClearGeometryMode(G_LIGHTING | G_CULL_BACK),
    212     gsSPVertex(dirt_seg3_vertex_0302C0C8, 3, 0),
    213     gsSP1Triangle( 0,  1,  2, 0x0),
    214     gsSPSetGeometryMode(G_LIGHTING | G_CULL_BACK),
    215     gsSPEndDisplayList(),
    216 };