This commit is contained in:
someone2639
2021-09-26 18:02:52 -04:00
36 changed files with 890 additions and 673 deletions

1
.gitignore vendored
View File

@@ -71,6 +71,7 @@ build/*
!/assets/**/*custom*.bin
!/assets/**/*custom*/**/*.bin
!/textures/crash_custom/*.png
!/actors/breath_meter/breath_meter_*.png
# libultra
!/lib/*.a

View File

@@ -66,7 +66,7 @@ KING_BOBOMB_DIRS := king_bobomb water_bubble
BOO_DIRS := bookend book chair small_key mad_piano boo haunted_cage
MR_I_DIRS := mr_i_eyeball mr_i_iris swoop snufit dorrie scuttlebug
HOOT_DIRS := yellow_sphere_small hoot yoshi_egg thwomp bullet_bill heave_ho
COINS_DIRS := mist explosion butterfly coin warp_pipe door bowser_key flame blue_fish pebble leaves warp_collision mario_cap power_meter mushroom_1up star sand dirt transparent_star white_particle wooden_signpost tree
COINS_DIRS := mist explosion butterfly coin warp_pipe door bowser_key flame blue_fish pebble leaves warp_collision mario_cap breath_meter power_meter mushroom_1up star sand dirt transparent_star white_particle wooden_signpost tree
BUBBA_DIRS := bubba wiggler wiggler_body_part lakitu_enemy spiny_egg spiny
SKEETER_DIRS := skeeter seaweed water_mine cyan_fish bub water_ring treasure_chest
KLEPTO_DIRS := klepto eyerok pokey tornado

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.3 KiB

View File

@@ -0,0 +1,130 @@
#ifdef BREATH_METER
// Breath Meter HUD
// 0x030233E0
ALIGNED8 static const Texture texture_breath_meter_left_side[] = {
#include "actors/breath_meter/breath_meter_left_side.rgba16.inc.c"
};
// 0x030243E0
ALIGNED8 static const Texture texture_breath_meter_right_side[] = {
#include "actors/breath_meter/breath_meter_right_side.rgba16.inc.c"
};
// 0x030253E0
ALIGNED8 static const Texture texture_breath_meter_full[] = {
#include "actors/breath_meter/breath_meter_full.rgba16.inc.c"
};
// 0x03025BE0
ALIGNED8 static const Texture texture_breath_meter_seven_segments[] = {
#include "actors/breath_meter/breath_meter_seven_segments.rgba16.inc.c"
};
// 0x030263E0
ALIGNED8 static const Texture texture_breath_meter_six_segments[] = {
#include "actors/breath_meter/breath_meter_six_segments.rgba16.inc.c"
};
// 0x03026BE0
ALIGNED8 static const Texture texture_breath_meter_five_segments[] = {
#include "actors/breath_meter/breath_meter_five_segments.rgba16.inc.c"
};
// 0x030273E0
ALIGNED8 static const Texture texture_breath_meter_four_segments[] = {
#include "actors/breath_meter/breath_meter_four_segments.rgba16.inc.c"
};
// 0x03027BE0
ALIGNED8 static const Texture texture_breath_meter_three_segments[] = {
#include "actors/breath_meter/breath_meter_three_segments.rgba16.inc.c"
};
// 0x030283E0
ALIGNED8 static const Texture texture_breath_meter_two_segments[] = {
#include "actors/breath_meter/breath_meter_two_segments.rgba16.inc.c"
};
// 0x03028BE0
ALIGNED8 static const Texture texture_breath_meter_one_segments[] = {
#include "actors/breath_meter/breath_meter_one_segment.rgba16.inc.c"
};
// 0x030293E0
const Texture *const breath_meter_segments_lut[] = {
texture_breath_meter_one_segments,
texture_breath_meter_two_segments,
texture_breath_meter_three_segments,
texture_breath_meter_four_segments,
texture_breath_meter_five_segments,
texture_breath_meter_six_segments,
texture_breath_meter_seven_segments,
texture_breath_meter_full,
};
// 0x03029400
static const Vtx vertex_breath_meter_base[] = {
{{{ -32, -32, 0}, 0, { 0, 2016}, {0xff, 0xff, 0xff, 0xff}}},
{{{ 0, -32, 0}, 0, { 992, 2016}, {0xff, 0xff, 0xff, 0xff}}},
{{{ 0, 32, 0}, 0, { 992, 0}, {0xff, 0xff, 0xff, 0xff}}},
{{{ -32, 32, 0}, 0, { 0, 0}, {0xff, 0xff, 0xff, 0xff}}},
{{{ 0, -32, 0}, 0, { 1, 2016}, {0xff, 0xff, 0xff, 0xff}}},
{{{ 32, -32, 0}, 0, { 1024, 2016}, {0xff, 0xff, 0xff, 0xff}}},
{{{ 32, 32, 0}, 0, { 1024, 0}, {0xff, 0xff, 0xff, 0xff}}},
{{{ 0, 32, 0}, 0, { 1, 0}, {0xff, 0xff, 0xff, 0xff}}},
};
// 0x03029480 - 0x03029530
const Gfx dl_breath_meter_base[] = {
gsDPPipeSync(),
gsSPClearGeometryMode(G_LIGHTING),
gsDPSetCombineMode(G_CC_DECALRGBA, G_CC_DECALRGBA),
gsDPSetRenderMode(G_RM_TEX_EDGE, G_RM_TEX_EDGE2),
gsDPSetTextureFilter(G_TF_POINT),
gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_ON),
gsSPVertex(vertex_breath_meter_base, 8, 0),
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),
gsDPTileSync(),
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),
gsDPSetTileSize(0, 0, 0, ((32 - 1) << G_TEXTURE_IMAGE_FRAC), ((64 - 1) << G_TEXTURE_IMAGE_FRAC)),
gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, texture_breath_meter_left_side),
gsDPLoadSync(),
gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 64 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)),
gsSP2Triangles( 0, 1, 2, 0x0, 0, 2, 3, 0x0),
gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, texture_breath_meter_right_side),
gsDPLoadSync(),
gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 64 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)),
gsSP2Triangles( 4, 5, 6, 0x0, 4, 6, 7, 0x0),
gsSPEndDisplayList(),
};
// 0x03029530
static const Vtx vertex_breath_meter_health_segments[] = {
{{{ -16, -16, 0}, 0, { 0, 992}, {0xff, 0xff, 0xff, 0xff}}},
{{{ 16, -16, 0}, 0, { 992, 992}, {0xff, 0xff, 0xff, 0xff}}},
{{{ 16, 16, 0}, 0, { 992, 0}, {0xff, 0xff, 0xff, 0xff}}},
{{{ -16, 16, 0}, 0, { 0, 0}, {0xff, 0xff, 0xff, 0xff}}},
};
// 0x03029570 - 0x030295A0
const Gfx dl_breath_meter_health_segments_begin[] = {
gsDPPipeSync(),
gsSPVertex(vertex_breath_meter_health_segments, 4, 0),
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)),
gsSPEndDisplayList(),
};
// 0x030295A0 - 0x030295D8
const Gfx dl_breath_meter_health_segments_end[] = {
gsDPPipeSync(),
gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF),
gsSPSetGeometryMode(G_LIGHTING),
gsDPSetRenderMode(G_RM_OPA_SURF, G_RM_OPA_SURF2),
gsDPSetCombineMode(G_CC_SHADE, G_CC_SHADE),
gsDPSetTextureFilter(G_TF_BILERP),
gsSPEndDisplayList(),
};
#endif

View File

@@ -56,6 +56,9 @@ UNUSED static const u64 binid_11 = 11;
UNUSED static const u64 binid_12 = 12;
#include "power_meter/model.inc.c"
#ifdef BREATH_METER
#include "breath_meter/model.inc.c"
#endif
UNUSED static const u64 binid_13 = 13;
UNUSED static const u64 binid_14 = 14;

View File

@@ -195,6 +195,14 @@ extern const Gfx dl_power_meter_base[];
extern const Gfx dl_power_meter_health_segments_begin[];
extern const Gfx dl_power_meter_health_segments_end[];
#ifdef BREATH_METER
// breath_meter
extern const Texture *const breath_meter_segments_lut[];
extern const Gfx dl_breath_meter_base[];
extern const Gfx dl_breath_meter_health_segments_begin[];
extern const Gfx dl_breath_meter_health_segments_end[];
#endif
// sand
extern const Gfx sand_seg3_dl_0302BCD0[];

View File

@@ -66,277 +66,3 @@ static const struct Animation spindrift_seg5_anim_050006AC = {
spindrift_seg5_animindex_050005F8,
0,
};
// 0x050006D0
ALIGNED8 static const Texture spindrift_seg5_texture_050006D0[] = {
#include "actors/spindrift/spindrift_face.rgba16.inc.c"
};
// 0x05000ED0
ALIGNED8 static const Texture spindrift_seg5_texture_05000ED0[] = {
#include "actors/spindrift/spindrift_petal.rgba16.inc.c"
};
// 0x050016D0
ALIGNED8 static const Texture spindrift_seg5_texture_050016D0[] = {
#include "actors/spindrift/spindrift_leaf.rgba16.inc.c"
};
// 0x05001ED0
ALIGNED8 static const Texture spindrift_seg5_texture_05001ED0[] = {
#include "actors/spindrift/spindrift_head.rgba16.inc.c"
};
// 0x050026D0
static const Vtx spindrift_seg5_vertex_050026D0[] = {
{{{ -54, -54, 0}, 0, { 0, 990}, {0xff, 0xff, 0xff, 0xff}}},
{{{ 56, 56, 0}, 0, { 990, 0}, {0xff, 0xff, 0xff, 0xff}}},
{{{ -54, 56, 0}, 0, { 0, 0}, {0xff, 0xff, 0xff, 0xff}}},
{{{ 56, -54, 0}, 0, { 990, 990}, {0xff, 0xff, 0xff, 0xff}}},
};
// 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_DECALRGBA, G_CC_DECALRGBA),
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
static const Vtx spindrift_seg5_vertex_050027B8[] = {
{{{ 27, -112, -47}, 0, { -36, 520}, {0xff, 0xff, 0xff, 0xff}}},
{{{ 27, -112, 48}, 0, { 990, 520}, {0xff, 0xff, 0xff, 0xff}}},
{{{ -32, -112, -47}, 0, { -36, 0}, {0xff, 0xff, 0xff, 0xff}}},
{{{ -32, -112, 48}, 0, { 990, 0}, {0xff, 0xff, 0xff, 0xff}}},
};
// 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_DECALRGBA, G_CC_DECALRGBA),
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
static const Vtx spindrift_seg5_vertex_050028A0[] = {
{{{ 36, -109, -44}, 0, { -30, 572}, {0xff, 0xff, 0xff, 0xff}}},
{{{ 83, -79, 0}, 0, { 480, 1092}, {0xff, 0xff, 0xff, 0xff}}},
{{{ 36, -109, 45}, 0, { 990, 572}, {0xff, 0xff, 0xff, 0xff}}},
};
// 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_DECALRGBA, G_CC_DECALRGBA),
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
static const Vtx spindrift_seg5_vertex_05002988[] = {
{{{ 19, 22, 102}, 0, { 196, 1200}, {0x90, 0x25, 0x2e, 0xff}}},
{{{ 13, -6, 4}, 0, { 1032, 456}, {0x92, 0x3e, 0xf5, 0xff}}},
{{{ -20, -53, 69}, 0, { 250, -194}, {0x90, 0x25, 0x2e, 0xff}}},
{{{ 34, -56, 120}, 0, { -62, 330}, {0xa9, 0x04, 0x5c, 0xff}}},
};
// 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
static const Vtx spindrift_seg5_vertex_05002A98[] = {
{{{ 0, -33, -69}, 0, { 514, 1102}, {0xa0, 0x40, 0xcd, 0xff}}},
{{{ 13, -2, 0}, 0, { 1070, 398}, {0x9c, 0x4c, 0xf1, 0xff}}},
{{{ 53, 33, -86}, 0, { 138, -146}, {0xa0, 0x40, 0xcd, 0xff}}},
{{{ 62, -15, -122}, 0, { -146, 482}, {0xac, 0x2e, 0xae, 0xff}}},
};
// 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
static const Vtx spindrift_seg5_vertex_05002BA8[] = {
{{{ 28, -6, 21}, 0, { 474, 1104}, {0x7e, 0xfd, 0x0b, 0xff}}},
{{{ 42, -20, -134}, 0, { -192, 0}, {0x7e, 0xfd, 0x0b, 0xff}}},
{{{ 42, 98, -96}, 0, { 1152, 0}, {0x7e, 0xfd, 0x0b, 0xff}}},
{{{ 28, -21, 0}, 0, { 474, 1104}, {0x7e, 0xf4, 0x00, 0xff}}},
{{{ 42, 122, -61}, 0, { -192, 0}, {0x7e, 0xf4, 0x00, 0xff}}},
{{{ 42, 122, 63}, 0, { 1152, 0}, {0x7e, 0xf4, 0x00, 0xff}}},
{{{ 28, -6, -20}, 0, { 474, 1104}, {0x7e, 0xfd, 0xf5, 0xff}}},
{{{ 42, 97, 97}, 0, { -192, 0}, {0x7e, 0xfd, 0xf5, 0xff}}},
{{{ 42, -21, 135}, 0, { 1152, 0}, {0x7e, 0xfd, 0xf5, 0xff}}},
{{{ 28, 18, -12}, 0, { 474, 1104}, {0x7e, 0x09, 0xf9, 0xff}}},
{{{ 42, -61, 122}, 0, { -192, 0}, {0x7e, 0x09, 0xf9, 0xff}}},
{{{ 42, -135, 21}, 0, { 1152, 0}, {0x7e, 0x09, 0xf9, 0xff}}},
{{{ 28, 18, 13}, 0, { 474, 1104}, {0x7e, 0x0a, 0x07, 0xff}}},
{{{ 42, -134, -21}, 0, { -192, 0}, {0x7e, 0x0a, 0x07, 0xff}}},
{{{ 42, -61, -122}, 0, { 1152, 0}, {0x7e, 0x0a, 0x07, 0xff}}},
};
// 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?

View File

@@ -1,17 +1,277 @@
// Spindrift
// Unreferenced light group
UNUSED static const Lights1 spindrift_lights_unused1 = gdSPDefLights1(
0x3f, 0x08, 0x1b,
0xff, 0x22, 0x6d, 0x28, 0x28, 0x28
// 0x050006D0
ALIGNED8 static const Texture spindrift_seg5_texture_050006D0[] = {
#include "actors/spindrift/spindrift_face.rgba16.inc.c"
};
// 0x05000ED0
ALIGNED8 static const Texture spindrift_seg5_texture_05000ED0[] = {
#include "actors/spindrift/spindrift_petal.rgba16.inc.c"
};
// 0x050016D0
ALIGNED8 static const Texture spindrift_seg5_texture_050016D0[] = {
#include "actors/spindrift/spindrift_leaf.rgba16.inc.c"
};
// 0x05001ED0
ALIGNED8 static const Texture spindrift_seg5_texture_05001ED0[] = {
#include "actors/spindrift/spindrift_head.rgba16.inc.c"
};
// 0x050026D0
static const Vtx spindrift_seg5_vertex_050026D0[] = {
{{{ -54, -54, 0}, 0, { 0, 990}, {0xff, 0xff, 0xff, 0xff}}},
{{{ 56, 56, 0}, 0, { 990, 0}, {0xff, 0xff, 0xff, 0xff}}},
{{{ -54, 56, 0}, 0, { 0, 0}, {0xff, 0xff, 0xff, 0xff}}},
{{{ 56, -54, 0}, 0, { 990, 990}, {0xff, 0xff, 0xff, 0xff}}},
};
// 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_DECALRGBA, G_CC_DECALRGBA),
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
static const Vtx spindrift_seg5_vertex_050027B8[] = {
{{{ 27, -112, -47}, 0, { -36, 520}, {0xff, 0xff, 0xff, 0xff}}},
{{{ 27, -112, 48}, 0, { 990, 520}, {0xff, 0xff, 0xff, 0xff}}},
{{{ -32, -112, -47}, 0, { -36, 0}, {0xff, 0xff, 0xff, 0xff}}},
{{{ -32, -112, 48}, 0, { 990, 0}, {0xff, 0xff, 0xff, 0xff}}},
};
// 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_DECALRGBA, G_CC_DECALRGBA),
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
static const Vtx spindrift_seg5_vertex_050028A0[] = {
{{{ 36, -109, -44}, 0, { -30, 572}, {0xff, 0xff, 0xff, 0xff}}},
{{{ 83, -79, 0}, 0, { 480, 1092}, {0xff, 0xff, 0xff, 0xff}}},
{{{ 36, -109, 45}, 0, { 990, 572}, {0xff, 0xff, 0xff, 0xff}}},
};
// 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_DECALRGBA, G_CC_DECALRGBA),
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
);
// Unreferenced light group
UNUSED static const Lights1 spindrift_lights_unused2 = gdSPDefLights1(
0x3f, 0x3f, 0x3f,
0xfd, 0xff, 0xff, 0x28, 0x28, 0x28
// 0x05002988
static const Vtx spindrift_seg5_vertex_05002988[] = {
{{{ 19, 22, 102}, 0, { 196, 1200}, {0x90, 0x25, 0x2e, 0xff}}},
{{{ 13, -6, 4}, 0, { 1032, 456}, {0x92, 0x3e, 0xf5, 0xff}}},
{{{ -20, -53, 69}, 0, { 250, -194}, {0x90, 0x25, 0x2e, 0xff}}},
{{{ 34, -56, 120}, 0, { -62, 330}, {0xa9, 0x04, 0x5c, 0xff}}},
};
// 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
static const Vtx spindrift_seg5_vertex_05002A98[] = {
{{{ 0, -33, -69}, 0, { 514, 1102}, {0xa0, 0x40, 0xcd, 0xff}}},
{{{ 13, -2, 0}, 0, { 1070, 398}, {0x9c, 0x4c, 0xf1, 0xff}}},
{{{ 53, 33, -86}, 0, { 138, -146}, {0xa0, 0x40, 0xcd, 0xff}}},
{{{ 62, -15, -122}, 0, { -146, 482}, {0xac, 0x2e, 0xae, 0xff}}},
};
// 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
static const Vtx spindrift_seg5_vertex_05002BA8[] = {
{{{ 28, -6, 21}, 0, { 474, 1104}, {0x7e, 0xfd, 0x0b, 0xff}}},
{{{ 42, -20, -134}, 0, { -192, 0}, {0x7e, 0xfd, 0x0b, 0xff}}},
{{{ 42, 98, -96}, 0, { 1152, 0}, {0x7e, 0xfd, 0x0b, 0xff}}},
{{{ 28, -21, 0}, 0, { 474, 1104}, {0x7e, 0xf4, 0x00, 0xff}}},
{{{ 42, 122, -61}, 0, { -192, 0}, {0x7e, 0xf4, 0x00, 0xff}}},
{{{ 42, 122, 63}, 0, { 1152, 0}, {0x7e, 0xf4, 0x00, 0xff}}},
{{{ 28, -6, -20}, 0, { 474, 1104}, {0x7e, 0xfd, 0xf5, 0xff}}},
{{{ 42, 97, 97}, 0, { -192, 0}, {0x7e, 0xfd, 0xf5, 0xff}}},
{{{ 42, -21, 135}, 0, { 1152, 0}, {0x7e, 0xfd, 0xf5, 0xff}}},
{{{ 28, 18, -12}, 0, { 474, 1104}, {0x7e, 0x09, 0xf9, 0xff}}},
{{{ 42, -61, 122}, 0, { -192, 0}, {0x7e, 0x09, 0xf9, 0xff}}},
{{{ 42, -135, 21}, 0, { 1152, 0}, {0x7e, 0x09, 0xf9, 0xff}}},
{{{ 28, 18, 13}, 0, { 474, 1104}, {0x7e, 0x0a, 0x07, 0xff}}},
{{{ 42, -134, -21}, 0, { -192, 0}, {0x7e, 0x0a, 0x07, 0xff}}},
{{{ 42, -61, -122}, 0, { 1152, 0}, {0x7e, 0x0a, 0x07, 0xff}}},
};
// 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(),
};
// 0x05000030
static const Lights1 spindrift_seg5_lights_05000030 = gdSPDefLights1(
0x12, 0x2c, 0x00,
@@ -24,12 +284,6 @@ static const Lights1 spindrift_seg5_lights_05000048 = gdSPDefLights1(
0xdd, 0xff, 0x01, 0x28, 0x28, 0x28
);
// Unreferenced light group
UNUSED static const Lights1 spindrift_lights_unused3 = gdSPDefLights1(
0x00, 0x15, 0x00,
0x00, 0x56, 0x00, 0x28, 0x28, 0x28
);
// 0x05000078
static const Lights1 spindrift_seg5_lights_05000078 = gdSPDefLights1(
0x3f, 0x38, 0x00,
@@ -42,12 +296,6 @@ static const Lights1 spindrift_seg5_lights_05000090 = gdSPDefLights1(
0x00, 0x3f, 0x00, 0x28, 0x28, 0x28
);
// Unreferenced light group
UNUSED static const Lights1 spindrift_lights_unused4 = gdSPDefLights1(
0x3f, 0x00, 0x00,
0xff, 0x00, 0x00, 0x28, 0x28, 0x28
);
// 0x050000C0
static const Vtx spindrift_seg5_vertex_050000C0[] = {
{{{ 34, 40, 30}, 0, { 0, 0}, {0x7b, 0x17, 0x11, 0x00}}},

View File

@@ -28,6 +28,8 @@
// -- GAME SETTINGS --
// Disable lives and hide the lives counter
#define DISABLE_LIVES
// Air/Breath meter is separate from health meter when underwater
//#define BREATH_METER
// Number of coins to spawn the "100 coin" star. If you remove the define altogether, then there won't be a 100 coin star at all.
#define X_COIN_STAR 100
// Stars don't kick you out of the level
@@ -190,6 +192,8 @@
// Include Puppyprint, a display library for text and large images. Also includes a custom, enhanced performance profiler.
//#define PUPPYPRINT
#define PUPPYPRINT_DEBUG 0
// Use cycles instead of microseconds
//#define PUPPYPRINT_DEBUG_CYCLES
// Visual debug enables some collision visuals. Tapping Right on the dpad will cycle between visual hitboxes, visual surfaces, both, and neither.
// If puppyprint is enabled, then this can be cycled only while the screen is active.
//#define VISUAL_DEBUG

View File

@@ -377,6 +377,10 @@ struct MarioState
/*0xBC*/ f32 peakHeight;
/*0xC0*/ f32 quicksandDepth;
/*0xC4*/ f32 windGravity;
#ifdef BREATH_METER
s16 breath;
u8 breathCounter;
#endif
};
#endif // TYPES_H

View File

@@ -1493,7 +1493,11 @@ void audio_reset_session(void) {
}
#endif
#if PUPPYPRINT_DEBUG
#ifdef PUPPYPRINT_DEBUG_CYCLES
append_puppyprint_log("Audio Initialised in %dc.", (s32)(osGetTime() - first));
#else
append_puppyprint_log("Audio Initialised in %dus.", (s32)OS_CYCLES_TO_USEC(osGetTime() - first));
#endif
#endif
sAudioFirstBoot = 1;
}

Some files were not shown because too many files have changed in this diff Show More