sm64

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

model.inc.c (11397B)


      1 // Capswitch
      2 
      3 // 0x05001BB8
      4 static const Lights1 capswitch_seg5_lights_05001BB8 = gdSPDefLights1(
      5     0x3f, 0x3f, 0x3f,
      6     0xff, 0xff, 0xff, 0x28, 0x28, 0x28
      7 );
      8 
      9 // 0x05001BD0
     10 static const Lights1 capswitch_seg5_lights_05001BD0 = gdSPDefLights1(
     11     0x3f, 0x3f, 0x3f,
     12     0xff, 0xff, 0xff, 0x28, 0x28, 0x28
     13 );
     14 
     15 // 0x05001BE8
     16 static const Lights1 capswitch_seg5_lights_05001BE8 = gdSPDefLights1(
     17     0x3f, 0x00, 0x00,
     18     0xff, 0x00, 0x00, 0x28, 0x28, 0x28
     19 );
     20 
     21 // 0x05001C00
     22 static const Lights1 capswitch_seg5_lights_05001C00 = gdSPDefLights1(
     23     0x01, 0x2a, 0x09,
     24     0x07, 0xa9, 0x25, 0x28, 0x28, 0x28
     25 );
     26 
     27 // 0x05001C18
     28 static const Lights1 capswitch_seg5_lights_05001C18 = gdSPDefLights1(
     29     0x00, 0x00, 0x3f,
     30     0x00, 0x00, 0xff, 0x28, 0x28, 0x28
     31 );
     32 
     33 // 0x05001C30
     34 static const Lights1 capswitch_seg5_lights_05001C30 = gdSPDefLights1(
     35     0x3f, 0x25, 0x02,
     36     0xff, 0x96, 0x08, 0x28, 0x28, 0x28
     37 );
     38 
     39 // 0x05001C48
     40 ALIGNED8 static const Texture capswitch_seg5_texture_05001C48[] = {
     41 #include "actors/capswitch/cap_switch_head.ia16.inc.c"
     42 };
     43 
     44 // 0x05002C48
     45 ALIGNED8 static const Texture capswitch_seg5_texture_05002C48[] = {
     46 #include "actors/capswitch/cap_switch_base.rgba16.inc.c"
     47 };
     48 
     49 // 0x05002CC8
     50 static const Vtx capswitch_seg5_vertex_05002CC8[] = {
     51     {{{  -118,    262,   -203}, 0, {  -130,    364}, {0x00, 0x36, 0x8e, 0xff}}},
     52     {{{   130,      0,   -224}, 0, {  1144,   2144}, {0x00, 0x0a, 0x82, 0xff}}},
     53     {{{  -129,      0,   -224}, 0, {  -184,   2144}, {0x00, 0x0a, 0x82, 0xff}}},
     54     {{{   119,    262,   -203}, 0, {  1088,    364}, {0x00, 0x36, 0x8e, 0xff}}},
     55     {{{   109,    352,   -108}, 0, {  1034,   -252}, {0x00, 0x5c, 0xa9, 0xff}}},
     56     {{{  -108,    352,   -108}, 0, {   -74,   -252}, {0x00, 0x5c, 0xa9, 0xff}}},
     57     {{{  -129,      0,    225}, 0, {  -184,   2144}, {0x00, 0x0a, 0x7e, 0xff}}},
     58     {{{   119,    262,    204}, 0, {  1088,    364}, {0x00, 0x36, 0x72, 0xff}}},
     59     {{{  -118,    262,    204}, 0, {  -130,    364}, {0x00, 0x36, 0x72, 0xff}}},
     60     {{{  -108,    352,    109}, 0, {   -74,   -252}, {0x00, 0x5c, 0x57, 0xff}}},
     61     {{{   130,      0,    225}, 0, {  1144,   2144}, {0x00, 0x0a, 0x7e, 0xff}}},
     62     {{{   109,    352,    109}, 0, {  1034,   -252}, {0x00, 0x5c, 0x57, 0xff}}},
     63 };
     64 
     65 // 0x05002D88 - 0x05002E00
     66 const Gfx capswitch_seg5_dl_05002D88[] = {
     67     gsDPSetTextureImage(G_IM_FMT_IA, G_IM_SIZ_16b, 1, capswitch_seg5_texture_05001C48),
     68     gsDPLoadSync(),
     69     gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 64 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)),
     70     gsSPLight(&capswitch_seg5_lights_05001BB8.l, 1),
     71     gsSPLight(&capswitch_seg5_lights_05001BB8.a, 2),
     72     gsSPVertex(capswitch_seg5_vertex_05002CC8, 12, 0),
     73     gsSP2Triangles( 0,  1,  2, 0x0,  1,  0,  3, 0x0),
     74     gsSP2Triangles( 4,  3,  0, 0x0,  5,  4,  0, 0x0),
     75     gsSP2Triangles( 6,  7,  8, 0x0,  8,  7,  9, 0x0),
     76     gsSP2Triangles( 7,  6, 10, 0x0, 11,  9,  7, 0x0),
     77     gsSPEndDisplayList(),
     78 };
     79 
     80 // 0x05002E00 - 0x05002E60
     81 const Gfx cap_switch_exclamation_seg5_dl_05002E00[] = {
     82     gsDPPipeSync(),
     83     gsDPSetCombineMode(G_CC_MODULATEIA, G_CC_MODULATEIA),
     84     gsDPSetTile(G_IM_FMT_IA, 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),
     85     gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_ON),
     86     gsDPTileSync(),
     87     gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b, 8, 0, G_TX_RENDERTILE, 0, G_TX_CLAMP, 6, G_TX_NOLOD, G_TX_CLAMP, 5, G_TX_NOLOD),
     88     gsDPSetTileSize(0, 0, 0, (32 - 1) << G_TEXTURE_IMAGE_FRAC, (64 - 1) << G_TEXTURE_IMAGE_FRAC),
     89     gsSPDisplayList(capswitch_seg5_dl_05002D88),
     90     gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF),
     91     gsDPPipeSync(),
     92     gsDPSetCombineMode(G_CC_SHADE, G_CC_SHADE),
     93     gsSPEndDisplayList(),
     94 };
     95 
     96 // 0x05002E60
     97 static const Vtx capswitch_seg5_vertex_05002E60[] = {
     98     {{{   147,      0,   -253}, 0, {     0,    499}, {0x29, 0x00, 0x88, 0xff}}},
     99     {{{  -146,      0,   -253}, 0, {     0,   -436}, {0xad, 0x00, 0xa1, 0xff}}},
    100     {{{  -146,    137,   -253}, 0, {   407,   -436}, {0xd3, 0x48, 0xa3, 0xff}}},
    101     {{{  -146,      0,    254}, 0, {     0,   -436}, {0xd7, 0x00, 0x77, 0xff}}},
    102     {{{   147,      0,    254}, 0, {     0,    499}, {0x53, 0x00, 0x5f, 0xff}}},
    103     {{{   147,    137,    254}, 0, {   407,    499}, {0x2d, 0x48, 0x5d, 0xff}}},
    104     {{{   293,    137,      0}, 0, {   407,    967}, {0x68, 0x48, 0x07, 0xff}}},
    105     {{{   293,      0,      0}, 0, {     0,    967}, {0x7c, 0x00, 0xe8, 0xff}}},
    106     {{{   147,    137,   -253}, 0, {   407,    499}, {0x3a, 0x47, 0xaa, 0xff}}},
    107     {{{   111,    170,   -192}, 0, {   510,    386}, {0x23, 0x72, 0xd7, 0xff}}},
    108     {{{   222,    170,      0}, 0, {   510,    741}, {0x35, 0x72, 0x0a, 0xff}}},
    109     {{{  -146,    137,    254}, 0, {   407,   -436}, {0xc6, 0x47, 0x56, 0xff}}},
    110     {{{   111,    170,    193}, 0, {   510,    386}, {0x11, 0x72, 0x33, 0xff}}},
    111     {{{  -292,    137,      0}, 0, {   407,   -904}, {0x98, 0x48, 0xf9, 0xff}}},
    112     {{{  -110,    170,    193}, 0, {   510,   -323}, {0xdd, 0x72, 0x29, 0xff}}},
    113     {{{  -221,    170,      0}, 0, {   510,   -678}, {0xcb, 0x72, 0xf6, 0xff}}},
    114 };
    115 
    116 // 0x05002F60
    117 static const Vtx capswitch_seg5_vertex_05002F60[] = {
    118     {{{  -146,      0,   -253}, 0, {     0,   -436}, {0xad, 0x00, 0xa1, 0xff}}},
    119     {{{  -292,      0,      0}, 0, {     0,   -904}, {0x84, 0x00, 0x17, 0xff}}},
    120     {{{  -292,    137,      0}, 0, {   407,   -904}, {0x98, 0x48, 0xf9, 0xff}}},
    121     {{{   147,    137,   -253}, 0, {   407,    499}, {0x3a, 0x47, 0xaa, 0xff}}},
    122     {{{  -146,    137,   -253}, 0, {   407,   -436}, {0xd3, 0x48, 0xa3, 0xff}}},
    123     {{{  -110,    170,   -192}, 0, {   510,   -323}, {0xef, 0x72, 0xcd, 0xff}}},
    124     {{{  -221,    170,      0}, 0, {   510,   -678}, {0xcb, 0x72, 0xf6, 0xff}}},
    125     {{{   111,    170,   -192}, 0, {   510,    386}, {0x23, 0x72, 0xd7, 0xff}}},
    126     {{{  -146,    137,    254}, 0, {   407,   -436}, {0xc6, 0x47, 0x56, 0xff}}},
    127     {{{   111,    170,    193}, 0, {   510,    386}, {0x11, 0x72, 0x33, 0xff}}},
    128     {{{  -110,    170,    193}, 0, {   510,   -323}, {0xdd, 0x72, 0x29, 0xff}}},
    129     {{{  -146,      0,    254}, 0, {     0,   -436}, {0xd7, 0x00, 0x77, 0xff}}},
    130 };
    131 
    132 // 0x05003020 - 0x05003120
    133 const Gfx capswitch_seg5_dl_05003020[] = {
    134     gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, capswitch_seg5_texture_05002C48),
    135     gsDPLoadSync(),
    136     gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 16 * 4 - 1, CALC_DXT(16, G_IM_SIZ_16b_BYTES)),
    137     gsSPLight(&capswitch_seg5_lights_05001BD0.l, 1),
    138     gsSPLight(&capswitch_seg5_lights_05001BD0.a, 2),
    139     gsSPVertex(capswitch_seg5_vertex_05002E60, 16, 0),
    140     gsSP2Triangles( 0,  1,  2, 0x0,  3,  4,  5, 0x0),
    141     gsSP2Triangles( 4,  6,  5, 0x0,  4,  7,  6, 0x0),
    142     gsSP2Triangles( 7,  8,  6, 0x0,  6,  9, 10, 0x0),
    143     gsSP2Triangles( 6,  8,  9, 0x0,  5,  6, 10, 0x0),
    144     gsSP2Triangles(11,  5, 12, 0x0,  3,  5, 11, 0x0),
    145     gsSP2Triangles( 5, 10, 12, 0x0,  7,  0,  8, 0x0),
    146     gsSP2Triangles( 0,  2,  8, 0x0, 13, 14, 15, 0x0),
    147     gsSP1Triangle( 1, 13,  2, 0x0),
    148     gsSPVertex(capswitch_seg5_vertex_05002F60, 12, 0),
    149     gsSP2Triangles( 0,  1,  2, 0x0,  3,  4,  5, 0x0),
    150     gsSP2Triangles( 4,  6,  5, 0x0,  4,  2,  6, 0x0),
    151     gsSP2Triangles( 3,  5,  7, 0x0,  8,  9, 10, 0x0),
    152     gsSP2Triangles( 1,  8,  2, 0x0,  1, 11,  8, 0x0),
    153     gsSP1Triangle( 2,  8, 10, 0x0),
    154     gsSPEndDisplayList(),
    155 };
    156 
    157 // 0x05003120 - 0x05003180
    158 const Gfx cap_switch_base_seg5_dl_05003120[] = {
    159     gsDPPipeSync(),
    160     gsDPSetCombineMode(G_CC_MODULATERGB, G_CC_MODULATERGB),
    161     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),
    162     gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_ON),
    163     gsDPTileSync(),
    164     gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 4, 0, G_TX_RENDERTILE, 0, G_TX_WRAP | G_TX_NOMIRROR, 2, G_TX_NOLOD, G_TX_WRAP | G_TX_NOMIRROR, 4, G_TX_NOLOD),
    165     gsDPSetTileSize(0, 0, 0, (16 - 1) << G_TEXTURE_IMAGE_FRAC, (4 - 1) << G_TEXTURE_IMAGE_FRAC),
    166     gsSPDisplayList(capswitch_seg5_dl_05003020),
    167     gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF),
    168     gsDPPipeSync(),
    169     gsDPSetCombineMode(G_CC_SHADE, G_CC_SHADE),
    170     gsSPEndDisplayList(),
    171 };
    172 
    173 //0x05003180
    174 static const Vtx capswitch_seg5_vertex_05003180[] = {
    175     {{{  -118,    262,   -203}, 0, {     0,      0}, {0xd9, 0x37, 0x95, 0xff}}},
    176     {{{   130,      0,   -224}, 0, {     0,      0}, {0x29, 0x0b, 0x89, 0xff}}},
    177     {{{  -129,      0,   -224}, 0, {     0,      0}, {0xae, 0x0a, 0xa0, 0xff}}},
    178     {{{   119,    262,   -203}, 0, {     0,      0}, {0x49, 0x2c, 0xa3, 0xff}}},
    179     {{{   260,      0,      0}, 0, {     0,      0}, {0x7c, 0x0a, 0xe8, 0xff}}},
    180     {{{  -238,    262,      0}, 0, {     0,      0}, {0x8e, 0x34, 0xf4, 0xff}}},
    181     {{{  -108,    352,   -108}, 0, {     0,      0}, {0xdb, 0x75, 0xe0, 0xff}}},
    182     {{{   109,    352,   -108}, 0, {     0,      0}, {0x25, 0x6d, 0xcd, 0xff}}},
    183     {{{   239,    262,      0}, 0, {     0,      0}, {0x72, 0x34, 0x0c, 0xff}}},
    184     {{{  -259,      0,      0}, 0, {     0,      0}, {0x84, 0x0a, 0x18, 0xff}}},
    185     {{{  -118,    262,    204}, 0, {     0,      0}, {0xb7, 0x2c, 0x5d, 0xff}}},
    186     {{{  -108,    352,    109}, 0, {     0,      0}, {0xdb, 0x6d, 0x33, 0xff}}},
    187     {{{  -129,      0,    225}, 0, {     0,      0}, {0xd7, 0x0b, 0x77, 0xff}}},
    188     {{{   119,    262,    204}, 0, {     0,      0}, {0x27, 0x37, 0x6b, 0xff}}},
    189     {{{   109,    352,    109}, 0, {     0,      0}, {0x25, 0x75, 0x20, 0xff}}},
    190     {{{   130,      0,    225}, 0, {     0,      0}, {0x52, 0x0a, 0x5f, 0xff}}},
    191 };
    192 
    193 // 0x05003280 - 0x05003350
    194 const Gfx capswitch_seg5_dl_05003280[] = {
    195     gsSPVertex(capswitch_seg5_vertex_05003180, 16, 0),
    196     gsSP2Triangles( 0,  1,  2, 0x0,  1,  3,  4, 0x0),
    197     gsSP2Triangles( 1,  0,  3, 0x0,  2,  5,  0, 0x0),
    198     gsSP2Triangles( 0,  5,  6, 0x0,  7,  3,  0, 0x0),
    199     gsSP2Triangles( 6,  7,  0, 0x0,  8,  3,  7, 0x0),
    200     gsSP2Triangles( 4,  3,  8, 0x0,  9, 10,  5, 0x0),
    201     gsSP2Triangles(11,  6,  5, 0x0,  5, 10, 11, 0x0),
    202     gsSP2Triangles( 5,  2,  9, 0x0, 10,  9, 12, 0x0),
    203     gsSP2Triangles(12, 13, 10, 0x0, 10, 13, 11, 0x0),
    204     gsSP2Triangles( 6, 11, 14, 0x0, 14, 11, 13, 0x0),
    205     gsSP2Triangles( 6, 14,  7, 0x0, 15,  8, 13, 0x0),
    206     gsSP2Triangles(13,  8, 14, 0x0, 13, 12, 15, 0x0),
    207     gsSP2Triangles( 8, 15,  4, 0x0,  7, 14,  8, 0x0),
    208     gsSPEndDisplayList(),
    209 };
    210 
    211 // 0x05003350 - 0x05003370
    212 const Gfx capswitch_seg5_dl_05003350[] = {
    213     gsSPLight(&capswitch_seg5_lights_05001BE8.l, 1),
    214     gsSPLight(&capswitch_seg5_lights_05001BE8.a, 2),
    215     gsSPDisplayList(capswitch_seg5_dl_05003280),
    216     gsSPEndDisplayList(),
    217 };
    218 
    219 // 0x05003370 - 0x05003390
    220 const Gfx capswitch_seg5_dl_05003370[] = {
    221     gsSPLight(&capswitch_seg5_lights_05001C00.l, 1),
    222     gsSPLight(&capswitch_seg5_lights_05001C00.a, 2),
    223     gsSPDisplayList(capswitch_seg5_dl_05003280),
    224     gsSPEndDisplayList(),
    225 };
    226 
    227 // 0x05003390 - 0x050033B0
    228 const Gfx capswitch_seg5_dl_05003390[] = {
    229     gsSPLight(&capswitch_seg5_lights_05001C18.l, 1),
    230     gsSPLight(&capswitch_seg5_lights_05001C18.a, 2),
    231     gsSPDisplayList(capswitch_seg5_dl_05003280),
    232     gsSPEndDisplayList(),
    233 };
    234 
    235 // 0x050033B0 - 0x050033D0
    236 const Gfx capswitch_seg5_dl_050033B0[] = {
    237     gsSPLight(&capswitch_seg5_lights_05001C30.l, 1),
    238     gsSPLight(&capswitch_seg5_lights_05001C30.a, 2),
    239     gsSPDisplayList(capswitch_seg5_dl_05003280),
    240     gsSPEndDisplayList(),
    241 };