sm64

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

model.inc.c (10645B)


      1 // 0x0700A8B8 - 0x0700A978
      2 static const Vtx pss_seg7_vertex_0700A8B8[] = {
      3     {{{ -5128,  -2129,   4118}, 0, { -6282,  -1012}, {0x8c, 0x8c, 0x8c, 0xff}}},
      4     {{{ -7586,  -2129,   6525}, 0, { -9432,  -2376}, {0x8c, 0x8c, 0x8c, 0xff}}},
      5     {{{ -7586,  -2129,   4118}, 0, { -8572,   -134}, {0x8c, 0x8c, 0x8c, 0xff}}},
      6     {{{ -5128,  -2129,   6525}, 0, { -7142,  -3254}, {0x8c, 0x8c, 0x8c, 0xff}}},
      7     {{{  6144,   7680,  -4095}, 0, {     0,    990}, {0x8c, 0x8c, 0x8c, 0xff}}},
      8     {{{  3072,   7680,  -7167}, 0, {  2238,   3258}, {0x8c, 0x8c, 0x8c, 0xff}}},
      9     {{{  6144,   7680,  -7167}, 0, {  2238,    990}, {0x8c, 0x8c, 0x8c, 0xff}}},
     10     {{{  3072,   7680,  -4095}, 0, {     0,   3258}, {0x8c, 0x8c, 0x8c, 0xff}}},
     11     {{{  6144,   6144,  -7167}, 0, { -2880,   9970}, {0xff, 0xff, 0xff, 0xff}}},
     12     {{{  3072,   6144,  -4095}, 0, { -1254,   5950}, {0xff, 0xff, 0xff, 0xff}}},
     13     {{{  6144,   6144,  -4095}, 0, { -4078,   7146}, {0xff, 0xff, 0xff, 0xff}}},
     14     {{{  3072,   6144,  -7167}, 0, {   -56,   8772}, {0xff, 0xff, 0xff, 0xff}}},
     15 };
     16 
     17 // 0x0700A978 - 0x0700AA78
     18 static const Vtx pss_seg7_vertex_0700A978[] = {
     19     {{{  3226,   6144,  -6245}, 0, {  8552,   1002}, {0x8c, 0x8c, 0x8c, 0xff}}},
     20     {{{  3072,   6144,  -6245}, 0, {  8552,   1002}, {0x8c, 0x8c, 0x8c, 0xff}}},
     21     {{{  3072,   7035,  -6245}, 0, {  8552,  -2554}, {0x8c, 0x8c, 0x8c, 0xff}}},
     22     {{{  3226,   7035,  -6245}, 0, {  8552,  -2554}, {0x8c, 0x8c, 0x8c, 0xff}}},
     23     {{{  3072,   7035,  -5017}, 0, {  3648,  -2554}, {0x8c, 0x8c, 0x8c, 0xff}}},
     24     {{{  3226,   7035,  -5017}, 0, {  3648,  -2554}, {0x8c, 0x8c, 0x8c, 0xff}}},
     25     {{{  3072,   6144,  -5017}, 0, {  3648,   1002}, {0x8c, 0x8c, 0x8c, 0xff}}},
     26     {{{  3226,   6144,  -5017}, 0, {  3648,   1002}, {0x8c, 0x8c, 0x8c, 0xff}}},
     27     {{{ -5128,  -2129,   4118}, 0, {  9780,  -8822}, {0xaa, 0xaa, 0xaa, 0xff}}},
     28     {{{ -6920,  -3460,   4118}, 0, {  2626,  -3506}, {0xaa, 0xaa, 0xaa, 0xff}}},
     29     {{{ -5794,  -3460,   4118}, 0, {  7122,  -3506}, {0xaa, 0xaa, 0xaa, 0xff}}},
     30     {{{ -5794,  -4587,   4118}, 0, {  7122,    990}, {0xaa, 0xaa, 0xaa, 0xff}}},
     31     {{{ -5128,  -4587,   4118}, 0, {  9780,    990}, {0xaa, 0xaa, 0xaa, 0xff}}},
     32     {{{ -7586,  -2129,   4118}, 0, {     0,  -8822}, {0xaa, 0xaa, 0xaa, 0xff}}},
     33     {{{ -7586,  -4587,   4118}, 0, {     0,    990}, {0xaa, 0xaa, 0xaa, 0xff}}},
     34     {{{ -6920,  -4587,   4118}, 0, {  2626,    990}, {0xaa, 0xaa, 0xaa, 0xff}}},
     35 };
     36 
     37 // 0x0700AA78 - 0x0700AB68
     38 static const Vtx pss_seg7_vertex_0700AA78[] = {
     39     {{{  3072,   6144,  -6245}, 0, {  8552,   1002}, {0xaa, 0xaa, 0xaa, 0xff}}},
     40     {{{  3072,   6144,  -7167}, 0, { 12232,   1002}, {0xaa, 0xaa, 0xaa, 0xff}}},
     41     {{{  3072,   7680,  -7167}, 0, { 12232,  -5128}, {0xaa, 0xaa, 0xaa, 0xff}}},
     42     {{{  3072,   7035,  -6245}, 0, {  8552,  -2554}, {0xaa, 0xaa, 0xaa, 0xff}}},
     43     {{{  3072,   7680,  -4095}, 0, {     0,  -5128}, {0xaa, 0xaa, 0xaa, 0xff}}},
     44     {{{  3072,   6144,  -4095}, 0, {     0,   1002}, {0xaa, 0xaa, 0xaa, 0xff}}},
     45     {{{  3072,   7035,  -5017}, 0, {  3648,  -2554}, {0xaa, 0xaa, 0xaa, 0xff}}},
     46     {{{  3072,   6144,  -5017}, 0, {  3648,   1002}, {0xaa, 0xaa, 0xaa, 0xff}}},
     47     {{{  3226,   6656,  -5119}, 0, {  4056,  -1040}, {0xff, 0xff, 0xff, 0xff}}},
     48     {{{  3226,   6656,  -6143}, 0, {  8144,  -1040}, {0xff, 0xff, 0xff, 0xff}}},
     49     {{{  3226,   7035,  -6245}, 0, {  8552,  -2554}, {0xff, 0xff, 0xff, 0xff}}},
     50     {{{ -5128,  -4587,   4118}, 0, {   172,    990}, {0xff, 0xff, 0xff, 0xff}}},
     51     {{{ -5128,  -4587,   6525}, 0, {  9780,    990}, {0xff, 0xff, 0xff, 0xff}}},
     52     {{{ -5128,  -2129,   6525}, 0, {  9780,  -8822}, {0xff, 0xff, 0xff, 0xff}}},
     53     {{{ -5128,  -2129,   4118}, 0, {   172,  -8822}, {0xff, 0xff, 0xff, 0xff}}},
     54 };
     55 
     56 // 0x0700AB68 - 0x0700AC58
     57 static const Vtx pss_seg7_vertex_0700AB68[] = {
     58     {{{ -7586,  -2129,   6525}, 0, {     0,  -8822}, {0xff, 0xff, 0xff, 0xff}}},
     59     {{{ -7586,  -4587,   4118}, 0, {  9574,    990}, {0xff, 0xff, 0xff, 0xff}}},
     60     {{{ -7586,  -2129,   4118}, 0, {  9574,  -8822}, {0xff, 0xff, 0xff, 0xff}}},
     61     {{{ -7586,  -4587,   6525}, 0, {     0,    990}, {0xff, 0xff, 0xff, 0xff}}},
     62     {{{  3226,   6144,  -6143}, 0, {  8144,   1002}, {0xff, 0xff, 0xff, 0xff}}},
     63     {{{  3226,   7035,  -6245}, 0, {  8552,  -2554}, {0xff, 0xff, 0xff, 0xff}}},
     64     {{{  3226,   6656,  -6143}, 0, {  8144,  -1040}, {0xff, 0xff, 0xff, 0xff}}},
     65     {{{  3226,   6144,  -6245}, 0, {  8552,   1002}, {0xff, 0xff, 0xff, 0xff}}},
     66     {{{  6144,   6144,  -4095}, 0, {     0,   1002}, {0xff, 0xff, 0xff, 0xff}}},
     67     {{{  3072,   7680,  -4095}, 0, { 12232,  -5128}, {0xff, 0xff, 0xff, 0xff}}},
     68     {{{  6144,   7680,  -4095}, 0, {     0,  -5128}, {0xff, 0xff, 0xff, 0xff}}},
     69     {{{  3226,   6144,  -5017}, 0, {  3648,   1002}, {0xff, 0xff, 0xff, 0xff}}},
     70     {{{  3226,   6144,  -5119}, 0, {  4056,   1002}, {0xff, 0xff, 0xff, 0xff}}},
     71     {{{  3226,   7035,  -5017}, 0, {  3648,  -2554}, {0xff, 0xff, 0xff, 0xff}}},
     72     {{{  3226,   6656,  -5119}, 0, {  4056,  -1040}, {0xff, 0xff, 0xff, 0xff}}},
     73 };
     74 
     75 // 0x0700AC58 - 0x0700AD48
     76 static const Vtx pss_seg7_vertex_0700AC58[] = {
     77     {{{  6144,   7680,  -7167}, 0, {     0,  -5128}, {0xff, 0xff, 0xff, 0xff}}},
     78     {{{  6144,   6144,  -4095}, 0, { 12232,   1002}, {0xff, 0xff, 0xff, 0xff}}},
     79     {{{  6144,   7680,  -4095}, 0, { 12232,  -5128}, {0xff, 0xff, 0xff, 0xff}}},
     80     {{{  6144,   6144,  -7167}, 0, {     0,   1002}, {0xff, 0xff, 0xff, 0xff}}},
     81     {{{  6144,   6144,  -4095}, 0, {     0,   1002}, {0xff, 0xff, 0xff, 0xff}}},
     82     {{{  3072,   6144,  -4095}, 0, { 12232,   1002}, {0xff, 0xff, 0xff, 0xff}}},
     83     {{{  3072,   7680,  -4095}, 0, { 12232,  -5128}, {0xff, 0xff, 0xff, 0xff}}},
     84     {{{  6144,   7680,  -7167}, 0, { 12232,  -5128}, {0xff, 0xff, 0xff, 0xff}}},
     85     {{{  3072,   7680,  -7167}, 0, {     0,  -5128}, {0xff, 0xff, 0xff, 0xff}}},
     86     {{{  3072,   6144,  -7167}, 0, {     0,   1002}, {0xff, 0xff, 0xff, 0xff}}},
     87     {{{  6144,   6144,  -7167}, 0, { 12232,   1002}, {0xff, 0xff, 0xff, 0xff}}},
     88     {{{ -7586,  -2129,   6525}, 0, {  9348,  -8822}, {0xff, 0xff, 0xff, 0xff}}},
     89     {{{ -5128,  -2129,   6525}, 0, {  -460,  -8822}, {0xff, 0xff, 0xff, 0xff}}},
     90     {{{ -5128,  -4587,   6525}, 0, {  -460,    990}, {0xff, 0xff, 0xff, 0xff}}},
     91     {{{ -7586,  -4587,   6525}, 0, {  9348,    990}, {0xff, 0xff, 0xff, 0xff}}},
     92 };
     93 
     94 // 0x0700AD48 - 0x0700ADA8
     95 static const Vtx pss_seg7_vertex_0700AD48[] = {
     96     {{{ -7586,  -4587,   6525}, 0, {  5078,  -3950}, {0xff, 0xff, 0xff, 0xff}}},
     97     {{{ -5128,  -4587,   6525}, 0, { -3096,  -3950}, {0xff, 0xff, 0xff, 0xff}}},
     98     {{{ -5794,  -4587,   4118}, 0, {  -882,   4054}, {0xff, 0xff, 0xff, 0xff}}},
     99     {{{ -5128,  -4587,   4118}, 0, { -3096,   4054}, {0xff, 0xff, 0xff, 0xff}}},
    100     {{{ -6920,  -4587,   4118}, 0, {  2864,   4054}, {0xff, 0xff, 0xff, 0xff}}},
    101     {{{ -7586,  -4587,   4118}, 0, {  5078,   4054}, {0xff, 0xff, 0xff, 0xff}}},
    102 };
    103 
    104 // 0x0700ADA8 - 0x0700AE00
    105 static const Gfx pss_seg7_dl_0700ADA8[] = {
    106     gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, mountain_0900C000),
    107     gsDPLoadSync(),
    108     gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)),
    109     gsSPVertex(pss_seg7_vertex_0700A8B8, 12, 0),
    110     gsSP2Triangles( 0,  1,  2, 0x0,  0,  3,  1, 0x0),
    111     gsSP2Triangles( 4,  5,  6, 0x0,  4,  7,  5, 0x0),
    112     gsSP2Triangles( 8,  9, 10, 0x0,  8, 11,  9, 0x0),
    113     gsSPEndDisplayList(),
    114 };
    115 
    116 // 0x0700AE00 - 0x0700AF60
    117 static const Gfx pss_seg7_dl_0700AE00[] = {
    118     gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, mountain_09000000),
    119     gsDPLoadSync(),
    120     gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)),
    121     gsSPVertex(pss_seg7_vertex_0700A978, 16, 0),
    122     gsSP2Triangles( 0,  1,  2, 0x0,  0,  2,  3, 0x0),
    123     gsSP2Triangles( 4,  3,  2, 0x0,  4,  5,  3, 0x0),
    124     gsSP2Triangles( 6,  5,  4, 0x0,  6,  7,  5, 0x0),
    125     gsSP2Triangles( 8,  9, 10, 0x0,  8, 11, 12, 0x0),
    126     gsSP2Triangles( 8, 13,  9, 0x0,  8, 10, 11, 0x0),
    127     gsSP2Triangles( 9, 13, 14, 0x0,  9, 14, 15, 0x0),
    128     gsSPVertex(pss_seg7_vertex_0700AA78, 15, 0),
    129     gsSP2Triangles( 0,  1,  2, 0x0,  0,  2,  3, 0x0),
    130     gsSP2Triangles( 3,  2,  4, 0x0,  5,  6,  4, 0x0),
    131     gsSP2Triangles( 5,  7,  6, 0x0,  3,  4,  6, 0x0),
    132     gsSP2Triangles( 8,  9, 10, 0x0, 11, 12, 13, 0x0),
    133     gsSP1Triangle(11, 13, 14, 0x0),
    134     gsSPVertex(pss_seg7_vertex_0700AB68, 15, 0),
    135     gsSP2Triangles( 0,  1,  2, 0x0,  0,  3,  1, 0x0),
    136     gsSP2Triangles( 4,  5,  6, 0x0,  4,  7,  5, 0x0),
    137     gsSP2Triangles( 8,  9, 10, 0x0, 11, 12, 13, 0x0),
    138     gsSP2Triangles(12, 14, 13, 0x0, 14,  5, 13, 0x0),
    139     gsSPVertex(pss_seg7_vertex_0700AC58, 15, 0),
    140     gsSP2Triangles( 0,  1,  2, 0x0,  0,  3,  1, 0x0),
    141     gsSP2Triangles( 4,  5,  6, 0x0,  7,  8,  9, 0x0),
    142     gsSP2Triangles( 7,  9, 10, 0x0, 11, 12, 13, 0x0),
    143     gsSP1Triangle(11, 13, 14, 0x0),
    144     gsSPEndDisplayList(),
    145 };
    146 
    147 // 0x0700AF60 - 0x0700AFA8
    148 static const Gfx pss_seg7_dl_0700AF60[] = {
    149     gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, mountain_09007000),
    150     gsDPLoadSync(),
    151     gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)),
    152     gsSPVertex(pss_seg7_vertex_0700AD48, 6, 0),
    153     gsSP2Triangles( 0,  1,  2, 0x0,  1,  3,  2, 0x0),
    154     gsSP2Triangles( 0,  2,  4, 0x0,  5,  0,  4, 0x0),
    155     gsSPEndDisplayList(),
    156 };
    157 
    158 // 0x0700AFA8 - 0x0700B070
    159 const Gfx pss_seg7_dl_0700AFA8[] = {
    160     gsDPPipeSync(),
    161     gsDPSetCycleType(G_CYC_2CYCLE),
    162     gsDPSetRenderMode(G_RM_FOG_SHADE_A, G_RM_AA_ZB_OPA_SURF2),
    163     gsDPSetDepthSource(G_ZS_PIXEL),
    164     gsDPSetFogColor(0, 0, 0, 255),
    165     gsSPFogPosition(980, 1000),
    166     gsSPSetGeometryMode(G_FOG),
    167     gsDPSetCombineMode(G_CC_MODULATERGB, G_CC_PASS2),
    168     gsSPClearGeometryMode(G_LIGHTING),
    169     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),
    170     gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_ON),
    171     gsDPTileSync(),
    172     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),
    173     gsDPSetTileSize(0, 0, 0, (32 - 1) << G_TEXTURE_IMAGE_FRAC, (32 - 1) << G_TEXTURE_IMAGE_FRAC),
    174     gsSPDisplayList(pss_seg7_dl_0700ADA8),
    175     gsSPDisplayList(pss_seg7_dl_0700AE00),
    176     gsSPDisplayList(pss_seg7_dl_0700AF60),
    177     gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF),
    178     gsDPPipeSync(),
    179     gsDPSetCycleType(G_CYC_1CYCLE),
    180     gsDPSetRenderMode(G_RM_AA_ZB_OPA_SURF, G_RM_NOOP2),
    181     gsSPClearGeometryMode(G_FOG),
    182     gsDPSetCombineMode(G_CC_SHADE, G_CC_SHADE),
    183     gsSPSetGeometryMode(G_LIGHTING),
    184     gsSPEndDisplayList(),
    185 };