sm64

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

model.inc.c (14027B)


      1 // Chilly Chief (Chill Bully)
      2 
      3 // 0x06000000
      4 static const Lights1 chilly_chief_seg6_lights_06000000 = gdSPDefLights1(
      5     0x00, 0x38, 0x00,
      6     0x00, 0xe3, 0x00, 0x28, 0x28, 0x28
      7 );
      8 
      9 // 0x06000018
     10 static const Lights1 chilly_chief_seg6_lights_06000018 = gdSPDefLights1(
     11     0x00, 0x3f, 0x00,
     12     0x00, 0xff, 0x00, 0x28, 0x28, 0x28
     13 );
     14 
     15 // 0x06000030
     16 static const Lights1 chilly_chief_seg6_lights_06000030 = gdSPDefLights1(
     17     0x3f, 0x29, 0x00,
     18     0xff, 0xa5, 0x00, 0x28, 0x28, 0x28
     19 );
     20 
     21 // Unreferenced light group
     22 UNUSED static const Lights1 chillychief_lights_unused = gdSPDefLights1(
     23     0x00, 0x00, 0x00,
     24     0x00, 0x00, 0x00, 0x28, 0x28, 0x28
     25 );
     26 
     27 // 0x06000060
     28 ALIGNED8 static const Texture chilly_chief_seg6_texture_06000060[] = {
     29 #include "actors/chillychief/chill_bully_left_side.rgba16.inc.c"
     30 };
     31 
     32 // 0x06001060
     33 ALIGNED8 static const Texture chilly_chief_seg6_texture_06001060[] = {
     34 #include "actors/chillychief/chill_bully_right_side.rgba16.inc.c"
     35 };
     36 
     37 // 0x06002060
     38 ALIGNED8 static const Texture chilly_chief_seg6_texture_06002060[] = {
     39 #include "actors/chillychief/chill_bully_eye.rgba16.inc.c"
     40 };
     41 
     42 // 0x06002860
     43 static const Vtx chilly_chief_seg6_vertex_06002860[] = {
     44     {{{    27,    -35,      0}, 0, {     0,      0}, {0x0c, 0x82, 0x04, 0x00}}},
     45     {{{    56,    -16,    -27}, 0, {     0,      0}, {0x16, 0xae, 0xa3, 0x00}}},
     46     {{{    72,    -16,      0}, 0, {     0,      0}, {0x59, 0xa7, 0x04, 0x00}}},
     47     {{{    56,     28,    -46}, 0, {     0,      0}, {0x65, 0xdf, 0xbd, 0xff}}},
     48     {{{    90,     28,      0}, 0, {     0,      0}, {0x65, 0xdf, 0xbd, 0xff}}},
     49     {{{   -17,    -17,      0}, 0, {     0,      0}, {0xd7, 0xc5, 0x98, 0xff}}},
     50     {{{   -37,     27,      0}, 0, {     0,      0}, {0xd0, 0xde, 0x90, 0xff}}},
     51     {{{    56,     28,    -46}, 0, {     0,      0}, {0xd0, 0xde, 0x90, 0xff}}},
     52     {{{    56,    -16,     22}, 0, {     0,      0}, {0x16, 0xb4, 0x62, 0xff}}},
     53     {{{    90,     28,      0}, 0, {     0,      0}, {0x5f, 0xde, 0x4b, 0xff}}},
     54     {{{    55,     28,     41}, 0, {     0,      0}, {0x5f, 0xde, 0x4b, 0xff}}},
     55     {{{   -17,    -17,      0}, 0, {     0,      0}, {0xdc, 0xcb, 0x6c, 0xff}}},
     56     {{{    55,     28,     41}, 0, {     0,      0}, {0xd5, 0xdf, 0x72, 0xff}}},
     57     {{{   -37,     27,      0}, 0, {     0,      0}, {0xd5, 0xdf, 0x72, 0xff}}},
     58 };
     59 
     60 // 0x06002940
     61 static const Vtx chilly_chief_seg6_vertex_06002940[] = {
     62     {{{    90,     28,      0}, 0, {     0,      0}, {0xff, 0x7f, 0x00, 0xff}}},
     63     {{{    56,     28,    -46}, 0, {     0,      0}, {0xff, 0x7f, 0x00, 0x00}}},
     64     {{{   -37,     27,      0}, 0, {     0,      0}, {0xff, 0x7f, 0x00, 0x00}}},
     65     {{{    55,     28,     41}, 0, {     0,      0}, {0xff, 0x7f, 0x00, 0xff}}},
     66 };
     67 
     68 // 0x06002980
     69 static const Vtx chilly_chief_seg6_vertex_06002980[] = {
     70     {{{    72,    -16,      0}, 0, {     0,      0}, {0x59, 0xa7, 0xfc, 0x00}}},
     71     {{{    56,    -16,     27}, 0, {     0,      0}, {0x16, 0xae, 0x5d, 0x00}}},
     72     {{{    27,    -35,      0}, 0, {     0,      0}, {0x0c, 0x82, 0xfc, 0x00}}},
     73     {{{    90,     28,      0}, 0, {     0,      0}, {0x65, 0xdf, 0x43, 0xff}}},
     74     {{{    56,     28,     46}, 0, {     0,      0}, {0x65, 0xdf, 0x43, 0xff}}},
     75     {{{    56,     28,     46}, 0, {     0,      0}, {0xd0, 0xde, 0x70, 0xff}}},
     76     {{{   -37,     27,      0}, 0, {     0,      0}, {0xd0, 0xde, 0x70, 0xff}}},
     77     {{{   -17,    -17,      0}, 0, {     0,      0}, {0xd7, 0xc5, 0x68, 0xff}}},
     78     {{{    56,    -16,    -22}, 0, {     0,      0}, {0x16, 0xb4, 0x9e, 0xff}}},
     79     {{{    55,     28,    -41}, 0, {     0,      0}, {0x5f, 0xde, 0xb5, 0xff}}},
     80     {{{    90,     28,      0}, 0, {     0,      0}, {0x5f, 0xde, 0xb5, 0xff}}},
     81     {{{   -37,     27,      0}, 0, {     0,      0}, {0xd5, 0xdf, 0x8e, 0xff}}},
     82     {{{    55,     28,    -41}, 0, {     0,      0}, {0xd5, 0xdf, 0x8e, 0xff}}},
     83     {{{   -17,    -17,      0}, 0, {     0,      0}, {0xdc, 0xcb, 0x94, 0xff}}},
     84 };
     85 
     86 // 0x06002A60
     87 static const Vtx chilly_chief_seg6_vertex_06002A60[] = {
     88     {{{    55,     28,    -41}, 0, {     0,      0}, {0xff, 0x7f, 0x00, 0xff}}},
     89     {{{   -37,     27,      0}, 0, {     0,      0}, {0xff, 0x7f, 0x00, 0x00}}},
     90     {{{    56,     28,     46}, 0, {     0,      0}, {0xff, 0x7f, 0x00, 0x00}}},
     91     {{{    90,     28,      0}, 0, {     0,      0}, {0xff, 0x7f, 0x00, 0xff}}},
     92 };
     93 
     94 // 0x06002AA0
     95 static const Vtx chilly_chief_seg6_vertex_06002AA0[] = {
     96     {{{   132,    -29,      0}, 0, {     0,      0}, {0x10, 0xc2, 0x93, 0x00}}},
     97     {{{   131,     31,    -35}, 0, {     0,      0}, {0x10, 0xc2, 0x93, 0x00}}},
     98     {{{   250,      2,      0}, 0, {     0,      0}, {0x10, 0xc2, 0x93, 0x00}}},
     99     {{{   131,     31,     35}, 0, {     0,      0}, {0x10, 0xc2, 0x6d, 0xff}}},
    100     {{{   132,    -29,      0}, 0, {     0,      0}, {0x10, 0xc2, 0x6d, 0xff}}},
    101     {{{   250,      2,      0}, 0, {     0,      0}, {0x10, 0xc2, 0x6d, 0xff}}},
    102     {{{   131,     31,    -35}, 0, {     0,      0}, {0x1e, 0x7b, 0x00, 0xff}}},
    103     {{{   131,     31,     35}, 0, {     0,      0}, {0x1e, 0x7b, 0x00, 0xff}}},
    104     {{{   250,      2,      0}, 0, {     0,      0}, {0x1e, 0x7b, 0x00, 0xff}}},
    105 };
    106 
    107 // 0x06002B30 - 0x06002BC8
    108 const Gfx chilly_chief_seg6_dl_06002B30[] = {
    109     gsSPLight(&chilly_chief_seg6_lights_06000000.l, 1),
    110     gsSPLight(&chilly_chief_seg6_lights_06000000.a, 2),
    111     gsSPVertex(chilly_chief_seg6_vertex_06002860, 14, 0),
    112     gsSP2Triangles( 0,  1,  2, 0x0,  2,  1,  3, 0x0),
    113     gsSP2Triangles( 2,  3,  4, 0x0,  1,  5,  6, 0x0),
    114     gsSP2Triangles( 1,  6,  7, 0x0,  0,  5,  1, 0x0),
    115     gsSP2Triangles( 0,  2,  8, 0x0,  8,  2,  9, 0x0),
    116     gsSP2Triangles( 8,  9, 10, 0x0, 11,  8, 12, 0x0),
    117     gsSP2Triangles(11, 12, 13, 0x0,  0,  8, 11, 0x0),
    118     gsSPVertex(chilly_chief_seg6_vertex_06002940, 4, 0),
    119     gsSP2Triangles( 0,  1,  2, 0x0,  0,  2,  3, 0x0),
    120     gsSPEndDisplayList(),
    121 };
    122 
    123 // 0x06002BC8 - 0x06002C60
    124 const Gfx chilly_chief_seg6_dl_06002BC8[] = {
    125     gsSPLight(&chilly_chief_seg6_lights_06000018.l, 1),
    126     gsSPLight(&chilly_chief_seg6_lights_06000018.a, 2),
    127     gsSPVertex(chilly_chief_seg6_vertex_06002980, 14, 0),
    128     gsSP2Triangles( 0,  1,  2, 0x0,  3,  4,  1, 0x0),
    129     gsSP2Triangles( 3,  1,  0, 0x0,  5,  6,  7, 0x0),
    130     gsSP2Triangles( 5,  7,  1, 0x0,  1,  7,  2, 0x0),
    131     gsSP2Triangles( 8,  0,  2, 0x0,  9, 10,  0, 0x0),
    132     gsSP2Triangles( 9,  0,  8, 0x0, 11, 12,  8, 0x0),
    133     gsSP2Triangles(11,  8, 13, 0x0, 13,  8,  2, 0x0),
    134     gsSPVertex(chilly_chief_seg6_vertex_06002A60, 4, 0),
    135     gsSP2Triangles( 0,  1,  2, 0x0,  0,  2,  3, 0x0),
    136     gsSPEndDisplayList(),
    137 };
    138 
    139 // 0x06002C60 - 0x06002C98
    140 const Gfx chilly_chief_seg6_dl_06002C60[] = {
    141     gsSPLight(&chilly_chief_seg6_lights_06000030.l, 1),
    142     gsSPLight(&chilly_chief_seg6_lights_06000030.a, 2),
    143     gsSPVertex(chilly_chief_seg6_vertex_06002AA0, 9, 0),
    144     gsSP2Triangles( 0,  1,  2, 0x0,  3,  4,  5, 0x0),
    145     gsSP1Triangle( 6,  7,  8, 0x0),
    146     gsSPEndDisplayList(),
    147 };
    148 
    149 // 0x06002C98
    150 static const Vtx chilly_chief_seg6_vertex_06002C98[] = {
    151     {{{     0,     68,      0}, 0, {   992,      0}, {0xff, 0xff, 0xff, 0xff}}},
    152     {{{   -66,    -66,      0}, 0, {     0,   2016}, {0xff, 0xff, 0xff, 0xff}}},
    153     {{{     0,    -66,      0}, 0, {   992,   2016}, {0xff, 0xff, 0xff, 0xff}}},
    154     {{{   -66,     68,      0}, 0, {     0,      0}, {0xff, 0xff, 0xff, 0xff}}},
    155 };
    156 
    157 // 0x06002CD8
    158 static const Vtx chilly_chief_seg6_vertex_06002CD8[] = {
    159     {{{    68,     68,      0}, 0, {   992,      0}, {0xff, 0xff, 0xff, 0xff}}},
    160     {{{     0,    -66,      0}, 0, {     0,   2016}, {0xff, 0xff, 0xff, 0xff}}},
    161     {{{    68,    -66,      0}, 0, {   992,   2016}, {0xff, 0xff, 0xff, 0xff}}},
    162     {{{     0,     68,      0}, 0, {     0,      0}, {0xff, 0xff, 0xff, 0xff}}},
    163 };
    164 
    165 // 0x06002D18 - 0x06002D50
    166 const Gfx chilly_chief_seg6_dl_06002D18[] = {
    167     gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, chilly_chief_seg6_texture_06000060),
    168     gsDPLoadSync(),
    169     gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 64 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)),
    170     gsSPVertex(chilly_chief_seg6_vertex_06002C98, 4, 0),
    171     gsSP2Triangles( 0,  1,  2, 0x0,  0,  3,  1, 0x0),
    172     gsSPEndDisplayList(),
    173 };
    174 
    175 // 0x06002D50 - 0x06002D88
    176 const Gfx chilly_chief_seg6_dl_06002D50[] = {
    177     gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, chilly_chief_seg6_texture_06001060),
    178     gsDPLoadSync(),
    179     gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 64 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)),
    180     gsSPVertex(chilly_chief_seg6_vertex_06002CD8, 4, 0),
    181     gsSP2Triangles( 0,  1,  2, 0x0,  0,  3,  1, 0x0),
    182     gsSPEndDisplayList(),
    183 };
    184 
    185 // 0x06002D88 - 0x06002E00
    186 const Gfx chilly_chief_seg6_dl_06002D88[] = {
    187     gsDPPipeSync(),
    188     gsDPSetCombineMode(G_CC_DECALRGBA, G_CC_DECALRGBA),
    189     gsSPClearGeometryMode(G_LIGHTING),
    190     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),
    191     gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_ON),
    192     gsDPTileSync(),
    193     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),
    194     gsDPSetTileSize(0, 0, 0, (32 - 1) << G_TEXTURE_IMAGE_FRAC, (64 - 1) << G_TEXTURE_IMAGE_FRAC),
    195     gsSPDisplayList(chilly_chief_seg6_dl_06002D18),
    196     gsSPDisplayList(chilly_chief_seg6_dl_06002D50),
    197     gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF),
    198     gsDPPipeSync(),
    199     gsDPSetCombineMode(G_CC_SHADE, G_CC_SHADE),
    200     gsSPSetGeometryMode(G_LIGHTING),
    201     gsSPEndDisplayList(),
    202 };
    203 
    204 // 0x06002E00
    205 static const Vtx chilly_chief_seg6_vertex_06002E00[] = {
    206     {{{     0,    136,      0}, 0, {   992,      0}, {0xff, 0xff, 0xff, 0xff}}},
    207     {{{  -133,   -133,      0}, 0, {     0,   2016}, {0xff, 0xff, 0xff, 0xff}}},
    208     {{{     0,   -133,      0}, 0, {   992,   2016}, {0xff, 0xff, 0xff, 0xff}}},
    209     {{{  -133,    136,      0}, 0, {     0,      0}, {0xff, 0xff, 0xff, 0xff}}},
    210 };
    211 
    212 // 0x06002E40
    213 static const Vtx chilly_chief_seg6_vertex_06002E40[] = {
    214     {{{   136,    136,      0}, 0, {   992,      0}, {0xff, 0xff, 0xff, 0xff}}},
    215     {{{     0,   -133,      0}, 0, {     0,   2016}, {0xff, 0xff, 0xff, 0xff}}},
    216     {{{   136,   -133,      0}, 0, {   992,   2016}, {0xff, 0xff, 0xff, 0xff}}},
    217     {{{     0,    136,      0}, 0, {     0,      0}, {0xff, 0xff, 0xff, 0xff}}},
    218 };
    219 
    220 // 0x06002E80 - 0x06002EB8
    221 const Gfx chilly_chief_seg6_dl_06002E80[] = {
    222     gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, chilly_chief_seg6_texture_06000060),
    223     gsDPLoadSync(),
    224     gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 64 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)),
    225     gsSPVertex(chilly_chief_seg6_vertex_06002E00, 4, 0),
    226     gsSP2Triangles( 0,  1,  2, 0x0,  0,  3,  1, 0x0),
    227     gsSPEndDisplayList(),
    228 };
    229 
    230 // 0x06002EB8 - 0x06002EF0
    231 const Gfx chilly_chief_seg6_dl_06002EB8[] = {
    232     gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, chilly_chief_seg6_texture_06001060),
    233     gsDPLoadSync(),
    234     gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 64 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)),
    235     gsSPVertex(chilly_chief_seg6_vertex_06002E40, 4, 0),
    236     gsSP2Triangles( 0,  1,  2, 0x0,  0,  3,  1, 0x0),
    237     gsSPEndDisplayList(),
    238 };
    239 
    240 // 0x06002EF0 - 0x06002F68
    241 const Gfx chilly_chief_seg6_dl_06002EF0[] = {
    242     gsDPPipeSync(),
    243     gsDPSetCombineMode(G_CC_DECALRGBA, G_CC_DECALRGBA),
    244     gsSPClearGeometryMode(G_LIGHTING),
    245     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),
    246     gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_ON),
    247     gsDPTileSync(),
    248     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),
    249     gsDPSetTileSize(0, 0, 0, (32 - 1) << G_TEXTURE_IMAGE_FRAC, (64 - 1) << G_TEXTURE_IMAGE_FRAC),
    250     gsSPDisplayList(chilly_chief_seg6_dl_06002E80),
    251     gsSPDisplayList(chilly_chief_seg6_dl_06002EB8),
    252     gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF),
    253     gsDPPipeSync(),
    254     gsDPSetCombineMode(G_CC_SHADE, G_CC_SHADE),
    255     gsSPSetGeometryMode(G_LIGHTING),
    256     gsSPEndDisplayList(),
    257 };
    258 
    259 // 0x06002F68
    260 static const Vtx chilly_chief_seg6_vertex_06002F68[] = {
    261     {{{   -36,    152,      0}, 0, {     0,    990}, {0xff, 0xff, 0xff, 0xff}}},
    262     {{{   -40,    136,     68}, 0, {   990,    990}, {0xff, 0xff, 0xff, 0xff}}},
    263     {{{    56,    124,     68}, 0, {   990,      0}, {0xff, 0xff, 0xff, 0xff}}},
    264     {{{    60,    140,      0}, 0, {     0,      0}, {0xff, 0xff, 0xff, 0xff}}},
    265     {{{    56,    124,    -64}, 0, {   990,      0}, {0xff, 0xff, 0xff, 0xff}}},
    266     {{{   -40,    136,    -64}, 0, {   990,    990}, {0xff, 0xff, 0xff, 0xff}}},
    267 };
    268 
    269 // 0x06002FC8 - 0x06003010
    270 const Gfx chilly_chief_seg6_dl_06002FC8[] = {
    271     gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, chilly_chief_seg6_texture_06002060),
    272     gsDPLoadSync(),
    273     gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)),
    274     gsSPVertex(chilly_chief_seg6_vertex_06002F68, 6, 0),
    275     gsSP2Triangles( 0,  1,  2, 0x0,  0,  2,  3, 0x0),
    276     gsSP2Triangles( 3,  4,  5, 0x0,  3,  5,  0, 0x0),
    277     gsSPEndDisplayList(),
    278 };
    279 
    280 // 0x06003010 - 0x06003080
    281 const Gfx chilly_chief_seg6_dl_06003010[] = {
    282     gsDPPipeSync(),
    283     gsDPSetCombineMode(G_CC_DECALRGBA, G_CC_DECALRGBA),
    284     gsSPClearGeometryMode(G_LIGHTING),
    285     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),
    286     gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_ON),
    287     gsDPTileSync(),
    288     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),
    289     gsDPSetTileSize(0, 0, 0, (32 - 1) << G_TEXTURE_IMAGE_FRAC, (32 - 1) << G_TEXTURE_IMAGE_FRAC),
    290     gsSPDisplayList(chilly_chief_seg6_dl_06002FC8),
    291     gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF),
    292     gsDPPipeSync(),
    293     gsDPSetCombineMode(G_CC_SHADE, G_CC_SHADE),
    294     gsSPSetGeometryMode(G_LIGHTING),
    295     gsSPEndDisplayList(),
    296 };