sm64

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

model.inc.c (4688B)


      1 // 0x07022AA0 - 0x07022AB8
      2 static const Lights1 ssl_seg7_lights_07022AA0 = gdSPDefLights1(
      3     0x7f, 0x7f, 0x7f,
      4     0xff, 0xff, 0xff, 0x28, 0x28, 0x28
      5 );
      6 
      7 // 0x07022AB8 - 0x07022BB8
      8 static const Vtx ssl_seg7_vertex_07022AB8[] = {
      9     {{{   -63,      0,    307}, 0, {  2420,    990}, {0x99, 0xcd, 0x33, 0xff}}},
     10     {{{   -63,    512,    307}, 0, {  2420,  -1054}, {0xd6, 0x54, 0x54, 0xff}}},
     11     {{{   -63,    512,   -306}, 0, {     0,  -1054}, {0x99, 0x33, 0xcd, 0xff}}},
     12     {{{   -63,      0,   -306}, 0, {   990,    990}, {0xd6, 0xac, 0xac, 0xff}}},
     13     {{{   -63,    512,   -306}, 0, {   990,  -1054}, {0x99, 0x33, 0xcd, 0xff}}},
     14     {{{    64,    512,   -306}, 0, {   478,  -1054}, {0x2a, 0x54, 0xac, 0xff}}},
     15     {{{    64,      0,   -306}, 0, {   478,    990}, {0x67, 0xcd, 0xcd, 0xff}}},
     16     {{{    64,      0,   -306}, 0, {  2420,    990}, {0x67, 0xcd, 0xcd, 0xff}}},
     17     {{{    64,    512,    307}, 0, {     0,  -1054}, {0x67, 0x33, 0x33, 0xff}}},
     18     {{{    64,      0,    307}, 0, {     0,    990}, {0x2a, 0xac, 0x54, 0xff}}},
     19     {{{    64,    512,   -306}, 0, {  2420,  -1054}, {0x2a, 0x54, 0xac, 0xff}}},
     20     {{{    64,      0,    307}, 0, {   990,    990}, {0x2a, 0xac, 0x54, 0xff}}},
     21     {{{   -63,    512,    307}, 0, {   478,  -1054}, {0xd6, 0x54, 0x54, 0xff}}},
     22     {{{   -63,      0,    307}, 0, {   478,    990}, {0x99, 0xcd, 0x33, 0xff}}},
     23     {{{    64,    512,    307}, 0, {   990,  -1054}, {0x67, 0x33, 0x33, 0xff}}},
     24     {{{   -63,      0,   -306}, 0, {     0,    990}, {0xd6, 0xac, 0xac, 0xff}}},
     25 };
     26 
     27 // 0x07022BB8 - 0x07022C38
     28 static const Vtx ssl_seg7_vertex_07022BB8[] = {
     29     {{{    64,      0,    307}, 0, {   990,   1464}, {0x2a, 0xac, 0x54, 0xff}}},
     30     {{{   -63,      0,    307}, 0, {   480,   1464}, {0x99, 0xcd, 0x33, 0xff}}},
     31     {{{   -63,      0,   -306}, 0, {   480,   -986}, {0xd6, 0xac, 0xac, 0xff}}},
     32     {{{    64,      0,   -306}, 0, {   990,   -986}, {0x67, 0xcd, 0xcd, 0xff}}},
     33     {{{    64,    512,   -306}, 0, {   990,   -986}, {0x2a, 0x54, 0xac, 0xff}}},
     34     {{{   -63,    512,    307}, 0, {   480,   1464}, {0xd6, 0x54, 0x54, 0xff}}},
     35     {{{    64,    512,    307}, 0, {   990,   1464}, {0x67, 0x33, 0x33, 0xff}}},
     36     {{{   -63,    512,   -306}, 0, {   480,   -986}, {0x99, 0x33, 0xcd, 0xff}}},
     37 };
     38 
     39 // 0x07022C38 - 0x07022CB0
     40 static const Gfx ssl_seg7_dl_07022C38[] = {
     41     gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, generic_09000800),
     42     gsDPLoadSync(),
     43     gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)),
     44     gsSPLight(&ssl_seg7_lights_07022AA0.l, 1),
     45     gsSPLight(&ssl_seg7_lights_07022AA0.a, 2),
     46     gsSPVertex(ssl_seg7_vertex_07022AB8, 16, 0),
     47     gsSP2Triangles( 0,  1,  2, 0x0,  3,  4,  5, 0x0),
     48     gsSP2Triangles( 3,  5,  6, 0x0,  7,  8,  9, 0x0),
     49     gsSP2Triangles( 7, 10,  8, 0x0, 11, 12, 13, 0x0),
     50     gsSP2Triangles(11, 14, 12, 0x0,  0,  2, 15, 0x0),
     51     gsSPEndDisplayList(),
     52 };
     53 
     54 // 0x07022CB0 - 0x07022CF8
     55 static const Gfx ssl_seg7_dl_07022CB0[] = {
     56     gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, generic_0900A800),
     57     gsDPLoadSync(),
     58     gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)),
     59     gsSPVertex(ssl_seg7_vertex_07022BB8, 8, 0),
     60     gsSP2Triangles( 0,  1,  2, 0x0,  0,  2,  3, 0x0),
     61     gsSP2Triangles( 4,  5,  6, 0x0,  4,  7,  5, 0x0),
     62     gsSPEndDisplayList(),
     63 };
     64 
     65 // 0x07022CF8 - 0x07022DA8
     66 const Gfx ssl_seg7_dl_07022CF8[] = {
     67     gsDPPipeSync(),
     68     gsDPSetCycleType(G_CYC_2CYCLE),
     69     gsDPSetRenderMode(G_RM_FOG_SHADE_A, G_RM_AA_ZB_OPA_SURF2),
     70     gsDPSetDepthSource(G_ZS_PIXEL),
     71     gsDPSetFogColor(0, 0, 0, 255),
     72     gsSPFogFactor(0x0E49, 0xF2B7), // This isn't gsSPFogPosition since there is no valid min/max pair that corresponds to 0x0E49F2B7
     73     gsSPSetGeometryMode(G_FOG),
     74     gsDPSetCombineMode(G_CC_MODULATERGB, G_CC_PASS2),
     75     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),
     76     gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_ON),
     77     gsDPTileSync(),
     78     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),
     79     gsDPSetTileSize(0, 0, 0, (32 - 1) << G_TEXTURE_IMAGE_FRAC, (32 - 1) << G_TEXTURE_IMAGE_FRAC),
     80     gsSPDisplayList(ssl_seg7_dl_07022C38),
     81     gsSPDisplayList(ssl_seg7_dl_07022CB0),
     82     gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF),
     83     gsDPPipeSync(),
     84     gsDPSetCycleType(G_CYC_1CYCLE),
     85     gsDPSetRenderMode(G_RM_AA_ZB_OPA_SURF, G_RM_NOOP2),
     86     gsSPClearGeometryMode(G_FOG),
     87     gsDPSetCombineMode(G_CC_SHADE, G_CC_SHADE),
     88     gsSPEndDisplayList(),
     89 };