Fix HUD drawing crash if 1 or more KITEM_NONE

blame 375fb72de
This commit is contained in:
James R 2022-09-24 02:47:52 -07:00 committed by GenericHeroGuy
parent 1b53d6b4bf
commit 45c388b1f1

View file

@ -612,7 +612,7 @@ const char *K_GetItemPatch(UINT8 item, boolean tiny)
}
}
static patch_t **K_GetItemPatchTable(INT32 item)
static patch_t *K_GetCachedItemPatch(INT32 item, UINT8 offset)
{
patch_t **kp[1 + NUMKARTITEMS] = {
kp_sadface,
@ -640,8 +640,8 @@ static patch_t **K_GetItemPatchTable(INT32 item)
kp_droptarget,
};
if (item >= KITEM_SAD && item < NUMKARTITEMS)
return kp[item - KITEM_SAD];
if (item == KITEM_SAD || (item > KITEM_NONE && item < NUMKARTITEMS))
return kp[item - KITEM_SAD][offset];
else
return NULL;
}
@ -950,7 +950,7 @@ static void K_drawKartItem(void)
localpatch = localinv;
break;
default:
localpatch = K_GetItemPatchTable(item)[offset];
localpatch = K_GetCachedItemPatch(item, offset);
}
}
else
@ -1044,7 +1044,7 @@ static void K_drawKartItem(void)
/*FALLTHRU*/
default:
localpatch = K_GetItemPatchTable(stplyr->itemtype)[offset];
localpatch = K_GetCachedItemPatch(stplyr->itemtype, offset);
if (localpatch == NULL)
localpatch = kp_nodraw; // diagnose underflows