billion config cvars, add recovery dash to menus
This commit is contained in:
parent
92e74dca27
commit
dd15f7cc67
7 changed files with 110 additions and 13 deletions
|
|
@ -93,7 +93,7 @@
|
|||
#define ASSET_HASH_TEXTURES_KART 0xb4211b2f32b6a291
|
||||
#define ASSET_HASH_CHARS_KART 0x1e68a3e01aa5c68b
|
||||
#define ASSET_HASH_MAPS_KART 0x38558ed00da41ce9
|
||||
#define ASSET_HASH_MAIN_PK3 0xbfb32f5c97ecf875
|
||||
#define ASSET_HASH_MAIN_PK3 0x74f5f90d7c8b863d
|
||||
#define ASSET_HASH_MAPPATCH_PK3 0xbbc2c6a7a685da3a
|
||||
#define ASSET_HASH_BONUSCHARS_KART 0x60e6f13d822a7461
|
||||
#ifdef USE_PATCH_FILE
|
||||
|
|
|
|||
|
|
@ -170,6 +170,7 @@ static void KartSlopeBoost_OnChange(void);
|
|||
static void KartDrafting_OnChange(void);
|
||||
static void KartAirDrop_OnChange(void);
|
||||
static void KartAirThrust_OnChange(void);
|
||||
static void KartRecoveryDash_OnChange(void);
|
||||
static void KartWaterSkipLock_OnChange(void);
|
||||
static void KartItemLitter_OnChange(void);
|
||||
static void KartItemPush_OnChange(void);
|
||||
|
|
@ -549,9 +550,17 @@ consvar_t cv_kartstacking_ring_accelboost = CVAR_INIT ("vanillaboost_ring_accelb
|
|||
consvar_t cv_kartstacking_ring_handleboost = CVAR_INIT ("vanillaboost_ring_handleboost", "0", CV_NETVAR|CV_CHEAT|CV_FLOAT|CV_GUARD, CV_Unsigned, NULL);
|
||||
consvar_t cv_kartstacking_ring_stackable = CVAR_INIT ("vanillaboost_ring_stackable", "On", CV_NETVAR|CV_CHEAT|CV_GUARD, CV_OnOff, NULL);
|
||||
|
||||
consvar_t cv_kartstacking_ssmt_speedboost = CVAR_INIT ("vanillaboost_ssmt_speedboost", "0.05", CV_NETVAR|CV_CHEAT|CV_FLOAT|CV_GUARD, CV_Unsigned, NULL);
|
||||
consvar_t cv_kartstacking_ssmt_speedboost = CVAR_INIT ("vanillaboost_ssmt_speedboost", "0.1", CV_NETVAR|CV_CHEAT|CV_FLOAT|CV_GUARD, CV_Unsigned, NULL);
|
||||
consvar_t cv_kartstacking_ssmt_accelboost = CVAR_INIT ("vanillaboost_ssmt_accelboost", "8.0", CV_NETVAR|CV_CHEAT|CV_FLOAT|CV_GUARD, CV_Unsigned, NULL);
|
||||
consvar_t cv_kartstacking_ssmt_handleboost = CVAR_INIT ("vanillaboost_ssmt_handleboost", "0.25", CV_NETVAR|CV_CHEAT|CV_FLOAT|CV_GUARD, CV_Unsigned, NULL);
|
||||
consvar_t cv_kartstacking_ssmt_handleboost = CVAR_INIT ("vanillaboost_ssmt_handleboost", "0.1", CV_NETVAR|CV_CHEAT|CV_FLOAT|CV_GUARD, CV_Unsigned, NULL);
|
||||
|
||||
consvar_t cv_kartstacking_recspin_speedboost_lo = CVAR_INIT ("vanillaboost_recspin_speedboost_lo", "0.0001", CV_NETVAR|CV_CHEAT|CV_FLOAT|CV_GUARD, CV_Unsigned, NULL);
|
||||
consvar_t cv_kartstacking_recspin_accelboost_lo = CVAR_INIT ("vanillaboost_recspin_accelboost_lo", "2.0", CV_NETVAR|CV_CHEAT|CV_FLOAT|CV_GUARD, CV_Unsigned, NULL);
|
||||
consvar_t cv_kartstacking_recspin_handleboost_lo = CVAR_INIT ("vanillaboost_recspin_handleboost_lo", "0.25", CV_NETVAR|CV_CHEAT|CV_FLOAT|CV_GUARD, CV_Unsigned, NULL);
|
||||
|
||||
consvar_t cv_kartstacking_recspin_speedboost_hi = CVAR_INIT ("vanillaboost_recspin_speedboost_hi", "0.0001", CV_NETVAR|CV_CHEAT|CV_FLOAT|CV_GUARD, CV_Unsigned, NULL);
|
||||
consvar_t cv_kartstacking_recspin_accelboost_hi = CVAR_INIT ("vanillaboost_recspin_accelboost_hi", "6.0", CV_NETVAR|CV_CHEAT|CV_FLOAT|CV_GUARD, CV_Unsigned, NULL);
|
||||
consvar_t cv_kartstacking_recspin_handleboost_hi = CVAR_INIT ("vanillaboost_recspin_handleboost_hi", "0.3", CV_NETVAR|CV_CHEAT|CV_FLOAT|CV_GUARD, CV_Unsigned, NULL);
|
||||
|
||||
consvar_t cv_kartstacking_slope_decay = CVAR_INIT ("vanillaboost_slope_decay", "0.004", CV_NETVAR|CV_CHEAT|CV_FLOAT|CV_GUARD, CV_Unsigned, NULL);
|
||||
consvar_t cv_kartstacking_slope_brakemod = CVAR_INIT ("vanillaboost_slope_brakemod", "0.01", CV_NETVAR|CV_CHEAT|CV_FLOAT|CV_GUARD, CV_Unsigned, NULL);
|
||||
|
|
@ -621,6 +630,9 @@ consvar_t cv_kartforcelegacyodds = CVAR_INIT ("kartforcelegacyodds", "Off", CV_N
|
|||
|
||||
consvar_t cv_handleboostslip = CVAR_INIT ("karthandleboostsliptide", "Off", CV_NETVAR, CV_OnOff, NULL);
|
||||
|
||||
consvar_t cv_kartrecoverydash = CVAR_INIT ("kartrecoverydash", "No", CV_NETVAR|CV_CALL|CV_NOINIT|CV_GUARD, CV_YesNo, KartRecoveryDash_OnChange);
|
||||
consvar_t cv_kartrecoverydash_spinspeed = CVAR_INIT ("kartrecoverydash_spinspeed", "22.0", CV_NETVAR|CV_FLOAT|CV_CHEAT|CV_GUARD, CV_Unsigned, NULL);
|
||||
|
||||
#define ANTIBUMP_MAX (UINT32_MAX / TICRATE)
|
||||
static CV_PossibleValue_t antibump_cons_t[] = {{0, "MIN"}, {ANTIBUMP_MAX, "MAX"}, {0, NULL}};
|
||||
consvar_t cv_kartantibump = CVAR_INIT ("kartantibump", "0", CV_NETVAR|CV_CALL|CV_NOINIT, antibump_cons_t, KartAntiBump_OnChange);
|
||||
|
|
@ -8504,6 +8516,39 @@ static void KartAirThrust_OnChange(void)
|
|||
}
|
||||
}
|
||||
|
||||
static void KartRecoveryDash_OnChange(void)
|
||||
{
|
||||
if (K_CanChangeRules(false) == false)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
if (!K_RecoveryDashActive() && cv_kartrecoverydash.value)
|
||||
{
|
||||
if (leveltime < starttime)
|
||||
{
|
||||
recoverydashactive = true;
|
||||
CONS_Printf(M_GetText("Recovery Dash has been turned \"On\".\n"));
|
||||
}
|
||||
else
|
||||
{
|
||||
CONS_Printf(M_GetText("Recovery Dash will be turned \"On\" Next Round.\n"));
|
||||
}
|
||||
}
|
||||
else if (K_RecoveryDashActive() && !cv_kartrecoverydash.value)
|
||||
{
|
||||
if (leveltime < starttime)
|
||||
{
|
||||
recoverydashactive = false;
|
||||
CONS_Printf(M_GetText("Recovery Dash has been turned \"Off\".\n"));
|
||||
}
|
||||
else
|
||||
{
|
||||
CONS_Printf(M_GetText("Recovery Dash will be turned \"Off\" next round.\n"));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
static void KartWaterSkipLock_OnChange(void)
|
||||
{
|
||||
if (K_CanChangeRules(false) == false)
|
||||
|
|
|
|||
|
|
@ -171,6 +171,14 @@ extern consvar_t cv_kartstacking_ssmt_speedboost;
|
|||
extern consvar_t cv_kartstacking_ssmt_accelboost;
|
||||
extern consvar_t cv_kartstacking_ssmt_handleboost;
|
||||
|
||||
extern consvar_t cv_kartstacking_recspin_speedboost_lo;
|
||||
extern consvar_t cv_kartstacking_recspin_accelboost_lo;
|
||||
extern consvar_t cv_kartstacking_recspin_handleboost_lo;
|
||||
|
||||
extern consvar_t cv_kartstacking_recspin_speedboost_hi;
|
||||
extern consvar_t cv_kartstacking_recspin_accelboost_hi;
|
||||
extern consvar_t cv_kartstacking_recspin_handleboost_hi;
|
||||
|
||||
extern consvar_t cv_kartstacking_slope_decay;
|
||||
extern consvar_t cv_kartstacking_slope_brakemod;
|
||||
extern consvar_t cv_kartstacking_slope_speedboost_max;
|
||||
|
|
@ -234,6 +242,9 @@ extern consvar_t cv_kartforcelegacyodds;
|
|||
|
||||
extern consvar_t cv_handleboostslip;
|
||||
|
||||
extern consvar_t cv_kartrecoverydash;
|
||||
extern consvar_t cv_kartrecoverydash_spinspeed;
|
||||
|
||||
extern consvar_t cv_kartoddsdist;
|
||||
extern consvar_t cv_kartlegacyoddsdist;
|
||||
|
||||
|
|
|
|||
50
src/k_kart.c
50
src/k_kart.c
|
|
@ -361,6 +361,13 @@ void K_RegisterKartStuff(void)
|
|||
CV_RegisterVar(&cv_kartstacking_ssmt_accelboost);
|
||||
CV_RegisterVar(&cv_kartstacking_ssmt_handleboost);
|
||||
|
||||
CV_RegisterVar(&cv_kartstacking_recspin_speedboost_lo);
|
||||
CV_RegisterVar(&cv_kartstacking_recspin_accelboost_lo);
|
||||
CV_RegisterVar(&cv_kartstacking_recspin_handleboost_lo);
|
||||
CV_RegisterVar(&cv_kartstacking_recspin_speedboost_hi);
|
||||
CV_RegisterVar(&cv_kartstacking_recspin_accelboost_hi);
|
||||
CV_RegisterVar(&cv_kartstacking_recspin_handleboost_hi);
|
||||
|
||||
CV_RegisterVar(&cv_kartstacking_slope_decay);
|
||||
CV_RegisterVar(&cv_kartstacking_slope_brakemod);
|
||||
CV_RegisterVar(&cv_kartstacking_slope_speedboost_max);
|
||||
|
|
@ -411,6 +418,9 @@ void K_RegisterKartStuff(void)
|
|||
|
||||
CV_RegisterVar(&cv_kartslopeboost);
|
||||
|
||||
CV_RegisterVar(&cv_kartrecoverydash);
|
||||
CV_RegisterVar(&cv_kartrecoverydash_spinspeed);
|
||||
|
||||
CV_RegisterVar(&cv_kartaltshrinktime);
|
||||
|
||||
CV_RegisterVar(&cv_kartinvintheme);
|
||||
|
|
@ -2847,11 +2857,11 @@ static void K_GetKartBoostPower(player_t *player)
|
|||
{
|
||||
if (player->flashing || player->recoverydashcharge >= TICRATE)
|
||||
{
|
||||
K_DoBoost(player, 1, 4*FRACUNIT, FRACUNIT/4, false, false); // + 400% acceleration, + 25% handling
|
||||
K_DoBoost(player, RECSPINSPEEDBOOSTHI, RECSPINACCELBOOSTHI, RECSPINHANDLEBOOSTHI, false, false); // + 500% acceleration, + 25% handling
|
||||
}
|
||||
else
|
||||
{
|
||||
K_DoBoost(player, 1, 2*FRACUNIT, FRACUNIT/4, false, false);// + 200% acceleration, + 25% handling
|
||||
K_DoBoost(player, RECSPINSPEEDBOOSTLO, RECSPINACCELBOOSTLO, RECSPINHANDLEBOOSTLO, false, false);// + 200% acceleration, + 25% handling
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -9647,17 +9657,18 @@ static void K_KartSlipdash(player_t *player, boolean onground)
|
|||
|
||||
static boolean K_PlayerCanStartSsmt(player_t *player)
|
||||
{
|
||||
return (P_IsObjectOnGround(player->mo) && player->speed <= 10*player->mo->scale && (!(player->pflags & PF_CHARGINGSSMT)) &&
|
||||
return (K_RecoveryDashActive() && P_IsObjectOnGround(player->mo) &&
|
||||
player->speed <= 12*player->mo->scale && (!(player->pflags & PF_CHARGINGSSMT)) &&
|
||||
(player->cmd.buttons & BT_ACCELERATE) && (player->cmd.buttons & BT_BRAKE));
|
||||
}
|
||||
|
||||
static boolean K_PlayerCanChargeSsmt(player_t *player)
|
||||
{
|
||||
return (leveltime > starttime &&
|
||||
return (K_RecoveryDashActive() && leveltime > starttime &&
|
||||
!(player->sneakertimer || K_IsPlayerDamaged(player) || player->squishedtimer || player->exiting));
|
||||
}
|
||||
|
||||
static void K_StandStillMiniTurbo(player_t *player, boolean onground)
|
||||
static void K_StandStillMiniTurbo(player_t *player)
|
||||
{
|
||||
if (K_PlayerCanChargeSsmt(player))
|
||||
{
|
||||
|
|
@ -9670,7 +9681,7 @@ static void K_StandStillMiniTurbo(player_t *player, boolean onground)
|
|||
{
|
||||
if ((player->cmd.buttons & BT_ACCELERATE) && (player->cmd.buttons & BT_BRAKE))
|
||||
{
|
||||
player->forcedtopspeed = 22*FRACUNIT;
|
||||
player->forcedtopspeed = cv_kartrecoverydash_spinspeed.value;
|
||||
if (P_IsObjectOnGround(player->mo))
|
||||
{
|
||||
player->recoverydashcharge += 1;
|
||||
|
|
@ -9695,8 +9706,9 @@ static void K_StandStillMiniTurbo(player_t *player, boolean onground)
|
|||
fixed_t newx;
|
||||
fixed_t newy;
|
||||
mobj_t *spark;
|
||||
angle_t travelangle;
|
||||
angle_t travelangle, sparkangle;
|
||||
travelangle = player->mo->angle;
|
||||
sparkangle = R_PointToAngle2(0, 0, player->mo->momx, player->mo->momy);
|
||||
for (INT32 i = 0; i < 2; i++)
|
||||
{
|
||||
newx = player->mo->x + P_ReturnThrustX(player->mo, travelangle + ((i&1) ? -1 : 1)*ANGLE_135, FixedMul(32*FRACUNIT, player->mo->scale));
|
||||
|
|
@ -9706,10 +9718,17 @@ static void K_StandStillMiniTurbo(player_t *player, boolean onground)
|
|||
spark->momy = player->mo->momy/2;
|
||||
|
||||
P_SetTarget(&spark->target, player->mo);
|
||||
spark->angle = travelangle;
|
||||
spark->angle = sparkangle;
|
||||
spark->color = SKINCOLOR_WHITE;
|
||||
|
||||
P_SetMobjState(spark, S_DRIFTSPARK_A1);
|
||||
if (player->recoverydashcharge >= 2*TICRATE + TICRATE/4)
|
||||
{
|
||||
P_SetMobjState(spark, S_DRIFTSPARK_B1);
|
||||
}
|
||||
else
|
||||
{
|
||||
P_SetMobjState(spark, S_DRIFTSPARK_A1);
|
||||
}
|
||||
K_MatchGenericExtraFlags(spark, player->mo);
|
||||
}
|
||||
}
|
||||
|
|
@ -11193,7 +11212,7 @@ void K_MoveKartPlayer(player_t *player, boolean onground)
|
|||
|
||||
K_KartSlipdash(player, onground);
|
||||
|
||||
K_StandStillMiniTurbo(player, onground);
|
||||
K_StandStillMiniTurbo(player);
|
||||
|
||||
// Quick Turning
|
||||
// You can't turn your kart when you're not moving.
|
||||
|
|
@ -11558,6 +11577,17 @@ boolean K_AirThrustActive(void)
|
|||
return false;
|
||||
}
|
||||
|
||||
boolean K_RecoveryDashActive(void)
|
||||
{
|
||||
if (recoverydashactive)
|
||||
{
|
||||
// Recovery Dash is enabled!
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
boolean K_WaterskipBricksActive(void)
|
||||
{
|
||||
if (waterskipbricks)
|
||||
|
|
|
|||
|
|
@ -167,6 +167,14 @@ extern vector3_t clusterpoint, clusterdtf;
|
|||
#define SSMTACCELBOOST CV_Get(&cv_kartstacking_ssmt_accelboost)
|
||||
#define SSMTHANDLEBOOST CV_Get(&cv_kartstacking_ssmt_handleboost)
|
||||
|
||||
#define RECSPINSPEEDBOOSTLO CV_Get(&cv_kartstacking_recspin_speedboost_lo)
|
||||
#define RECSPINACCELBOOSTLO CV_Get(&cv_kartstacking_recspin_accelboost_lo)
|
||||
#define RECSPINHANDLEBOOSTLO CV_Get(&cv_kartstacking_recspin_handleboost_lo)
|
||||
|
||||
#define RECSPINSPEEDBOOSTHI CV_Get(&cv_kartstacking_recspin_speedboost_hi)
|
||||
#define RECSPINACCELBOOSTHI CV_Get(&cv_kartstacking_recspin_accelboost_hi)
|
||||
#define RECSPINHANDLEBOOSTHI CV_Get(&cv_kartstacking_recspin_handleboost_hi)
|
||||
|
||||
#define SLOPEDECAY CV_Get(&cv_kartstacking_slope_decay)
|
||||
#define SLOPEBRAKEMOD CV_Get(&cv_kartstacking_slope_brakemod)
|
||||
#define SLOPESPEEDBOOSTMAX CV_Get(&cv_kartstacking_slope_speedboost_max)
|
||||
|
|
@ -375,6 +383,7 @@ boolean K_SlopeBoostActive(void);
|
|||
boolean K_DraftingActive(void);
|
||||
boolean K_AirDropActive(void);
|
||||
boolean K_AirThrustActive(void);
|
||||
boolean K_RecoveryDashActive(void);
|
||||
boolean K_WaterskipBricksActive(void);
|
||||
boolean K_ItemLitterActive(void);
|
||||
boolean K_ItemListActive(void);
|
||||
|
|
|
|||
|
|
@ -619,6 +619,7 @@ extern boolean slopeboostactive;
|
|||
extern boolean draftingactive;
|
||||
extern boolean airdropactive;
|
||||
extern boolean airthrustactive;
|
||||
extern boolean recoverydashactive;
|
||||
extern boolean waterskipbricks;
|
||||
extern boolean itemlittering;
|
||||
extern boolean itempushing;
|
||||
|
|
|
|||
|
|
@ -162,6 +162,7 @@ boolean slopeboostactive;
|
|||
boolean draftingactive;
|
||||
boolean airdropactive;
|
||||
boolean airthrustactive;
|
||||
boolean recoverydashactive;
|
||||
boolean waterskipbricks;
|
||||
boolean itemlittering;
|
||||
boolean itempushing;
|
||||
|
|
|
|||
Loading…
Reference in a new issue