mirror of
https://github.com/KartKrewDev/RingRacers.git
synced 2025-10-30 08:01:28 +00:00
Merge branch 'capsuletest' into 'master'
Add capsuletest cvar See merge request KartKrew/Kart!884
This commit is contained in:
commit
6e058d66e1
6 changed files with 40 additions and 2 deletions
|
|
@ -448,6 +448,20 @@ consvar_t cv_kartdebugdirector = CVAR_INIT ("debugdirector", "Off", CV_CHEAT, CV
|
||||||
consvar_t cv_spbtest = CVAR_INIT ("spbtest", "Off", CV_CHEAT|CV_NETVAR, CV_OnOff, NULL);
|
consvar_t cv_spbtest = CVAR_INIT ("spbtest", "Off", CV_CHEAT|CV_NETVAR, CV_OnOff, NULL);
|
||||||
consvar_t cv_gptest = CVAR_INIT ("gptest", "Off", CV_CHEAT|CV_NETVAR, CV_OnOff, NULL);
|
consvar_t cv_gptest = CVAR_INIT ("gptest", "Off", CV_CHEAT|CV_NETVAR, CV_OnOff, NULL);
|
||||||
|
|
||||||
|
static CV_PossibleValue_t capsuletest_cons_t[] = {
|
||||||
|
{CV_CAPSULETEST_OFF, "Off"},
|
||||||
|
{CV_CAPSULETEST_MULTIPLAYER, "Multiplayer"},
|
||||||
|
{CV_CAPSULETEST_TIMEATTACK, "TimeAttack"},
|
||||||
|
{0, NULL}};
|
||||||
|
|
||||||
|
static void CapsuleTest_OnChange(void)
|
||||||
|
{
|
||||||
|
if (gamestate == GS_LEVEL)
|
||||||
|
CONS_Printf("Level must be restarted for capsuletest to have effect.\n");
|
||||||
|
}
|
||||||
|
|
||||||
|
consvar_t cv_capsuletest = CVAR_INIT ("capsuletest", "Off", CV_CHEAT|CV_NETVAR|CV_CALL, capsuletest_cons_t, CapsuleTest_OnChange);
|
||||||
|
|
||||||
consvar_t cv_reducevfx = CVAR_INIT ("reducevfx", "No", CV_SAVE, CV_YesNo, NULL);
|
consvar_t cv_reducevfx = CVAR_INIT ("reducevfx", "No", CV_SAVE, CV_YesNo, NULL);
|
||||||
|
|
||||||
static CV_PossibleValue_t votetime_cons_t[] = {{10, "MIN"}, {3600, "MAX"}, {0, NULL}};
|
static CV_PossibleValue_t votetime_cons_t[] = {{10, "MIN"}, {3600, "MAX"}, {0, NULL}};
|
||||||
|
|
|
||||||
|
|
@ -96,6 +96,13 @@ extern consvar_t cv_kartdebugnodes, cv_kartdebugcolorize, cv_kartdebugdirector;
|
||||||
extern consvar_t cv_spbtest, cv_gptest, cv_reducevfx;
|
extern consvar_t cv_spbtest, cv_gptest, cv_reducevfx;
|
||||||
extern consvar_t cv_kartdebugwaypoints, cv_kartdebugbotpredict;
|
extern consvar_t cv_kartdebugwaypoints, cv_kartdebugbotpredict;
|
||||||
|
|
||||||
|
typedef enum {
|
||||||
|
CV_CAPSULETEST_OFF,
|
||||||
|
CV_CAPSULETEST_MULTIPLAYER,
|
||||||
|
CV_CAPSULETEST_TIMEATTACK,
|
||||||
|
} capsuletest_val_t;
|
||||||
|
extern consvar_t cv_capsuletest;
|
||||||
|
|
||||||
extern consvar_t cv_alttitle, cv_itemfinder;
|
extern consvar_t cv_alttitle, cv_itemfinder;
|
||||||
|
|
||||||
extern consvar_t cv_inttime, cv_advancemap;
|
extern consvar_t cv_inttime, cv_advancemap;
|
||||||
|
|
|
||||||
16
src/k_kart.c
16
src/k_kart.c
|
|
@ -361,6 +361,7 @@ void K_RegisterKartStuff(void)
|
||||||
CV_RegisterVar(&cv_kartdebugdirector);
|
CV_RegisterVar(&cv_kartdebugdirector);
|
||||||
CV_RegisterVar(&cv_spbtest);
|
CV_RegisterVar(&cv_spbtest);
|
||||||
CV_RegisterVar(&cv_gptest);
|
CV_RegisterVar(&cv_gptest);
|
||||||
|
CV_RegisterVar(&cv_capsuletest);
|
||||||
|
|
||||||
CV_RegisterVar(&cv_reducevfx);
|
CV_RegisterVar(&cv_reducevfx);
|
||||||
}
|
}
|
||||||
|
|
@ -591,6 +592,21 @@ boolean K_TimeAttackRules(void)
|
||||||
return (playing <= 1);
|
return (playing <= 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
boolean K_CapsuleTimeAttackRules(void)
|
||||||
|
{
|
||||||
|
switch (cv_capsuletest.value)
|
||||||
|
{
|
||||||
|
case CV_CAPSULETEST_MULTIPLAYER:
|
||||||
|
return false;
|
||||||
|
|
||||||
|
case CV_CAPSULETEST_TIMEATTACK:
|
||||||
|
return true;
|
||||||
|
|
||||||
|
default:
|
||||||
|
return K_TimeAttackRules();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
//}
|
//}
|
||||||
|
|
||||||
//{ SRB2kart p_user.c Stuff
|
//{ SRB2kart p_user.c Stuff
|
||||||
|
|
|
||||||
|
|
@ -62,6 +62,7 @@ void K_SetItemCooldown(SINT8 itemResult, tic_t time);
|
||||||
void K_RunItemCooldowns(void);
|
void K_RunItemCooldowns(void);
|
||||||
|
|
||||||
boolean K_TimeAttackRules(void);
|
boolean K_TimeAttackRules(void);
|
||||||
|
boolean K_CapsuleTimeAttackRules(void);
|
||||||
|
|
||||||
fixed_t K_GetMobjWeight(mobj_t *mobj, mobj_t *against);
|
fixed_t K_GetMobjWeight(mobj_t *mobj, mobj_t *against);
|
||||||
boolean K_KartBouncing(mobj_t *mobj1, mobj_t *mobj2);
|
boolean K_KartBouncing(mobj_t *mobj1, mobj_t *mobj2);
|
||||||
|
|
|
||||||
|
|
@ -1411,7 +1411,7 @@ void P_KillMobj(mobj_t *target, mobj_t *inflictor, mobj_t *source, UINT8 damaget
|
||||||
INT16 spacing = (target->radius >> 1) / target->scale;
|
INT16 spacing = (target->radius >> 1) / target->scale;
|
||||||
|
|
||||||
// set respawn fuse
|
// set respawn fuse
|
||||||
if (K_TimeAttackRules() == true) // no respawns
|
if (K_CapsuleTimeAttackRules() == true) // no respawns
|
||||||
;
|
;
|
||||||
else if (target->threshold == KITEM_SUPERRING)
|
else if (target->threshold == KITEM_SUPERRING)
|
||||||
target->fuse = 20*TICRATE;
|
target->fuse = 20*TICRATE;
|
||||||
|
|
|
||||||
|
|
@ -12134,7 +12134,7 @@ static boolean P_AllowMobjSpawn(mapthing_t* mthing, mobjtype_t i)
|
||||||
|
|
||||||
// in record attack, only spawn ring capsules
|
// in record attack, only spawn ring capsules
|
||||||
// (behavior can be inverted with the Extra flag, i.e. item capsule spawns and ring capsule does not)
|
// (behavior can be inverted with the Extra flag, i.e. item capsule spawns and ring capsule does not)
|
||||||
if (K_TimeAttackRules() == true
|
if (K_CapsuleTimeAttackRules() == true
|
||||||
&& (!(mthing->args[2] & TMICF_INVERTTIMEATTACK) == !isRingCapsule))
|
&& (!(mthing->args[2] & TMICF_INVERTTIMEATTACK) == !isRingCapsule))
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue