sm64

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

model.inc.c (42321B)


      1 // Door
      2 
      3 // 0x03009CE0
      4 static const Lights1 door_seg3_lights_03009CE0 = gdSPDefLights1(
      5     0x3f, 0x3f, 0x3f,
      6     0xff, 0xff, 0xff, 0x28, 0x28, 0x28
      7 );
      8 
      9 // 0x03009CF8
     10 static const Lights1 door_seg3_lights_03009CF8 = gdSPDefLights1(
     11     0x3f, 0x3f, 0x00,
     12     0xff, 0xff, 0x00, 0x28, 0x28, 0x28
     13 );
     14 
     15 // 0x03009D10
     16 ALIGNED8 static const Texture door_seg3_texture_03009D10[] = {
     17 #include "actors/door/polished_wooden_door.rgba16.inc.c"
     18 };
     19 
     20 // 0x0300AD10
     21 ALIGNED8 static const Texture door_seg3_texture_0300AD10[] = {
     22 #include "actors/door/polished_wooden_door_overlay.rgba16.inc.c"
     23 };
     24 
     25 // 0x0300BD10
     26 ALIGNED8 static const Texture door_seg3_texture_0300BD10[] = {
     27 #include "actors/door/rough_wooden_door.rgba16.inc.c"
     28 };
     29 
     30 // 0x0300CD10
     31 ALIGNED8 static const Texture door_seg3_texture_0300CD10[] = {
     32 #include "actors/door/rough_wooden_door_overlay.rgba16.inc.c"
     33 };
     34 
     35 // 0x0300D510
     36 ALIGNED8 static const Texture door_seg3_texture_0300D510[] = {
     37 #include "actors/door/metal_door.rgba16.inc.c"
     38 };
     39 
     40 // 0x0300E510
     41 ALIGNED8 static const Texture door_seg3_texture_0300E510[] = {
     42 #include "actors/door/metal_door_overlay.rgba16.inc.c"
     43 };
     44 
     45 // 0x0300ED10
     46 ALIGNED8 static const Texture door_seg3_texture_0300ED10[] = {
     47 #include "actors/door/hmc_mural_door.rgba16.inc.c"
     48 };
     49 
     50 // 0x0300FD10
     51 ALIGNED8 static const Texture door_seg3_texture_0300FD10[] = {
     52 #include "actors/door/hmc_mural_door_overlay.rgba16.inc.c"
     53 };
     54 
     55 // 0x03010510
     56 ALIGNED8 static const Texture door_seg3_texture_03010510[] = {
     57 #include "actors/door/bbh_door.rgba16.inc.c"
     58 };
     59 
     60 // 0x03011510
     61 ALIGNED8 static const Texture door_seg3_texture_03011510[] = {
     62 #include "actors/door/bbh_door_overlay.rgba16.inc.c"
     63 };
     64 
     65 // 0x03011D10
     66 ALIGNED8 static const Texture door_seg3_texture_03011D10[] = {
     67 #include "actors/door/zero_star_door_sign.rgba16.inc.c"
     68 };
     69 
     70 // 0x03012510
     71 ALIGNED8 static const Texture door_seg3_texture_03012510[] = {
     72 #include "actors/door/one_star_door_sign.rgba16.inc.c"
     73 };
     74 
     75 // 0x03012D10
     76 ALIGNED8 static const Texture door_seg3_texture_03012D10[] = {
     77 #include "actors/door/three_star_door_sign.rgba16.inc.c"
     78 };
     79 
     80 // 0x03013510
     81 ALIGNED8 static const Texture door_seg3_texture_03013510[] = {
     82 #include "actors/door/door_lock.rgba16.inc.c"
     83 };
     84 
     85 // 0x03013910
     86 static const Vtx door_seg3_vertex_03013910[] = {
     87     {{{   -12,      0,    -58}, 0, {     0,      0}, {0x81, 0x00, 0x00, 0xff}}},
     88     {{{   -12,      0,     59}, 0, {   990,      0}, {0x81, 0x00, 0x00, 0xff}}},
     89     {{{   -12,   1024,     59}, 0, {   990,   2012}, {0x81, 0x00, 0x00, 0xff}}},
     90     {{{   -12,   1024,    -58}, 0, {   990,   2012}, {0x00, 0x7f, 0x00, 0xff}}},
     91     {{{   -12,   1024,     59}, 0, {     0,   2012}, {0x00, 0x7f, 0x00, 0xff}}},
     92     {{{   604,   1024,     59}, 0, {     0,      0}, {0x00, 0x7f, 0x00, 0xff}}},
     93     {{{   604,   1024,    -58}, 0, {   990,      0}, {0x00, 0x7f, 0x00, 0xff}}},
     94     {{{   604,      0,    -58}, 0, {     0,      0}, {0x00, 0x81, 0x00, 0xff}}},
     95     {{{   -12,      0,     59}, 0, {   990,   2012}, {0x00, 0x81, 0x00, 0xff}}},
     96     {{{   -12,      0,    -58}, 0, {     0,   2012}, {0x00, 0x81, 0x00, 0xff}}},
     97     {{{   604,      0,     59}, 0, {   990,      0}, {0x00, 0x81, 0x00, 0xff}}},
     98     {{{   604,      0,     59}, 0, {     0,      0}, {0x7f, 0x00, 0x00, 0xff}}},
     99     {{{   604,      0,    -58}, 0, {   990,      0}, {0x7f, 0x00, 0x00, 0xff}}},
    100     {{{   604,   1024,    -58}, 0, {   990,   2012}, {0x7f, 0x00, 0x00, 0xff}}},
    101     {{{   604,   1024,     59}, 0, {     0,   2012}, {0x7f, 0x00, 0x00, 0xff}}},
    102     {{{   -12,   1024,    -58}, 0, {     0,   2012}, {0x81, 0x00, 0x00, 0xff}}},
    103 };
    104 
    105 // 0x03013A10
    106 static const Vtx door_seg3_vertex_03013A10[] = {
    107     {{{   604,      0,    -58}, 0, {   974,   1820}, {0x00, 0x00, 0x81, 0xff}}},
    108     {{{   -12,      0,    -58}, 0, {     0,   1816}, {0x00, 0x00, 0x81, 0xff}}},
    109     {{{   -12,   1024,    -58}, 0, {     0,    124}, {0x00, 0x00, 0x81, 0xff}}},
    110     {{{   604,   1024,    -58}, 0, {   974,    128}, {0x00, 0x00, 0x81, 0xff}}},
    111     {{{   -12,      0,     59}, 0, {     0,   1816}, {0x00, 0x00, 0x7f, 0xff}}},
    112     {{{   604,      0,     59}, 0, {   974,   1812}, {0x00, 0x00, 0x7f, 0xff}}},
    113     {{{   604,   1024,     59}, 0, {   974,    132}, {0x00, 0x00, 0x7f, 0xff}}},
    114     {{{   -12,   1024,     59}, 0, {     0,    140}, {0x00, 0x00, 0x7f, 0xff}}},
    115 };
    116 
    117 // 0x03013A90
    118 static const Vtx door_seg3_vertex_03013A90[] = {
    119     {{{   512,    512,    104}, 0, {     0,      0}, {0xff, 0x7e, 0x01, 0xff}}},
    120     {{{   456,    432,    160}, 0, {     0,      0}, {0xa6, 0x1f, 0x53, 0xff}}},
    121     {{{   512,    488,    160}, 0, {     0,      0}, {0x16, 0x49, 0x65, 0xff}}},
    122     {{{   512,    372,    160}, 0, {     0,      0}, {0xe7, 0xba, 0x66, 0xff}}},
    123     {{{   572,    432,    160}, 0, {     0,      0}, {0x5a, 0xe3, 0x53, 0xff}}},
    124     {{{   596,    432,    104}, 0, {     0,      0}, {0x7e, 0x01, 0x01, 0xff}}},
    125     {{{   512,    348,    104}, 0, {     0,      0}, {0xff, 0x82, 0x01, 0xff}}},
    126     {{{   432,    432,    104}, 0, {     0,      0}, {0x82, 0x01, 0x01, 0xff}}},
    127     {{{   512,    488,     44}, 0, {     0,      0}, {0xda, 0x70, 0xd4, 0xff}}},
    128     {{{   456,    432,     44}, 0, {     0,      0}, {0x8f, 0xde, 0xd4, 0xff}}},
    129     {{{   512,    372,     44}, 0, {     0,      0}, {0x24, 0x90, 0xd3, 0xff}}},
    130     {{{   572,    432,     44}, 0, {     0,      0}, {0x6f, 0x28, 0xd3, 0xff}}},
    131 };
    132 
    133 // 0x03013B50
    134 static const Vtx door_seg3_vertex_03013B50[] = {
    135     {{{   512,    488,   -156}, 0, {     0,      0}, {0xe8, 0x48, 0x9b, 0xff}}},
    136     {{{   512,    372,   -156}, 0, {     0,      0}, {0x17, 0xb9, 0x9a, 0xff}}},
    137     {{{   456,    432,   -156}, 0, {     0,      0}, {0xa5, 0xe4, 0xae, 0xff}}},
    138     {{{   432,    432,   -100}, 0, {     0,      0}, {0x82, 0x01, 0xff, 0xff}}},
    139     {{{   512,    512,   -100}, 0, {     0,      0}, {0xff, 0x7e, 0xff, 0xff}}},
    140     {{{   572,    432,   -156}, 0, {     0,      0}, {0x59, 0x20, 0xac, 0xff}}},
    141     {{{   512,    348,   -100}, 0, {     0,      0}, {0xff, 0x82, 0xff, 0xff}}},
    142     {{{   596,    432,   -100}, 0, {     0,      0}, {0x7e, 0x01, 0xff, 0xff}}},
    143     {{{   572,    432,    -40}, 0, {     0,      0}, {0x70, 0xdc, 0x2d, 0xff}}},
    144     {{{   512,    372,    -40}, 0, {     0,      0}, {0xd8, 0x91, 0x2d, 0xff}}},
    145     {{{   456,    432,    -40}, 0, {     0,      0}, {0x90, 0x26, 0x2c, 0xff}}},
    146     {{{   512,    488,    -40}, 0, {     0,      0}, {0x22, 0x71, 0x2c, 0xff}}},
    147 };
    148 
    149 // 0x03013C10 - 0x03013CC8
    150 const Gfx door_seg3_dl_03013C10[] = {
    151     gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, door_seg3_texture_0300AD10),
    152     gsDPLoadSync(),
    153     gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 64 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)),
    154     gsSPLight(&door_seg3_lights_03009CE0.l, 1),
    155     gsSPLight(&door_seg3_lights_03009CE0.a, 2),
    156     gsSPVertex(door_seg3_vertex_03013910, 16, 0),
    157     gsSP2Triangles( 0,  1,  2, 0x0,  3,  4,  5, 0x0),
    158     gsSP2Triangles( 3,  5,  6, 0x0,  7,  8,  9, 0x0),
    159     gsSP2Triangles( 7, 10,  8, 0x0, 11, 12, 13, 0x0),
    160     gsSP2Triangles(11, 13, 14, 0x0,  0,  2, 15, 0x0),
    161     gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, door_seg3_texture_03009D10),
    162     gsDPLoadSync(),
    163     gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 64 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)),
    164     gsSPVertex(door_seg3_vertex_03013A10, 8, 0),
    165     gsSP2Triangles( 0,  1,  2, 0x0,  0,  2,  3, 0x0),
    166     gsSP2Triangles( 4,  5,  6, 0x0,  4,  6,  7, 0x0),
    167     gsSPEndDisplayList(),
    168 };
    169 
    170 // 0x03013CC8 - 0x03013D78
    171 const Gfx door_seg3_dl_03013CC8[] = {
    172     gsSPLight(&door_seg3_lights_03009CF8.l, 1),
    173     gsSPLight(&door_seg3_lights_03009CF8.a, 2),
    174     gsSPVertex(door_seg3_vertex_03013A90, 12, 0),
    175     gsSP2Triangles( 0,  1,  2, 0x0,  2,  3,  4, 0x0),
    176     gsSP2Triangles( 2,  1,  3, 0x0,  5,  2,  4, 0x0),
    177     gsSP2Triangles( 5,  0,  2, 0x0,  6,  4,  3, 0x0),
    178     gsSP2Triangles( 7,  6,  3, 0x0,  7,  3,  1, 0x0),
    179     gsSP2Triangles( 6,  5,  4, 0x0,  0,  7,  1, 0x0),
    180     gsSP2Triangles( 8,  9,  7, 0x0,  9,  6,  7, 0x0),
    181     gsSP2Triangles( 8,  7,  0, 0x0,  9, 10,  6, 0x0),
    182     gsSP2Triangles(10,  5,  6, 0x0, 10, 11,  5, 0x0),
    183     gsSP2Triangles(11,  0,  5, 0x0, 11,  8,  0, 0x0),
    184     gsSPEndDisplayList(),
    185 };
    186 
    187 // 0x03013D78 - 0x03013E28
    188 const Gfx door_seg3_dl_03013D78[] = {
    189     gsSPLight(&door_seg3_lights_03009CF8.l, 1),
    190     gsSPLight(&door_seg3_lights_03009CF8.a, 2),
    191     gsSPVertex(door_seg3_vertex_03013B50, 12, 0),
    192     gsSP2Triangles( 0,  1,  2, 0x0,  0,  2,  3, 0x0),
    193     gsSP2Triangles( 0,  3,  4, 0x0,  0,  5,  1, 0x0),
    194     gsSP2Triangles( 5,  0,  4, 0x0,  2,  1,  6, 0x0),
    195     gsSP2Triangles( 1,  7,  6, 0x0,  1,  5,  7, 0x0),
    196     gsSP2Triangles( 2,  6,  3, 0x0,  5,  4,  7, 0x0),
    197     gsSP2Triangles( 6,  8,  9, 0x0,  3,  6,  9, 0x0),
    198     gsSP2Triangles( 6,  7,  8, 0x0,  4,  3, 10, 0x0),
    199     gsSP2Triangles( 3,  9, 10, 0x0,  7,  4, 11, 0x0),
    200     gsSP2Triangles( 7, 11,  8, 0x0,  4, 10, 11, 0x0),
    201     gsSPEndDisplayList(),
    202 };
    203 
    204 // 0x03013E28 - 0x03013EA8
    205 const Gfx door_seg3_dl_03013E28[] = {
    206     gsDPPipeSync(),
    207     gsDPSetCombineMode(G_CC_MODULATERGB, G_CC_MODULATERGB),
    208     gsSPClearGeometryMode(G_SHADING_SMOOTH),
    209     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),
    210     gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_ON),
    211     gsDPTileSync(),
    212     gsDPSetTile(G_IM_FMT_RGBA, 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),
    213     gsDPSetTileSize(0, 0, 0, (32 - 1) << G_TEXTURE_IMAGE_FRAC, (64 - 1) << G_TEXTURE_IMAGE_FRAC),
    214     gsSPDisplayList(door_seg3_dl_03013C10),
    215     gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF),
    216     gsDPPipeSync(),
    217     gsDPSetCombineMode(G_CC_SHADE, G_CC_SHADE),
    218     gsSPSetGeometryMode(G_SHADING_SMOOTH),
    219     gsSPDisplayList(door_seg3_dl_03013CC8),
    220     gsSPDisplayList(door_seg3_dl_03013D78),
    221     gsSPEndDisplayList(),
    222 };
    223 
    224 // 0x03013EA8 - 0x03013F20
    225 const Gfx door_seg3_dl_03013EA8[] = {
    226     gsDPPipeSync(),
    227     gsDPSetCombineMode(G_CC_MODULATERGB, G_CC_MODULATERGB),
    228     gsSPClearGeometryMode(G_SHADING_SMOOTH),
    229     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),
    230     gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_ON),
    231     gsDPTileSync(),
    232     gsDPSetTile(G_IM_FMT_RGBA, 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),
    233     gsDPSetTileSize(0, 0, 0, (32 - 1) << G_TEXTURE_IMAGE_FRAC, (64 - 1) << G_TEXTURE_IMAGE_FRAC),
    234     gsSPDisplayList(door_seg3_dl_03013C10),
    235     gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF),
    236     gsDPPipeSync(),
    237     gsDPSetCombineMode(G_CC_SHADE, G_CC_SHADE),
    238     gsSPSetGeometryMode(G_SHADING_SMOOTH),
    239     gsSPDisplayList(door_seg3_dl_03013CC8),
    240     gsSPEndDisplayList(),
    241 };
    242 
    243 // 0x03013F20
    244 static const Vtx door_seg3_vertex_03013F20[] = {
    245     {{{   591,      0,    -58}, 0, {   976,   1808}, {0x00, 0x00, 0x81, 0xff}}},
    246     {{{    -8,   1010,    -58}, 0, {   -16,    148}, {0x00, 0x00, 0x81, 0xff}}},
    247     {{{   591,   1010,    -58}, 0, {   990,    140}, {0x00, 0x00, 0x81, 0xff}}},
    248     {{{    -8,      0,    -58}, 0, {   -30,   1812}, {0x00, 0x00, 0x81, 0xff}}},
    249     {{{    -8,      0,     59}, 0, {     0,   1816}, {0x00, 0x00, 0x7f, 0xff}}},
    250     {{{   591,   1010,     59}, 0, {   974,    132}, {0x00, 0x00, 0x7f, 0xff}}},
    251     {{{    -8,   1010,     59}, 0, {     0,    140}, {0x00, 0x00, 0x7f, 0xff}}},
    252     {{{   591,      0,     59}, 0, {   974,   1812}, {0x00, 0x00, 0x7f, 0xff}}},
    253 };
    254 
    255 // 0x03013FA0
    256 static const Vtx door_seg3_vertex_03013FA0[] = {
    257     {{{   492,    468,   -152}, 0, {     0,      0}, {0x00, 0x00, 0x81, 0xff}}},
    258     {{{   546,    412,   -152}, 0, {     0,      0}, {0x00, 0x00, 0x81, 0xff}}},
    259     {{{   492,    357,   -152}, 0, {     0,      0}, {0x00, 0x00, 0x81, 0xff}}},
    260     {{{   437,    412,   -152}, 0, {     0,      0}, {0x00, 0x00, 0x81, 0xff}}},
    261     {{{   492,    468,    153}, 0, {     0,      0}, {0x00, 0x00, 0x7f, 0xff}}},
    262     {{{   492,    357,    153}, 0, {     0,      0}, {0x00, 0x00, 0x7f, 0xff}}},
    263     {{{   546,    412,    153}, 0, {     0,      0}, {0x00, 0x00, 0x7f, 0xff}}},
    264     {{{   437,    412,    153}, 0, {     0,      0}, {0x00, 0x00, 0x7f, 0xff}}},
    265 };
    266 
    267 // 0x03014020 - 0x03014100
    268 const Gfx door_seg3_dl_03014020[] = {
    269     gsDPPipeSync(),
    270     gsDPSetCombineMode(G_CC_MODULATERGB, G_CC_MODULATERGB),
    271     gsSPClearGeometryMode(G_SHADING_SMOOTH),
    272     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),
    273     gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_ON),
    274     gsDPTileSync(),
    275     gsDPSetTile(G_IM_FMT_RGBA, 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),
    276     gsDPSetTileSize(0, 0, 0, (32 - 1) << G_TEXTURE_IMAGE_FRAC, (64 - 1) << G_TEXTURE_IMAGE_FRAC),
    277     gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, door_seg3_texture_03009D10),
    278     gsDPLoadSync(),
    279     gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 64 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)),
    280     gsSPLight(&door_seg3_lights_03009CE0.l, 1),
    281     gsSPLight(&door_seg3_lights_03009CE0.a, 2),
    282     gsSPVertex(door_seg3_vertex_03013F20, 8, 0),
    283     gsSP2Triangles( 0,  1,  2, 0x0,  0,  3,  1, 0x0),
    284     gsSP2Triangles( 4,  5,  6, 0x0,  4,  7,  5, 0x0),
    285     gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF),
    286     gsDPPipeSync(),
    287     gsDPSetCombineMode(G_CC_SHADE, G_CC_SHADE),
    288     gsSPLight(&door_seg3_lights_03009CF8.l, 1),
    289     gsSPLight(&door_seg3_lights_03009CF8.a, 2),
    290     gsSPVertex(door_seg3_vertex_03013FA0, 8, 0),
    291     gsSP2Triangles( 4,  5,  6, 0x0,  4,  7,  5, 0x0),
    292     gsSPSetGeometryMode(G_SHADING_SMOOTH),
    293     gsSPEndDisplayList(),
    294 };
    295 
    296 // 0x03014100 - 0x03014128
    297 const Gfx door_seg3_dl_03014100[] = {
    298     gsSPDisplayList(door_seg3_dl_03014020),
    299     gsSP2Triangles( 0,  1,  2, 0x0,  0,  2,  3, 0x0),
    300     gsSPSetGeometryMode(G_SHADING_SMOOTH),
    301     gsSPEndDisplayList(),
    302 };
    303 
    304 // 0x03014128 - 0x03014140
    305 const Gfx door_seg3_dl_03014128[] = {
    306     gsSPDisplayList(door_seg3_dl_03014020),
    307     gsSPSetGeometryMode(G_SHADING_SMOOTH),
    308     gsSPEndDisplayList(),
    309 };
    310 
    311 // 0x03014140
    312 static const Vtx door_seg3_vertex_03014140[] = {
    313     {{{   441,    850,     64}, 0, {   992,      0}, {0x00, 0x00, 0x7f, 0xff}}},
    314     {{{   141,    850,     64}, 0, {     0,      0}, {0x00, 0x00, 0x7f, 0xff}}},
    315     {{{   141,    550,     64}, 0, {     0,    992}, {0x00, 0x00, 0x7f, 0xff}}},
    316     {{{   441,    550,     64}, 0, {   992,    992}, {0x00, 0x00, 0x7f, 0xff}}},
    317 };
    318 
    319 // 0x03014180
    320 static const Vtx door_seg3_vertex_03014180[] = {
    321     {{{   441,    850,     59}, 0, {   992,      0}, {0x00, 0x00, 0x7f, 0xff}}},
    322     {{{   141,    850,     59}, 0, {     0,      0}, {0x00, 0x00, 0x7f, 0xff}}},
    323     {{{   141,    550,     59}, 0, {     0,    992}, {0x00, 0x00, 0x7f, 0xff}}},
    324     {{{   441,    550,     59}, 0, {   992,    992}, {0x00, 0x00, 0x7f, 0xff}}},
    325 };
    326 
    327 // 0x030141C0 - 0x03014218
    328 const Gfx door_seg3_dl_030141C0[] = {
    329     gsDPPipeSync(),
    330     gsDPSetCombineMode(G_CC_MODULATERGBA, G_CC_MODULATERGBA),
    331     gsSPClearGeometryMode(G_SHADING_SMOOTH),
    332     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),
    333     gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_ON),
    334     gsDPTileSync(),
    335     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),
    336     gsDPSetTileSize(0, 0, 0, (32 - 1) << G_TEXTURE_IMAGE_FRAC, (32 - 1) << G_TEXTURE_IMAGE_FRAC),
    337     gsSPLight(&door_seg3_lights_03009CE0.l, 1),
    338     gsSPLight(&door_seg3_lights_03009CE0.a, 2),
    339     gsSPEndDisplayList(),
    340 };
    341 
    342 // 0x03014218 - 0x03014250
    343 const Gfx door_seg3_dl_03014218[] = {
    344     gsSP2Triangles( 0,  1,  2, 0x0,  0,  2,  3, 0x0),
    345     gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF),
    346     gsDPPipeSync(),
    347     gsDPSetCombineMode(G_CC_SHADE, G_CC_SHADE),
    348     gsSPSetGeometryMode(G_SHADING_SMOOTH),
    349     gsSPEndDisplayList(),
    350 };
    351 
    352 // 0x03014250 - 0x03014280
    353 const Gfx door_seg3_dl_03014250[] = {
    354     gsSPDisplayList(door_seg3_dl_030141C0),
    355     gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, door_seg3_texture_03011D10),
    356     gsDPLoadSync(),
    357     gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)),
    358     gsSPVertex(door_seg3_vertex_03014140, 4, 0),
    359     gsSPBranchList(door_seg3_dl_03014218),
    360 };
    361 
    362 // 0x03014280 - 0x030142B0
    363 const Gfx door_seg3_dl_03014280[] = {
    364     gsSPDisplayList(door_seg3_dl_030141C0),
    365     gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, door_seg3_texture_03011D10),
    366     gsDPLoadSync(),
    367     gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)),
    368     gsSPVertex(door_seg3_vertex_03014180, 4, 0),
    369     gsSPBranchList(door_seg3_dl_03014218),
    370 };
    371 
    372 // 0x030142B0 - 0x030142E0
    373 const Gfx door_seg3_dl_030142B0[] = {
    374     gsSPDisplayList(door_seg3_dl_030141C0),
    375     gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, door_seg3_texture_03012510),
    376     gsDPLoadSync(),
    377     gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)),
    378     gsSPVertex(door_seg3_vertex_03014140, 4, 0),
    379     gsSPBranchList(door_seg3_dl_03014218),
    380 };
    381 
    382 // 0x030142E0 - 0x03014310
    383 const Gfx door_seg3_dl_030142E0[] = {
    384     gsSPDisplayList(door_seg3_dl_030141C0),
    385     gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, door_seg3_texture_03012510),
    386     gsDPLoadSync(),
    387     gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)),
    388     gsSPVertex(door_seg3_vertex_03014180, 4, 0),
    389     gsSPBranchList(door_seg3_dl_03014218),
    390 };
    391 
    392 // 0x03014310 - 0x03014340
    393 const Gfx door_seg3_dl_03014310[] = {
    394     gsSPDisplayList(door_seg3_dl_030141C0),
    395     gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, door_seg3_texture_03012D10),
    396     gsDPLoadSync(),
    397     gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)),
    398     gsSPVertex(door_seg3_vertex_03014140, 4, 0),
    399     gsSPBranchList(door_seg3_dl_03014218),
    400 };
    401 
    402 // 0x03014340 - 0x03014370
    403 const Gfx door_seg3_dl_03014340[] = {
    404     gsSPDisplayList(door_seg3_dl_030141C0),
    405     gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, door_seg3_texture_03012D10),
    406     gsDPLoadSync(),
    407     gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)),
    408     gsSPVertex(door_seg3_vertex_03014180, 4, 0),
    409     gsSPBranchList(door_seg3_dl_03014218),
    410 };
    411 
    412 // 0x03014370
    413 static const Vtx door_seg3_vertex_03014370[] = {
    414     {{{   595,    916,     59}, 0, {   478,      0}, {0x00, 0x00, 0x7f, 0xff}}},
    415     {{{   405,    544,     59}, 0, {     0,    992}, {0x00, 0x00, 0x7f, 0xff}}},
    416     {{{   595,    544,     59}, 0, {   478,    992}, {0x00, 0x00, 0x7f, 0xff}}},
    417     {{{   405,    916,     59}, 0, {     0,      0}, {0x00, 0x00, 0x7f, 0xff}}},
    418     {{{   595,    544,    -58}, 0, {   478,    992}, {0x00, 0x00, 0x81, 0xff}}},
    419     {{{   405,    544,    -58}, 0, {     0,    992}, {0x00, 0x00, 0x81, 0xff}}},
    420     {{{   405,    916,    -58}, 0, {     0,      0}, {0x00, 0x00, 0x81, 0xff}}},
    421     {{{   595,    916,    -58}, 0, {   478,      0}, {0x00, 0x00, 0x81, 0xff}}},
    422 };
    423 
    424 // 0x030143F0
    425 static const Vtx door_seg3_vertex_030143F0[] = {
    426     {{{   595,    916,     64}, 0, {   480,      0}, {0x00, 0x00, 0x7f, 0xff}}},
    427     {{{   405,    544,     64}, 0, {     0,    992}, {0x00, 0x00, 0x7f, 0xff}}},
    428     {{{   595,    544,     64}, 0, {   480,    992}, {0x00, 0x00, 0x7f, 0xff}}},
    429     {{{   405,    916,     64}, 0, {     0,      0}, {0x00, 0x00, 0x7f, 0xff}}},
    430     {{{   595,    544,    -63}, 0, {   480,    992}, {0x00, 0x00, 0x81, 0xff}}},
    431     {{{   405,    544,    -63}, 0, {     0,    992}, {0x00, 0x00, 0x81, 0xff}}},
    432     {{{   405,    916,    -63}, 0, {     0,      0}, {0x00, 0x00, 0x81, 0xff}}},
    433     {{{   595,    916,    -63}, 0, {   480,      0}, {0x00, 0x00, 0x81, 0xff}}},
    434 };
    435 
    436 // 0x03014470 - 0x030144E0
    437 const Gfx door_seg3_dl_03014470[] = {
    438     gsDPPipeSync(),
    439     gsDPSetCombineMode(G_CC_MODULATERGB, G_CC_MODULATERGB),
    440     gsSPClearGeometryMode(G_SHADING_SMOOTH),
    441     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),
    442     gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_ON),
    443     gsDPTileSync(),
    444     gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 4, 0, G_TX_RENDERTILE, 0, G_TX_CLAMP, 5, G_TX_NOLOD, G_TX_CLAMP, 4, G_TX_NOLOD),
    445     gsDPSetTileSize(0, 0, 0, (16 - 1) << G_TEXTURE_IMAGE_FRAC, (32 - 1) << G_TEXTURE_IMAGE_FRAC),
    446     gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, door_seg3_texture_03013510),
    447     gsDPLoadSync(),
    448     gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 16 * 32 - 1, CALC_DXT(16, G_IM_SIZ_16b_BYTES)),
    449     gsSPLight(&door_seg3_lights_03009CE0.l, 1),
    450     gsSPLight(&door_seg3_lights_03009CE0.a, 2),
    451     gsSPEndDisplayList(),
    452 };
    453 
    454 // 0x030144E0 - 0x03014528
    455 const Gfx door_seg3_dl_030144E0[] = {
    456     gsSP2Triangles( 0,  1,  2, 0x0,  0,  3,  1, 0x0),
    457     gsSP2Triangles( 4,  5,  6, 0x0,  4,  6,  7, 0x0),
    458     gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF),
    459     gsDPPipeSync(),
    460     gsDPSetCombineMode(G_CC_SHADE, G_CC_SHADE),
    461     gsSPSetGeometryMode(G_SHADING_SMOOTH),
    462     gsSPEndDisplayList(),
    463 };
    464 
    465 // 0x03014528 - 0x03014540
    466 const Gfx door_seg3_dl_03014528[] = {
    467     gsSPDisplayList(door_seg3_dl_03014470),
    468     gsSPVertex(door_seg3_vertex_03014370, 8, 0),
    469     gsSPBranchList(door_seg3_dl_030144E0),
    470 };
    471 
    472 // 0x03014540 - 0x03014558
    473 const Gfx door_seg3_dl_03014540[] = {
    474     gsSPDisplayList(door_seg3_dl_03014470),
    475     gsSPVertex(door_seg3_vertex_030143F0, 8, 0),
    476     gsSPBranchList(door_seg3_dl_030144E0),
    477 };
    478 
    479 // 0x03014558
    480 static const Vtx door_seg3_vertex_03014558[] = {
    481     {{{    -8,   1000,    -58}, 0, {     0,     70}, {0x81, 0x00, 0x00, 0xff}}},
    482     {{{    -8,      0,    -58}, 0, {     0,    936}, {0x81, 0x00, 0x00, 0xff}}},
    483     {{{    -8,      0,     59}, 0, {   990,    936}, {0x81, 0x00, 0x00, 0xff}}},
    484     {{{    -8,      0,    -58}, 0, {   990,    114}, {0x00, 0x81, 0x00, 0xff}}},
    485     {{{   591,      0,    -58}, 0, {   990,    856}, {0x00, 0x81, 0x00, 0xff}}},
    486     {{{   591,      0,     59}, 0, {     0,    856}, {0x00, 0x81, 0x00, 0xff}}},
    487     {{{    -8,      0,     59}, 0, {     0,    114}, {0x00, 0x81, 0x00, 0xff}}},
    488     {{{    -8,   1000,     59}, 0, {     0,    114}, {0x00, 0x7f, 0x00, 0xff}}},
    489     {{{   591,   1000,    -58}, 0, {   990,    856}, {0x00, 0x7f, 0x00, 0xff}}},
    490     {{{    -8,   1000,    -58}, 0, {   990,    114}, {0x00, 0x7f, 0x00, 0xff}}},
    491     {{{   591,   1000,     59}, 0, {     0,    856}, {0x00, 0x7f, 0x00, 0xff}}},
    492     {{{   591,   1000,     59}, 0, {   990,     70}, {0x7f, 0x00, 0x00, 0xff}}},
    493     {{{   591,      0,     59}, 0, {   990,    936}, {0x7f, 0x00, 0x00, 0xff}}},
    494     {{{   591,      0,    -58}, 0, {     0,    936}, {0x7f, 0x00, 0x00, 0xff}}},
    495     {{{   591,   1000,    -58}, 0, {     0,     70}, {0x7f, 0x00, 0x00, 0xff}}},
    496     {{{    -8,   1000,     59}, 0, {   990,     70}, {0x81, 0x00, 0x00, 0xff}}},
    497 };
    498 
    499 // 0x03014658
    500 static const Vtx door_seg3_vertex_03014658[] = {
    501     {{{    -8,      0,     59}, 0, {   990,   2012}, {0x00, 0x00, 0x7f, 0xff}}},
    502     {{{   591,   1000,     59}, 0, {     0,      0}, {0x00, 0x00, 0x7f, 0xff}}},
    503     {{{    -8,   1000,     59}, 0, {   990,      0}, {0x00, 0x00, 0x7f, 0xff}}},
    504     {{{   591,      0,     59}, 0, {     0,   2012}, {0x00, 0x00, 0x7f, 0xff}}},
    505     {{{   591,      0,    -58}, 0, {     0,   2012}, {0x00, 0x00, 0x81, 0xff}}},
    506     {{{    -8,      0,    -58}, 0, {   990,   2012}, {0x00, 0x00, 0x81, 0xff}}},
    507     {{{    -8,   1000,    -58}, 0, {   990,      0}, {0x00, 0x00, 0x81, 0xff}}},
    508     {{{   591,   1000,    -58}, 0, {     0,      0}, {0x00, 0x00, 0x81, 0xff}}},
    509 };
    510 
    511 // 0x030146D8
    512 static const Vtx door_seg3_vertex_030146D8[] = {
    513     {{{   492,    468,   -152}, 0, {     0,      0}, {0xe8, 0x47, 0x9a, 0xff}}},
    514     {{{   414,    412,    -98}, 0, {     0,      0}, {0x82, 0x00, 0x00, 0xff}}},
    515     {{{   492,    491,    -98}, 0, {     0,      0}, {0x00, 0x7e, 0x00, 0xff}}},
    516     {{{   492,    468,    153}, 0, {     0,      0}, {0x18, 0x47, 0x66, 0xff}}},
    517     {{{   492,    357,    153}, 0, {     0,      0}, {0xe9, 0xb8, 0x65, 0xff}}},
    518     {{{   546,    412,    153}, 0, {     0,      0}, {0x5b, 0xe2, 0x53, 0xff}}},
    519     {{{   437,    412,    153}, 0, {     0,      0}, {0xa5, 0x1d, 0x53, 0xff}}},
    520     {{{   492,    491,     99}, 0, {     0,      0}, {0x00, 0x7e, 0x00, 0xff}}},
    521     {{{   569,    412,     99}, 0, {     0,      0}, {0x7e, 0x00, 0x00, 0xff}}},
    522     {{{   492,    334,     99}, 0, {     0,      0}, {0x00, 0x82, 0x00, 0xff}}},
    523     {{{   414,    412,     99}, 0, {     0,      0}, {0x82, 0x00, 0x00, 0xff}}},
    524     {{{   492,    468,     44}, 0, {     0,      0}, {0xdb, 0x6f, 0xd1, 0xff}}},
    525     {{{   437,    412,     44}, 0, {     0,      0}, {0x91, 0xdb, 0xd2, 0xff}}},
    526     {{{   492,    357,     44}, 0, {     0,      0}, {0x26, 0x91, 0xd2, 0xff}}},
    527     {{{   546,    412,     44}, 0, {     0,      0}, {0x70, 0x24, 0xd2, 0xff}}},
    528 };
    529 
    530 // 0x030147C8
    531 static const Vtx door_seg3_vertex_030147C8[] = {
    532     {{{   492,    491,    -98}, 0, {     0,      0}, {0x00, 0x7e, 0x00, 0xff}}},
    533     {{{   437,    412,    -43}, 0, {     0,      0}, {0x90, 0x24, 0x2e, 0xff}}},
    534     {{{   492,    468,    -43}, 0, {     0,      0}, {0x26, 0x6f, 0x2f, 0xff}}},
    535     {{{   492,    468,   -152}, 0, {     0,      0}, {0xe8, 0x47, 0x9a, 0xff}}},
    536     {{{   546,    412,   -152}, 0, {     0,      0}, {0x5b, 0x1d, 0xae, 0xff}}},
    537     {{{   492,    357,   -152}, 0, {     0,      0}, {0x18, 0xb9, 0x9b, 0xff}}},
    538     {{{   437,    412,   -152}, 0, {     0,      0}, {0xa6, 0xe2, 0xad, 0xff}}},
    539     {{{   414,    412,    -98}, 0, {     0,      0}, {0x82, 0x00, 0x00, 0xff}}},
    540     {{{   569,    412,    -98}, 0, {     0,      0}, {0x7e, 0x00, 0x00, 0xff}}},
    541     {{{   492,    334,    -98}, 0, {     0,      0}, {0x00, 0x82, 0x00, 0xff}}},
    542     {{{   492,    357,    -43}, 0, {     0,      0}, {0xdb, 0x90, 0x2e, 0xff}}},
    543     {{{   546,    412,    -43}, 0, {     0,      0}, {0x70, 0xdb, 0x2e, 0xff}}},
    544 };
    545 
    546 // 0x03014888 - 0x030149C0
    547 const Gfx door_seg3_dl_03014888[] = {
    548     gsSPVertex(door_seg3_vertex_030146D8, 15, 0),
    549     gsSP2Triangles( 0,  1,  2, 0x0,  3,  4,  5, 0x0),
    550     gsSP2Triangles( 3,  6,  4, 0x0,  7,  6,  3, 0x0),
    551     gsSP2Triangles( 8,  3,  5, 0x0,  8,  7,  3, 0x0),
    552     gsSP2Triangles( 9,  5,  4, 0x0, 10,  9,  4, 0x0),
    553     gsSP2Triangles(10,  4,  6, 0x0,  9,  8,  5, 0x0),
    554     gsSP2Triangles( 7, 10,  6, 0x0, 11, 12, 10, 0x0),
    555     gsSP2Triangles(11, 10,  7, 0x0, 12,  9, 10, 0x0),
    556     gsSP2Triangles(12, 13,  9, 0x0, 13,  8,  9, 0x0),
    557     gsSP2Triangles(14,  7,  8, 0x0, 13, 14,  8, 0x0),
    558     gsSP1Triangle(14, 11,  7, 0x0),
    559     gsSPVertex(door_seg3_vertex_030147C8, 12, 0),
    560     gsSP2Triangles( 0,  1,  2, 0x0,  3,  4,  5, 0x0),
    561     gsSP2Triangles( 3,  6,  7, 0x0,  4,  3,  0, 0x0),
    562     gsSP2Triangles( 5,  4,  8, 0x0,  6,  5,  9, 0x0),
    563     gsSP2Triangles( 5,  8,  9, 0x0,  3,  5,  6, 0x0),
    564     gsSP2Triangles( 6,  9,  7, 0x0,  4,  0,  8, 0x0),
    565     gsSP2Triangles( 7,  9, 10, 0x0,  9, 11, 10, 0x0),
    566     gsSP2Triangles( 9,  8, 11, 0x0,  0,  7,  1, 0x0),
    567     gsSP2Triangles( 7, 10,  1, 0x0,  8,  0,  2, 0x0),
    568     gsSP1Triangle( 8,  2, 11, 0x0),
    569     gsSPEndDisplayList(),
    570 };
    571 
    572 // 0x030149C0 - 0x03014A20
    573 const Gfx door_seg3_dl_030149C0[] = {
    574     gsSPLight(&door_seg3_lights_03009CE0.l, 1),
    575     gsSPLight(&door_seg3_lights_03009CE0.a, 2),
    576     gsSPVertex(door_seg3_vertex_03014558, 16, 0),
    577     gsSP2Triangles( 0,  1,  2, 0x0,  3,  4,  5, 0x0),
    578     gsSP2Triangles( 3,  5,  6, 0x0,  7,  8,  9, 0x0),
    579     gsSP2Triangles( 7, 10,  8, 0x0, 11, 12, 13, 0x0),
    580     gsSP2Triangles(11, 13, 14, 0x0,  0,  2, 15, 0x0),
    581     gsSPEndDisplayList(),
    582 };
    583 
    584 // 0x03014A20 - 0x03014A50
    585 const Gfx door_seg3_dl_03014A20[] = {
    586     gsSPVertex(door_seg3_vertex_03014658, 8, 0),
    587     gsSP2Triangles( 0,  1,  2, 0x0,  0,  3,  1, 0x0),
    588     gsSP2Triangles( 4,  5,  6, 0x0,  4,  6,  7, 0x0),
    589     gsSPEndDisplayList(),
    590 };
    591 
    592 // 0x03014A50 - 0x03014A80
    593 const Gfx door_seg3_dl_03014A50[] = {
    594     gsDPPipeSync(),
    595     gsDPSetCombineMode(G_CC_MODULATERGB, G_CC_MODULATERGB),
    596     gsSPClearGeometryMode(G_SHADING_SMOOTH),
    597     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),
    598     gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_ON),
    599     gsSPEndDisplayList(),
    600 };
    601 
    602 // 0x03014A80 - 0x03014B30
    603 const Gfx door_seg3_dl_03014A80[] = {
    604     gsSPDisplayList(door_seg3_dl_03014A50),
    605     gsDPTileSync(),
    606     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),
    607     gsDPSetTileSize(0, 0, 0, (32 - 1) << G_TEXTURE_IMAGE_FRAC, (32 - 1) << G_TEXTURE_IMAGE_FRAC),
    608     gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, door_seg3_texture_0300CD10),
    609     gsDPLoadSync(),
    610     gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)),
    611     gsSPDisplayList(door_seg3_dl_030149C0),
    612     gsDPTileSync(),
    613     gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, G_TX_RENDERTILE, 0, G_TX_CLAMP, 6, G_TX_NOLOD, G_TX_CLAMP, 5, G_TX_NOLOD),
    614     gsDPSetTileSize(0, 0, 0, (32 - 1) << G_TEXTURE_IMAGE_FRAC, (64 - 1) << G_TEXTURE_IMAGE_FRAC),
    615     gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, door_seg3_texture_0300BD10),
    616     gsDPLoadSync(),
    617     gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 64 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)),
    618     gsSPDisplayList(door_seg3_dl_03014A20),
    619     gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF),
    620     gsDPPipeSync(),
    621     gsDPSetCombineMode(G_CC_SHADE, G_CC_SHADE),
    622     gsSPSetGeometryMode(G_SHADING_SMOOTH),
    623     gsSPLight(&door_seg3_lights_03009CF8.l, 1),
    624     gsSPLight(&door_seg3_lights_03009CF8.a, 2),
    625     gsSPBranchList(door_seg3_dl_03014888),
    626 };
    627 
    628 // 0x03014B30 - 0x03014BE0
    629 const Gfx door_seg3_dl_03014B30[] = {
    630     gsSPDisplayList(door_seg3_dl_03014A50),
    631     gsDPTileSync(),
    632     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),
    633     gsDPSetTileSize(0, 0, 0, (32 - 1) << G_TEXTURE_IMAGE_FRAC, (32 - 1) << G_TEXTURE_IMAGE_FRAC),
    634     gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, door_seg3_texture_0300CD10),
    635     gsDPLoadSync(),
    636     gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)),
    637     gsSPDisplayList(door_seg3_dl_030149C0),
    638     gsDPTileSync(),
    639     gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, G_TX_RENDERTILE, 0, G_TX_CLAMP, 6, G_TX_NOLOD, G_TX_CLAMP, 5, G_TX_NOLOD),
    640     gsDPSetTileSize(0, 0, 0, (32 - 1) << G_TEXTURE_IMAGE_FRAC, (64 - 1) << G_TEXTURE_IMAGE_FRAC),
    641     gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, door_seg3_texture_0300BD10),
    642     gsDPLoadSync(),
    643     gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 64 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)),
    644     gsSPDisplayList(door_seg3_dl_03014A20),
    645     gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF),
    646     gsDPPipeSync(),
    647     gsDPSetCombineMode(G_CC_SHADE, G_CC_SHADE),
    648     gsSPSetGeometryMode(G_SHADING_SMOOTH),
    649     gsSPLight(&door_seg3_lights_03009CF8.l, 1),
    650     gsSPLight(&door_seg3_lights_03009CF8.a, 2),
    651     gsSPBranchList(door_seg3_dl_03014888),
    652 };
    653 
    654 // 0x03014BE0 - 0x03014C90
    655 const Gfx door_seg3_dl_03014BE0[] = {
    656     gsSPDisplayList(door_seg3_dl_03014A50),
    657     gsDPTileSync(),
    658     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),
    659     gsDPSetTileSize(0, 0, 0, (32 - 1) << G_TEXTURE_IMAGE_FRAC, (32 - 1) << G_TEXTURE_IMAGE_FRAC),
    660     gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, door_seg3_texture_0300E510),
    661     gsDPLoadSync(),
    662     gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)),
    663     gsSPDisplayList(door_seg3_dl_030149C0),
    664     gsDPTileSync(),
    665     gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, G_TX_RENDERTILE, 0, G_TX_CLAMP, 6, G_TX_NOLOD, G_TX_CLAMP, 5, G_TX_NOLOD),
    666     gsDPSetTileSize(0, 0, 0, (32 - 1) << G_TEXTURE_IMAGE_FRAC, (64 - 1) << G_TEXTURE_IMAGE_FRAC),
    667     gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, door_seg3_texture_0300D510),
    668     gsDPLoadSync(),
    669     gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 64 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)),
    670     gsSPDisplayList(door_seg3_dl_03014A20),
    671     gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF),
    672     gsDPPipeSync(),
    673     gsDPSetCombineMode(G_CC_SHADE, G_CC_SHADE),
    674     gsSPSetGeometryMode(G_SHADING_SMOOTH),
    675     gsSPLight(&door_seg3_lights_03009CF8.l, 1),
    676     gsSPLight(&door_seg3_lights_03009CF8.a, 2),
    677     gsSPBranchList(door_seg3_dl_03014888),
    678 };
    679 
    680 // 0x03014C90 - 0x03014D40
    681 const Gfx door_seg3_dl_03014C90[] = {
    682     gsSPDisplayList(door_seg3_dl_03014A50),
    683     gsDPTileSync(),
    684     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),
    685     gsDPSetTileSize(0, 0, 0, (32 - 1) << G_TEXTURE_IMAGE_FRAC, (32 - 1) << G_TEXTURE_IMAGE_FRAC),
    686     gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, door_seg3_texture_0300FD10),
    687     gsDPLoadSync(),
    688     gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)),
    689     gsSPDisplayList(door_seg3_dl_030149C0),
    690     gsDPTileSync(),
    691     gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, G_TX_RENDERTILE, 0, G_TX_CLAMP, 6, G_TX_NOLOD, G_TX_CLAMP, 5, G_TX_NOLOD),
    692     gsDPSetTileSize(0, 0, 0, (32 - 1) << G_TEXTURE_IMAGE_FRAC, (64 - 1) << G_TEXTURE_IMAGE_FRAC),
    693     gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, door_seg3_texture_0300ED10),
    694     gsDPLoadSync(),
    695     gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 64 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)),
    696     gsSPDisplayList(door_seg3_dl_03014A20),
    697     gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF),
    698     gsDPPipeSync(),
    699     gsDPSetCombineMode(G_CC_SHADE, G_CC_SHADE),
    700     gsSPSetGeometryMode(G_SHADING_SMOOTH),
    701     gsSPLight(&door_seg3_lights_03009CF8.l, 1),
    702     gsSPLight(&door_seg3_lights_03009CF8.a, 2),
    703     gsSPBranchList(door_seg3_dl_03014888),
    704 };
    705 
    706 // 0x03014D40 - 0x03014DF0
    707 const Gfx door_seg3_dl_03014D40[] = {
    708     gsSPDisplayList(door_seg3_dl_03014A50),
    709     gsDPTileSync(),
    710     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),
    711     gsDPSetTileSize(0, 0, 0, (32 - 1) << G_TEXTURE_IMAGE_FRAC, (32 - 1) << G_TEXTURE_IMAGE_FRAC),
    712     gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, door_seg3_texture_03011510),
    713     gsDPLoadSync(),
    714     gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)),
    715     gsSPDisplayList(door_seg3_dl_030149C0),
    716     gsDPTileSync(),
    717     gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, G_TX_RENDERTILE, 0, G_TX_CLAMP, 6, G_TX_NOLOD, G_TX_CLAMP, 5, G_TX_NOLOD),
    718     gsDPSetTileSize(0, 0, 0, (32 - 1) << G_TEXTURE_IMAGE_FRAC, (64 - 1) << G_TEXTURE_IMAGE_FRAC),
    719     gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, door_seg3_texture_03010510),
    720     gsDPLoadSync(),
    721     gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 64 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)),
    722     gsSPDisplayList(door_seg3_dl_03014A20),
    723     gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF),
    724     gsDPPipeSync(),
    725     gsDPSetCombineMode(G_CC_SHADE, G_CC_SHADE),
    726     gsSPSetGeometryMode(G_SHADING_SMOOTH),
    727     gsSPLight(&door_seg3_lights_03009CF8.l, 1),
    728     gsSPLight(&door_seg3_lights_03009CF8.a, 2),
    729     gsSPBranchList(door_seg3_dl_03014888),
    730 };
    731 
    732 // 0x03014DF0
    733 static const Vtx door_seg3_vertex_03014DF0[] = {
    734     {{{   591,      0,    -58}, 0, {     0,   2012}, {0x00, 0x00, 0x81, 0xff}}},
    735     {{{    -8,   1000,    -58}, 0, {   990,      0}, {0x00, 0x00, 0x81, 0xff}}},
    736     {{{   591,   1000,    -58}, 0, {     0,      0}, {0x00, 0x00, 0x81, 0xff}}},
    737     {{{    -8,      0,    -58}, 0, {   990,   2012}, {0x00, 0x00, 0x81, 0xff}}},
    738     {{{    -8,      0,     59}, 0, {   990,   2012}, {0x00, 0x00, 0x7f, 0xff}}},
    739     {{{   591,   1000,     59}, 0, {     0,      0}, {0x00, 0x00, 0x7f, 0xff}}},
    740     {{{    -8,   1000,     59}, 0, {   990,      0}, {0x00, 0x00, 0x7f, 0xff}}},
    741     {{{   591,      0,     59}, 0, {     0,   2012}, {0x00, 0x00, 0x7f, 0xff}}},
    742 };
    743 
    744 // 0x03014E70
    745 static const Vtx door_seg3_vertex_03014E70[] = {
    746     {{{   492,    468,    153}, 0, {     0,      0}, {0x00, 0x00, 0x7f, 0xff}}},
    747     {{{   492,    357,    153}, 0, {     0,      0}, {0x00, 0x00, 0x7f, 0xff}}},
    748     {{{   546,    412,    153}, 0, {     0,      0}, {0x00, 0x00, 0x7f, 0xff}}},
    749     {{{   437,    412,    153}, 0, {     0,      0}, {0x00, 0x00, 0x7f, 0xff}}},
    750     {{{   492,    468,   -152}, 0, {     0,      0}, {0x00, 0x00, 0x81, 0xff}}},
    751     {{{   546,    412,   -152}, 0, {     0,      0}, {0x00, 0x00, 0x81, 0xff}}},
    752     {{{   492,    357,   -152}, 0, {     0,      0}, {0x00, 0x00, 0x81, 0xff}}},
    753     {{{   437,    412,   -152}, 0, {     0,      0}, {0x00, 0x00, 0x81, 0xff}}},
    754 };
    755 
    756 // 0x03014EF0 - 0x03014F30
    757 const Gfx door_seg3_dl_03014EF0[] = {
    758     gsSPLight(&door_seg3_lights_03009CE0.l, 1),
    759     gsSPLight(&door_seg3_lights_03009CE0.a, 2),
    760     gsSPVertex(door_seg3_vertex_03014DF0, 8, 0),
    761     gsSP2Triangles( 0,  1,  2, 0x0,  0,  3,  1, 0x0),
    762     gsSP2Triangles( 4,  5,  6, 0x0,  4,  7,  5, 0x0),
    763     gsSPEndDisplayList(),
    764 };
    765 
    766 // 0x03014F30 - 0x03014F68
    767 const Gfx door_seg3_dl_03014F30[] = {
    768     gsSPVertex(door_seg3_vertex_03014E70, 8, 0),
    769     gsSP2Triangles( 0,  1,  2, 0x0,  0,  3,  1, 0x0),
    770     gsSP2Triangles( 4,  5,  6, 0x0,  4,  6,  7, 0x0),
    771     gsSPSetGeometryMode(G_SHADING_SMOOTH),
    772     gsSPEndDisplayList(),
    773 };
    774 
    775 // 0x03014F68 - 0x03014F98
    776 const Gfx door_seg3_dl_03014F68[] = {
    777     gsDPPipeSync(),
    778     gsDPSetCombineMode(G_CC_MODULATERGB, G_CC_MODULATERGB),
    779     gsSPClearGeometryMode(G_SHADING_SMOOTH),
    780     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),
    781     gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_ON),
    782     gsSPEndDisplayList(),
    783 };
    784 
    785 // 0x03014F98 - 0x03015008
    786 const Gfx door_seg3_dl_03014F98[] = {
    787     gsSPDisplayList(door_seg3_dl_03014F68),
    788     gsDPTileSync(),
    789     gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, G_TX_RENDERTILE, 0, G_TX_CLAMP, 6, G_TX_NOLOD, G_TX_CLAMP, 5, G_TX_NOLOD),
    790     gsDPSetTileSize(0, 0, 0, (32 - 1) << G_TEXTURE_IMAGE_FRAC, (64 - 1) << G_TEXTURE_IMAGE_FRAC),
    791     gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, door_seg3_texture_0300BD10),
    792     gsDPLoadSync(),
    793     gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 64 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)),
    794     gsSPDisplayList(door_seg3_dl_03014EF0),
    795     gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF),
    796     gsDPPipeSync(),
    797     gsDPSetCombineMode(G_CC_SHADE, G_CC_SHADE),
    798     gsSPLight(&door_seg3_lights_03009CF8.l, 1),
    799     gsSPLight(&door_seg3_lights_03009CF8.a, 2),
    800     gsSPBranchList(door_seg3_dl_03014F30),
    801 };
    802 
    803 // 0x03015008 - 0x03015078
    804 const Gfx door_seg3_dl_03015008[] = {
    805     gsSPDisplayList(door_seg3_dl_03014F68),
    806     gsDPTileSync(),
    807     gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, G_TX_RENDERTILE, 0, G_TX_CLAMP, 6, G_TX_NOLOD, G_TX_CLAMP, 5, G_TX_NOLOD),
    808     gsDPSetTileSize(0, 0, 0, (32 - 1) << G_TEXTURE_IMAGE_FRAC, (64 - 1) << G_TEXTURE_IMAGE_FRAC),
    809     gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, door_seg3_texture_0300BD10),
    810     gsDPLoadSync(),
    811     gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 64 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)),
    812     gsSPDisplayList(door_seg3_dl_03014EF0),
    813     gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF),
    814     gsDPPipeSync(),
    815     gsDPSetCombineMode(G_CC_SHADE, G_CC_SHADE),
    816     gsSPLight(&door_seg3_lights_03009CF8.l, 1),
    817     gsSPLight(&door_seg3_lights_03009CF8.a, 2),
    818     gsSPBranchList(door_seg3_dl_03014F30),
    819 };
    820 
    821 // 0x03015078 - 0x030150E8
    822 const Gfx door_seg3_dl_03015078[] = {
    823     gsSPDisplayList(door_seg3_dl_03014F68),
    824     gsDPTileSync(),
    825     gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, G_TX_RENDERTILE, 0, G_TX_CLAMP, 6, G_TX_NOLOD, G_TX_CLAMP, 5, G_TX_NOLOD),
    826     gsDPSetTileSize(0, 0, 0, (32 - 1) << G_TEXTURE_IMAGE_FRAC, (64 - 1) << G_TEXTURE_IMAGE_FRAC),
    827     gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, door_seg3_texture_0300D510),
    828     gsDPLoadSync(),
    829     gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 64 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)),
    830     gsSPDisplayList(door_seg3_dl_03014EF0),
    831     gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF),
    832     gsDPPipeSync(),
    833     gsDPSetCombineMode(G_CC_SHADE, G_CC_SHADE),
    834     gsSPLight(&door_seg3_lights_03009CF8.l, 1),
    835     gsSPLight(&door_seg3_lights_03009CF8.a, 2),
    836     gsSPBranchList(door_seg3_dl_03014F30),
    837 };
    838 
    839 // 0x030150E8 - 0x03015158
    840 const Gfx door_seg3_dl_030150E8[] = {
    841     gsSPDisplayList(door_seg3_dl_03014F68),
    842     gsDPTileSync(),
    843     gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, G_TX_RENDERTILE, 0, G_TX_CLAMP, 6, G_TX_NOLOD, G_TX_CLAMP, 5, G_TX_NOLOD),
    844     gsDPSetTileSize(0, 0, 0, (32 - 1) << G_TEXTURE_IMAGE_FRAC, (64 - 1) << G_TEXTURE_IMAGE_FRAC),
    845     gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, door_seg3_texture_0300ED10),
    846     gsDPLoadSync(),
    847     gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 64 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)),
    848     gsSPDisplayList(door_seg3_dl_03014EF0),
    849     gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF),
    850     gsDPPipeSync(),
    851     gsDPSetCombineMode(G_CC_SHADE, G_CC_SHADE),
    852     gsSPLight(&door_seg3_lights_03009CF8.l, 1),
    853     gsSPLight(&door_seg3_lights_03009CF8.a, 2),
    854     gsSPBranchList(door_seg3_dl_03014F30),
    855 };
    856 
    857 // 0x03015158 - 0x030151C8
    858 const Gfx door_seg3_dl_03015158[] = {
    859     gsSPDisplayList(door_seg3_dl_03014F68),
    860     gsDPTileSync(),
    861     gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, G_TX_RENDERTILE, 0, G_TX_CLAMP, 6, G_TX_NOLOD, G_TX_CLAMP, 5, G_TX_NOLOD),
    862     gsDPSetTileSize(0, 0, 0, (32 - 1) << G_TEXTURE_IMAGE_FRAC, (64 - 1) << G_TEXTURE_IMAGE_FRAC),
    863     gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, door_seg3_texture_03010510),
    864     gsDPLoadSync(),
    865     gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 64 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)),
    866     gsSPDisplayList(door_seg3_dl_03014EF0),
    867     gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF),
    868     gsDPPipeSync(),
    869     gsDPSetCombineMode(G_CC_SHADE, G_CC_SHADE),
    870     gsSPLight(&door_seg3_lights_03009CF8.l, 1),
    871     gsSPLight(&door_seg3_lights_03009CF8.a, 2),
    872     gsSPBranchList(door_seg3_dl_03014F30),
    873 };