sm64

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

model.inc.c (13707B)


      1 // Moneybag
      2 
      3 // 0x060039B0
      4 ALIGNED8 static const Texture moneybag_seg6_texture_060039B0[] = {
      5 #include "actors/moneybag/moneybag_mouth.rgba16.inc.c"
      6 };
      7 
      8 // 0x060049B0
      9 ALIGNED8 static const Texture moneybag_seg6_texture_060049B0[] = {
     10 #include "actors/moneybag/moneybag_eyes.rgba16.inc.c"
     11 };
     12 
     13 // 0x060051B0
     14 static const Lights1 moneybag_seg6_lights_060051B0 = gdSPDefLights1(
     15     0x7f, 0x7f, 0x7f,
     16     0xff, 0xff, 0xff, 0x28, 0x28, 0x28
     17 );
     18 
     19 // 0x060051C8
     20 static const Lights1 moneybag_seg6_lights_060051C8 = gdSPDefLights1(
     21     0x00, 0x3f, 0x23,
     22     0x00, 0x7f, 0x47, 0x28, 0x28, 0x28
     23 );
     24 
     25 // 0x060051E0
     26 static const Vtx moneybag_seg6_vertex_060051E0[] = {
     27     {{{   226,      1,    300}, 0, {  1988,      0}, {0xcd, 0xf8, 0x73, 0xff}}},
     28     {{{     0,      0,    200}, 0, {  2656,    358}, {0xac, 0xfb, 0x5e, 0xff}}},
     29     {{{   278,   -190,    140}, 0, {   988,    390}, {0xd2, 0x96, 0x33, 0xff}}},
     30     {{{   261,    194,   -174}, 0, {   824,    392}, {0xcc, 0x64, 0xc8, 0xff}}},
     31     {{{   226,      1,   -299}, 0, {    -8,      0}, {0xcd, 0xf8, 0x8d, 0xff}}},
     32     {{{     0,      0,   -199}, 0, {  -672,    312}, {0xac, 0xfb, 0xa2, 0xff}}},
     33     {{{   261,    194,    175}, 0, {  1156,    392}, {0xcc, 0x64, 0x38, 0xff}}},
     34     {{{     0,      0,    200}, 0, {  2656,    312}, {0xac, 0xfb, 0x5e, 0xff}}},
     35     {{{     0,      0,   -199}, 0, {  -672,    358}, {0xac, 0xfb, 0xa2, 0xff}}},
     36     {{{   278,   -190,   -139}, 0, {   992,    390}, {0xd2, 0x96, 0xcd, 0xff}}},
     37 };
     38 
     39 // 0x06005280
     40 static const Vtx moneybag_seg6_vertex_06005280[] = {
     41     {{{     0,      0,    200}, 0, {     0,      0}, {0xac, 0xfb, 0x5e, 0xff}}},
     42     {{{   -88,    -68,      0}, 0, {     0,      0}, {0x9f, 0xaf, 0x00, 0xff}}},
     43     {{{   278,   -190,    140}, 0, {     0,      0}, {0xd2, 0x96, 0x33, 0xff}}},
     44     {{{   -88,     71,      0}, 0, {     0,      0}, {0x9b, 0x4c, 0x00, 0xff}}},
     45     {{{   261,    194,    175}, 0, {     0,      0}, {0xcc, 0x64, 0x38, 0xff}}},
     46     {{{     0,      0,   -199}, 0, {     0,      0}, {0xac, 0xfb, 0xa2, 0xff}}},
     47     {{{   278,   -190,   -139}, 0, {     0,      0}, {0xd2, 0x96, 0xcd, 0xff}}},
     48     {{{   261,    194,   -174}, 0, {     0,      0}, {0xcc, 0x64, 0xc8, 0xff}}},
     49 };
     50 
     51 // 0x06005300 - 0x06005358
     52 const Gfx moneybag_seg6_dl_06005300[] = {
     53     gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, moneybag_seg6_texture_060039B0),
     54     gsDPLoadSync(),
     55     gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 64 * 32 - 1, CALC_DXT(64, G_IM_SIZ_16b_BYTES)),
     56     gsSPLight(&moneybag_seg6_lights_060051B0.l, 1),
     57     gsSPLight(&moneybag_seg6_lights_060051B0.a, 2),
     58     gsSPVertex(moneybag_seg6_vertex_060051E0, 10, 0),
     59     gsSP2Triangles( 0,  1,  2, 0x0,  3,  4,  5, 0x0),
     60     gsSP2Triangles( 6,  7,  0, 0x0,  8,  4,  9, 0x0),
     61     gsSPEndDisplayList(),
     62 };
     63 
     64 // 0x06005358 - 0x060053B8
     65 const Gfx moneybag_seg6_dl_06005358[] = {
     66     gsSPLight(&moneybag_seg6_lights_060051C8.l, 1),
     67     gsSPLight(&moneybag_seg6_lights_060051C8.a, 2),
     68     gsSPVertex(moneybag_seg6_vertex_06005280, 8, 0),
     69     gsSP2Triangles( 0,  1,  2, 0x0,  1,  0,  3, 0x0),
     70     gsSP2Triangles( 3,  0,  4, 0x0,  3,  5,  1, 0x0),
     71     gsSP2Triangles( 6,  2,  1, 0x0,  1,  5,  6, 0x0),
     72     gsSP2Triangles( 5,  3,  7, 0x0,  4,  7,  3, 0x0),
     73     gsSPEndDisplayList(),
     74 };
     75 
     76 // 0x060053B8 - 0x06005428
     77 const Gfx moneybag_seg6_dl_060053B8[] = {
     78     gsDPPipeSync(),
     79     gsDPSetCombineMode(G_CC_MODULATERGBFADE, G_CC_MODULATERGBFADE),
     80     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),
     81     gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_ON),
     82     gsDPTileSync(),
     83     gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 16, 0, G_TX_RENDERTILE, 0, G_TX_CLAMP, 5, G_TX_NOLOD, G_TX_CLAMP, 6, G_TX_NOLOD),
     84     gsDPSetTileSize(0, 0, 0, (64 - 1) << G_TEXTURE_IMAGE_FRAC, (32 - 1) << G_TEXTURE_IMAGE_FRAC),
     85     gsSPDisplayList(moneybag_seg6_dl_06005300),
     86     gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF),
     87     gsDPPipeSync(),
     88     gsDPSetCombineMode(G_CC_SHADEFADEA, G_CC_SHADEFADEA),
     89     gsSPDisplayList(moneybag_seg6_dl_06005358),
     90     gsDPSetCombineMode(G_CC_SHADE, G_CC_SHADE),
     91     gsSPEndDisplayList(),
     92 };
     93 
     94 // 0x06005428
     95 static const Lights1 moneybag_seg6_lights_06005428 = gdSPDefLights1(
     96     0x7f, 0x7f, 0x7f,
     97     0xff, 0xff, 0xff, 0x28, 0x28, 0x28
     98 );
     99 
    100 // 0x06005440
    101 static const Vtx moneybag_seg6_vertex_06005440[] = {
    102     {{{   418,     89,   -157}, 0, {   388,      0}, {0x46, 0x62, 0xdb, 0xff}}},
    103     {{{   261,    194,    175}, 0, {  1604,    408}, {0x46, 0x62, 0x25, 0xff}}},
    104     {{{   418,     89,    157}, 0, {  1540,      0}, {0x43, 0x5b, 0x39, 0xff}}},
    105     {{{   418,     89,    157}, 0, {   684,      0}, {0x43, 0x5b, 0x39, 0xff}}},
    106     {{{   261,    194,    175}, 0, {  1156,    392}, {0x46, 0x62, 0x25, 0xff}}},
    107     {{{   226,      1,    300}, 0, {  1988,      0}, {0x34, 0xf9, 0x73, 0xff}}},
    108     {{{   418,     89,   -157}, 0, {  1296,      0}, {0x46, 0x62, 0xdb, 0xff}}},
    109     {{{   226,      1,   -299}, 0, {    -8,      0}, {0x33, 0xf9, 0x8d, 0xff}}},
    110     {{{   261,    194,   -174}, 0, {   824,    392}, {0x43, 0x5b, 0xc7, 0xff}}},
    111     {{{   418,    -85,   -157}, 0, {  1296,      0}, {0x28, 0xba, 0x9f, 0xff}}},
    112     {{{   278,   -190,   -139}, 0, {   992,    390}, {0x46, 0x9d, 0xdd, 0xff}}},
    113     {{{   278,   -190,    140}, 0, {   988,    390}, {0x40, 0xa1, 0x35, 0xff}}},
    114     {{{   418,    -85,    157}, 0, {   684,      0}, {0x28, 0xba, 0x61, 0xff}}},
    115     {{{   261,    194,   -174}, 0, {   324,    408}, {0x43, 0x5b, 0xc7, 0xff}}},
    116 };
    117 
    118 // 0x06005520
    119 static const Vtx moneybag_seg6_vertex_06005520[] = {
    120     {{{   278,   -190,   -139}, 0, {  1512,    416}, {0x46, 0x9d, 0xdd, 0xff}}},
    121     {{{   418,    -85,   -156}, 0, {  1588,      0}, {0x4c, 0x9b, 0x00, 0xff}}},
    122     {{{   418,    -85,    158}, 0, {   248,      0}, {0x4c, 0x9b, 0x00, 0xff}}},
    123     {{{   278,   -190,    140}, 0, {   320,    416}, {0x40, 0xa1, 0x35, 0xff}}},
    124     {{{   238,    -15,    286}, 0, {  2336,    754}, {0x3e, 0xce, 0x62, 0xff}}},
    125     {{{   272,     77,    312}, 0, {   124,   1062}, {0x3e, 0xce, 0x62, 0xff}}},
    126     {{{   229,     73,    337}, 0, {   124,    436}, {0x3e, 0xce, 0x62, 0xff}}},
    127 };
    128 
    129 // 0x06005590 - 0x06005618
    130 const Gfx moneybag_seg6_dl_06005590[] = {
    131     gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, moneybag_seg6_texture_060039B0),
    132     gsDPLoadSync(),
    133     gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 64 * 32 - 1, CALC_DXT(64, G_IM_SIZ_16b_BYTES)),
    134     gsSPLight(&moneybag_seg6_lights_06005428.l, 1),
    135     gsSPLight(&moneybag_seg6_lights_06005428.a, 2),
    136     gsSPVertex(moneybag_seg6_vertex_06005440, 14, 0),
    137     gsSP2Triangles( 0,  1,  2, 0x0,  3,  4,  5, 0x0),
    138     gsSP2Triangles( 6,  7,  8, 0x0,  9, 10,  7, 0x0),
    139     gsSP2Triangles( 5, 11, 12, 0x0,  0, 13,  1, 0x0),
    140     gsSPVertex(moneybag_seg6_vertex_06005520, 7, 0),
    141     gsSP2Triangles( 0,  1,  2, 0x0,  0,  2,  3, 0x0),
    142     gsSP1Triangle( 4,  5,  6, 0x0),
    143     gsSPEndDisplayList(),
    144 };
    145 
    146 // 0x06005618 - 0x06005688
    147 const Gfx moneybag_seg6_dl_06005618[] = {
    148     gsDPPipeSync(),
    149     gsDPSetCombineMode(G_CC_MODULATERGBFADE, G_CC_MODULATERGBFADE),
    150     gsSPClearGeometryMode(G_CULL_BACK),
    151     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),
    152     gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_ON),
    153     gsDPTileSync(),
    154     gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 16, 0, G_TX_RENDERTILE, 0, G_TX_CLAMP, 5, G_TX_NOLOD, G_TX_CLAMP, 6, G_TX_NOLOD),
    155     gsDPSetTileSize(0, 0, 0, (64 - 1) << G_TEXTURE_IMAGE_FRAC, (32 - 1) << G_TEXTURE_IMAGE_FRAC),
    156     gsSPDisplayList(moneybag_seg6_dl_06005590),
    157     gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF),
    158     gsDPPipeSync(),
    159     gsDPSetCombineMode(G_CC_SHADE, G_CC_SHADE),
    160     gsSPSetGeometryMode(G_CULL_BACK),
    161     gsSPEndDisplayList(),
    162 };
    163 
    164 // 0x06005688 - 0x060056A8
    165 const Gfx moneybag_seg6_dl_06005688[] = {
    166     gsSPDisplayList(moneybag_seg6_dl_060053B8),
    167     gsSPDisplayList(moneybag_seg6_dl_06005618),
    168     gsDPSetEnvColor(255, 255, 255, 255),
    169     gsSPEndDisplayList(),
    170 };
    171 
    172 // 0x060056A8
    173 static const Vtx moneybag_seg6_vertex_060056A8[] = {
    174     {{{   356,    121,   -159}, 0, {   960,      4}, {0xff, 0xff, 0xff, 0xff}}},
    175     {{{   356,   -128,    150}, 0, {    28,    918}, {0xff, 0xff, 0xff, 0xff}}},
    176     {{{   356,   -128,   -149}, 0, {   930,    918}, {0xff, 0xff, 0xff, 0xff}}},
    177     {{{   356,    121,    160}, 0, {    -2,      4}, {0xff, 0xff, 0xff, 0xff}}},
    178     {{{   226,      1,    298}, 0, {  -414,    442}, {0xff, 0xff, 0xff, 0xff}}},
    179     {{{   226,      1,   -297}, 0, {  1374,    442}, {0xff, 0xff, 0xff, 0xff}}},
    180 };
    181 
    182 // 0x06005708 - 0x06005750
    183 const Gfx moneybag_seg6_dl_06005708[] = {
    184     gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, moneybag_seg6_texture_060049B0),
    185     gsDPLoadSync(),
    186     gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)),
    187     gsSPVertex(moneybag_seg6_vertex_060056A8, 6, 0),
    188     gsSP2Triangles( 0,  1,  2, 0x0,  0,  3,  1, 0x0),
    189     gsSP2Triangles( 1,  3,  4, 0x0,  5,  0,  2, 0x0),
    190     gsSPEndDisplayList(),
    191 };
    192 
    193 // 0x06005750 - 0x060057C0
    194 const Gfx moneybag_seg6_dl_06005750[] = {
    195     gsDPPipeSync(),
    196     gsDPSetCombineMode(G_CC_DECALFADE, G_CC_DECALFADE),
    197     gsSPClearGeometryMode(G_LIGHTING),
    198     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),
    199     gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_ON),
    200     gsDPTileSync(),
    201     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),
    202     gsDPSetTileSize(0, 0, 0, (32 - 1) << G_TEXTURE_IMAGE_FRAC, (32 - 1) << G_TEXTURE_IMAGE_FRAC),
    203     gsSPDisplayList(moneybag_seg6_dl_06005708),
    204     gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF),
    205     gsDPPipeSync(),
    206     gsDPSetCombineMode(G_CC_SHADE, G_CC_SHADE),
    207     gsSPSetGeometryMode(G_LIGHTING),
    208     gsSPEndDisplayList(),
    209 };
    210 
    211 // Unreferenced light group
    212 UNUSED static const Lights1 moneybag_lights_unused1 = gdSPDefLights1(
    213     0x0c, 0x20, 0x06,
    214     0x30, 0x83, 0x1a, 0x28, 0x28, 0x28
    215 );
    216 
    217 // Unreferenced light group
    218 UNUSED static const Lights1 moneybag_lights_unused2 = gdSPDefLights1(
    219     0x00, 0x00, 0x00,
    220     0x00, 0x00, 0x00, 0x28, 0x28, 0x28
    221 );
    222 
    223 // 0x060057F0
    224 static const Lights1 moneybag_seg6_lights_060057F0 = gdSPDefLights1(
    225     0x3f, 0x3f, 0x00,
    226     0xff, 0xff, 0x00, 0x28, 0x28, 0x28
    227 );
    228 
    229 // Unreferenced light group
    230 UNUSED static const Lights1 moneybag_lights_unused3 = gdSPDefLights1(
    231     0x00, 0x00, 0x00,
    232     0x00, 0x00, 0x00, 0x28, 0x28, 0x28
    233 );
    234 
    235 // 0x06005820
    236 static const Vtx moneybag_seg6_vertex_06005820[] = {
    237     {{{     0,      0,      0}, 0, {     0,      0}, {0x83, 0x11, 0x00, 0x00}}},
    238     {{{   180,     90,      0}, 0, {     0,      0}, {0xc8, 0x71, 0x00, 0x00}}},
    239     {{{   180,     40,    -80}, 0, {     0,      0}, {0xc8, 0x2a, 0x97, 0x00}}},
    240     {{{   180,   -120,    -40}, 0, {     0,      0}, {0xbb, 0xb0, 0xbb, 0xff}}},
    241     {{{   180,   -120,     40}, 0, {     0,      0}, {0xbb, 0xb0, 0x45, 0xff}}},
    242     {{{   180,     90,      0}, 0, {     0,      0}, {0x7f, 0x00, 0x00, 0xff}}},
    243     {{{   180,     40,     80}, 0, {     0,      0}, {0x7f, 0x00, 0x00, 0xff}}},
    244     {{{   180,   -120,     40}, 0, {     0,      0}, {0x7f, 0x00, 0x00, 0xff}}},
    245     {{{   180,   -120,    -40}, 0, {     0,      0}, {0x7f, 0x00, 0x00, 0xff}}},
    246     {{{   180,     40,    -80}, 0, {     0,      0}, {0x7f, 0x00, 0x00, 0xff}}},
    247     {{{   180,     40,     80}, 0, {     0,      0}, {0xc8, 0x2a, 0x69, 0xff}}},
    248 };
    249 
    250 // 0x060058D0
    251 static const Vtx moneybag_seg6_vertex_060058D0[] = {
    252     {{{   180,     40,     80}, 0, {     0,      0}, {0xc8, 0x2a, 0x69, 0x00}}},
    253     {{{   180,     90,      0}, 0, {     0,      0}, {0xc8, 0x71, 0x00, 0x00}}},
    254     {{{     0,      0,      0}, 0, {     0,      0}, {0x83, 0x11, 0x00, 0x00}}},
    255     {{{   180,   -120,    -40}, 0, {     0,      0}, {0xbb, 0xb0, 0xbb, 0xff}}},
    256     {{{   180,   -120,     40}, 0, {     0,      0}, {0xbb, 0xb0, 0x45, 0xff}}},
    257     {{{   180,   -120,    -40}, 0, {     0,      0}, {0x7f, 0x00, 0x00, 0xff}}},
    258     {{{   180,     40,    -80}, 0, {     0,      0}, {0x7f, 0x00, 0x00, 0xff}}},
    259     {{{   180,     90,      0}, 0, {     0,      0}, {0x7f, 0x00, 0x00, 0xff}}},
    260     {{{   180,   -120,     40}, 0, {     0,      0}, {0x7f, 0x00, 0x00, 0xff}}},
    261     {{{   180,     40,     80}, 0, {     0,      0}, {0x7f, 0x00, 0x00, 0xff}}},
    262     {{{   180,     40,    -80}, 0, {     0,      0}, {0xc8, 0x2a, 0x97, 0xff}}},
    263 };
    264 
    265 // 0x06005980 - 0x060059F0
    266 const Gfx moneybag_seg6_dl_06005980[] = {
    267     gsDPSetCombineMode(G_CC_SHADEFADEA, G_CC_SHADEFADEA),
    268     gsSPLight(&moneybag_seg6_lights_060057F0.l, 1),
    269     gsSPLight(&moneybag_seg6_lights_060057F0.a, 2),
    270     gsSPVertex(moneybag_seg6_vertex_06005820, 11, 0),
    271     gsSP2Triangles( 0,  1,  2, 0x0,  0,  3,  4, 0x0),
    272     gsSP2Triangles( 5,  6,  7, 0x0,  5,  7,  8, 0x0),
    273     gsSP2Triangles( 5,  8,  9, 0x0, 10,  1,  0, 0x0),
    274     gsSP2Triangles( 0,  4, 10, 0x0,  2,  3,  0, 0x0),
    275     gsDPSetCombineMode(G_CC_SHADE, G_CC_SHADE),
    276     gsSPEndDisplayList(),
    277 };
    278 
    279 // 0x060059F0 - 0x06005A60
    280 const Gfx moneybag_seg6_dl_060059F0[] = {
    281     gsDPSetCombineMode(G_CC_SHADEFADEA, G_CC_SHADEFADEA),
    282     gsSPLight(&moneybag_seg6_lights_060057F0.l, 1),
    283     gsSPLight(&moneybag_seg6_lights_060057F0.a, 2),
    284     gsSPVertex(moneybag_seg6_vertex_060058D0, 11, 0),
    285     gsSP2Triangles( 0,  1,  2, 0x0,  3,  4,  2, 0x0),
    286     gsSP2Triangles( 5,  6,  7, 0x0,  8,  5,  7, 0x0),
    287     gsSP2Triangles( 9,  8,  7, 0x0,  2,  1, 10, 0x0),
    288     gsSP2Triangles(10,  3,  2, 0x0,  2,  4,  0, 0x0),
    289     gsDPSetCombineMode(G_CC_SHADE, G_CC_SHADE),
    290     gsSPEndDisplayList(),
    291 };