sm64

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

model.inc.c (9332B)


      1 // 0x0700BF90 - 0x0700BFA8
      2 static const Lights1 ssl_seg7_lights_0700BF90 = gdSPDefLights1(
      3     0x3f, 0x3f, 0x3f,
      4     0xff, 0xff, 0xff, 0x28, 0x28, 0x28
      5 );
      6 
      7 // 0x0700BFA8 - 0x0700C7A8
      8 ALIGNED8 static const Texture ssl_seg7_texture_0700BFA8[] = {
      9 #include "levels/ssl/8.rgba16.inc.c"
     10 };
     11 
     12 // 0x0700C7A8 - 0x0700D7A8
     13 ALIGNED8 static const Texture ssl_seg7_texture_0700C7A8[] = {
     14 #include "levels/ssl/9.rgba16.inc.c"
     15 };
     16 
     17 // 0x0700D7A8 - 0x0700E7A8
     18 ALIGNED8 static const Texture ssl_seg7_texture_0700D7A8[] = {
     19 #include "levels/ssl/10.rgba16.inc.c"
     20 };
     21 
     22 // 0x0700E7A8 - 0x0700F7A8
     23 ALIGNED8 static const Texture ssl_seg7_texture_0700E7A8[] = {
     24 #include "levels/ssl/11.rgba16.inc.c"
     25 };
     26 
     27 // 0x0700F7A8 - 0x0700F898
     28 static const Vtx ssl_seg7_vertex_0700F7A8[] = {
     29     {{{  -153,   -255,   -153}, 0, {     0,    990}, {0x00, 0x00, 0x7f, 0xff}}},
     30     {{{   154,   -255,   -153}, 0, {   990,    990}, {0x00, 0x00, 0x7f, 0xff}}},
     31     {{{   154,    154,   -153}, 0, {   990,    -86}, {0x00, 0x00, 0x7f, 0xff}}},
     32     {{{  -153,    154,    154}, 0, {     0,      0}, {0x00, 0x81, 0x00, 0xff}}},
     33     {{{  -153,    154,   -153}, 0, {     0,    990}, {0x00, 0x81, 0x00, 0xff}}},
     34     {{{   154,    154,   -153}, 0, {   990,    990}, {0x00, 0x81, 0x00, 0xff}}},
     35     {{{   154,    154,    154}, 0, {   990,      0}, {0x00, 0x81, 0x00, 0xff}}},
     36     {{{  -153,    154,    154}, 0, {     0,      0}, {0x7f, 0x00, 0x00, 0xff}}},
     37     {{{  -153,   -255,    154}, 0, {     0,    990}, {0x7f, 0x00, 0x00, 0xff}}},
     38     {{{  -153,   -255,   -153}, 0, {   990,    990}, {0x7f, 0x00, 0x00, 0xff}}},
     39     {{{  -153,    154,   -153}, 0, {   990,      0}, {0x7f, 0x00, 0x00, 0xff}}},
     40     {{{   154,    154,   -153}, 0, {     0,      0}, {0x81, 0x00, 0x00, 0xff}}},
     41     {{{   154,   -255,    154}, 0, {   990,    990}, {0x81, 0x00, 0x00, 0xff}}},
     42     {{{   154,    154,    154}, 0, {   990,      0}, {0x81, 0x00, 0x00, 0xff}}},
     43     {{{   154,   -255,   -153}, 0, {     0,    990}, {0x81, 0x00, 0x00, 0xff}}},
     44 };
     45 
     46 // 0x0700F898 - 0x0700F908
     47 static const Vtx ssl_seg7_vertex_0700F898[] = {
     48     {{{   154,   -255,    154}, 0, {   -26,    990}, {0x00, 0x00, 0x81, 0xff}}},
     49     {{{  -153,    154,    154}, 0, {   990,      0}, {0x00, 0x00, 0x81, 0xff}}},
     50     {{{   154,    154,    154}, 0, {   -26,      0}, {0x00, 0x00, 0x81, 0xff}}},
     51     {{{  -153,   -255,   -153}, 0, {     0,    990}, {0x00, 0x00, 0x7f, 0xff}}},
     52     {{{   154,    154,   -153}, 0, {   990,    -86}, {0x00, 0x00, 0x7f, 0xff}}},
     53     {{{  -153,    154,   -153}, 0, {     0,    -86}, {0x00, 0x00, 0x7f, 0xff}}},
     54     {{{  -153,   -255,    154}, 0, {   990,    990}, {0x00, 0x00, 0x81, 0xff}}},
     55 };
     56 
     57 // 0x0700F908 - 0x0700FA08
     58 static const Vtx ssl_seg7_vertex_0700F908[] = {
     59     {{{   256,   -255,   -255}, 0, {   990,   2012}, {0x7f, 0x00, 0x00, 0xff}}},
     60     {{{   256,    256,   -255}, 0, {   990,      0}, {0x7f, 0x00, 0x00, 0xff}}},
     61     {{{   256,    256,    256}, 0, {     0,      0}, {0x7f, 0x00, 0x00, 0xff}}},
     62     {{{  -255,   -255,    256}, 0, {   990,   2012}, {0x81, 0x00, 0x00, 0xff}}},
     63     {{{  -255,    256,   -255}, 0, {     0,      0}, {0x81, 0x00, 0x00, 0xff}}},
     64     {{{  -255,   -255,   -255}, 0, {     0,   2012}, {0x81, 0x00, 0x00, 0xff}}},
     65     {{{  -255,    256,    256}, 0, {   990,      0}, {0x81, 0x00, 0x00, 0xff}}},
     66     {{{   154,   -255,    154}, 0, {   172,   2012}, {0x00, 0x81, 0x00, 0xff}}},
     67     {{{   154,   -255,   -153}, 0, {   786,   2012}, {0x00, 0x81, 0x00, 0xff}}},
     68     {{{   256,   -255,   -255}, 0, {   990,   2012}, {0x00, 0x81, 0x00, 0xff}}},
     69     {{{   256,   -255,    256}, 0, {     0,   2012}, {0x7f, 0x00, 0x00, 0xff}}},
     70     {{{   256,   -255,    256}, 0, {     0,   2012}, {0x00, 0x81, 0x00, 0xff}}},
     71     {{{  -255,   -255,   -255}, 0, {     0,   2012}, {0x00, 0x81, 0x00, 0xff}}},
     72     {{{  -153,   -255,    154}, 0, {   786,   2012}, {0x00, 0x81, 0x00, 0xff}}},
     73     {{{  -255,   -255,    256}, 0, {   990,   2012}, {0x00, 0x81, 0x00, 0xff}}},
     74     {{{  -153,   -255,   -153}, 0, {   172,   2012}, {0x00, 0x81, 0x00, 0xff}}},
     75 };
     76 
     77 // 0x0700FA08 - 0x0700FB08
     78 static const Vtx ssl_seg7_vertex_0700FA08[] = {
     79     {{{  -255,   -255,   -255}, 0, {   990,   2012}, {0x00, 0x00, 0x81, 0xff}}},
     80     {{{  -255,    256,   -255}, 0, {   990,      0}, {0x00, 0x00, 0x81, 0xff}}},
     81     {{{   256,    256,   -255}, 0, {     0,      0}, {0x00, 0x00, 0x81, 0xff}}},
     82     {{{   256,   -255,   -255}, 0, {     0,   2012}, {0x00, 0x00, 0x81, 0xff}}},
     83     {{{  -255,   -255,   -255}, 0, {   990,   2012}, {0x00, 0x81, 0x00, 0xff}}},
     84     {{{   256,   -255,   -255}, 0, {     0,   2012}, {0x00, 0x81, 0x00, 0xff}}},
     85     {{{   154,   -255,   -153}, 0, {   172,   2012}, {0x00, 0x81, 0x00, 0xff}}},
     86     {{{  -153,   -255,   -153}, 0, {   786,   2012}, {0x00, 0x81, 0x00, 0xff}}},
     87     {{{   256,   -255,    256}, 0, {   990,   2012}, {0x00, 0x00, 0x7f, 0xff}}},
     88     {{{   256,    256,    256}, 0, {   990,      0}, {0x00, 0x00, 0x7f, 0xff}}},
     89     {{{  -255,    256,    256}, 0, {     0,      0}, {0x00, 0x00, 0x7f, 0xff}}},
     90     {{{  -255,   -255,    256}, 0, {     0,   2012}, {0x00, 0x81, 0x00, 0xff}}},
     91     {{{   154,   -255,    154}, 0, {   786,   2012}, {0x00, 0x81, 0x00, 0xff}}},
     92     {{{   256,   -255,    256}, 0, {   990,   2012}, {0x00, 0x81, 0x00, 0xff}}},
     93     {{{  -255,   -255,    256}, 0, {     0,   2012}, {0x00, 0x00, 0x7f, 0xff}}},
     94     {{{  -153,   -255,    154}, 0, {   172,   2012}, {0x00, 0x81, 0x00, 0xff}}},
     95 };
     96 
     97 // 0x0700FB08 - 0x0700FB48
     98 static const Vtx ssl_seg7_vertex_0700FB08[] = {
     99     {{{  -255,    256,    256}, 0, {     0,   2012}, {0x00, 0x7f, 0x00, 0xff}}},
    100     {{{   256,    256,    256}, 0, {   990,   2012}, {0x00, 0x7f, 0x00, 0xff}}},
    101     {{{   256,    256,   -255}, 0, {   990,      0}, {0x00, 0x7f, 0x00, 0xff}}},
    102     {{{  -255,    256,   -255}, 0, {     0,      0}, {0x00, 0x7f, 0x00, 0xff}}},
    103 };
    104 
    105 // 0x0700FB48 - 0x0700FBD8
    106 static const Gfx ssl_seg7_dl_0700FB48[] = {
    107     gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, ssl_seg7_texture_0700BFA8),
    108     gsDPLoadSync(),
    109     gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)),
    110     gsSPLight(&ssl_seg7_lights_0700BF90.l, 1),
    111     gsSPLight(&ssl_seg7_lights_0700BF90.a, 2),
    112     gsSPVertex(ssl_seg7_vertex_0700F7A8, 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, 14, 12, 0x0),
    117     gsSPVertex(ssl_seg7_vertex_0700F898, 7, 0),
    118     gsSP2Triangles( 0,  1,  2, 0x0,  3,  4,  5, 0x0),
    119     gsSP1Triangle( 0,  6,  1, 0x0),
    120     gsSPEndDisplayList(),
    121 };
    122 
    123 // 0x0700FBD8 - 0x0700FC40
    124 static const Gfx ssl_seg7_dl_0700FBD8[] = {
    125     gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, ssl_seg7_texture_0700C7A8),
    126     gsDPLoadSync(),
    127     gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 64 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)),
    128     gsSPVertex(ssl_seg7_vertex_0700F908, 16, 0),
    129     gsSP2Triangles( 0,  1,  2, 0x0,  3,  4,  5, 0x0),
    130     gsSP2Triangles( 3,  6,  4, 0x0,  7,  8,  9, 0x0),
    131     gsSP2Triangles( 0,  2, 10, 0x0,  7,  9, 11, 0x0),
    132     gsSP2Triangles(12, 13, 14, 0x0, 12, 15, 13, 0x0),
    133     gsSPEndDisplayList(),
    134 };
    135 
    136 // 0x0700FC40 - 0x0700FCA8
    137 static const Gfx ssl_seg7_dl_0700FC40[] = {
    138     gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, ssl_seg7_texture_0700E7A8),
    139     gsDPLoadSync(),
    140     gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 64 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)),
    141     gsSPVertex(ssl_seg7_vertex_0700FA08, 16, 0),
    142     gsSP2Triangles( 0,  1,  2, 0x0,  0,  2,  3, 0x0),
    143     gsSP2Triangles( 4,  5,  6, 0x0,  4,  6,  7, 0x0),
    144     gsSP2Triangles( 8,  9, 10, 0x0, 11, 12, 13, 0x0),
    145     gsSP2Triangles( 8, 10, 14, 0x0, 11, 15, 12, 0x0),
    146     gsSPEndDisplayList(),
    147 };
    148 
    149 // 0x0700FCA8 - 0x0700FCE0
    150 static const Gfx ssl_seg7_dl_0700FCA8[] = {
    151     gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, ssl_seg7_texture_0700D7A8),
    152     gsDPLoadSync(),
    153     gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 64 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)),
    154     gsSPVertex(ssl_seg7_vertex_0700FB08, 4, 0),
    155     gsSP2Triangles( 0,  1,  2, 0x0,  0,  2,  3, 0x0),
    156     gsSPEndDisplayList(),
    157 };
    158 
    159 // 0x0700FCE0 - 0x0700FD80
    160 const Gfx ssl_seg7_dl_0700FCE0[] = {
    161     gsDPPipeSync(),
    162     gsDPSetCombineMode(G_CC_MODULATERGB, G_CC_MODULATERGB),
    163     gsSPClearGeometryMode(G_SHADING_SMOOTH),
    164     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),
    165     gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_ON),
    166     gsDPTileSync(),
    167     gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, G_TX_RENDERTILE, 0, G_TX_CLAMP, 5, G_TX_NOLOD, G_TX_CLAMP, 5, G_TX_NOLOD),
    168     gsDPSetTileSize(0, 0, 0, (32 - 1) << G_TEXTURE_IMAGE_FRAC, (32 - 1) << G_TEXTURE_IMAGE_FRAC),
    169     gsSPDisplayList(ssl_seg7_dl_0700FB48),
    170     gsDPTileSync(),
    171     gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, G_TX_RENDERTILE, 0, G_TX_CLAMP, 6, G_TX_NOLOD, G_TX_CLAMP, 5, G_TX_NOLOD),
    172     gsDPSetTileSize(0, 0, 0, (32 - 1) << G_TEXTURE_IMAGE_FRAC, (64 - 1) << G_TEXTURE_IMAGE_FRAC),
    173     gsSPDisplayList(ssl_seg7_dl_0700FBD8),
    174     gsSPDisplayList(ssl_seg7_dl_0700FC40),
    175     gsSPDisplayList(ssl_seg7_dl_0700FCA8),
    176     gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF),
    177     gsDPPipeSync(),
    178     gsDPSetCombineMode(G_CC_SHADE, G_CC_SHADE),
    179     gsSPSetGeometryMode(G_SHADING_SMOOTH),
    180     gsSPEndDisplayList(),
    181 };