#include "pc/rom_assets.h" // 0x050003D8 ROM_ASSET_LOAD_ANIM(spindrift_seg5_animvalue_050003D8, 0x00160670, 20585, 0x000003d8, 544); // 0x050005F8 ROM_ASSET_LOAD_ANIM(spindrift_seg5_animindex_050005F8, 0x00160670, 20585, 0x000005f8, 180); // 0x050006AC static const struct Animation spindrift_seg5_anim_050006AC = { 0, 0, 0, 0, 0x13, ANIMINDEX_NUMPARTS(spindrift_seg5_animindex_050005F8), spindrift_seg5_animvalue_050003D8, spindrift_seg5_animindex_050005F8, 0, ANIM_FIELD_LENGTH(spindrift_seg5_animvalue_050003D8), ANIM_FIELD_LENGTH(spindrift_seg5_animindex_050005F8), }; // False Bin ID? UNUSED static const u64 spindrift_unused_1 = 1; // 0x050006D0 ROM_ASSET_LOAD_TEXTURE(spindrift_seg5_texture_050006D0, "actors/spindrift/spindrift_face.rgba16.inc.c", 0x00160670, 20585, 0x000006d0, 2048); // 0x05000ED0 ROM_ASSET_LOAD_TEXTURE(spindrift_seg5_texture_05000ED0, "actors/spindrift/spindrift_petal.rgba16.inc.c", 0x00160670, 20585, 0x00000ed0, 2048); // 0x050016D0 ROM_ASSET_LOAD_TEXTURE(spindrift_seg5_texture_050016D0, "actors/spindrift/spindrift_leaf.rgba16.inc.c", 0x00160670, 20585, 0x000016d0, 2048); // 0x05001ED0 ROM_ASSET_LOAD_TEXTURE(spindrift_seg5_texture_05001ED0, "actors/spindrift/spindrift_head.rgba16.inc.c", 0x00160670, 20585, 0x00001ed0, 2048); // 0x050026D0 ROM_ASSET_LOAD_VTX(spindrift_seg5_vertex_050026D0, 0x00160670, 20585, 0x000026d0, 64); // 0x05002710 - 0x05002748 const Gfx spindrift_seg5_dl_05002710[] = { gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, spindrift_seg5_texture_05001ED0), gsDPLoadSync(), gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), gsSPVertex(spindrift_seg5_vertex_050026D0, 4, 0), gsSP2Triangles( 0, 1, 2, 0x0, 0, 3, 1, 0x0), gsSPEndDisplayList(), }; // 0x05002748 - 0x050027B8 const Gfx spindrift_seg5_dl_05002748[] = { gsDPPipeSync(), gsDPSetCombineMode(G_CC_MODULATERGBA, G_CC_MODULATERGBA), gsSPClearGeometryMode(G_LIGHTING), 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_CLAMP, 5, G_TX_NOLOD, G_TX_CLAMP, 5, G_TX_NOLOD), gsDPSetTileSize(0, 0, 0, (32 - 1) << G_TEXTURE_IMAGE_FRAC, (32 - 1) << G_TEXTURE_IMAGE_FRAC), gsSPDisplayList(spindrift_seg5_dl_05002710), gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF), gsDPPipeSync(), gsDPSetCombineMode(G_CC_SHADE, G_CC_SHADE), gsSPSetGeometryMode(G_LIGHTING), gsSPEndDisplayList(), }; // 0x050027B8 ROM_ASSET_LOAD_VTX(spindrift_seg5_vertex_050027B8, 0x00160670, 20585, 0x000027b8, 64); // 0x050027F8 - 0x05002830 const Gfx spindrift_seg5_dl_050027F8[] = { gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, spindrift_seg5_texture_050006D0), gsDPLoadSync(), gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), gsSPVertex(spindrift_seg5_vertex_050027B8, 4, 0), gsSP2Triangles( 0, 1, 2, 0x0, 2, 1, 3, 0x0), gsSPEndDisplayList(), }; // 0x05002830 - 0x050028A0 const Gfx spindrift_seg5_dl_05002830[] = { gsDPPipeSync(), gsDPSetCombineMode(G_CC_MODULATERGBA, G_CC_MODULATERGBA), gsSPClearGeometryMode(G_LIGHTING), 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_CLAMP, 5, G_TX_NOLOD, G_TX_CLAMP, 5, G_TX_NOLOD), gsDPSetTileSize(0, 0, 0, (32 - 1) << G_TEXTURE_IMAGE_FRAC, (32 - 1) << G_TEXTURE_IMAGE_FRAC), gsSPDisplayList(spindrift_seg5_dl_050027F8), gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF), gsDPPipeSync(), gsDPSetCombineMode(G_CC_SHADE, G_CC_SHADE), gsSPSetGeometryMode(G_LIGHTING), gsSPEndDisplayList(), }; // 0x050028A0 ROM_ASSET_LOAD_VTX(spindrift_seg5_vertex_050028A0, 0x00160670, 20585, 0x000028a0, 48); // 0x050028D0 - 0x05002900 const Gfx spindrift_seg5_dl_050028D0[] = { gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, spindrift_seg5_texture_050006D0), gsDPLoadSync(), gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), gsSPVertex(spindrift_seg5_vertex_050028A0, 3, 0), gsSP1Triangle( 0, 1, 2, 0x0), gsSPEndDisplayList(), }; // 0x05002900 - 0x05002970 const Gfx spindrift_seg5_dl_05002900[] = { gsDPPipeSync(), gsDPSetCombineMode(G_CC_MODULATERGBA, G_CC_MODULATERGBA), gsSPClearGeometryMode(G_LIGHTING), 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_CLAMP, 5, G_TX_NOLOD, G_TX_CLAMP, 5, G_TX_NOLOD), gsDPSetTileSize(0, 0, 0, (32 - 1) << G_TEXTURE_IMAGE_FRAC, (32 - 1) << G_TEXTURE_IMAGE_FRAC), gsSPDisplayList(spindrift_seg5_dl_050028D0), gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF), gsDPPipeSync(), gsDPSetCombineMode(G_CC_SHADE, G_CC_SHADE), gsSPSetGeometryMode(G_LIGHTING), gsSPEndDisplayList(), }; // 0x05002970 static const Lights1 spindrift_seg5_lights_05002970 = gdSPDefLights1( 0x7f, 0x7f, 0x7f, 0xff, 0xff, 0xff, 0x28, 0x28, 0x28 ); // 0x05002988 ROM_ASSET_LOAD_VTX(spindrift_seg5_vertex_05002988, 0x00160670, 20585, 0x00002988, 64); // 0x050029C8 - 0x05002A20 const Gfx spindrift_seg5_dl_050029C8[] = { gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, spindrift_seg5_texture_050016D0), gsDPLoadSync(), gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), gsSPClearGeometryMode(G_CULL_BACK), gsSPLight(&spindrift_seg5_lights_05002970.l, 1), gsSPLight(&spindrift_seg5_lights_05002970.a, 2), gsSPVertex(spindrift_seg5_vertex_05002988, 4, 0), gsSP2Triangles( 0, 1, 2, 0x0, 0, 2, 3, 0x0), gsSPSetGeometryMode(G_CULL_BACK), gsSPEndDisplayList(), }; // 0x05002A20 - 0x05002A80 const Gfx spindrift_seg5_dl_05002A20[] = { gsDPPipeSync(), gsDPSetCombineMode(G_CC_MODULATERGBA, G_CC_MODULATERGBA), 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_CLAMP, 5, G_TX_NOLOD, G_TX_CLAMP, 5, G_TX_NOLOD), gsDPSetTileSize(0, 0, 0, (32 - 1) << G_TEXTURE_IMAGE_FRAC, (32 - 1) << G_TEXTURE_IMAGE_FRAC), gsSPDisplayList(spindrift_seg5_dl_050029C8), gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF), gsDPPipeSync(), gsDPSetCombineMode(G_CC_SHADE, G_CC_SHADE), gsSPEndDisplayList(), }; // 0x05002A80 static const Lights1 spindrift_seg5_lights_05002A80 = gdSPDefLights1( 0x7f, 0x7f, 0x7f, 0xff, 0xff, 0xff, 0x28, 0x28, 0x28 ); // 0x05002A98 ROM_ASSET_LOAD_VTX(spindrift_seg5_vertex_05002A98, 0x00160670, 20585, 0x00002a98, 64); // 0x05002AD8 - 0x05002B30 const Gfx spindrift_seg5_dl_05002AD8[] = { gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, spindrift_seg5_texture_050016D0), gsDPLoadSync(), gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), gsSPClearGeometryMode(G_CULL_BACK), gsSPLight(&spindrift_seg5_lights_05002A80.l, 1), gsSPLight(&spindrift_seg5_lights_05002A80.a, 2), gsSPVertex(spindrift_seg5_vertex_05002A98, 4, 0), gsSP2Triangles( 0, 1, 2, 0x0, 3, 0, 2, 0x0), gsSPSetGeometryMode(G_CULL_BACK), gsSPEndDisplayList(), }; // 0x05002B30 - 0x05002B90 const Gfx spindrift_seg5_dl_05002B30[] = { gsDPPipeSync(), gsDPSetCombineMode(G_CC_MODULATERGBA, G_CC_MODULATERGBA), 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_CLAMP, 5, G_TX_NOLOD, G_TX_CLAMP, 5, G_TX_NOLOD), gsDPSetTileSize(0, 0, 0, (32 - 1) << G_TEXTURE_IMAGE_FRAC, (32 - 1) << G_TEXTURE_IMAGE_FRAC), gsSPDisplayList(spindrift_seg5_dl_05002AD8), gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF), gsDPPipeSync(), gsDPSetCombineMode(G_CC_SHADE, G_CC_SHADE), gsSPEndDisplayList(), }; // 0x05002B90 static const Lights1 spindrift_seg5_lights_05002B90 = gdSPDefLights1( 0x7f, 0x7f, 0x7f, 0xff, 0xff, 0xff, 0x28, 0x28, 0x28 ); // 0x05002BA8 ROM_ASSET_LOAD_VTX(spindrift_seg5_vertex_05002BA8, 0x00160670, 20585, 0x00002ba8, 240); // 0x05002C98 - 0x05002D08 const Gfx spindrift_seg5_dl_05002C98[] = { gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, spindrift_seg5_texture_05000ED0), gsDPLoadSync(), gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), gsSPClearGeometryMode(G_CULL_BACK), gsSPLight(&spindrift_seg5_lights_05002B90.l, 1), gsSPLight(&spindrift_seg5_lights_05002B90.a, 2), gsSPVertex(spindrift_seg5_vertex_05002BA8, 15, 0), gsSP2Triangles( 0, 1, 2, 0x0, 3, 4, 5, 0x0), gsSP2Triangles( 6, 7, 8, 0x0, 9, 10, 11, 0x0), gsSP1Triangle(12, 13, 14, 0x0), gsSPSetGeometryMode(G_CULL_BACK), gsSPEndDisplayList(), }; // 0x05002D08 - 0x05002D68 const Gfx spindrift_seg5_dl_05002D08[] = { gsDPPipeSync(), gsDPSetCombineMode(G_CC_MODULATERGBA, G_CC_MODULATERGBA), 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_CLAMP, 5, G_TX_NOLOD, G_TX_CLAMP, 5, G_TX_NOLOD), gsDPSetTileSize(0, 0, 0, (32 - 1) << G_TEXTURE_IMAGE_FRAC, (32 - 1) << G_TEXTURE_IMAGE_FRAC), gsSPDisplayList(spindrift_seg5_dl_05002C98), gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF), gsDPPipeSync(), gsDPSetCombineMode(G_CC_SHADE, G_CC_SHADE), gsSPEndDisplayList(), }; // unlike the other anim lists, this one is way after the actual anim entry. why?