mirror of
https://github.com/KartKrewDev/RingRacers.git
synced 2026-02-04 04:36:21 +00:00
itemroulette_t: add reserved member, block roulette and P_CanPickupItem, draw empty item box in HUD
This commit is contained in:
parent
c12a80ef91
commit
4819290ca2
5 changed files with 15 additions and 1 deletions
|
|
@ -442,6 +442,7 @@ struct itemroulette_t
|
|||
boolean eggman;
|
||||
boolean ringbox;
|
||||
boolean autoroulette;
|
||||
UINT8 reserved;
|
||||
};
|
||||
|
||||
// enum for bot item priorities
|
||||
|
|
|
|||
|
|
@ -1413,6 +1413,10 @@ static void K_drawKartItem(void)
|
|||
else
|
||||
localpatch[1] = kp_nodraw;
|
||||
}
|
||||
else if (stplyr->itemRoulette.reserved > 0)
|
||||
{
|
||||
localpatch[1] = kp_nodraw;
|
||||
}
|
||||
else
|
||||
{
|
||||
if (stplyr->itemamount <= 0)
|
||||
|
|
|
|||
|
|
@ -1509,6 +1509,7 @@ void K_StopRoulette(itemroulette_t *const roulette)
|
|||
roulette->active = false;
|
||||
roulette->eggman = false;
|
||||
roulette->ringbox = false;
|
||||
roulette->reserved = 0;
|
||||
}
|
||||
|
||||
/*--------------------------------------------------
|
||||
|
|
@ -1574,6 +1575,12 @@ void K_KartItemRoulette(player_t *const player, ticcmd_t *const cmd)
|
|||
itemroulette_t *const roulette = &player->itemRoulette;
|
||||
boolean confirmItem = false;
|
||||
|
||||
if (roulette->reserved > 0)
|
||||
{
|
||||
roulette->reserved--;
|
||||
return;
|
||||
}
|
||||
|
||||
// This makes the roulette cycle through items.
|
||||
// If this isn't active, you shouldn't be here.
|
||||
if (roulette->active == false)
|
||||
|
|
|
|||
|
|
@ -115,7 +115,7 @@ void P_RampConstant(const BasicFF_t *FFInfo, INT32 Start, INT32 End)
|
|||
//
|
||||
boolean P_CanPickupItem(player_t *player, UINT8 weapon)
|
||||
{
|
||||
if (player->exiting || mapreset || (player->pflags & PF_ELIMINATED))
|
||||
if (player->exiting || mapreset || (player->pflags & PF_ELIMINATED) || player->itemRoulette.reserved)
|
||||
return false;
|
||||
|
||||
// 0: Sphere/Ring
|
||||
|
|
|
|||
|
|
@ -628,6 +628,7 @@ static void P_NetArchivePlayers(savebuffer_t *save)
|
|||
WRITEUINT8(save->p, players[i].itemRoulette.eggman);
|
||||
WRITEUINT8(save->p, players[i].itemRoulette.ringbox);
|
||||
WRITEUINT8(save->p, players[i].itemRoulette.autoroulette);
|
||||
WRITEUINT8(save->p, players[i].itemRoulette.reserved);
|
||||
|
||||
// sonicloopsvars_t
|
||||
WRITEFIXED(save->p, players[i].loop.radius);
|
||||
|
|
@ -1114,6 +1115,7 @@ static void P_NetUnArchivePlayers(savebuffer_t *save)
|
|||
players[i].itemRoulette.eggman = (boolean)READUINT8(save->p);
|
||||
players[i].itemRoulette.ringbox = (boolean)READUINT8(save->p);
|
||||
players[i].itemRoulette.autoroulette = (boolean)READUINT8(save->p);
|
||||
players[i].itemRoulette.reserved = READUINT8(save->p);
|
||||
|
||||
// sonicloopsvars_t
|
||||
players[i].loop.radius = READFIXED(save->p);
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue