diff --git a/patches/hud_transform_tagging.c b/patches/hud_transform_tagging.c index 55302ab..e42b1e7 100644 --- a/patches/hud_transform_tagging.c +++ b/patches/hud_transform_tagging.c @@ -144,6 +144,10 @@ extern u32 cur_pushed_text_transform_id; extern u32 cur_pushed_text_transform_origin; extern u32 cur_pushed_text_transform_skip_interpolation; +ModelSkinningData sScore3SkinningData[ITEM_2B_UNKNOWN]; + +void bkrecomp_setup_custom_skinning(ModelSkinningData* skinning_data, u32 model_id); + // @recomp Tag the matrices for each honeycomb piece. RECOMP_PATCH void fxhoneycarrierscore_draw(s32 arg0, struct8s *arg1, Gfx **arg2, Mtx **arg3, Vtx **arg4) { f64 var_f24; @@ -853,6 +857,11 @@ RECOMP_PATCH void fxcommon3score_draw(enum item_e item_id, void *arg1, Gfx **gfx gEXPopCombineMode((*gfx)++); } + // @recomp Set the skinning data for this score. + if (item_id < ITEM_2B_UNKNOWN) { + bkrecomp_setup_custom_skinning(&sScore3SkinningData[item_id], a1->model_id); + } + // @recomp Set the model transform ID. cur_drawn_model_transform_id = HUD_SCORE3_TRANSFORM_ID_START + item_id * MARKER_TRANSFORM_ID_COUNT;