Fix HUD drawing crash if 1 or more KITEM_NONE
blame 375fb72de
This commit is contained in:
parent
1b53d6b4bf
commit
45c388b1f1
1 changed files with 5 additions and 5 deletions
10
src/k_hud.c
10
src/k_hud.c
|
|
@ -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
|
||||
|
|
|
|||
Loading…
Reference in a new issue