Pick-me-up HUD tracking

This commit is contained in:
Antonio Martinez 2025-05-16 14:47:47 -04:00
parent 34ddee575a
commit ef853bafc4
3 changed files with 47 additions and 0 deletions

View file

@ -209,6 +209,7 @@ static patch_t *kp_alagles[10];
static patch_t *kp_blagles[6];
static patch_t *kp_cpu[2];
patch_t *kp_pickmeup[2];
static patch_t *kp_nametagstem;
@ -867,6 +868,9 @@ void K_LoadKartHUDGraphics(void)
HU_UpdatePatch(&kp_cpu[0], "K_CPU1");
HU_UpdatePatch(&kp_cpu[1], "K_CPU2");
HU_UpdatePatch(&kp_pickmeup[0], "K_PMU1");
HU_UpdatePatch(&kp_pickmeup[1], "K_PMU2");
HU_UpdatePatch(&kp_nametagstem, "K_NAMEST");
HU_UpdatePatch(&kp_trickcool[0], "K_COOL1");

View file

@ -130,6 +130,8 @@ extern patch_t *gen_button_keycenter[2];
extern patch_t *kp_eggnum[6];
extern patch_t *kp_facenum[MAXPLAYERS+1];
extern patch_t *kp_pickmeup[2];
extern patch_t *kp_unknownminimap;
void K_AddMessage(const char *msg, boolean interrupt, boolean persist);

View file

@ -278,6 +278,22 @@ private:
}},
};
case MT_JAWZ:
case MT_JAWZ_SHIELD:
case MT_ORBINAUT:
case MT_ORBINAUT_SHIELD:
case MT_DROPTARGET:
case MT_DROPTARGET_SHIELD:
case MT_LANDMINE:
case MT_BANANA:
case MT_BANANA_SHIELD:
return {
{ // Near
{2, TICRATE/2, {kp_pickmeup}, 0}, // 1P
{{2, TICRATE/2, {kp_pickmeup}, 0}}, // 4P
},
};
default:
return {
{ // Near
@ -874,6 +890,31 @@ void K_drawTargetHUD(const vector3_t* origin, player_t* player)
if (tracking)
{
fixed_t itemOffset = 36*mobj->scale;
switch (mobj->type)
{
case MT_JAWZ:
case MT_JAWZ_SHIELD:
case MT_ORBINAUT:
case MT_ORBINAUT_SHIELD:
case MT_DROPTARGET:
case MT_DROPTARGET_SHIELD:
case MT_LANDMINE:
case MT_BANANA:
case MT_BANANA_SHIELD:
if (stplyr->mo->eflags & MFE_VERTICALFLIP)
{
pos.z -= itemOffset;
}
else
{
pos.z += itemOffset;
}
break;
default:
break;
}
K_ObjectTracking(&tr.result, &pos, false);
targetList.push_back(tr);
}