mirror of
https://github.com/coop-deluxe/sm64coopdx.git
synced 2024-11-27 14:33:01 +00:00
220 lines
13 KiB
C
220 lines
13 KiB
C
// Water Bubble
|
|
|
|
// 0x0500FE68
|
|
static const Lights1 water_bubble_seg5_lights_0500FE68 = gdSPDefLights1(
|
|
0xbf, 0xbf, 0xbf,
|
|
0xff, 0xff, 0xff, 0x28, 0x28, 0x28
|
|
);
|
|
|
|
// 0x0500FE80
|
|
ALIGNED8 static const u8 water_bubble_seg5_texture_0500FE80[] = {
|
|
#include "actors/water_bubble/water_bubble.rgba16.inc.c"
|
|
};
|
|
|
|
// 0x05010680
|
|
static const Vtx water_bubble_seg5_vertex_05010680[] = {
|
|
{{{ -20, -64, -33}, 0, { 0, 0}, {0xdd, 0x95, 0xc7, 0xff}}},
|
|
{{{ 0, -76, 0}, 0, { 0, 0}, {0x00, 0x82, 0x00, 0xff}}},
|
|
{{{ -44, -61, 0}, 0, { 0, 0}, {0xb6, 0x9a, 0x00, 0xff}}},
|
|
{{{ -20, -64, 34}, 0, { 0, 0}, {0xdf, 0x98, 0x3f, 0xff}}},
|
|
{{{ -55, -39, 34}, 0, { 0, 0}, {0xa5, 0xbd, 0x37, 0xff}}},
|
|
{{{ 21, -64, 34}, 0, { 0, 0}, {0x22, 0x94, 0x38, 0xff}}},
|
|
{{{ -11, -37, -64}, 0, { 0, 0}, {0xeb, 0xbe, 0x96, 0xff}}},
|
|
{{{ -55, -39, -33}, 0, { 0, 0}, {0xa8, 0xbf, 0xc0, 0xff}}},
|
|
{{{ -39, 0, -64}, 0, { 0, 0}, {0xbc, 0x00, 0x96, 0xff}}},
|
|
{{{ -68, 0, -33}, 0, { 0, 0}, {0x8f, 0x00, 0xc8, 0xff}}},
|
|
{{{ 0, 0, -76}, 0, { 0, 0}, {0x00, 0x00, 0x82, 0xff}}},
|
|
{{{ 56, -39, -33}, 0, { 0, 0}, {0x5b, 0xbd, 0xc9, 0xff}}},
|
|
{{{ 73, -23, 0}, 0, { 0, 0}, {0x78, 0xd9, 0x00, 0xff}}},
|
|
{{{ 45, -61, 0}, 0, { 0, 0}, {0x4a, 0x9a, 0x00, 0xff}}},
|
|
{{{ 56, -39, 34}, 0, { 0, 0}, {0x58, 0xbf, 0x3f, 0xff}}},
|
|
{{{ 69, 0, 34}, 0, { 0, 0}, {0x72, 0x00, 0x37, 0xff}}},
|
|
};
|
|
|
|
// 0x05010780
|
|
static const Vtx water_bubble_seg5_vertex_05010780[] = {
|
|
{{{ 33, -23, -64}, 0, { 0, 0}, {0x37, 0xd7, 0x96, 0xff}}},
|
|
{{{ 56, -39, -33}, 0, { 0, 0}, {0x5b, 0xbd, 0xc9, 0xff}}},
|
|
{{{ 21, -64, -33}, 0, { 0, 0}, {0x21, 0x98, 0xc0, 0xff}}},
|
|
{{{ -11, -37, -64}, 0, { 0, 0}, {0xeb, 0xbe, 0x96, 0xff}}},
|
|
{{{ -20, -64, -33}, 0, { 0, 0}, {0xdd, 0x95, 0xc7, 0xff}}},
|
|
{{{ 0, 0, -76}, 0, { 0, 0}, {0x00, 0x00, 0x82, 0xff}}},
|
|
{{{ 45, 62, 0}, 0, { 0, 0}, {0x4a, 0x66, 0x00, 0xff}}},
|
|
{{{ 56, 40, 34}, 0, { 0, 0}, {0x58, 0x40, 0x40, 0xff}}},
|
|
{{{ 73, 24, 0}, 0, { 0, 0}, {0x78, 0x27, 0x00, 0xff}}},
|
|
{{{ 69, 0, 34}, 0, { 0, 0}, {0x72, 0x00, 0x37, 0xff}}},
|
|
{{{ -44, 62, 0}, 0, { 0, 0}, {0xb6, 0x66, 0x00, 0xff}}},
|
|
{{{ -20, 65, 34}, 0, { 0, 0}, {0xdf, 0x68, 0x3f, 0xff}}},
|
|
{{{ 0, 77, 0}, 0, { 0, 0}, {0x00, 0x7e, 0x00, 0xff}}},
|
|
{{{ 21, 65, 34}, 0, { 0, 0}, {0x22, 0x6c, 0x38, 0xff}}},
|
|
{{{ 56, 40, -33}, 0, { 0, 0}, {0x5b, 0x43, 0xc8, 0xff}}},
|
|
};
|
|
|
|
// 0x05010870
|
|
static const Vtx water_bubble_seg5_vertex_05010870[] = {
|
|
{{{ 33, 24, -64}, 0, { 0, 0}, {0x37, 0x29, 0x96, 0xff}}},
|
|
{{{ 56, 40, -33}, 0, { 0, 0}, {0x5b, 0x43, 0xc8, 0xff}}},
|
|
{{{ 69, 0, -33}, 0, { 0, 0}, {0x6d, 0x00, 0xc1, 0xff}}},
|
|
{{{ 0, 0, -76}, 0, { 0, 0}, {0x00, 0x00, 0x82, 0xff}}},
|
|
{{{ 33, -23, -64}, 0, { 0, 0}, {0x37, 0xd7, 0x96, 0xff}}},
|
|
{{{ 56, -39, -33}, 0, { 0, 0}, {0x5b, 0xbd, 0xc9, 0xff}}},
|
|
{{{ 0, 77, 0}, 0, { 0, 0}, {0x00, 0x7e, 0x00, 0xff}}},
|
|
{{{ -20, 65, 34}, 0, { 0, 0}, {0xdf, 0x68, 0x3f, 0xff}}},
|
|
{{{ 21, 65, 34}, 0, { 0, 0}, {0x22, 0x6c, 0x38, 0xff}}},
|
|
{{{ -20, 65, -33}, 0, { 0, 0}, {0xdd, 0x6b, 0xc7, 0xff}}},
|
|
{{{ -44, 62, 0}, 0, { 0, 0}, {0xb6, 0x66, 0x00, 0xff}}},
|
|
{{{ -55, 40, 34}, 0, { 0, 0}, {0xa4, 0x43, 0x37, 0xff}}},
|
|
{{{ -11, 38, -64}, 0, { 0, 0}, {0xeb, 0x41, 0x96, 0xff}}},
|
|
{{{ 21, 65, -33}, 0, { 0, 0}, {0x21, 0x68, 0xc0, 0xff}}},
|
|
};
|
|
|
|
// 0x05010950
|
|
static const Vtx water_bubble_seg5_vertex_05010950[] = {
|
|
{{{ -72, -23, 0}, 0, { 0, 0}, {0x88, 0xd9, 0x00, 0xff}}},
|
|
{{{ -68, 0, 34}, 0, { 0, 0}, {0x92, 0x00, 0x3f, 0xff}}},
|
|
{{{ -72, 24, 0}, 0, { 0, 0}, {0x88, 0x27, 0x00, 0xff}}},
|
|
{{{ -55, 40, 34}, 0, { 0, 0}, {0xa4, 0x43, 0x37, 0xff}}},
|
|
{{{ -68, 0, -33}, 0, { 0, 0}, {0x8f, 0x00, 0xc8, 0xff}}},
|
|
{{{ -55, -39, 34}, 0, { 0, 0}, {0xa5, 0xbd, 0x37, 0xff}}},
|
|
{{{ -39, 0, -64}, 0, { 0, 0}, {0xbc, 0x00, 0x96, 0xff}}},
|
|
{{{ -55, 40, -33}, 0, { 0, 0}, {0xa8, 0x40, 0xc0, 0xff}}},
|
|
{{{ 0, 0, -76}, 0, { 0, 0}, {0x00, 0x00, 0x82, 0xff}}},
|
|
{{{ -11, 38, -64}, 0, { 0, 0}, {0xeb, 0x41, 0x96, 0xff}}},
|
|
{{{ -20, 65, -33}, 0, { 0, 0}, {0xdd, 0x6b, 0xc7, 0xff}}},
|
|
{{{ 21, -64, 34}, 0, { 0, 0}, {0x22, 0x94, 0x38, 0xff}}},
|
|
{{{ 0, -76, 0}, 0, { 0, 0}, {0x00, 0x82, 0x00, 0xff}}},
|
|
{{{ 45, -61, 0}, 0, { 0, 0}, {0x4a, 0x9a, 0x00, 0xff}}},
|
|
{{{ 21, -64, -33}, 0, { 0, 0}, {0x21, 0x98, 0xc0, 0xff}}},
|
|
{{{ 56, -39, -33}, 0, { 0, 0}, {0x5b, 0xbd, 0xc9, 0xff}}},
|
|
};
|
|
|
|
// 0x05010A50
|
|
static const Vtx water_bubble_seg5_vertex_05010A50[] = {
|
|
{{{ 0, -76, 0}, 0, { 0, 0}, {0x00, 0x82, 0x00, 0xff}}},
|
|
{{{ -20, -64, -33}, 0, { 0, 0}, {0xdd, 0x95, 0xc7, 0xff}}},
|
|
{{{ 21, -64, -33}, 0, { 0, 0}, {0x21, 0x98, 0xc0, 0xff}}},
|
|
{{{ 12, -37, 65}, 0, { 0, 0}, {0x14, 0xbe, 0x6a, 0xff}}},
|
|
{{{ 21, -64, 34}, 0, { 0, 0}, {0x22, 0x94, 0x38, 0xff}}},
|
|
{{{ 56, -39, 34}, 0, { 0, 0}, {0x58, 0xbf, 0x3f, 0xff}}},
|
|
{{{ 40, 0, 65}, 0, { 0, 0}, {0x44, 0x00, 0x6b, 0xff}}},
|
|
{{{ 69, 0, 34}, 0, { 0, 0}, {0x72, 0x00, 0x37, 0xff}}},
|
|
{{{ 0, 0, 77}, 0, { 0, 0}, {0x00, 0x00, 0x7e, 0xff}}},
|
|
{{{ -55, -39, 34}, 0, { 0, 0}, {0xa5, 0xbd, 0x37, 0xff}}},
|
|
{{{ -72, -23, 0}, 0, { 0, 0}, {0x88, 0xd9, 0x00, 0xff}}},
|
|
{{{ -44, -61, 0}, 0, { 0, 0}, {0xb6, 0x9a, 0x00, 0xff}}},
|
|
{{{ -55, -39, -33}, 0, { 0, 0}, {0xa8, 0xbf, 0xc0, 0xff}}},
|
|
{{{ -68, 0, -33}, 0, { 0, 0}, {0x8f, 0x00, 0xc8, 0xff}}},
|
|
{{{ -32, -23, 65}, 0, { 0, 0}, {0xc8, 0xd7, 0x6a, 0xff}}},
|
|
{{{ -20, -64, 34}, 0, { 0, 0}, {0xdf, 0x98, 0x3f, 0xff}}},
|
|
};
|
|
|
|
// 0x05010B50
|
|
static const Vtx water_bubble_seg5_vertex_05010B50[] = {
|
|
{{{ -55, 40, 34}, 0, { 0, 0}, {0xa4, 0x43, 0x37, 0xff}}},
|
|
{{{ -44, 62, 0}, 0, { 0, 0}, {0xb6, 0x66, 0x00, 0xff}}},
|
|
{{{ -72, 24, 0}, 0, { 0, 0}, {0x88, 0x27, 0x00, 0xff}}},
|
|
{{{ -55, 40, -33}, 0, { 0, 0}, {0xa8, 0x40, 0xc0, 0xff}}},
|
|
{{{ -68, 0, -33}, 0, { 0, 0}, {0x8f, 0x00, 0xc8, 0xff}}},
|
|
{{{ -20, 65, -33}, 0, { 0, 0}, {0xdd, 0x6b, 0xc7, 0xff}}},
|
|
{{{ -32, 24, 65}, 0, { 0, 0}, {0xc8, 0x29, 0x6a, 0xff}}},
|
|
{{{ -68, 0, 34}, 0, { 0, 0}, {0x92, 0x00, 0x3f, 0xff}}},
|
|
{{{ -32, -23, 65}, 0, { 0, 0}, {0xc8, 0xd7, 0x6a, 0xff}}},
|
|
{{{ -55, -39, 34}, 0, { 0, 0}, {0xa5, 0xbd, 0x37, 0xff}}},
|
|
{{{ 0, 0, 77}, 0, { 0, 0}, {0x00, 0x00, 0x7e, 0xff}}},
|
|
{{{ 0, 77, 0}, 0, { 0, 0}, {0x00, 0x7e, 0x00, 0xff}}},
|
|
{{{ 21, 65, -33}, 0, { 0, 0}, {0x21, 0x68, 0xc0, 0xff}}},
|
|
{{{ 45, 62, 0}, 0, { 0, 0}, {0x4a, 0x66, 0x00, 0xff}}},
|
|
{{{ 21, 65, 34}, 0, { 0, 0}, {0x22, 0x6c, 0x38, 0xff}}},
|
|
{{{ 56, 40, -33}, 0, { 0, 0}, {0x5b, 0x43, 0xc8, 0xff}}},
|
|
};
|
|
|
|
// 0x05010C50
|
|
static const Vtx water_bubble_seg5_vertex_05010C50[] = {
|
|
{{{ 12, 38, 65}, 0, { 0, 0}, {0x15, 0x41, 0x6a, 0xff}}},
|
|
{{{ 21, 65, 34}, 0, { 0, 0}, {0x22, 0x6c, 0x38, 0xff}}},
|
|
{{{ -20, 65, 34}, 0, { 0, 0}, {0xdf, 0x68, 0x3f, 0xff}}},
|
|
{{{ 0, 0, 77}, 0, { 0, 0}, {0x00, 0x00, 0x7e, 0xff}}},
|
|
{{{ -32, 24, 65}, 0, { 0, 0}, {0xc8, 0x29, 0x6a, 0xff}}},
|
|
{{{ -55, 40, 34}, 0, { 0, 0}, {0xa4, 0x43, 0x37, 0xff}}},
|
|
{{{ 73, -23, 0}, 0, { 0, 0}, {0x78, 0xd9, 0x00, 0xff}}},
|
|
{{{ 69, 0, -33}, 0, { 0, 0}, {0x6d, 0x00, 0xc1, 0xff}}},
|
|
{{{ 73, 24, 0}, 0, { 0, 0}, {0x78, 0x27, 0x00, 0xff}}},
|
|
{{{ 56, 40, -33}, 0, { 0, 0}, {0x5b, 0x43, 0xc8, 0xff}}},
|
|
{{{ 69, 0, 34}, 0, { 0, 0}, {0x72, 0x00, 0x37, 0xff}}},
|
|
{{{ 56, 40, 34}, 0, { 0, 0}, {0x58, 0x40, 0x40, 0xff}}},
|
|
{{{ 56, -39, -33}, 0, { 0, 0}, {0x5b, 0xbd, 0xc9, 0xff}}},
|
|
{{{ 40, 0, 65}, 0, { 0, 0}, {0x44, 0x00, 0x6b, 0xff}}},
|
|
};
|
|
|
|
// 0x05010D30 - 0x05011000
|
|
const Gfx water_bubble_seg5_dl_05010D30[] = {
|
|
gsSPLight(&water_bubble_seg5_lights_0500FE68.l, 1),
|
|
gsSPLight(&water_bubble_seg5_lights_0500FE68.a, 2),
|
|
gsSPVertex(water_bubble_seg5_vertex_05010680, 16, 0),
|
|
gsSP2Triangles( 0, 1, 2, 0x0, 1, 3, 2, 0x0),
|
|
gsSP2Triangles( 2, 3, 4, 0x0, 1, 5, 3, 0x0),
|
|
gsSP2Triangles( 6, 0, 7, 0x0, 8, 7, 9, 0x0),
|
|
gsSP2Triangles(10, 6, 8, 0x0, 6, 7, 8, 0x0),
|
|
gsSP2Triangles(11, 12, 13, 0x0, 12, 14, 13, 0x0),
|
|
gsSP2Triangles(12, 15, 14, 0x0, 13, 14, 5, 0x0),
|
|
gsSPVertex(water_bubble_seg5_vertex_05010780, 15, 0),
|
|
gsSP2Triangles( 0, 1, 2, 0x0, 0, 2, 3, 0x0),
|
|
gsSP2Triangles( 3, 2, 4, 0x0, 5, 0, 3, 0x0),
|
|
gsSP2Triangles( 6, 7, 8, 0x0, 8, 7, 9, 0x0),
|
|
gsSP2Triangles(10, 11, 12, 0x0, 6, 13, 7, 0x0),
|
|
gsSP1Triangle(14, 6, 8, 0x0),
|
|
gsSPVertex(water_bubble_seg5_vertex_05010870, 14, 0),
|
|
gsSP2Triangles( 0, 1, 2, 0x0, 3, 0, 4, 0x0),
|
|
gsSP2Triangles( 0, 2, 4, 0x0, 4, 2, 5, 0x0),
|
|
gsSP2Triangles( 6, 7, 8, 0x0, 9, 10, 6, 0x0),
|
|
gsSP2Triangles(10, 11, 7, 0x0, 12, 9, 13, 0x0),
|
|
gsSP2Triangles( 3, 12, 0, 0x0, 12, 13, 0, 0x0),
|
|
gsSP1Triangle( 0, 13, 1, 0x0),
|
|
gsSPVertex(water_bubble_seg5_vertex_05010950, 16, 0),
|
|
gsSP2Triangles( 0, 1, 2, 0x0, 2, 1, 3, 0x0),
|
|
gsSP2Triangles( 4, 0, 2, 0x0, 0, 5, 1, 0x0),
|
|
gsSP2Triangles( 6, 4, 7, 0x0, 8, 6, 9, 0x0),
|
|
gsSP2Triangles( 6, 7, 9, 0x0, 9, 7, 10, 0x0),
|
|
gsSP2Triangles(11, 12, 13, 0x0, 12, 14, 13, 0x0),
|
|
gsSP1Triangle(13, 14, 15, 0x0),
|
|
gsSPVertex(water_bubble_seg5_vertex_05010A50, 16, 0),
|
|
gsSP2Triangles( 0, 1, 2, 0x0, 3, 4, 5, 0x0),
|
|
gsSP2Triangles( 6, 5, 7, 0x0, 3, 5, 6, 0x0),
|
|
gsSP2Triangles( 8, 3, 6, 0x0, 9, 10, 11, 0x0),
|
|
gsSP2Triangles(10, 12, 11, 0x0, 11, 12, 1, 0x0),
|
|
gsSP2Triangles(10, 13, 12, 0x0, 14, 9, 15, 0x0),
|
|
gsSP2Triangles(14, 15, 3, 0x0, 3, 15, 4, 0x0),
|
|
gsSP1Triangle( 8, 14, 3, 0x0),
|
|
gsSPVertex(water_bubble_seg5_vertex_05010B50, 16, 0),
|
|
gsSP2Triangles( 0, 1, 2, 0x0, 1, 3, 2, 0x0),
|
|
gsSP2Triangles( 2, 3, 4, 0x0, 1, 5, 3, 0x0),
|
|
gsSP2Triangles( 6, 0, 7, 0x0, 8, 7, 9, 0x0),
|
|
gsSP2Triangles(10, 6, 8, 0x0, 6, 7, 8, 0x0),
|
|
gsSP2Triangles(11, 12, 5, 0x0, 13, 12, 11, 0x0),
|
|
gsSP2Triangles(14, 13, 11, 0x0, 13, 15, 12, 0x0),
|
|
gsSPVertex(water_bubble_seg5_vertex_05010C50, 14, 0),
|
|
gsSP2Triangles( 0, 1, 2, 0x0, 3, 0, 4, 0x0),
|
|
gsSP2Triangles( 0, 2, 4, 0x0, 4, 2, 5, 0x0),
|
|
gsSP2Triangles( 6, 7, 8, 0x0, 8, 7, 9, 0x0),
|
|
gsSP2Triangles(10, 6, 8, 0x0, 0, 11, 1, 0x0),
|
|
gsSP2Triangles( 6, 12, 7, 0x0, 13, 10, 11, 0x0),
|
|
gsSP2Triangles( 3, 13, 0, 0x0, 13, 11, 0, 0x0),
|
|
gsSPEndDisplayList(),
|
|
};
|
|
|
|
// 0x05011000 - 0x05011098
|
|
const Gfx water_bubble_seg5_dl_05011000[] = {
|
|
gsDPPipeSync(),
|
|
gsSPSetGeometryMode(G_TEXTURE_GEN),
|
|
gsDPSetCombineMode(G_CC_MODULATERGBFADE, G_CC_MODULATERGBFADE),
|
|
gsDPSetEnvColor(255, 255, 255, 205),
|
|
gsDPLoadTextureBlock(water_bubble_seg5_texture_0500FE80, G_IM_FMT_RGBA, G_IM_SIZ_16b, 32, 32, 0, G_TX_WRAP | G_TX_NOMIRROR, G_TX_WRAP | G_TX_NOMIRROR, 5, 5, G_TX_NOLOD, G_TX_NOLOD),
|
|
gsSPTexture(0x07C0, 0x07C0, 0, G_TX_RENDERTILE, G_ON),
|
|
gsSPDisplayList(water_bubble_seg5_dl_05010D30),
|
|
gsSPTexture(0x07C0, 0x07C0, 0, G_TX_RENDERTILE, G_OFF),
|
|
gsDPPipeSync(),
|
|
gsSPClearGeometryMode(G_TEXTURE_GEN),
|
|
gsDPSetCombineMode(G_CC_SHADE, G_CC_SHADE),
|
|
gsDPSetEnvColor(255, 255, 255, 255),
|
|
gsSPEndDisplayList(),
|
|
};
|