Interpolate parade text.

This commit is contained in:
Dario
2026-01-22 19:27:07 -03:00
parent da24f09d16
commit 44d0265852
2 changed files with 37 additions and 0 deletions
+34
View File
@@ -140,6 +140,27 @@ extern struct {
u32 pad70_28 : 29;
} D_80383010;
typedef struct struct_1C_s {
u8 map;
s8 exit;
s16 x; //0x2
char* str; //0x4
s8 unk8;
}ParadeInfo;
extern struct {
u8 state;
u8 indx;
u8 count;
s8 y_position;
s8 scroll_frame;
u8 unk5;
u8 parade_id;
u8 jiggyscore; //jiggy total
s32 unk8;
ParadeInfo* parade_element;
}D_803830F0;
extern u32 cur_pushed_text_transform_id;
extern u32 cur_pushed_text_transform_origin;
extern u32 cur_pushed_text_transform_skip_interpolation;
@@ -886,6 +907,19 @@ RECOMP_PATCH void gcpausemenu_printTotalsHeader(s32 page_id) {
struct1Cs_1 *v0 = D_8036C58C + page_id;
print_bold_overlapping(v0->x, D_80383010.unk8, -1.05f, v0->string);
// @recomp Clear the ID text.
cur_pushed_text_transform_id = 0;
}
// @recomp Patched to interpolate the character names during the parade.
RECOMP_PATCH void gcparade_print(s32 index) {
ParadeInfo* v0 = D_803830F0.parade_element;
// @recomp Assign an ID for the totals text.
cur_pushed_text_transform_id = PARADE_PRINT_TRANSFORM_ID_START;
print_bold_overlapping(v0->x, D_803830F0.y_position, -1.2f, v0->str);
// @recomp Clear the ID text.
cur_pushed_text_transform_id = 0;
}
+3
View File
@@ -95,6 +95,9 @@ typedef struct {
#define ZOOMBOX_PRINT_TRANSFORM_ID_START 0x00F42200
#define ZOOMBOX_PRINT_TRANSFORM_ID_COUNT 256
// Parade Print: 0x00F60000 - 0x00F600FF
#define PARADE_PRINT_TRANSFORM_ID_START 0x00F60000
// Normal Particles: 0x01000000 - 0x01FFFFFF
#define NORMAL_PARTICLE_TRANSFORM_ID_START 0x01000000
#define NORMAL_PARTICLE_ID_MAX 0x01000000