make flameometer fire not crash
This commit is contained in:
parent
881dadd6a5
commit
3e694b6ca2
1 changed files with 23 additions and 9 deletions
32
src/k_hud.c
32
src/k_hud.c
|
|
@ -153,7 +153,7 @@ static patch_t *kp_driftgauge[13];
|
|||
static patch_t *kp_driftgaugeparts[5];
|
||||
|
||||
static patch_t *kp_flamometer[4];
|
||||
static patch_t *kp_flamometerfire[4];
|
||||
static patch_t *kp_flamefire[4];
|
||||
|
||||
static patch_t *kp_rankbumper;
|
||||
static patch_t *kp_tinybumper[2];
|
||||
|
|
@ -432,12 +432,21 @@ void K_LoadKartHUDGraphics(void)
|
|||
HU_UpdatePatch(&kp_flamometer[1], "THERMOFUEL");
|
||||
HU_UpdatePatch(&kp_flamometer[2], "THERMOTEMP");
|
||||
HU_UpdatePatch(&kp_flamometer[3], "THERMOMETRE");
|
||||
//Flamometer Fire
|
||||
HU_UpdatePatch(&kp_flamometerfire[0], "THERMOFIRE1");
|
||||
HU_UpdatePatch(&kp_flamometerfire[1], "THERMOFIRE2");
|
||||
HU_UpdatePatch(&kp_flamometerfire[2], "THERMOFIRE3");
|
||||
HU_UpdatePatch(&kp_flamometerfire[3], "THERMOFIRE4");
|
||||
|
||||
//Flamometer Fire
|
||||
{
|
||||
const char* patchNames[] = {
|
||||
"THFIRE1",
|
||||
"THFIRE2",
|
||||
"THFIRE3",
|
||||
"THFIRE4"
|
||||
};
|
||||
|
||||
for (size_t m = 0; m < sizeof(patchNames) / sizeof(patchNames[0]); ++m)
|
||||
{
|
||||
kp_flamefire[m] = W_CachePatchName(patchNames[m], PU_HUDGFX);
|
||||
}
|
||||
}
|
||||
|
||||
// Speedometer labels
|
||||
HU_UpdatePatch(&kp_speedometerlabel[0], "SP_MKMH");
|
||||
|
|
@ -6336,7 +6345,7 @@ void K_DrawFlamometer(void)
|
|||
R_InterpolateFixed(mo->old_z, mo->z) + mo->sprzoff + (mo->eflags & MFE_VERTICALFLIP ? mo->height : 0),
|
||||
};
|
||||
trackingResult_t res;
|
||||
INT32 basex, basey = 0;
|
||||
INT32 basex, basey, barextraflags = 0;
|
||||
INT32 flags = V_SPLITSCREEN|V_HUDTRANS;
|
||||
INT32 fuelbarheight = 41;
|
||||
INT32 tempbarheight = 48;
|
||||
|
|
@ -6348,7 +6357,12 @@ void K_DrawFlamometer(void)
|
|||
// fire animation
|
||||
if (stplyr->flamestore >= FLAMESTOREMAX-1)
|
||||
{
|
||||
V_DrawFixedPatch(basex, basey, FRACUNIT, flags, kp_flamometerfire[leveltime % 4], NULL);
|
||||
V_DrawFixedPatch(basex, basey, FRACUNIT, flags|V_ADD, kp_flamefire[CLAMP((leveltime / 3) % 4, 0, 4)], NULL);
|
||||
|
||||
if (leveltime % 3 != 0)
|
||||
{
|
||||
barextraflags = V_ADD;
|
||||
}
|
||||
}
|
||||
|
||||
// back
|
||||
|
|
@ -6365,7 +6379,7 @@ void K_DrawFlamometer(void)
|
|||
// temperature
|
||||
tempbarheight *= FixedDiv(stplyr->flamestore, FLAMESTOREMAX);
|
||||
V_SetClipRect(basex + 5*FRACUNIT, basey + 53*FRACUNIT - tempbarheight, 5*FRACUNIT, tempbarheight, flags);
|
||||
V_DrawFixedPatch(basex, basey, FRACUNIT, flags, kp_flamometer[2], NULL);
|
||||
V_DrawFixedPatch(basex, basey, FRACUNIT, flags|barextraflags, kp_flamometer[2], NULL);
|
||||
|
||||
V_ClearClipRect();
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue