sm64coopdx/levels/castle_inside/areas/1/8/model.inc.c
Isaac0-dev 663e4549d8
extract assets from rom at runtime (#4)
* Proof of concept for loading rom assets at runtime

* Added skybox textures

* Adjusted format

* Load all texture assets from rom

* Adjusted rom asset loading

* Load all Vtx lists from rom

* clean up toad, wario and his cap conflicts

* Load sound samples from rom

* fix toad sounds

* Loaded sequences from rom

* Load collisions from rom

* Object animations are now loaded from the rom

* Load player animations from rom

* Load goddard anims from rom

* whoops

* fix some compile errors

* drag and drop rom checker, everything works now.

* fix errors due to merge conflicts

* fix compile errors on windows, switch to md5

* fix vertex colors during load

Co-Authored-By: Agent X <44549182+agent-11@users.noreply.github.com>

* Load dialogs from rom

* Loaded course/act names from rom

* Loaded ingame text from rom

* rerun autogen & blacklist smlua_text_utils_init

* fix ttc_seg7_vertex_0700B238 colors

---------

Co-authored-by: MysterD <myster@d>
Co-authored-by: Agent X <44549182+agent-11@users.noreply.github.com>
2024-03-23 16:11:30 -04:00

442 lines
20 KiB
C

#include "pc/rom_assets.h"
// 0x0702AB90 - 0x0702ABA8
static const Lights1 inside_castle_seg7_lights_0702AB90 = gdSPDefLights1(
0x46, 0x46, 0x46,
0xbb, 0xbb, 0xbb, 0x28, 0x28, 0x28
);
// 0x0702ABA8 - 0x0702ABC0
static const Lights1 inside_castle_seg7_lights_0702ABA8 = gdSPDefLights1(
0x5f, 0x5f, 0x5f,
0xff, 0xff, 0xff, 0x28, 0x28, 0x28
);
// 0x0702ABC0 - 0x0702ACB0
ROM_ASSET_LOAD_VTX(inside_castle_seg7_vertex_0702ABC0, 0x00396340, 232834, 0x0002abc0, 240);
// 0x0702ACB0 - 0x0702ADA0
ROM_ASSET_LOAD_VTX(inside_castle_seg7_vertex_0702ACB0, 0x00396340, 232834, 0x0002acb0, 240);
// 0x0702ADA0 - 0x0702AE90
ROM_ASSET_LOAD_VTX(inside_castle_seg7_vertex_0702ADA0, 0x00396340, 232834, 0x0002ada0, 240);
// 0x0702AE90 - 0x0702AF80
ROM_ASSET_LOAD_VTX(inside_castle_seg7_vertex_0702AE90, 0x00396340, 232834, 0x0002ae90, 240);
// 0x0702AF80 - 0x0702B070
ROM_ASSET_LOAD_VTX(inside_castle_seg7_vertex_0702AF80, 0x00396340, 232834, 0x0002af80, 240);
// 0x0702B070 - 0x0702B160
ROM_ASSET_LOAD_VTX(inside_castle_seg7_vertex_0702B070, 0x00396340, 232834, 0x0002b070, 240);
// 0x0702B160 - 0x0702B250
ROM_ASSET_LOAD_VTX(inside_castle_seg7_vertex_0702B160, 0x00396340, 232834, 0x0002b160, 240);
// 0x0702B250 - 0x0702B340
ROM_ASSET_LOAD_VTX(inside_castle_seg7_vertex_0702B250, 0x00396340, 232834, 0x0002b250, 240);
// 0x0702B340 - 0x0702B430
ROM_ASSET_LOAD_VTX(inside_castle_seg7_vertex_0702B340, 0x00396340, 232834, 0x0002b340, 240);
// 0x0702B430 - 0x0702B520
ROM_ASSET_LOAD_VTX(inside_castle_seg7_vertex_0702B430, 0x00396340, 232834, 0x0002b430, 240);
// 0x0702B520 - 0x0702B5E0
ROM_ASSET_LOAD_VTX(inside_castle_seg7_vertex_0702B520, 0x00396340, 232834, 0x0002b520, 192);
// 0x0702B5E0 - 0x0702B6D0
ROM_ASSET_LOAD_VTX(inside_castle_seg7_vertex_0702B5E0, 0x00396340, 232834, 0x0002b5e0, 240);
// 0x0702B6D0 - 0x0702B7C0
ROM_ASSET_LOAD_VTX(inside_castle_seg7_vertex_0702B6D0, 0x00396340, 232834, 0x0002b6d0, 240);
// 0x0702B7C0 - 0x0702B8C0
ROM_ASSET_LOAD_VTX(inside_castle_seg7_vertex_0702B7C0, 0x00396340, 232834, 0x0002b7c0, 256);
// 0x0702B8C0 - 0x0702B9B0
ROM_ASSET_LOAD_VTX(inside_castle_seg7_vertex_0702B8C0, 0x00396340, 232834, 0x0002b8c0, 240);
// 0x0702B9B0 - 0x0702BA90
ROM_ASSET_LOAD_VTX(inside_castle_seg7_vertex_0702B9B0, 0x00396340, 232834, 0x0002b9b0, 224);
// 0x0702BA90 - 0x0702BB80
ROM_ASSET_LOAD_VTX(inside_castle_seg7_vertex_0702BA90, 0x00396340, 232834, 0x0002ba90, 240);
// 0x0702BB80 - 0x0702BC70
ROM_ASSET_LOAD_VTX(inside_castle_seg7_vertex_0702BB80, 0x00396340, 232834, 0x0002bb80, 240);
// 0x0702BC70 - 0x0702BD60
ROM_ASSET_LOAD_VTX(inside_castle_seg7_vertex_0702BC70, 0x00396340, 232834, 0x0002bc70, 240);
// 0x0702BD60 - 0x0702BE50
ROM_ASSET_LOAD_VTX(inside_castle_seg7_vertex_0702BD60, 0x00396340, 232834, 0x0002bd60, 240);
// 0x0702BE50 - 0x0702BF40
ROM_ASSET_LOAD_VTX(inside_castle_seg7_vertex_0702BE50, 0x00396340, 232834, 0x0002be50, 240);
// 0x0702BF40 - 0x0702C020
ROM_ASSET_LOAD_VTX(inside_castle_seg7_vertex_0702BF40, 0x00396340, 232834, 0x0002bf40, 224);
// 0x0702C020 - 0x0702C110
ROM_ASSET_LOAD_VTX(inside_castle_seg7_vertex_0702C020, 0x00396340, 232834, 0x0002c020, 240);
// 0x0702C110 - 0x0702C200
ROM_ASSET_LOAD_VTX(inside_castle_seg7_vertex_0702C110, 0x00396340, 232834, 0x0002c110, 240);
// 0x0702C200 - 0x0702C2F0
ROM_ASSET_LOAD_VTX(inside_castle_seg7_vertex_0702C200, 0x00396340, 232834, 0x0002c200, 240);
// 0x0702C2F0 - 0x0702C3E0
ROM_ASSET_LOAD_VTX(inside_castle_seg7_vertex_0702C2F0, 0x00396340, 232834, 0x0002c2f0, 240);
// 0x0702C3E0 - 0x0702C430
ROM_ASSET_LOAD_VTX(inside_castle_seg7_vertex_0702C3E0, 0x00396340, 232834, 0x0002c3e0, 80);
// 0x0702C430 - 0x0702C490
ROM_ASSET_LOAD_VTX(inside_castle_seg7_vertex_0702C430, 0x00396340, 232834, 0x0002c430, 96);
// 0x0702C490 - 0x0702C570
ROM_ASSET_LOAD_VTX(inside_castle_seg7_vertex_0702C490, 0x00396340, 232834, 0x0002c490, 224);
// 0x0702C570 - 0x0702C670
ROM_ASSET_LOAD_VTX(inside_castle_seg7_vertex_0702C570, 0x00396340, 232834, 0x0002c570, 256);
// 0x0702C670 - 0x0702C770
ROM_ASSET_LOAD_VTX(inside_castle_seg7_vertex_0702C670, 0x00396340, 232834, 0x0002c670, 256);
// 0x0702C770 - 0x0702C850
ROM_ASSET_LOAD_VTX(inside_castle_seg7_vertex_0702C770, 0x00396340, 232834, 0x0002c770, 224);
// 0x0702C850 - 0x0702C950
ROM_ASSET_LOAD_VTX(inside_castle_seg7_vertex_0702C850, 0x00396340, 232834, 0x0002c850, 256);
// 0x0702C950 - 0x0702CA30
ROM_ASSET_LOAD_VTX(inside_castle_seg7_vertex_0702C950, 0x00396340, 232834, 0x0002c950, 224);
// 0x0702CA30 - 0x0702CB30
ROM_ASSET_LOAD_VTX(inside_castle_seg7_vertex_0702CA30, 0x00396340, 232834, 0x0002ca30, 256);
// 0x0702CB30 - 0x0702CC10
ROM_ASSET_LOAD_VTX(inside_castle_seg7_vertex_0702CB30, 0x00396340, 232834, 0x0002cb30, 224);
// 0x0702CC10 - 0x0702CD00
ROM_ASSET_LOAD_VTX(inside_castle_seg7_vertex_0702CC10, 0x00396340, 232834, 0x0002cc10, 240);
// 0x0702CD00 - 0x0702CE00
ROM_ASSET_LOAD_VTX(inside_castle_seg7_vertex_0702CD00, 0x00396340, 232834, 0x0002cd00, 256);
// 0x0702CE00 - 0x0702CF00
ROM_ASSET_LOAD_VTX(inside_castle_seg7_vertex_0702CE00, 0x00396340, 232834, 0x0002ce00, 256);
// 0x0702CF00 - 0x0702D000
ROM_ASSET_LOAD_VTX(inside_castle_seg7_vertex_0702CF00, 0x00396340, 232834, 0x0002cf00, 256);
// 0x0702D000 - 0x0702D0E0
ROM_ASSET_LOAD_VTX(inside_castle_seg7_vertex_0702D000, 0x00396340, 232834, 0x0002d000, 224);
// 0x0702D0E0 - 0x0702D1C0
ROM_ASSET_LOAD_VTX(inside_castle_seg7_vertex_0702D0E0, 0x00396340, 232834, 0x0002d0e0, 224);
// 0x0702D1C0 - 0x0702D2C0
ROM_ASSET_LOAD_VTX(inside_castle_seg7_vertex_0702D1C0, 0x00396340, 232834, 0x0002d1c0, 256);
// 0x0702D2C0 - 0x0702D3A0
ROM_ASSET_LOAD_VTX(inside_castle_seg7_vertex_0702D2C0, 0x00396340, 232834, 0x0002d2c0, 224);
// 0x0702D3A0 - 0x0702D480
ROM_ASSET_LOAD_VTX(inside_castle_seg7_vertex_0702D3A0, 0x00396340, 232834, 0x0002d3a0, 224);
// 0x0702D480 - 0x0702D570
ROM_ASSET_LOAD_VTX(inside_castle_seg7_vertex_0702D480, 0x00396340, 232834, 0x0002d480, 240);
// 0x0702D570 - 0x0702D670
ROM_ASSET_LOAD_VTX(inside_castle_seg7_vertex_0702D570, 0x00396340, 232834, 0x0002d570, 256);
// 0x0702D670 - 0x0702D770
ROM_ASSET_LOAD_VTX(inside_castle_seg7_vertex_0702D670, 0x00396340, 232834, 0x0002d670, 256);
// 0x0702D770 - 0x0702DE40
static const Gfx inside_castle_seg7_dl_0702D770[] = {
gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, inside_09005000),
gsDPLoadSync(),
gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)),
gsSPLight(&inside_castle_seg7_lights_0702AB90.l, 1),
gsSPLight(&inside_castle_seg7_lights_0702AB90.a, 2),
gsSPVertex(inside_castle_seg7_vertex_0702ABC0, 15, 0),
gsSP2Triangles( 0, 1, 2, 0x0, 3, 4, 5, 0x0),
gsSP2Triangles( 3, 6, 4, 0x0, 7, 8, 9, 0x0),
gsSP2Triangles( 7, 10, 8, 0x0, 11, 12, 13, 0x0),
gsSP1Triangle(11, 13, 14, 0x0),
gsSPVertex(inside_castle_seg7_vertex_0702ACB0, 15, 0),
gsSP2Triangles( 0, 1, 2, 0x0, 3, 4, 5, 0x0),
gsSP2Triangles( 6, 7, 8, 0x0, 6, 8, 9, 0x0),
gsSP2Triangles(10, 11, 12, 0x0, 10, 12, 13, 0x0),
gsSP1Triangle( 0, 14, 1, 0x0),
gsSPVertex(inside_castle_seg7_vertex_0702ADA0, 15, 0),
gsSP2Triangles( 0, 1, 2, 0x0, 3, 4, 5, 0x0),
gsSP2Triangles( 3, 6, 4, 0x0, 7, 8, 9, 0x0),
gsSP2Triangles( 7, 10, 8, 0x0, 11, 12, 13, 0x0),
gsSP1Triangle(11, 13, 14, 0x0),
gsSPVertex(inside_castle_seg7_vertex_0702AE90, 15, 0),
gsSP2Triangles( 0, 1, 2, 0x0, 3, 4, 5, 0x0),
gsSP2Triangles( 6, 7, 8, 0x0, 6, 8, 9, 0x0),
gsSP2Triangles(10, 11, 12, 0x0, 10, 13, 11, 0x0),
gsSP1Triangle( 0, 2, 14, 0x0),
gsSPVertex(inside_castle_seg7_vertex_0702AF80, 15, 0),
gsSP2Triangles( 0, 1, 2, 0x0, 3, 4, 5, 0x0),
gsSP2Triangles( 3, 6, 4, 0x0, 7, 8, 9, 0x0),
gsSP2Triangles( 7, 10, 8, 0x0, 11, 12, 13, 0x0),
gsSP1Triangle(11, 14, 12, 0x0),
gsSPVertex(inside_castle_seg7_vertex_0702B070, 15, 0),
gsSP2Triangles( 0, 1, 2, 0x0, 3, 4, 5, 0x0),
gsSP2Triangles( 6, 7, 8, 0x0, 6, 9, 7, 0x0),
gsSP2Triangles(10, 11, 12, 0x0, 10, 12, 13, 0x0),
gsSP1Triangle( 0, 2, 14, 0x0),
gsSPVertex(inside_castle_seg7_vertex_0702B160, 15, 0),
gsSP2Triangles( 0, 1, 2, 0x0, 3, 4, 5, 0x0),
gsSP2Triangles( 3, 6, 4, 0x0, 7, 8, 9, 0x0),
gsSP2Triangles( 7, 10, 8, 0x0, 11, 12, 13, 0x0),
gsSP1Triangle(11, 14, 12, 0x0),
gsSPVertex(inside_castle_seg7_vertex_0702B250, 15, 0),
gsSP2Triangles( 0, 1, 2, 0x0, 3, 4, 5, 0x0),
gsSP2Triangles( 6, 7, 8, 0x0, 6, 8, 9, 0x0),
gsSP2Triangles(10, 11, 12, 0x0, 10, 13, 11, 0x0),
gsSP1Triangle( 0, 14, 1, 0x0),
gsSPVertex(inside_castle_seg7_vertex_0702B340, 15, 0),
gsSP2Triangles( 0, 1, 2, 0x0, 3, 4, 5, 0x0),
gsSP2Triangles( 3, 6, 4, 0x0, 7, 8, 9, 0x0),
gsSP2Triangles( 7, 10, 8, 0x0, 11, 12, 13, 0x0),
gsSP1Triangle(11, 13, 14, 0x0),
gsSPVertex(inside_castle_seg7_vertex_0702B430, 15, 0),
gsSP2Triangles( 0, 1, 2, 0x0, 3, 4, 5, 0x0),
gsSP2Triangles( 6, 7, 8, 0x0, 6, 8, 9, 0x0),
gsSP2Triangles(10, 11, 12, 0x0, 10, 13, 11, 0x0),
gsSP1Triangle( 0, 2, 14, 0x0),
gsSPVertex(inside_castle_seg7_vertex_0702B520, 12, 0),
gsSP2Triangles( 0, 1, 2, 0x0, 0, 2, 3, 0x0),
gsSP2Triangles( 4, 5, 6, 0x0, 4, 7, 5, 0x0),
gsSP2Triangles( 8, 9, 10, 0x0, 8, 11, 9, 0x0),
gsSPLight(&inside_castle_seg7_lights_0702ABA8.l, 1),
gsSPLight(&inside_castle_seg7_lights_0702ABA8.a, 2),
gsSPVertex(inside_castle_seg7_vertex_0702B5E0, 15, 0),
gsSP2Triangles( 0, 1, 2, 0x0, 3, 4, 5, 0x0),
gsSP2Triangles( 3, 5, 6, 0x0, 7, 8, 9, 0x0),
gsSP2Triangles( 7, 9, 10, 0x0, 11, 12, 13, 0x0),
gsSP1Triangle(11, 14, 12, 0x0),
gsSPVertex(inside_castle_seg7_vertex_0702B6D0, 15, 0),
gsSP2Triangles( 0, 1, 2, 0x0, 3, 4, 5, 0x0),
gsSP2Triangles( 6, 7, 8, 0x0, 6, 8, 9, 0x0),
gsSP2Triangles(10, 11, 12, 0x0, 10, 12, 13, 0x0),
gsSP1Triangle( 0, 14, 1, 0x0),
gsSPVertex(inside_castle_seg7_vertex_0702B7C0, 16, 0),
gsSP2Triangles( 0, 1, 2, 0x0, 3, 4, 5, 0x0),
gsSP2Triangles( 3, 6, 7, 0x0, 3, 7, 4, 0x0),
gsSP2Triangles( 8, 9, 10, 0x0, 8, 10, 11, 0x0),
gsSP2Triangles( 0, 12, 1, 0x0, 13, 14, 15, 0x0),
gsSPVertex(inside_castle_seg7_vertex_0702B8C0, 15, 0),
gsSP2Triangles( 0, 1, 2, 0x0, 0, 3, 1, 0x0),
gsSP2Triangles( 4, 5, 6, 0x0, 4, 6, 7, 0x0),
gsSP2Triangles( 8, 9, 10, 0x0, 8, 11, 9, 0x0),
gsSP1Triangle(12, 13, 14, 0x0),
gsSPVertex(inside_castle_seg7_vertex_0702B9B0, 14, 0),
gsSP2Triangles( 0, 1, 2, 0x0, 3, 4, 5, 0x0),
gsSP2Triangles( 3, 5, 6, 0x0, 7, 8, 9, 0x0),
gsSP2Triangles( 7, 9, 10, 0x0, 11, 12, 13, 0x0),
gsSPVertex(inside_castle_seg7_vertex_0702BA90, 15, 0),
gsSP2Triangles( 0, 1, 2, 0x0, 3, 4, 5, 0x0),
gsSP2Triangles( 3, 5, 6, 0x0, 7, 8, 9, 0x0),
gsSP2Triangles( 7, 9, 10, 0x0, 11, 12, 13, 0x0),
gsSP1Triangle(11, 14, 12, 0x0),
gsSPVertex(inside_castle_seg7_vertex_0702BB80, 15, 0),
gsSP2Triangles( 0, 1, 2, 0x0, 3, 4, 5, 0x0),
gsSP2Triangles( 6, 7, 8, 0x0, 6, 8, 9, 0x0),
gsSP2Triangles(10, 11, 12, 0x0, 10, 13, 11, 0x0),
gsSP1Triangle( 0, 14, 1, 0x0),
gsSPVertex(inside_castle_seg7_vertex_0702BC70, 15, 0),
gsSP2Triangles( 0, 1, 2, 0x0, 3, 4, 5, 0x0),
gsSP2Triangles( 3, 5, 6, 0x0, 7, 8, 9, 0x0),
gsSP2Triangles( 7, 9, 10, 0x0, 11, 12, 13, 0x0),
gsSP1Triangle(11, 14, 12, 0x0),
gsSPVertex(inside_castle_seg7_vertex_0702BD60, 15, 0),
gsSP2Triangles( 0, 1, 2, 0x0, 3, 4, 5, 0x0),
gsSP2Triangles( 6, 7, 8, 0x0, 6, 9, 7, 0x0),
gsSP2Triangles(10, 11, 12, 0x0, 10, 13, 11, 0x0),
gsSP1Triangle( 0, 2, 14, 0x0),
gsSPVertex(inside_castle_seg7_vertex_0702BE50, 15, 0),
gsSP2Triangles( 0, 1, 2, 0x0, 3, 4, 5, 0x0),
gsSP2Triangles( 3, 5, 6, 0x0, 7, 8, 9, 0x0),
gsSP2Triangles( 7, 10, 8, 0x0, 11, 12, 13, 0x0),
gsSP1Triangle(11, 13, 14, 0x0),
gsSPVertex(inside_castle_seg7_vertex_0702BF40, 14, 0),
gsSP2Triangles( 0, 1, 2, 0x0, 3, 4, 5, 0x0),
gsSP2Triangles( 6, 7, 8, 0x0, 6, 8, 9, 0x0),
gsSP2Triangles(10, 11, 12, 0x0, 10, 13, 11, 0x0),
gsSPVertex(inside_castle_seg7_vertex_0702C020, 15, 0),
gsSP2Triangles( 0, 1, 2, 0x0, 3, 4, 5, 0x0),
gsSP2Triangles( 0, 6, 1, 0x0, 7, 8, 9, 0x0),
gsSP2Triangles( 7, 9, 10, 0x0, 11, 12, 13, 0x0),
gsSP1Triangle(11, 14, 12, 0x0),
gsSPVertex(inside_castle_seg7_vertex_0702C110, 15, 0),
gsSP2Triangles( 0, 1, 2, 0x0, 0, 2, 3, 0x0),
gsSP2Triangles( 4, 5, 6, 0x0, 4, 6, 7, 0x0),
gsSP2Triangles( 8, 9, 10, 0x0, 11, 12, 13, 0x0),
gsSP1Triangle(11, 13, 14, 0x0),
gsSPVertex(inside_castle_seg7_vertex_0702C200, 15, 0),
gsSP2Triangles( 0, 1, 2, 0x0, 0, 3, 1, 0x0),
gsSP2Triangles( 4, 5, 6, 0x0, 4, 6, 7, 0x0),
gsSP2Triangles( 8, 9, 10, 0x0, 8, 10, 11, 0x0),
gsSP1Triangle(12, 13, 14, 0x0),
gsSPVertex(inside_castle_seg7_vertex_0702C2F0, 15, 0),
gsSP2Triangles( 0, 1, 2, 0x0, 3, 4, 5, 0x0),
gsSP2Triangles( 3, 6, 4, 0x0, 7, 8, 9, 0x0),
gsSP2Triangles( 8, 10, 9, 0x0, 11, 12, 13, 0x0),
gsSP1Triangle(12, 14, 13, 0x0),
gsSPVertex(inside_castle_seg7_vertex_0702C3E0, 5, 0),
gsSP2Triangles( 0, 1, 2, 0x0, 1, 3, 4, 0x0),
gsSP1Triangle( 1, 4, 2, 0x0),
gsSPEndDisplayList(),
};
// 0x0702DE40 - 0x0702DE88
static const Gfx inside_castle_seg7_dl_0702DE40[] = {
gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, inside_0900B000),
gsDPLoadSync(),
gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)),
gsSPVertex(inside_castle_seg7_vertex_0702C430, 6, 0),
gsSP2Triangles( 0, 1, 2, 0x0, 1, 3, 2, 0x0),
gsSP2Triangles( 0, 2, 4, 0x0, 0, 4, 5, 0x0),
gsSPEndDisplayList(),
};
// 0x0702DE88 - 0x0702DF38
static const Gfx inside_castle_seg7_dl_0702DE88[] = {
gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, inside_09004000),
gsDPLoadSync(),
gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)),
gsSPVertex(inside_castle_seg7_vertex_0702C490, 14, 0),
gsSP2Triangles( 0, 1, 2, 0x0, 1, 3, 2, 0x0),
gsSP2Triangles( 0, 2, 4, 0x0, 5, 6, 7, 0x0),
gsSP2Triangles( 6, 8, 9, 0x0, 6, 9, 7, 0x0),
gsSP2Triangles(10, 11, 12, 0x0, 10, 12, 13, 0x0),
gsSPVertex(inside_castle_seg7_vertex_0702C570, 16, 0),
gsSP2Triangles( 0, 1, 2, 0x0, 3, 4, 5, 0x0),
gsSP2Triangles( 3, 5, 6, 0x0, 7, 8, 9, 0x0),
gsSP2Triangles( 7, 9, 10, 0x0, 11, 12, 13, 0x0),
gsSP2Triangles(11, 14, 12, 0x0, 0, 15, 1, 0x0),
gsSPEndDisplayList(),
};
// 0x0702DF38 - 0x0702E408
static const Gfx inside_castle_seg7_dl_0702DF38[] = {
gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, inside_09003000),
gsDPLoadSync(),
gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)),
gsSPVertex(inside_castle_seg7_vertex_0702C670, 16, 0),
gsSP2Triangles( 0, 1, 2, 0x0, 3, 4, 5, 0x0),
gsSP2Triangles( 6, 7, 8, 0x0, 3, 5, 9, 0x0),
gsSP2Triangles( 4, 10, 11, 0x0, 7, 12, 8, 0x0),
gsSP2Triangles(13, 14, 2, 0x0, 13, 2, 15, 0x0),
gsSPVertex(inside_castle_seg7_vertex_0702C770, 14, 0),
gsSP2Triangles( 0, 1, 2, 0x0, 0, 3, 1, 0x0),
gsSP2Triangles( 4, 5, 6, 0x0, 6, 7, 8, 0x0),
gsSP2Triangles( 9, 10, 11, 0x0, 11, 12, 13, 0x0),
gsSPVertex(inside_castle_seg7_vertex_0702C850, 16, 0),
gsSP2Triangles( 0, 1, 2, 0x0, 0, 3, 1, 0x0),
gsSP2Triangles( 4, 5, 6, 0x0, 4, 6, 7, 0x0),
gsSP2Triangles( 8, 9, 10, 0x0, 8, 11, 9, 0x0),
gsSP2Triangles(12, 13, 14, 0x0, 12, 14, 15, 0x0),
gsSPVertex(inside_castle_seg7_vertex_0702C950, 14, 0),
gsSP2Triangles( 0, 1, 2, 0x0, 1, 3, 2, 0x0),
gsSP2Triangles( 1, 4, 3, 0x0, 1, 5, 4, 0x0),
gsSP2Triangles( 0, 2, 6, 0x0, 0, 6, 7, 0x0),
gsSP2Triangles( 0, 7, 8, 0x0, 9, 0, 8, 0x0),
gsSP2Triangles(10, 11, 12, 0x0, 10, 12, 13, 0x0),
gsSPVertex(inside_castle_seg7_vertex_0702CA30, 16, 0),
gsSP2Triangles( 0, 1, 2, 0x0, 0, 2, 3, 0x0),
gsSP2Triangles( 4, 5, 6, 0x0, 5, 7, 6, 0x0),
gsSP2Triangles( 8, 9, 10, 0x0, 8, 11, 9, 0x0),
gsSP2Triangles(12, 13, 14, 0x0, 12, 14, 15, 0x0),
gsSPVertex(inside_castle_seg7_vertex_0702CB30, 14, 0),
gsSP2Triangles( 0, 1, 2, 0x0, 3, 2, 1, 0x0),
gsSP2Triangles( 3, 4, 2, 0x0, 4, 3, 5, 0x0),
gsSP2Triangles( 6, 7, 8, 0x0, 6, 9, 7, 0x0),
gsSP2Triangles(10, 11, 12, 0x0, 10, 12, 13, 0x0),
gsSPVertex(inside_castle_seg7_vertex_0702CC10, 15, 0),
gsSP2Triangles( 0, 1, 2, 0x0, 3, 4, 5, 0x0),
gsSP2Triangles( 3, 5, 6, 0x0, 7, 8, 9, 0x0),
gsSP2Triangles( 8, 10, 9, 0x0, 11, 12, 13, 0x0),
gsSP1Triangle(14, 11, 13, 0x0),
gsSPVertex(inside_castle_seg7_vertex_0702CD00, 16, 0),
gsSP2Triangles( 0, 1, 2, 0x0, 3, 4, 5, 0x0),
gsSP2Triangles( 6, 7, 8, 0x0, 6, 9, 7, 0x0),
gsSP2Triangles(10, 11, 12, 0x0, 13, 14, 15, 0x0),
gsSPVertex(inside_castle_seg7_vertex_0702CE00, 16, 0),
gsSP2Triangles( 0, 1, 2, 0x0, 3, 0, 2, 0x0),
gsSP2Triangles( 4, 5, 6, 0x0, 7, 3, 8, 0x0),
gsSP2Triangles( 9, 10, 11, 0x0, 10, 12, 11, 0x0),
gsSP1Triangle(13, 14, 15, 0x0),
gsSPVertex(inside_castle_seg7_vertex_0702CF00, 16, 0),
gsSP2Triangles( 0, 1, 2, 0x0, 3, 4, 5, 0x0),
gsSP2Triangles( 6, 2, 7, 0x0, 8, 9, 10, 0x0),
gsSP2Triangles( 8, 11, 9, 0x0, 12, 13, 14, 0x0),
gsSP1Triangle(12, 15, 13, 0x0),
gsSPVertex(inside_castle_seg7_vertex_0702D000, 14, 0),
gsSP2Triangles( 0, 1, 2, 0x0, 3, 4, 5, 0x0),
gsSP2Triangles( 6, 7, 8, 0x0, 6, 8, 9, 0x0),
gsSP2Triangles(10, 11, 12, 0x0, 10, 13, 11, 0x0),
gsSPVertex(inside_castle_seg7_vertex_0702D0E0, 14, 0),
gsSP2Triangles( 0, 1, 2, 0x0, 0, 2, 3, 0x0),
gsSP2Triangles( 4, 5, 6, 0x0, 7, 8, 9, 0x0),
gsSP2Triangles(10, 11, 12, 0x0, 10, 12, 13, 0x0),
gsSPVertex(inside_castle_seg7_vertex_0702D1C0, 16, 0),
gsSP2Triangles( 0, 1, 2, 0x0, 0, 2, 3, 0x0),
gsSP2Triangles( 4, 5, 6, 0x0, 7, 8, 9, 0x0),
gsSP2Triangles( 7, 10, 8, 0x0, 7, 11, 10, 0x0),
gsSP2Triangles(10, 12, 13, 0x0, 10, 13, 8, 0x0),
gsSP2Triangles(12, 14, 13, 0x0, 12, 15, 14, 0x0),
gsSPVertex(inside_castle_seg7_vertex_0702D2C0, 14, 0),
gsSP2Triangles( 0, 1, 2, 0x0, 3, 4, 5, 0x0),
gsSP2Triangles( 6, 3, 5, 0x0, 7, 8, 9, 0x0),
gsSP2Triangles(10, 11, 12, 0x0, 10, 12, 13, 0x0),
gsSPVertex(inside_castle_seg7_vertex_0702D3A0, 14, 0),
gsSP2Triangles( 0, 1, 2, 0x0, 0, 3, 1, 0x0),
gsSP2Triangles( 4, 5, 6, 0x0, 4, 6, 7, 0x0),
gsSP2Triangles( 8, 9, 10, 0x0, 11, 12, 13, 0x0),
gsSPVertex(inside_castle_seg7_vertex_0702D480, 15, 0),
gsSP2Triangles( 0, 1, 2, 0x0, 0, 3, 1, 0x0),
gsSP2Triangles( 4, 5, 6, 0x0, 4, 6, 7, 0x0),
gsSP2Triangles( 8, 9, 10, 0x0, 8, 10, 11, 0x0),
gsSP1Triangle(12, 13, 14, 0x0),
gsSPVertex(inside_castle_seg7_vertex_0702D570, 16, 0),
gsSP2Triangles( 0, 1, 2, 0x0, 0, 3, 1, 0x0),
gsSP2Triangles( 4, 5, 6, 0x0, 4, 6, 7, 0x0),
gsSP2Triangles( 8, 9, 10, 0x0, 8, 10, 11, 0x0),
gsSP2Triangles(12, 13, 14, 0x0, 12, 14, 15, 0x0),
gsSPVertex(inside_castle_seg7_vertex_0702D670, 16, 0),
gsSP2Triangles( 0, 1, 2, 0x0, 0, 2, 3, 0x0),
gsSP2Triangles( 4, 5, 6, 0x0, 4, 7, 5, 0x0),
gsSP2Triangles( 8, 9, 10, 0x0, 8, 11, 9, 0x0),
gsSP2Triangles(12, 13, 14, 0x0, 12, 15, 13, 0x0),
gsSPEndDisplayList(),
};
// 0x0702E408 - 0x0702E490
const Gfx inside_castle_seg7_dl_0702E408[] = {
gsDPPipeSync(),
gsDPSetCombineMode(G_CC_MODULATERGB, G_CC_MODULATERGB),
gsSPClearGeometryMode(G_SHADING_SMOOTH),
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),
gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_ON),
gsDPTileSync(),
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),
gsDPSetTileSize(0, 0, 0, (32 - 1) << G_TEXTURE_IMAGE_FRAC, (32 - 1) << G_TEXTURE_IMAGE_FRAC),
gsSPDisplayList(inside_castle_seg7_dl_0702D770),
gsSPDisplayList(inside_castle_seg7_dl_0702DE40),
gsSPDisplayList(inside_castle_seg7_dl_0702DE88),
gsSPDisplayList(inside_castle_seg7_dl_0702DF38),
gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF),
gsDPPipeSync(),
gsDPSetCombineMode(G_CC_SHADE, G_CC_SHADE),
gsSPSetGeometryMode(G_SHADING_SMOOTH),
gsSPEndDisplayList(),
};