sm64

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

model.inc.c (7062B)


      1 // Tornado
      2 
      3 // 0x05013128
      4 ALIGNED8 static const Texture tornado_seg5_texture_05013128[] = {
      5 #include "actors/tornado/tornado.ia16.inc.c"
      6 };
      7 
      8 // 0x05014128
      9 static const Lights1 tornado_seg5_lights_05014128 = gdSPDefLights1(
     10     0x3b, 0x34, 0x23,
     11     0xee, 0xd0, 0x8d, 0x28, 0x28, 0x28
     12 );
     13 
     14 // 0x05014140
     15 static const Vtx tornado_seg5_vertex_05014140[] = {
     16     {{{   474,    661,    822}, 0, {   650,   1708}, {0x30, 0xbe, 0x60, 0x64}}},
     17     {{{     0,    661,    949}, 0, {   480,   1708}, {0x00, 0xb6, 0x67, 0x64}}},
     18     {{{     0,      0,      0}, 0, {   564,   2012}, {0x00, 0x82, 0x00, 0x64}}},
     19     {{{   822,    661,    474}, 0, {   820,   1708}, {0x60, 0xc3, 0x37, 0x64}}},
     20     {{{     0,      0,      0}, 0, {   734,   2012}, {0x00, 0x82, 0x00, 0x64}}},
     21     {{{   969,   4107,   1679}, 0, {   650,    128}, {0x46, 0xde, 0x63, 0x64}}},
     22     {{{     0,   4107,   1938}, 0, {   480,    128}, {0x00, 0xdd, 0x7a, 0x64}}},
     23     {{{  1679,   4107,    969}, 0, {   820,    128}, {0x69, 0xdd, 0x3d, 0x64}}},
     24     {{{  -474,    661,    822}, 0, {   308,   1708}, {0xc9, 0xc3, 0x60, 0x64}}},
     25     {{{  -969,   4107,   1679}, 0, {   308,    128}, {0xc3, 0xdd, 0x69, 0x64}}},
     26     {{{     0,      0,      0}, 0, {   394,   2012}, {0x00, 0x82, 0x00, 0x64}}},
     27     {{{   949,    661,      0}, 0, {   990,   1708}, {0x67, 0xb6, 0x00, 0x64}}},
     28     {{{     0,      0,      0}, 0, {   904,   2012}, {0x00, 0x82, 0x00, 0x64}}},
     29     {{{  1938,   4107,      0}, 0, {   990,    128}, {0x7a, 0xdd, 0x00, 0x64}}},
     30 };
     31 
     32 // 0x05014220
     33 static const Vtx tornado_seg5_vertex_05014220[] = {
     34     {{{  -474,    661,   -822}, 0, {  1672,   1708}, {0xd0, 0xbe, 0xa0, 0x64}}},
     35     {{{  -969,   4107,  -1678}, 0, {  1672,    128}, {0xba, 0xde, 0x9d, 0x64}}},
     36     {{{     0,   4107,  -1938}, 0, {  1502,    128}, {0x00, 0xdd, 0x86, 0x64}}},
     37     {{{   822,    661,   -474}, 0, {  1160,   1708}, {0x60, 0xbe, 0xd0, 0x64}}},
     38     {{{  1938,   4107,      0}, 0, {   990,    128}, {0x7a, 0xdd, 0x00, 0x64}}},
     39     {{{   949,    661,      0}, 0, {   990,   1708}, {0x67, 0xb6, 0x00, 0x64}}},
     40     {{{  1679,   4107,   -969}, 0, {  1160,    128}, {0x63, 0xde, 0xba, 0x64}}},
     41     {{{     0,      0,      0}, 0, {  1076,   2012}, {0x00, 0x82, 0x00, 0x64}}},
     42     {{{   474,    661,   -822}, 0, {  1330,   1708}, {0x37, 0xc3, 0xa0, 0x64}}},
     43     {{{     0,      0,      0}, 0, {  1246,   2012}, {0x00, 0x82, 0x00, 0x64}}},
     44     {{{   969,   4107,  -1678}, 0, {  1330,    128}, {0x3d, 0xdd, 0x97, 0x64}}},
     45     {{{     0,    661,   -949}, 0, {  1502,   1708}, {0x00, 0xb6, 0x99, 0x64}}},
     46     {{{     0,      0,      0}, 0, {  1416,   2012}, {0x00, 0x82, 0x00, 0x64}}},
     47     {{{  -474,    661,    822}, 0, {   308,   1708}, {0xc9, 0xc3, 0x60, 0x64}}},
     48     {{{  -822,    661,    474}, 0, {   138,   1708}, {0xa0, 0xbe, 0x30, 0x64}}},
     49     {{{     0,      0,      0}, 0, {   224,   2012}, {0x00, 0x82, 0x00, 0x64}}},
     50 };
     51 
     52 // 0x05014320
     53 static const Vtx tornado_seg5_vertex_05014320[] = {
     54     {{{  -474,    661,   -822}, 0, {  1672,   1708}, {0xd0, 0xbe, 0xa0, 0x64}}},
     55     {{{     0,    661,   -949}, 0, {  1502,   1708}, {0x00, 0xb6, 0x99, 0x64}}},
     56     {{{     0,      0,      0}, 0, {  1586,   2012}, {0x00, 0x82, 0x00, 0x64}}},
     57     {{{  -822,    661,   -474}, 0, {  1842,   1708}, {0xa0, 0xc3, 0xc9, 0x64}}},
     58     {{{     0,      0,      0}, 0, {  1756,   2012}, {0x00, 0x82, 0x00, 0x64}}},
     59     {{{  -969,   4107,  -1678}, 0, {  1672,    128}, {0xba, 0xde, 0x9d, 0x64}}},
     60     {{{ -1678,   4107,   -969}, 0, {  1842,    128}, {0x97, 0xdd, 0xc3, 0x64}}},
     61     {{{  -949,    661,      0}, 0, {  2012,   1708}, {0x99, 0xb6, 0x00, 0x64}}},
     62     {{{     0,      0,      0}, 0, {  1926,   2012}, {0x00, 0x82, 0x00, 0x64}}},
     63     {{{ -1938,   4107,      0}, 0, {  2012,    128}, {0x86, 0xdd, 0x00, 0x64}}},
     64     {{{  -822,    661,    474}, 0, {   138,   1708}, {0xa0, 0xbe, 0x30, 0x64}}},
     65     {{{  -949,    661,      0}, 0, {     0,   1708}, {0x99, 0xb6, 0x00, 0x64}}},
     66     {{{     0,      0,      0}, 0, {    54,   2012}, {0x00, 0x82, 0x00, 0x64}}},
     67     {{{ -1938,   4107,      0}, 0, {     0,    128}, {0x86, 0xdd, 0x00, 0x64}}},
     68 };
     69 
     70 // 0x05014400
     71 static const Vtx tornado_seg5_vertex_05014400[] = {
     72     {{{  -474,    661,    822}, 0, {   308,   1708}, {0xc9, 0xc3, 0x60, 0x64}}},
     73     {{{  -969,   4107,   1679}, 0, {   308,    128}, {0xc3, 0xdd, 0x69, 0x64}}},
     74     {{{ -1678,   4107,    969}, 0, {   138,    128}, {0x9d, 0xde, 0x46, 0x64}}},
     75     {{{  -822,    661,    474}, 0, {   138,   1708}, {0xa0, 0xbe, 0x30, 0x64}}},
     76     {{{ -1938,   4107,      0}, 0, {     0,    128}, {0x86, 0xdd, 0x00, 0x64}}},
     77 };
     78 
     79 // 0x05014450 - 0x050145C0
     80 const Gfx tornado_seg5_dl_05014450[] = {
     81     gsDPSetTextureImage(G_IM_FMT_IA, G_IM_SIZ_16b, 1, tornado_seg5_texture_05013128),
     82     gsDPLoadSync(),
     83     gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 64 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)),
     84     gsSPLight(&tornado_seg5_lights_05014128.l, 1),
     85     gsSPLight(&tornado_seg5_lights_05014128.a, 2),
     86     gsSPVertex(tornado_seg5_vertex_05014140, 14, 0),
     87     gsSP2Triangles( 0,  1,  2, 0x0,  3,  0,  4, 0x0),
     88     gsSP2Triangles( 0,  5,  6, 0x0,  0,  6,  1, 0x0),
     89     gsSP2Triangles( 3,  5,  0, 0x0,  3,  7,  5, 0x0),
     90     gsSP2Triangles( 1,  6,  8, 0x0,  6,  9,  8, 0x0),
     91     gsSP2Triangles( 1,  8, 10, 0x0, 11,  3, 12, 0x0),
     92     gsSP2Triangles(11, 13,  3, 0x0, 13,  7,  3, 0x0),
     93     gsSPVertex(tornado_seg5_vertex_05014220, 16, 0),
     94     gsSP2Triangles( 0,  1,  2, 0x0,  3,  4,  5, 0x0),
     95     gsSP2Triangles( 3,  6,  4, 0x0,  3,  5,  7, 0x0),
     96     gsSP2Triangles( 8,  3,  9, 0x0,  8,  6,  3, 0x0),
     97     gsSP2Triangles( 8, 10,  6, 0x0, 11,  8, 12, 0x0),
     98     gsSP2Triangles( 2, 10,  8, 0x0, 11,  2,  8, 0x0),
     99     gsSP2Triangles( 0,  2, 11, 0x0, 13, 14, 15, 0x0),
    100     gsSPVertex(tornado_seg5_vertex_05014320, 14, 0),
    101     gsSP2Triangles( 0,  1,  2, 0x0,  3,  0,  4, 0x0),
    102     gsSP2Triangles( 3,  5,  0, 0x0,  3,  6,  5, 0x0),
    103     gsSP2Triangles( 7,  3,  8, 0x0,  9,  6,  3, 0x0),
    104     gsSP2Triangles( 7,  9,  3, 0x0, 10, 11, 12, 0x0),
    105     gsSP1Triangle(10, 13, 11, 0x0),
    106     gsSPVertex(tornado_seg5_vertex_05014400, 5, 0),
    107     gsSP2Triangles( 0,  1,  2, 0x0,  0,  2,  3, 0x0),
    108     gsSP1Triangle( 3,  2,  4, 0x0),
    109     gsSPEndDisplayList(),
    110 };
    111 
    112 // 0x050145C0 - 0x05014630
    113 const Gfx tornado_seg5_dl_050145C0[] = {
    114     gsDPPipeSync(),
    115     gsDPSetCombineMode(G_CC_MODULATEIA, G_CC_MODULATEIA),
    116     gsSPClearGeometryMode(G_CULL_BACK),
    117     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),
    118     gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_ON),
    119     gsDPTileSync(),
    120     gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b, 8, 0, G_TX_RENDERTILE, 0, G_TX_WRAP | G_TX_NOMIRROR, 6, G_TX_NOLOD, G_TX_WRAP | G_TX_NOMIRROR, 5, G_TX_NOLOD),
    121     gsDPSetTileSize(0, 0, 0, (32 - 1) << G_TEXTURE_IMAGE_FRAC, (64 - 1) << G_TEXTURE_IMAGE_FRAC),
    122     gsSPDisplayList(tornado_seg5_dl_05014450),
    123     gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF),
    124     gsDPPipeSync(),
    125     gsDPSetCombineMode(G_CC_SHADE, G_CC_SHADE),
    126     gsSPSetGeometryMode(G_CULL_BACK),
    127     gsSPEndDisplayList(),
    128 };