mirror of
https://github.com/KartKrewDev/RingRacers.git
synced 2025-10-30 08:01:28 +00:00
Bailquake Cleanup
This commit is contained in:
parent
71a1175315
commit
1086c1e799
4 changed files with 9 additions and 21 deletions
|
|
@ -1083,7 +1083,7 @@ struct player_t
|
||||||
|
|
||||||
UINT32 bailcharge;
|
UINT32 bailcharge;
|
||||||
UINT32 baildrop;
|
UINT32 baildrop;
|
||||||
UINT8 bailquake;
|
boolean bailquake;
|
||||||
|
|
||||||
boolean analoginput; // Has an input been recorded that requires analog usage? For input display.
|
boolean analoginput; // Has an input been recorded that requires analog usage? For input display.
|
||||||
|
|
||||||
|
|
|
||||||
18
src/k_kart.c
18
src/k_kart.c
|
|
@ -10051,17 +10051,12 @@ void K_KartPlayerThink(player_t *player, ticcmd_t *cmd)
|
||||||
player->ringboost /= 3;
|
player->ringboost /= 3;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (player->bailquake)
|
if (player->bailquake) // quake as soon as we leave hitlag
|
||||||
player->bailquake--;
|
|
||||||
|
|
||||||
// bail camera shake
|
|
||||||
if (player->bailquake > 0 && !player->mo->hitlag) // only start after hitlag ends
|
|
||||||
{
|
{
|
||||||
P_StartQuakeFromMobj(1, 50 * player->mo->scale, 2048 * player->mo->scale, player->mo);
|
P_StartQuakeFromMobj(7, 50 * player->mo->scale, 2048 * player->mo->scale, player->mo);
|
||||||
|
player->bailquake = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// The precise ordering of start-of-level made me want to cut my head off,
|
// The precise ordering of start-of-level made me want to cut my head off,
|
||||||
// so let's try this instead. Whatever!
|
// so let's try this instead. Whatever!
|
||||||
if (leveltime <= starttime || player->gradingpointnum == 0)
|
if (leveltime <= starttime || player->gradingpointnum == 0)
|
||||||
|
|
@ -14044,12 +14039,7 @@ void K_MoveKartPlayer(player_t *player, boolean onground)
|
||||||
player->baildrop = baildrop * BAIL_DROPFREQUENCY + 1;
|
player->baildrop = baildrop * BAIL_DROPFREQUENCY + 1;
|
||||||
|
|
||||||
K_AddHitLag(player->mo, TICRATE/4, false);
|
K_AddHitLag(player->mo, TICRATE/4, false);
|
||||||
player->bailquake = player->mo->hitlag; // the quake effect that uses this will ignore it during hitlag and trigger after, so it needs to be longer than the hitlag
|
player->bailquake = true; // set for a one time quake effect as soon as hitlag ends
|
||||||
|
|
||||||
//if (player->mo->hitlag > 0) // bail blink; make the player invisible during the swish, like classic games.
|
|
||||||
//{
|
|
||||||
//player->mo->renderflags |= RF_DONTDRAW;
|
|
||||||
//}
|
|
||||||
|
|
||||||
if (P_PlayerInPain(player))
|
if (P_PlayerInPain(player))
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -289,7 +289,7 @@ static int player_get(lua_State *L)
|
||||||
else if (fastcmp(field,"baildrop"))
|
else if (fastcmp(field,"baildrop"))
|
||||||
lua_pushinteger(L, plr->baildrop);
|
lua_pushinteger(L, plr->baildrop);
|
||||||
else if (fastcmp(field,"bailquake"))
|
else if (fastcmp(field,"bailquake"))
|
||||||
lua_pushinteger(L, plr->bailquake);
|
lua_pushboolean(L, plr->bailquake);
|
||||||
else if (fastcmp(field,"dotrickfx"))
|
else if (fastcmp(field,"dotrickfx"))
|
||||||
lua_pushboolean(L, plr->dotrickfx);
|
lua_pushboolean(L, plr->dotrickfx);
|
||||||
else if (fastcmp(field,"stingfx"))
|
else if (fastcmp(field,"stingfx"))
|
||||||
|
|
@ -921,7 +921,7 @@ static int player_set(lua_State *L)
|
||||||
else if (fastcmp(field,"baildrop"))
|
else if (fastcmp(field,"baildrop"))
|
||||||
plr->baildrop = luaL_checkinteger(L, 3);
|
plr->baildrop = luaL_checkinteger(L, 3);
|
||||||
else if (fastcmp(field,"bailquake"))
|
else if (fastcmp(field,"bailquake"))
|
||||||
plr->bailquake = luaL_checkinteger(L, 3);
|
plr->bailquake = luaL_checkboolean(L, 3);
|
||||||
else if (fastcmp(field,"analoginput"))
|
else if (fastcmp(field,"analoginput"))
|
||||||
plr->analoginput = luaL_checkboolean(L, 3);
|
plr->analoginput = luaL_checkboolean(L, 3);
|
||||||
else if (fastcmp(field,"transfer"))
|
else if (fastcmp(field,"transfer"))
|
||||||
|
|
|
||||||
|
|
@ -9635,7 +9635,7 @@ void P_DoQuakeOffset(UINT8 view, mappoint_t *viewPos, mappoint_t *offset)
|
||||||
quake = quake->next;
|
quake = quake->next;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Add level-based effects, and local bailquake
|
// Add level-based effects
|
||||||
if (P_MobjWasRemoved(viewer->mo) == false
|
if (P_MobjWasRemoved(viewer->mo) == false
|
||||||
&& viewer->speed > viewer->mo->scale
|
&& viewer->speed > viewer->mo->scale
|
||||||
&& P_IsObjectOnGround(viewer->mo) == true)
|
&& P_IsObjectOnGround(viewer->mo) == true)
|
||||||
|
|
@ -9653,8 +9653,6 @@ void P_DoQuakeOffset(UINT8 view, mappoint_t *viewPos, mappoint_t *offset)
|
||||||
ir = FixedMul((viewer->stairjank * FRACUNIT * 5) / 17, mapobjectscale);
|
ir = FixedMul((viewer->stairjank * FRACUNIT * 5) / 17, mapobjectscale);
|
||||||
addZ += ir;
|
addZ += ir;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
fixed_t maxShake = FixedMul(cv_cam_height[view].value, mapobjectscale) * 3 / 4;
|
fixed_t maxShake = FixedMul(cv_cam_height[view].value, mapobjectscale) * 3 / 4;
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue