sm64

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

model.inc.c (10175B)


      1 // 0x070210E0 - 0x070210F8
      2 static const Lights1 hmc_seg7_lights_070210E0 = gdSPDefLights1(
      3     0x79, 0x79, 0x79,
      4     0xff, 0xff, 0xff, 0x28, 0x28, 0x28
      5 );
      6 
      7 // 0x070210F8 - 0x070211F8
      8 static const Vtx hmc_seg7_vertex_070210F8[] = {
      9     {{{   922,  -4689,   2253}, 0, {   786,  -1054}, {0x00, 0x59, 0x59, 0xff}}},
     10     {{{   973,  -4689,   2406}, 0, {  1092,  -1156}, {0x2a, 0x54, 0xac, 0xff}}},
     11     {{{   973,  -4689,   2253}, 0, {   786,  -1156}, {0x49, 0x49, 0x49, 0xff}}},
     12     {{{  6605,  -4689,   1997}, 0, {  5364,  -2526}, {0xcd, 0x67, 0x33, 0xff}}},
     13     {{{  5581,  -4689,   2662}, 0, {  4260,   -646}, {0xd6, 0x54, 0xac, 0xff}}},
     14     {{{  6605,  -4689,   2662}, 0, {  5896,  -1462}, {0xac, 0x2a, 0xac, 0xff}}},
     15     {{{  5581,  -4689,   1997}, 0, {  3728,  -1708}, {0x99, 0x33, 0x33, 0xff}}},
     16     {{{  4557,  -4689,   1997}, 0, {  2094,   -890}, {0x38, 0x71, 0x00, 0xff}}},
     17     {{{  4045,  -4689,   1997}, 0, {  1276,   -482}, {0x8f, 0x38, 0x00, 0xff}}},
     18     {{{  4045,  -4689,   2662}, 0, {  1808,    582}, {0xc8, 0x71, 0x00, 0xff}}},
     19     {{{  4557,  -4689,   2662}, 0, {  2626,    172}, {0x71, 0x38, 0x00, 0xff}}},
     20     {{{  3021,  -4689,   1997}, 0, {  -358,    336}, {0x2a, 0x54, 0x54, 0xff}}},
     21     {{{   973,  -4689,   2662}, 0, { -3096,   3032}, {0x54, 0x54, 0xd6, 0xff}}},
     22     {{{  3021,  -4689,   2662}, 0, {   172,   1396}, {0x67, 0x33, 0xcd, 0xff}}},
     23     {{{   973,  -4689,   1997}, 0, { -3628,   1970}, {0x54, 0x2a, 0x54, 0xff}}},
     24     {{{   922,  -4689,   2406}, 0, {  1092,  -1054}, {0x00, 0x59, 0xa7, 0xff}}},
     25 };
     26 
     27 // 0x070211F8 - 0x070212E8
     28 static const Vtx hmc_seg7_vertex_070211F8[] = {
     29     {{{  6605,  -4689,   2662}, 0, {   990,   2012}, {0xac, 0x2a, 0xac, 0xff}}},
     30     {{{  6605,  -3665,   2662}, 0, {   990,      0}, {0xa7, 0x00, 0xa7, 0xff}}},
     31     {{{  6605,  -3665,   1997}, 0, {     0,      0}, {0xa7, 0x00, 0x59, 0xff}}},
     32     {{{  4557,  -4689,   2662}, 0, {   990,   2012}, {0x71, 0x38, 0x00, 0xff}}},
     33     {{{  4557,  -5713,   1997}, 0, {     0,      0}, {0x7f, 0x00, 0x00, 0xff}}},
     34     {{{  4557,  -4689,   1997}, 0, {     0,   2012}, {0x38, 0x71, 0x00, 0xff}}},
     35     {{{  4557,  -5713,   2662}, 0, {   990,      0}, {0x7f, 0x00, 0x00, 0xff}}},
     36     {{{  5581,  -4689,   2662}, 0, {  4056,   2012}, {0xd6, 0x54, 0xac, 0xff}}},
     37     {{{  3021,  -5713,   2662}, 0, { -1052,      0}, {0x38, 0x00, 0x8f, 0xff}}},
     38     {{{  3021,  -4689,   2662}, 0, { -1052,   2012}, {0x67, 0x33, 0xcd, 0xff}}},
     39     {{{  5581,  -5713,   2662}, 0, {  4056,      0}, {0x8f, 0x00, 0xc8, 0xff}}},
     40     {{{  5581,  -4689,   1997}, 0, {     0,   2012}, {0x99, 0x33, 0x33, 0xff}}},
     41     {{{  5581,  -5713,   2662}, 0, {   990,      0}, {0x8f, 0x00, 0xc8, 0xff}}},
     42     {{{  5581,  -4689,   2662}, 0, {   990,   2012}, {0xd6, 0x54, 0xac, 0xff}}},
     43     {{{  5581,  -5713,   1997}, 0, {     0,      0}, {0xc8, 0x00, 0x71, 0xff}}},
     44 };
     45 
     46 // 0x070212E8 - 0x070213D8
     47 static const Vtx hmc_seg7_vertex_070212E8[] = {
     48     {{{   973,  -4433,   2253}, 0, {   362,   1500}, {0x5c, 0xc3, 0x3d, 0xff}}},
     49     {{{   973,  -4689,   1997}, 0, {     0,   2012}, {0x54, 0x2a, 0x54, 0xff}}},
     50     {{{   973,  -3665,   1997}, 0, {     0,      0}, {0x78, 0x00, 0x28, 0xff}}},
     51     {{{  6605,  -4689,   2662}, 0, {   990,   2012}, {0xac, 0x2a, 0xac, 0xff}}},
     52     {{{  6605,  -3665,   1997}, 0, {     0,      0}, {0xa7, 0x00, 0x59, 0xff}}},
     53     {{{  6605,  -4689,   1997}, 0, {     0,   2012}, {0xcd, 0x67, 0x33, 0xff}}},
     54     {{{  4045,  -4689,   1997}, 0, {     0,   2012}, {0x8f, 0x38, 0x00, 0xff}}},
     55     {{{  4045,  -5713,   1997}, 0, {     0,      0}, {0x81, 0x00, 0x00, 0xff}}},
     56     {{{  4045,  -5713,   2662}, 0, {   990,      0}, {0x81, 0x00, 0x00, 0xff}}},
     57     {{{  4045,  -4689,   2662}, 0, {   990,   2012}, {0xc8, 0x71, 0x00, 0xff}}},
     58     {{{  3021,  -4689,   2662}, 0, {   990,   2012}, {0x67, 0x33, 0xcd, 0xff}}},
     59     {{{  3021,  -5713,   2662}, 0, {   990,      0}, {0x38, 0x00, 0x8f, 0xff}}},
     60     {{{  3021,  -5713,   1997}, 0, {     0,      0}, {0x71, 0x00, 0x38, 0xff}}},
     61     {{{  3021,  -4689,   1997}, 0, {     0,   2012}, {0x2a, 0x54, 0x54, 0xff}}},
     62     {{{   973,  -4433,   2406}, 0, {   596,   1500}, {0x77, 0xe3, 0xe3, 0xff}}},
     63 };
     64 
     65 // 0x070213D8 - 0x070214C8
     66 static const Vtx hmc_seg7_vertex_070213D8[] = {
     67     {{{  6605,  -3665,   1997}, 0, {  4056,      0}, {0xa7, 0x00, 0x59, 0xff}}},
     68     {{{   973,  -4689,   1997}, 0, { -7184,   2012}, {0x54, 0x2a, 0x54, 0xff}}},
     69     {{{  6605,  -4689,   1997}, 0, {  4056,   2012}, {0xcd, 0x67, 0x33, 0xff}}},
     70     {{{   973,  -4433,   2253}, 0, {   362,   1500}, {0x5c, 0xc3, 0x3d, 0xff}}},
     71     {{{   973,  -4689,   2253}, 0, {   362,   2012}, {0x49, 0x49, 0x49, 0xff}}},
     72     {{{   973,  -4689,   1997}, 0, {     0,   2012}, {0x54, 0x2a, 0x54, 0xff}}},
     73     {{{   973,  -4433,   2406}, 0, {   596,   1500}, {0x77, 0xe3, 0xe3, 0xff}}},
     74     {{{   973,  -3665,   1997}, 0, {     0,      0}, {0x78, 0x00, 0x28, 0xff}}},
     75     {{{   973,  -3665,   2662}, 0, {   990,      0}, {0x59, 0x00, 0xa7, 0xff}}},
     76     {{{   973,  -4689,   2662}, 0, {   990,   2012}, {0x54, 0x54, 0xd6, 0xff}}},
     77     {{{   973,  -4689,   2406}, 0, {   596,   2012}, {0x2a, 0x54, 0xac, 0xff}}},
     78     {{{  6605,  -4689,   2662}, 0, {  4056,   2012}, {0xac, 0x2a, 0xac, 0xff}}},
     79     {{{   973,  -3665,   2662}, 0, { -7184,      0}, {0x59, 0x00, 0xa7, 0xff}}},
     80     {{{  6605,  -3665,   2662}, 0, {  4056,      0}, {0xa7, 0x00, 0xa7, 0xff}}},
     81     {{{   973,  -4689,   2662}, 0, { -7184,   2012}, {0x54, 0x54, 0xd6, 0xff}}},
     82 };
     83 
     84 // 0x070214C8 - 0x070215B8
     85 static const Vtx hmc_seg7_vertex_070214C8[] = {
     86     {{{  3021,  -4689,   1997}, 0, { -1052,   2012}, {0x2a, 0x54, 0x54, 0xff}}},
     87     {{{  3021,  -5713,   1997}, 0, { -1052,      0}, {0x71, 0x00, 0x38, 0xff}}},
     88     {{{  5581,  -5713,   1997}, 0, {  4056,      0}, {0xc8, 0x00, 0x71, 0xff}}},
     89     {{{  6605,  -3665,   1997}, 0, {  4056,      0}, {0xa7, 0x00, 0x59, 0xff}}},
     90     {{{   973,  -3665,   1997}, 0, { -7184,      0}, {0x78, 0x00, 0x28, 0xff}}},
     91     {{{   973,  -4689,   1997}, 0, { -7184,   2012}, {0x54, 0x2a, 0x54, 0xff}}},
     92     {{{   922,  -4689,   2253}, 0, {   362,   2012}, {0x00, 0x59, 0x59, 0xff}}},
     93     {{{   973,  -4689,   2253}, 0, {   362,   2012}, {0x49, 0x49, 0x49, 0xff}}},
     94     {{{   973,  -4433,   2253}, 0, {   362,   1500}, {0x5c, 0xc3, 0x3d, 0xff}}},
     95     {{{   922,  -4433,   2253}, 0, {   362,   1500}, {0x00, 0xa7, 0x59, 0xff}}},
     96     {{{   922,  -4433,   2406}, 0, {   596,   1500}, {0x00, 0xa7, 0xa7, 0xff}}},
     97     {{{   973,  -4433,   2406}, 0, {   596,   1500}, {0x77, 0xe3, 0xe3, 0xff}}},
     98     {{{   973,  -4689,   2406}, 0, {   596,   2012}, {0x2a, 0x54, 0xac, 0xff}}},
     99     {{{   922,  -4689,   2406}, 0, {   596,   2012}, {0x00, 0x59, 0xa7, 0xff}}},
    100     {{{  5581,  -4689,   1997}, 0, {  4056,   2012}, {0x99, 0x33, 0x33, 0xff}}},
    101 };
    102 
    103 // 0x070215B8 - 0x07021630
    104 static const Gfx hmc_seg7_dl_070215B8[] = {
    105     gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, cave_09009800),
    106     gsDPLoadSync(),
    107     gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)),
    108     gsSPLight(&hmc_seg7_lights_070210E0.l, 1),
    109     gsSPLight(&hmc_seg7_lights_070210E0.a, 2),
    110     gsSPVertex(hmc_seg7_vertex_070210F8, 16, 0),
    111     gsSP2Triangles( 0,  1,  2, 0x0,  3,  4,  5, 0x0),
    112     gsSP2Triangles( 3,  6,  4, 0x0,  7,  8,  9, 0x0),
    113     gsSP2Triangles( 7,  9, 10, 0x0, 11, 12, 13, 0x0),
    114     gsSP2Triangles(11, 14, 12, 0x0,  0, 15,  1, 0x0),
    115     gsSPEndDisplayList(),
    116 };
    117 
    118 // 0x07021630 - 0x07021760
    119 static const Gfx hmc_seg7_dl_07021630[] = {
    120     gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, cave_09007800),
    121     gsDPLoadSync(),
    122     gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 64 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)),
    123     gsSPVertex(hmc_seg7_vertex_070211F8, 15, 0),
    124     gsSP2Triangles( 0,  1,  2, 0x0,  3,  4,  5, 0x0),
    125     gsSP2Triangles( 3,  6,  4, 0x0,  7,  8,  9, 0x0),
    126     gsSP2Triangles( 7, 10,  8, 0x0, 11, 12, 13, 0x0),
    127     gsSP1Triangle(11, 14, 12, 0x0),
    128     gsSPVertex(hmc_seg7_vertex_070212E8, 15, 0),
    129     gsSP2Triangles( 0,  1,  2, 0x0,  3,  4,  5, 0x0),
    130     gsSP2Triangles( 6,  7,  8, 0x0,  6,  8,  9, 0x0),
    131     gsSP2Triangles(10, 11, 12, 0x0, 10, 12, 13, 0x0),
    132     gsSP1Triangle(14,  0,  2, 0x0),
    133     gsSPVertex(hmc_seg7_vertex_070213D8, 15, 0),
    134     gsSP2Triangles( 0,  1,  2, 0x0,  3,  4,  5, 0x0),
    135     gsSP2Triangles( 6,  7,  8, 0x0,  9, 10,  6, 0x0),
    136     gsSP2Triangles( 9,  6,  8, 0x0, 11, 12, 13, 0x0),
    137     gsSP1Triangle(11, 14, 12, 0x0),
    138     gsSPVertex(hmc_seg7_vertex_070214C8, 15, 0),
    139     gsSP2Triangles( 0,  1,  2, 0x0,  3,  4,  5, 0x0),
    140     gsSP2Triangles( 6,  7,  8, 0x0,  6,  8,  9, 0x0),
    141     gsSP2Triangles( 8, 10,  9, 0x0,  8, 11, 10, 0x0),
    142     gsSP2Triangles(10, 12, 13, 0x0, 10, 11, 12, 0x0),
    143     gsSP1Triangle( 0,  2, 14, 0x0),
    144     gsSPEndDisplayList(),
    145 };
    146 
    147 // 0x07021760 - 0x07021828
    148 const Gfx hmc_seg7_dl_07021760[] = {
    149     gsDPPipeSync(),
    150     gsDPSetCycleType(G_CYC_2CYCLE),
    151     gsDPSetRenderMode(G_RM_FOG_SHADE_A, G_RM_AA_ZB_OPA_SURF2),
    152     gsDPSetDepthSource(G_ZS_PIXEL),
    153     gsDPSetFogColor(0, 0, 0, 255),
    154     gsSPFogPosition(960, 1000),
    155     gsSPSetGeometryMode(G_FOG),
    156     gsDPSetCombineMode(G_CC_MODULATERGB, G_CC_PASS2),
    157     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),
    158     gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_ON),
    159     gsDPTileSync(),
    160     gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, G_TX_RENDERTILE, 0, G_TX_WRAP | G_TX_NOMIRROR, 5, G_TX_NOLOD, G_TX_WRAP | G_TX_NOMIRROR, 5, G_TX_NOLOD),
    161     gsDPSetTileSize(0, 0, 0, (32 - 1) << G_TEXTURE_IMAGE_FRAC, (32 - 1) << G_TEXTURE_IMAGE_FRAC),
    162     gsSPDisplayList(hmc_seg7_dl_070215B8),
    163     gsDPTileSync(),
    164     gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, G_TX_RENDERTILE, 0, G_TX_CLAMP, 6, G_TX_NOLOD, G_TX_WRAP | G_TX_NOMIRROR, 5, G_TX_NOLOD),
    165     gsDPSetTileSize(0, 0, 0, (32 - 1) << G_TEXTURE_IMAGE_FRAC, (64 - 1) << G_TEXTURE_IMAGE_FRAC),
    166     gsSPDisplayList(hmc_seg7_dl_07021630),
    167     gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF),
    168     gsDPPipeSync(),
    169     gsDPSetCycleType(G_CYC_1CYCLE),
    170     gsDPSetRenderMode(G_RM_AA_ZB_OPA_SURF, G_RM_NOOP2),
    171     gsSPClearGeometryMode(G_FOG),
    172     gsDPSetCombineMode(G_CC_SHADE, G_CC_SHADE),
    173     gsSPEndDisplayList(),
    174 };