sm64

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

model.inc.c (7281B)


      1 // Signpost
      2 
      3 // 0x0302C940
      4 static const Lights1 wooden_signpost_seg3_lights_0302C940 = gdSPDefLights1(
      5     0x7f, 0x7f, 0x7f,
      6     0xff, 0xff, 0xff, 0x28, 0x28, 0x28
      7 );
      8 
      9 // 0x0302C958
     10 static const Vtx wooden_signpost_seg3_vertex_0302C958[] = {
     11     {{{     0,    504,     19}, 0, {   962,    478}, {0x00, 0x7e, 0xfc, 0xff}}},
     12     {{{    24,    490,     34}, 0, {   938,    780}, {0x62, 0x3b, 0x36, 0xff}}},
     13     {{{     0,    490,     -6}, 0, {   938,    478}, {0xff, 0x39, 0x90, 0xff}}},
     14     {{{   -23,    490,     34}, 0, {   938,    178}, {0x9e, 0x3a, 0x36, 0xff}}},
     15     {{{     0,    -39,     34}, 0, {    36,    478}, {0x00, 0xfc, 0x7e, 0xff}}},
     16     {{{   -23,    -39,     -6}, 0, {    36,    178}, {0x93, 0x00, 0xc1, 0xff}}},
     17     {{{    24,    -39,     -6}, 0, {    36,    780}, {0x6d, 0x00, 0xc0, 0xff}}},
     18 };
     19 
     20 // 0x0302C9C8
     21 ALIGNED8 static const Texture wooden_signpost_seg3_texture_0302C9C8[] = {
     22 #include "actors/wooden_signpost/wooden_signpost_back.rgba16.inc.c"
     23 };
     24 
     25 // 0x0302D1C8
     26 ALIGNED8 static const Texture wooden_signpost_seg3_texture_0302D1C8[] = {
     27 #include "actors/wooden_signpost/wooden_signpost_front.rgba16.inc.c"
     28 };
     29 
     30 // 0x0302D9C8 - 0x0302DA48
     31 const Gfx wooden_signpost_seg3_dl_0302D9C8[] = {
     32     gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, wooden_signpost_seg3_texture_0302C9C8),
     33     gsDPLoadSync(),
     34     gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)),
     35     gsSPLight(&wooden_signpost_seg3_lights_0302C940.l, 1),
     36     gsSPLight(&wooden_signpost_seg3_lights_0302C940.a, 2),
     37     gsSPVertex(wooden_signpost_seg3_vertex_0302C958, 7, 0),
     38     gsSP2Triangles( 0,  1,  2, 0x0,  2,  3,  0, 0x0),
     39     gsSP2Triangles( 0,  3,  1, 0x0,  4,  1,  3, 0x0),
     40     gsSP2Triangles( 3,  5,  4, 0x0,  5,  3,  2, 0x0),
     41     gsSP2Triangles( 2,  6,  5, 0x0,  1,  4,  6, 0x0),
     42     gsSP1Triangle( 6,  2,  1, 0x0),
     43     gsSPEndDisplayList(),
     44 };
     45 
     46 // 0x0302DA48 - 0x0302DAA8
     47 const Gfx wooden_signpost_seg3_dl_0302DA48[] = {
     48     gsDPPipeSync(),
     49     gsDPSetCombineMode(G_CC_MODULATERGB, G_CC_MODULATERGB),
     50     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),
     51     gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_ON),
     52     gsDPTileSync(),
     53     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),
     54     gsDPSetTileSize(0, 0, 0, (32 - 1) << G_TEXTURE_IMAGE_FRAC, (32 - 1) << G_TEXTURE_IMAGE_FRAC),
     55     gsSPDisplayList(wooden_signpost_seg3_dl_0302D9C8),
     56     gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF),
     57     gsDPPipeSync(),
     58     gsDPSetCombineMode(G_CC_SHADE, G_CC_SHADE),
     59     gsSPEndDisplayList(),
     60 };
     61 
     62 // 0x0302DAA8
     63 static const Lights1 wooden_signpost_seg3_lights_0302DAA8 = gdSPDefLights1(
     64     0x7f, 0x7f, 0x7f,
     65     0xff, 0xff, 0xff, 0x28, 0x28, 0x28
     66 );
     67 
     68 // 0x0302DAC0
     69 static const Vtx wooden_signpost_seg3_vertex_0302DAC0[] = {
     70     {{{   180,    260,     20}, 0, {   990,    990}, {0x00, 0x81, 0x00, 0xff}}},
     71     {{{  -179,    260,     60}, 0, {     0,    990}, {0x00, 0x81, 0x00, 0xff}}},
     72     {{{  -179,    260,     20}, 0, {     0,    990}, {0x00, 0x81, 0x00, 0xff}}},
     73     {{{   180,    260,     20}, 0, {   990,    990}, {0x00, 0x00, 0x81, 0xff}}},
     74     {{{  -179,    260,     20}, 0, {     0,    990}, {0x00, 0x00, 0x81, 0xff}}},
     75     {{{  -179,    460,     20}, 0, {     0,      0}, {0x00, 0x00, 0x81, 0xff}}},
     76     {{{  -179,    260,     20}, 0, {     0,    990}, {0x81, 0x00, 0x00, 0xff}}},
     77     {{{  -179,    260,     60}, 0, {     0,    990}, {0x81, 0x00, 0x00, 0xff}}},
     78     {{{  -179,    460,     60}, 0, {     0,      0}, {0x81, 0x00, 0x00, 0xff}}},
     79     {{{  -179,    460,     20}, 0, {     0,      0}, {0x81, 0x00, 0x00, 0xff}}},
     80     {{{   180,    260,     60}, 0, {   990,    990}, {0x00, 0x81, 0x00, 0xff}}},
     81     {{{  -179,    460,     20}, 0, {     0,      0}, {0x00, 0x7f, 0x00, 0xff}}},
     82     {{{  -179,    460,     60}, 0, {     0,      0}, {0x00, 0x7f, 0x00, 0xff}}},
     83     {{{   180,    460,     60}, 0, {   990,      0}, {0x00, 0x7f, 0x00, 0xff}}},
     84     {{{   180,    460,     20}, 0, {   990,      0}, {0x00, 0x00, 0x81, 0xff}}},
     85     {{{   180,    460,     20}, 0, {   990,      0}, {0x00, 0x7f, 0x00, 0xff}}},
     86 };
     87 
     88 // 0x0302DBC0
     89 static const Vtx wooden_signpost_seg3_vertex_0302DBC0[] = {
     90     {{{   180,    260,     60}, 0, {   990,    990}, {0x7f, 0x00, 0x00, 0xff}}},
     91     {{{   180,    460,     20}, 0, {   990,      0}, {0x7f, 0x00, 0x00, 0xff}}},
     92     {{{   180,    460,     60}, 0, {   990,      0}, {0x7f, 0x00, 0x00, 0xff}}},
     93     {{{   180,    260,     20}, 0, {   990,    990}, {0x7f, 0x00, 0x00, 0xff}}},
     94 };
     95 
     96 // 0x0302DC00
     97 static const Vtx wooden_signpost_seg3_vertex_0302DC00[] = {
     98     {{{  -179,    260,     60}, 0, {     0,    990}, {0x00, 0x00, 0x7f, 0xff}}},
     99     {{{   180,    460,     60}, 0, {   990,      0}, {0x00, 0x00, 0x7f, 0xff}}},
    100     {{{  -179,    460,     60}, 0, {     0,      0}, {0x00, 0x00, 0x7f, 0xff}}},
    101     {{{   180,    260,     60}, 0, {   990,    990}, {0x00, 0x00, 0x7f, 0xff}}},
    102 };
    103 
    104 // 0x0302DC40 - 0x0302DCD0
    105 const Gfx wooden_signpost_seg3_dl_0302DC40[] = {
    106     gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, wooden_signpost_seg3_texture_0302C9C8),
    107     gsDPLoadSync(),
    108     gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)),
    109     gsSPLight(&wooden_signpost_seg3_lights_0302DAA8.l, 1),
    110     gsSPLight(&wooden_signpost_seg3_lights_0302DAA8.a, 2),
    111     gsSPVertex(wooden_signpost_seg3_vertex_0302DAC0, 16, 0),
    112     gsSP2Triangles( 0,  1,  2, 0x0,  3,  4,  5, 0x0),
    113     gsSP2Triangles( 6,  7,  8, 0x0,  6,  8,  9, 0x0),
    114     gsSP2Triangles( 0, 10,  1, 0x0, 11, 12, 13, 0x0),
    115     gsSP2Triangles( 3,  5, 14, 0x0, 11, 13, 15, 0x0),
    116     gsSPVertex(wooden_signpost_seg3_vertex_0302DBC0, 4, 0),
    117     gsSP2Triangles( 0,  1,  2, 0x0,  0,  3,  1, 0x0),
    118     gsSPEndDisplayList(),
    119 };
    120 
    121 // 0x0302DCD0 - 0x0302DD08
    122 const Gfx wooden_signpost_seg3_dl_0302DCD0[] = {
    123     gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, wooden_signpost_seg3_texture_0302D1C8),
    124     gsDPLoadSync(),
    125     gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)),
    126     gsSPVertex(wooden_signpost_seg3_vertex_0302DC00, 4, 0),
    127     gsSP2Triangles( 0,  1,  2, 0x0,  0,  3,  1, 0x0),
    128     gsSPEndDisplayList(),
    129 };
    130 
    131 // 0x0302DD08 - 0x0302DD80
    132 const Gfx wooden_signpost_seg3_dl_0302DD08[] = {
    133     gsDPPipeSync(),
    134     gsDPSetCombineMode(G_CC_MODULATERGB, G_CC_MODULATERGB),
    135     gsSPClearGeometryMode(G_SHADING_SMOOTH),
    136     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),
    137     gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_ON),
    138     gsDPTileSync(),
    139     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),
    140     gsDPSetTileSize(0, 0, 0, (32 - 1) << G_TEXTURE_IMAGE_FRAC, (32 - 1) << G_TEXTURE_IMAGE_FRAC),
    141     gsSPDisplayList(wooden_signpost_seg3_dl_0302DC40),
    142     gsSPDisplayList(wooden_signpost_seg3_dl_0302DCD0),
    143     gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF),
    144     gsDPPipeSync(),
    145     gsDPSetCombineMode(G_CC_SHADE, G_CC_SHADE),
    146     gsSPSetGeometryMode(G_SHADING_SMOOTH),
    147     gsSPEndDisplayList(),
    148 };