Merge branch 'master' of https://github.com/Reonu/HackerSM64
1
.gitignore
vendored
@@ -71,6 +71,7 @@ build/*
|
||||
!/assets/**/*custom*.bin
|
||||
!/assets/**/*custom*/**/*.bin
|
||||
!/textures/crash_custom/*.png
|
||||
!/actors/breath_meter/breath_meter_*.png
|
||||
# libultra
|
||||
|
||||
!/lib/*.a
|
||||
|
||||
@@ -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
|
||||
|
||||
BIN
actors/breath_meter/breath_meter_five_segments.rgba16.png
Normal file
|
After Width: | Height: | Size: 8.6 KiB |
BIN
actors/breath_meter/breath_meter_four_segments.rgba16.png
Normal file
|
After Width: | Height: | Size: 8.7 KiB |
BIN
actors/breath_meter/breath_meter_full.rgba16.png
Normal file
|
After Width: | Height: | Size: 8.8 KiB |
BIN
actors/breath_meter/breath_meter_left_side.rgba16.png
Normal file
|
After Width: | Height: | Size: 10 KiB |
BIN
actors/breath_meter/breath_meter_one_segment.rgba16.png
Normal file
|
After Width: | Height: | Size: 8.2 KiB |
BIN
actors/breath_meter/breath_meter_right_side.rgba16.png
Normal file
|
After Width: | Height: | Size: 9.3 KiB |
BIN
actors/breath_meter/breath_meter_seven_segments.rgba16.png
Normal file
|
After Width: | Height: | Size: 8.9 KiB |
BIN
actors/breath_meter/breath_meter_six_segments.rgba16.png
Normal file
|
After Width: | Height: | Size: 8.7 KiB |
BIN
actors/breath_meter/breath_meter_three_segments.rgba16.png
Normal file
|
After Width: | Height: | Size: 8.4 KiB |
BIN
actors/breath_meter/breath_meter_two_segments.rgba16.png
Normal file
|
After Width: | Height: | Size: 8.3 KiB |
130
actors/breath_meter/model.inc.c
Normal 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
|
||||
@@ -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;
|
||||
|
||||
@@ -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[];
|
||||
|
||||
|
||||
@@ -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?
|
||||
|
||||
@@ -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}}},
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||