mirror of
https://git.do.srb2.org/KartKrew/Kart-Public.git
synced 2024-11-17 02:01:15 +00:00
Fixed thwomp sectors, Added Magnet Item.
This commit is contained in:
parent
559607dfe2
commit
0a782bf79e
12 changed files with 233 additions and 119 deletions
94
src/info.c
94
src/info.c
|
@ -2536,37 +2536,36 @@ state_t states[NUMSTATES] =
|
||||||
{SPR_BSPR, 2, 1, {NULL}, 0, 0, S_BDIAG8}, // S_BDIAG7
|
{SPR_BSPR, 2, 1, {NULL}, 0, 0, S_BDIAG8}, // S_BDIAG7
|
||||||
{SPR_BSPR, 1, 1, {NULL}, 0, 0, S_BDIAG1}, // S_BDIAG8
|
{SPR_BSPR, 1, 1, {NULL}, 0, 0, S_BDIAG1}, // S_BDIAG8
|
||||||
|
|
||||||
{SPR_RNDM, 0, 3, {A_AttractChase}, 0, 0, S_RANDOMITEM2}, // S_RANDOMITEM1
|
{SPR_RNDM, 0, 3, {NULL}, 0, 0, S_RANDOMITEM2}, // S_RANDOMITEM1
|
||||||
{SPR_RNDM, 1, 3, {A_AttractChase}, 0, 0, S_RANDOMITEM3}, // S_RANDOMITEM2
|
{SPR_RNDM, 1, 3, {NULL}, 0, 0, S_RANDOMITEM3}, // S_RANDOMITEM2
|
||||||
{SPR_RNDM, 2, 3, {A_AttractChase}, 0, 0, S_RANDOMITEM4}, // S_RANDOMITEM3
|
{SPR_RNDM, 2, 3, {NULL}, 0, 0, S_RANDOMITEM4}, // S_RANDOMITEM3
|
||||||
{SPR_RNDM, 3, 3, {A_AttractChase}, 0, 0, S_RANDOMITEM5}, // S_RANDOMITEM4
|
{SPR_RNDM, 3, 3, {NULL}, 0, 0, S_RANDOMITEM5}, // S_RANDOMITEM4
|
||||||
{SPR_RNDM, 4, 3, {A_AttractChase}, 0, 0, S_RANDOMITEM6}, // S_RANDOMITEM5
|
{SPR_RNDM, 4, 3, {NULL}, 0, 0, S_RANDOMITEM6}, // S_RANDOMITEM5
|
||||||
{SPR_RNDM, 5, 3, {A_AttractChase}, 0, 0, S_RANDOMITEM7}, // S_RANDOMITEM6
|
{SPR_RNDM, 5, 3, {NULL}, 0, 0, S_RANDOMITEM7}, // S_RANDOMITEM6
|
||||||
{SPR_RNDM, 6, 3, {A_AttractChase}, 0, 0, S_RANDOMITEM8}, // S_RANDOMITEM7
|
{SPR_RNDM, 6, 3, {NULL}, 0, 0, S_RANDOMITEM8}, // S_RANDOMITEM7
|
||||||
{SPR_RNDM, 7, 3, {A_AttractChase}, 0, 0, S_RANDOMITEM9}, // S_RANDOMITEM8
|
{SPR_RNDM, 7, 3, {NULL}, 0, 0, S_RANDOMITEM9}, // S_RANDOMITEM8
|
||||||
{SPR_RNDM, 8, 3, {A_AttractChase}, 0, 0, S_RANDOMITEM10}, // S_RANDOMITEM9
|
{SPR_RNDM, 8, 3, {NULL}, 0, 0, S_RANDOMITEM10}, // S_RANDOMITEM9
|
||||||
{SPR_RNDM, 9, 3, {A_AttractChase}, 0, 0, S_RANDOMITEM11}, // S_RANDOMITEM10
|
{SPR_RNDM, 9, 3, {NULL}, 0, 0, S_RANDOMITEM11}, // S_RANDOMITEM10
|
||||||
{SPR_RNDM, 10, 3, {A_AttractChase}, 0, 0, S_RANDOMITEM12}, // S_RANDOMITEM11
|
{SPR_RNDM, 10, 3, {NULL}, 0, 0, S_RANDOMITEM12}, // S_RANDOMITEM11
|
||||||
{SPR_RNDM, 11, 3, {A_AttractChase}, 0, 0, S_RANDOMITEM13}, // S_RANDOMITEM12
|
{SPR_RNDM, 11, 3, {NULL}, 0, 0, S_RANDOMITEM13}, // S_RANDOMITEM12
|
||||||
{SPR_RNDM, 12, 3, {A_AttractChase}, 0, 0, S_RANDOMITEM14}, // S_RANDOMITEM13
|
{SPR_RNDM, 12, 3, {NULL}, 0, 0, S_RANDOMITEM14}, // S_RANDOMITEM13
|
||||||
{SPR_RNDM, 13, 3, {A_AttractChase}, 0, 0, S_RANDOMITEM15}, // S_RANDOMITEM14
|
{SPR_RNDM, 13, 3, {NULL}, 0, 0, S_RANDOMITEM15}, // S_RANDOMITEM14
|
||||||
{SPR_RNDM, 14, 3, {A_AttractChase}, 0, 0, S_RANDOMITEM16}, // S_RANDOMITEM15
|
{SPR_RNDM, 14, 3, {NULL}, 0, 0, S_RANDOMITEM16}, // S_RANDOMITEM15
|
||||||
{SPR_RNDM, 15, 3, {A_AttractChase}, 0, 0, S_RANDOMITEM17}, // S_RANDOMITEM16
|
{SPR_RNDM, 15, 3, {NULL}, 0, 0, S_RANDOMITEM17}, // S_RANDOMITEM16
|
||||||
{SPR_RNDM, 16, 3, {A_AttractChase}, 0, 0, S_RANDOMITEM18}, // S_RANDOMITEM17
|
{SPR_RNDM, 16, 3, {NULL}, 0, 0, S_RANDOMITEM18}, // S_RANDOMITEM17
|
||||||
{SPR_RNDM, 17, 3, {A_AttractChase}, 0, 0, S_RANDOMITEM19}, // S_RANDOMITEM18
|
{SPR_RNDM, 17, 3, {NULL}, 0, 0, S_RANDOMITEM19}, // S_RANDOMITEM18
|
||||||
{SPR_RNDM, 18, 3, {A_AttractChase}, 0, 0, S_RANDOMITEM20}, // S_RANDOMITEM19
|
{SPR_RNDM, 18, 3, {NULL}, 0, 0, S_RANDOMITEM20}, // S_RANDOMITEM19
|
||||||
{SPR_RNDM, 19, 3, {A_AttractChase}, 0, 0, S_RANDOMITEM21}, // S_RANDOMITEM20
|
{SPR_RNDM, 19, 3, {NULL}, 0, 0, S_RANDOMITEM21}, // S_RANDOMITEM20
|
||||||
{SPR_RNDM, 20, 3, {A_AttractChase}, 0, 0, S_RANDOMITEM22}, // S_RANDOMITEM21
|
{SPR_RNDM, 20, 3, {NULL}, 0, 0, S_RANDOMITEM22}, // S_RANDOMITEM21
|
||||||
{SPR_RNDM, 21, 3, {A_AttractChase}, 0, 0, S_RANDOMITEM23}, // S_RANDOMITEM22
|
{SPR_RNDM, 21, 3, {NULL}, 0, 0, S_RANDOMITEM23}, // S_RANDOMITEM22
|
||||||
{SPR_RNDM, 22, 3, {A_AttractChase}, 0, 0, S_RANDOMITEM24}, // S_RANDOMITEM23
|
{SPR_RNDM, 22, 3, {NULL}, 0, 0, S_RANDOMITEM24}, // S_RANDOMITEM23
|
||||||
{SPR_RNDM, 23, 3, {A_AttractChase}, 0, 0, S_RANDOMITEM1}, // S_RANDOMITEM24
|
{SPR_RNDM, 23, 3, {NULL}, 0, 0, S_RANDOMITEM1}, // S_RANDOMITEM24
|
||||||
{SPR_RNDM, 0, 1, {A_ItemPop}, 0, 0, S_NULL}, // S_DEADRANDOMITEM
|
{SPR_RNDM, 0, 1, {A_ItemPop}, 0, 0, S_NULL}, // S_DEADRANDOMITEM
|
||||||
|
|
||||||
{SPR_SPRK, 0, 2, {NULL}, 0, 0, S_RANDOMITEMPOP2}, // S_RANDOMITEMPOP1
|
{SPR_SPRK, FF_FULLBRIGHT, 5, {NULL}, 0, 0, S_RANDOMITEMPOP2}, // S_RANDOMITEMPOP1
|
||||||
{SPR_SPRK, 1, 2, {NULL}, 0, 0, S_RANDOMITEMPOP3}, // S_RANDOMITEMPOP2
|
{SPR_SPRK, FF_FULLBRIGHT|1, 5, {NULL}, 0, 0, S_RANDOMITEMPOP3}, // S_RANDOMITEMPOP2
|
||||||
{SPR_SPRK, 2, 2, {NULL}, 0, 0, S_RANDOMITEMPOP4}, // S_RANDOMITEMPOP3
|
{SPR_SPRK, FF_FULLBRIGHT|2, 5, {NULL}, 0, 0, S_RANDOMITEMPOP4}, // S_RANDOMITEMPOP3
|
||||||
{SPR_SPRK, 3, 2, {NULL}, 0, 0, S_RANDOMITEMPOP5}, // S_RANDOMITEMPOP4
|
{SPR_SPRK, FF_FULLBRIGHT|3, 5, {NULL}, 0, 0, S_NULL}, // S_RANDOMITEMPOP4
|
||||||
{SPR_NULL, 0, -1, {NULL}, 0, 0, S_NULL}, // S_RANDOMITEMPOP5
|
|
||||||
|
|
||||||
{SPR_DRIF, 0, 2, {NULL}, 0, 0, S_DRIFTSPARK2}, // S_DRIFTSPARK1
|
{SPR_DRIF, 0, 2, {NULL}, 0, 0, S_DRIFTSPARK2}, // S_DRIFTSPARK1
|
||||||
{SPR_DRIF, 1, 2, {NULL}, 0, 0, S_DRIFTSPARK3}, // S_DRIFTSPARK2
|
{SPR_DRIF, 1, 2, {NULL}, 0, 0, S_DRIFTSPARK3}, // S_DRIFTSPARK2
|
||||||
|
@ -14062,12 +14061,12 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] =
|
||||||
{ // MT_RANDOMITEM
|
{ // MT_RANDOMITEM
|
||||||
2000, // doomednum
|
2000, // doomednum
|
||||||
S_RANDOMITEM1, // spawnstate
|
S_RANDOMITEM1, // spawnstate
|
||||||
1, // spawnhealth
|
1000, // spawnhealth
|
||||||
S_NULL, // seestate
|
S_NULL, // seestate
|
||||||
sfx_None, // seesound
|
sfx_None, // seesound
|
||||||
8, // reactiontime
|
MT_FLINGRANDOMITEM, // reactiontime
|
||||||
sfx_None, // attacksound
|
sfx_None, // attacksound
|
||||||
S_RANDOMITEM1, // painstate
|
S_NULL, // painstate
|
||||||
0, // painchance
|
0, // painchance
|
||||||
sfx_None, // painsound
|
sfx_None, // painsound
|
||||||
S_NULL, // meleestate
|
S_NULL, // meleestate
|
||||||
|
@ -14075,7 +14074,7 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] =
|
||||||
S_DEADRANDOMITEM, // deathstate
|
S_DEADRANDOMITEM, // deathstate
|
||||||
S_NULL, // xdeathstate
|
S_NULL, // xdeathstate
|
||||||
sfx_pop, // deathsound
|
sfx_pop, // deathsound
|
||||||
64*FRACUNIT, // speed
|
60*FRACUNIT, // speed
|
||||||
32*FRACUNIT, // radius
|
32*FRACUNIT, // radius
|
||||||
32*FRACUNIT, // height
|
32*FRACUNIT, // height
|
||||||
0, // display offset
|
0, // display offset
|
||||||
|
@ -14086,13 +14085,40 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] =
|
||||||
S_NULL // raisestate
|
S_NULL // raisestate
|
||||||
},
|
},
|
||||||
|
|
||||||
|
{ // MT_FLINGRANDOMITEM
|
||||||
|
-1, // doomednum
|
||||||
|
S_RANDOMITEM1, // spawnstate
|
||||||
|
1000, // spawnhealth
|
||||||
|
S_NULL, // seestate
|
||||||
|
sfx_None, // seesound
|
||||||
|
MT_FLINGRANDOMITEM, // reactiontime
|
||||||
|
sfx_None, // attacksound
|
||||||
|
S_NULL, // painstate
|
||||||
|
MT_RANDOMITEM, // painchance
|
||||||
|
sfx_None, // painsound
|
||||||
|
S_NULL, // meleestate
|
||||||
|
S_NULL, // missilestate
|
||||||
|
S_DEADRANDOMITEM, // deathstate
|
||||||
|
S_NULL, // xdeathstate
|
||||||
|
sfx_pop, // deathsound
|
||||||
|
60*FRACUNIT, // speed
|
||||||
|
31*FRACUNIT, // radius
|
||||||
|
16*FRACUNIT, // height
|
||||||
|
0, // display offset
|
||||||
|
100, // mass
|
||||||
|
0, // damage
|
||||||
|
sfx_None, // activesound
|
||||||
|
MF_SLIDEME|MF_SPECIAL, // flags
|
||||||
|
S_NULL // raisestate
|
||||||
|
},
|
||||||
|
|
||||||
{ // MT_RANDOMITEMPOP
|
{ // MT_RANDOMITEMPOP
|
||||||
-1, // doomednum
|
-1, // doomednum
|
||||||
S_RANDOMITEMPOP1, // spawnstate
|
S_RANDOMITEMPOP1, // spawnstate
|
||||||
1, // spawnhealth
|
1, // spawnhealth
|
||||||
S_NULL, // seestate
|
S_NULL, // seestate
|
||||||
sfx_None, // seesound
|
sfx_None, // seesound
|
||||||
8, // reactiontime
|
0, // reactiontime
|
||||||
sfx_None, // attacksound
|
sfx_None, // attacksound
|
||||||
S_RANDOMITEMPOP1, // painstate
|
S_RANDOMITEMPOP1, // painstate
|
||||||
0, // painchance
|
0, // painchance
|
||||||
|
|
|
@ -3043,7 +3043,6 @@ typedef enum state
|
||||||
S_RANDOMITEMPOP2,
|
S_RANDOMITEMPOP2,
|
||||||
S_RANDOMITEMPOP3,
|
S_RANDOMITEMPOP3,
|
||||||
S_RANDOMITEMPOP4,
|
S_RANDOMITEMPOP4,
|
||||||
S_RANDOMITEMPOP5,
|
|
||||||
//}
|
//}
|
||||||
|
|
||||||
// Drift Sparks
|
// Drift Sparks
|
||||||
|
@ -3748,6 +3747,7 @@ typedef enum mobj_type
|
||||||
MT_INVISSPRING,
|
MT_INVISSPRING,
|
||||||
MT_BLUEDIAG,
|
MT_BLUEDIAG,
|
||||||
MT_RANDOMITEM,
|
MT_RANDOMITEM,
|
||||||
|
MT_FLINGRANDOMITEM,
|
||||||
MT_RANDOMITEMPOP,
|
MT_RANDOMITEMPOP,
|
||||||
|
|
||||||
MT_MUSHROOMTRAIL,
|
MT_MUSHROOMTRAIL,
|
||||||
|
|
40
src/k_kart.c
40
src/k_kart.c
|
@ -672,7 +672,6 @@ static fixed_t K_KartItemOdds_Retro[MAXPLAYERS][NUMKARTITEMS][MAXPLAYERS] =
|
||||||
*/
|
*/
|
||||||
static void K_KartGetItemResult(player_t *player, fixed_t getitem, boolean retrokart)
|
static void K_KartGetItemResult(player_t *player, fixed_t getitem, boolean retrokart)
|
||||||
{
|
{
|
||||||
getitem++;
|
|
||||||
switch (getitem)
|
switch (getitem)
|
||||||
{
|
{
|
||||||
case 1: // Magnet
|
case 1: // Magnet
|
||||||
|
@ -758,8 +757,11 @@ static void K_KartGetItemResult(player_t *player, fixed_t getitem, boolean retro
|
||||||
*/
|
*/
|
||||||
static void K_KartSetItemResult(fixed_t position, fixed_t giveitem)
|
static void K_KartSetItemResult(fixed_t position, fixed_t giveitem)
|
||||||
{
|
{
|
||||||
|
fixed_t this_pingame = pingame-1;
|
||||||
|
fixed_t this_giveitem = giveitem-1;
|
||||||
|
|
||||||
prevchance = chance;
|
prevchance = chance;
|
||||||
basechance = K_KartItemOdds_Retro[pingame-1][giveitem][position]; // Number of slots in the array, based on odds
|
basechance = K_KartItemOdds_Retro[this_pingame][this_giveitem][position]; // Number of slots in the array, based on odds
|
||||||
|
|
||||||
for (; chance < prevchance + basechance; chance++)
|
for (; chance < prevchance + basechance; chance++)
|
||||||
{
|
{
|
||||||
|
@ -1533,6 +1535,13 @@ static mobj_t *P_ThrowKartItem(player_t *player, boolean missile, mobjtype_t map
|
||||||
return mo;
|
return mo;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void K_DoMagnet(player_t * player)
|
||||||
|
{
|
||||||
|
S_StartSound(player->mo, sfx_s3k45);
|
||||||
|
player->kartstuff[k_magnettimer] = 35;
|
||||||
|
P_NukeEnemies(player->mo, player->mo, 16*FRACUNIT);
|
||||||
|
}
|
||||||
|
|
||||||
static void K_DoBooSteal(player_t * player)
|
static void K_DoBooSteal(player_t * player)
|
||||||
{
|
{
|
||||||
INT32 i, numplayers = 0;
|
INT32 i, numplayers = 0;
|
||||||
|
@ -1957,6 +1966,26 @@ void K_MoveKartPlayer(player_t *player, ticcmd_t *cmd, boolean onground)
|
||||||
|
|
||||||
if (player && player->health > 0 && !player->spectator && !player->exiting && player->kartstuff[k_spinouttimer] == 0)
|
if (player && player->health > 0 && !player->spectator && !player->exiting && player->kartstuff[k_spinouttimer] == 0)
|
||||||
{
|
{
|
||||||
|
|
||||||
|
// Magnet
|
||||||
|
// Boo
|
||||||
|
// Mushroom
|
||||||
|
// Triple Mushroom
|
||||||
|
// Mega Mushroom
|
||||||
|
// Gold Mushroom
|
||||||
|
// Star
|
||||||
|
// Triple Banana
|
||||||
|
// Fake Item
|
||||||
|
// Banana
|
||||||
|
// Green Shell
|
||||||
|
// Red Shell
|
||||||
|
// Triple Green Shell
|
||||||
|
// Bob-omb
|
||||||
|
// Blue Shell
|
||||||
|
// Fire Flower
|
||||||
|
// Triple Red Shell
|
||||||
|
// Lightning
|
||||||
|
|
||||||
// GoldenMushroom power
|
// GoldenMushroom power
|
||||||
if (ATTACK_IS_DOWN && !HOLDING_ITEM && onground && player->kartstuff[k_goldshroom] == 1 && player->kartstuff[k_goldshroomtimer] == 0 && NO_BOO)
|
if (ATTACK_IS_DOWN && !HOLDING_ITEM && onground && player->kartstuff[k_goldshroom] == 1 && player->kartstuff[k_goldshroomtimer] == 0 && NO_BOO)
|
||||||
{
|
{
|
||||||
|
@ -2314,6 +2343,13 @@ void K_MoveKartPlayer(player_t *player, ticcmd_t *cmd, boolean onground)
|
||||||
player->pflags |= PF_ATTACKDOWN;
|
player->pflags |= PF_ATTACKDOWN;
|
||||||
player->kartstuff[k_boo] = 0;
|
player->kartstuff[k_boo] = 0;
|
||||||
}
|
}
|
||||||
|
// Magnet
|
||||||
|
else if (ATTACK_IS_DOWN && !HOLDING_ITEM && player->kartstuff[k_magnet] == 1 && NO_BOO)
|
||||||
|
{
|
||||||
|
K_DoMagnet(player);
|
||||||
|
player->pflags |= PF_ATTACKDOWN;
|
||||||
|
player->kartstuff[k_magnet] = 0;
|
||||||
|
}
|
||||||
|
|
||||||
if (player->kartstuff[k_mushroomtimer] > 0 && player->kartstuff[k_boosting] == 0 && onground)
|
if (player->kartstuff[k_mushroomtimer] > 0 && player->kartstuff[k_boosting] == 0 && onground)
|
||||||
{
|
{
|
||||||
|
|
|
@ -740,8 +740,9 @@ static boolean P_LookForShield(mobj_t *actor)
|
||||||
(actor->type == MT_BLUETEAMRING && player->ctfteam != 2))
|
(actor->type == MT_BLUETEAMRING && player->ctfteam != 2))
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
if ((player->powers[pw_shield] & SH_NOSTACK) == SH_ATTRACT
|
// SRB2kart - magnet item
|
||||||
&& (P_AproxDistance(P_AproxDistance(actor->x-player->mo->x, actor->y-player->mo->y), actor->z-player->mo->z) < FixedMul(RING_DIST, player->mo->scale)))
|
if (player->kartstuff[k_magnettimer] //(player->powers[pw_shield] & SH_NOSTACK) == SH_ATTRACT
|
||||||
|
&& (P_AproxDistance(P_AproxDistance(actor->x-player->mo->x, actor->y-player->mo->y), actor->z-player->mo->z) < FixedMul(RING_DIST/2, player->mo->scale)))
|
||||||
{
|
{
|
||||||
P_SetTarget(&actor->tracer, player->mo);
|
P_SetTarget(&actor->tracer, player->mo);
|
||||||
return true;
|
return true;
|
||||||
|
@ -849,6 +850,9 @@ void A_Look(mobj_t *actor)
|
||||||
if (!P_LookForPlayers(actor, locvar1 & 65535, false , FixedMul((locvar1 >> 16)*FRACUNIT, actor->scale)))
|
if (!P_LookForPlayers(actor, locvar1 & 65535, false , FixedMul((locvar1 >> 16)*FRACUNIT, actor->scale)))
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
if (leveltime < 4*TICRATE && gametype == GT_RACE) // SRB2kart - no looking before race starts
|
||||||
|
return;
|
||||||
|
|
||||||
// go into chase state
|
// go into chase state
|
||||||
if (!locvar2)
|
if (!locvar2)
|
||||||
{
|
{
|
||||||
|
@ -3004,7 +3008,8 @@ void A_RingShield(mobj_t *actor)
|
||||||
P_SpawnShieldOrb(player);
|
P_SpawnShieldOrb(player);
|
||||||
}
|
}
|
||||||
|
|
||||||
S_StartSound(player->mo, actor->info->seesound);
|
if (!player->exiting) // SRB2kart
|
||||||
|
S_StartSound(player->mo, actor->info->seesound);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Function: A_RingBox
|
// Function: A_RingBox
|
||||||
|
@ -3608,7 +3613,8 @@ void A_AttractChase(mobj_t *actor)
|
||||||
|
|
||||||
// Turn flingrings back into regular rings if attracted.
|
// Turn flingrings back into regular rings if attracted.
|
||||||
if (actor->tracer && actor->tracer->player
|
if (actor->tracer && actor->tracer->player
|
||||||
&& (actor->tracer->player->powers[pw_shield] & SH_NOSTACK) != SH_ATTRACT && actor->info->reactiontime && actor->type != (mobjtype_t)actor->info->reactiontime)
|
&& actor->tracer->player->kartstuff[k_magnettimer] //&& (actor->tracer->player->powers[pw_shield] & SH_NOSTACK) != SH_ATTRACT
|
||||||
|
&& actor->info->reactiontime && actor->type != (mobjtype_t)actor->info->reactiontime)
|
||||||
{
|
{
|
||||||
mobj_t *newring;
|
mobj_t *newring;
|
||||||
newring = P_SpawnMobj(actor->x, actor->y, actor->z, actor->info->reactiontime);
|
newring = P_SpawnMobj(actor->x, actor->y, actor->z, actor->info->reactiontime);
|
||||||
|
@ -3813,15 +3819,15 @@ void A_ThrownRing(mobj_t *actor)
|
||||||
// A non-homing ring getting attracted by a
|
// A non-homing ring getting attracted by a
|
||||||
// magnetic player. If he gets too far away, make
|
// magnetic player. If he gets too far away, make
|
||||||
// sure to stop the attraction!
|
// sure to stop the attraction!
|
||||||
if ((!actor->tracer->health) || (actor->tracer->player && (actor->tracer->player->powers[pw_shield] & SH_NOSTACK) == SH_ATTRACT
|
if ((!actor->tracer->health) // || (actor->tracer->player && (actor->tracer->player->powers[pw_shield] & SH_NOSTACK) == SH_ATTRACT
|
||||||
&& P_AproxDistance(P_AproxDistance(actor->tracer->x-actor->x,
|
|| P_AproxDistance(P_AproxDistance(actor->tracer->x-actor->x,
|
||||||
actor->tracer->y-actor->y), actor->tracer->z-actor->z) > FixedMul(RING_DIST/4, actor->tracer->scale)))
|
actor->tracer->y-actor->y), actor->tracer->z-actor->z) > FixedMul(RING_DIST, actor->tracer->scale)) // SRB2kart
|
||||||
{
|
{
|
||||||
P_SetTarget(&actor->tracer, NULL);
|
P_SetTarget(&actor->tracer, NULL);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (actor->tracer && (actor->tracer->health)
|
if (actor->tracer && (actor->tracer->health)) // SRB2kart - red shells always follow
|
||||||
&& (actor->tracer->player->powers[pw_shield] & SH_NOSTACK) == SH_ATTRACT)// Already found someone to follow.
|
//&& (actor->tracer->player->powers[pw_shield] & SH_NOSTACK) == SH_ATTRACT)// Already found someone to follow.
|
||||||
{
|
{
|
||||||
const INT32 temp = actor->threshold;
|
const INT32 temp = actor->threshold;
|
||||||
actor->threshold = 32000;
|
actor->threshold = 32000;
|
||||||
|
@ -3871,6 +3877,10 @@ void A_ThrownRing(mobj_t *actor)
|
||||||
if (gametype == GT_CTF
|
if (gametype == GT_CTF
|
||||||
&& actor->target->player->ctfteam == player->ctfteam)
|
&& actor->target->player->ctfteam == player->ctfteam)
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
|
if (actor->target->player->kartstuff[k_position] < player->kartstuff[k_position]) // SRB2kart - Red Shells only go after people ahead of you
|
||||||
|
continue;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
dist = P_AproxDistance(P_AproxDistance(player->mo->x-actor->x,
|
dist = P_AproxDistance(P_AproxDistance(player->mo->x-actor->x,
|
||||||
|
@ -3889,8 +3899,7 @@ void A_ThrownRing(mobj_t *actor)
|
||||||
if (!P_CheckSight(actor, player->mo))
|
if (!P_CheckSight(actor, player->mo))
|
||||||
continue; // out of sight
|
continue; // out of sight
|
||||||
|
|
||||||
if ((player->powers[pw_shield] & SH_NOSTACK) == SH_ATTRACT
|
if (dist < FixedMul(2048*FRACUNIT, player->mo->scale)) // SRB2kart // (player->powers[pw_shield] & SH_NOSTACK) == SH_ATTRACT &&
|
||||||
&& dist < FixedMul(RING_DIST/4, player->mo->scale))
|
|
||||||
P_SetTarget(&actor->tracer, player->mo);
|
P_SetTarget(&actor->tracer, player->mo);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
@ -8078,7 +8087,6 @@ void A_ToggleFlameJet(mobj_t* actor)
|
||||||
void A_ItemPop(mobj_t *actor)
|
void A_ItemPop(mobj_t *actor)
|
||||||
{
|
{
|
||||||
mobj_t *remains;
|
mobj_t *remains;
|
||||||
mobjtype_t item = 0;
|
|
||||||
|
|
||||||
// de-solidify
|
// de-solidify
|
||||||
//P_UnsetThingPosition(actor);
|
//P_UnsetThingPosition(actor);
|
||||||
|
@ -8104,35 +8112,33 @@ void A_ItemPop(mobj_t *actor)
|
||||||
actor->flags2 |= MF2_BOSSNOTRAP; // Dummy flag to mark this as an exploded TV until it respawns
|
actor->flags2 |= MF2_BOSSNOTRAP; // Dummy flag to mark this as an exploded TV until it respawns
|
||||||
tmthing = remains;
|
tmthing = remains;
|
||||||
|
|
||||||
if (actor->info->deathsound) S_StartSound(remains, actor->info->deathsound);
|
if (actor->info->deathsound)
|
||||||
|
S_StartSound(remains, actor->info->deathsound);
|
||||||
|
|
||||||
switch (actor->type)
|
if (actor->type != MT_RANDOMITEM)
|
||||||
{
|
{
|
||||||
case MT_RANDOMITEM: // Random!
|
P_RemoveMobj(actor);
|
||||||
if (actor->target && actor->target->player
|
return;
|
||||||
&& !(actor->target->player->kartstuff[k_greenshell] & 2 || actor->target->player->kartstuff[k_triplegreenshell] & 8
|
|
||||||
|| actor->target->player->kartstuff[k_redshell] & 2 || actor->target->player->kartstuff[k_tripleredshell] & 8
|
|
||||||
|| actor->target->player->kartstuff[k_banana] & 2 || actor->target->player->kartstuff[k_triplebanana] & 8
|
|
||||||
|| actor->target->player->kartstuff[k_fakeitem] & 2 || actor->target->player->kartstuff[k_magnet]
|
|
||||||
|| actor->target->player->kartstuff[k_bobomb] & 2 || actor->target->player->kartstuff[k_blueshell]
|
|
||||||
|| actor->target->player->kartstuff[k_mushroom] || actor->target->player->kartstuff[k_fireflower]
|
|
||||||
|| actor->target->player->kartstuff[k_star] || actor->target->player->kartstuff[k_goldshroom]
|
|
||||||
|| actor->target->player->kartstuff[k_lightning] || actor->target->player->kartstuff[k_megashroom]
|
|
||||||
|| actor->target->player->kartstuff[k_itemroulette]
|
|
||||||
|| actor->target->player->kartstuff[k_boo] || actor->target->player->kartstuff[k_bootaketimer]
|
|
||||||
|| actor->target->player->kartstuff[k_boostolentimer])
|
|
||||||
)
|
|
||||||
actor->target->player->kartstuff[k_itemroulette] = 1;
|
|
||||||
else if(cv_debug && !(actor->target && actor->target->player))
|
|
||||||
CONS_Printf("ERROR: Powerup has no target!\n");
|
|
||||||
|
|
||||||
remains->flags &= ~MF_AMBUSH;
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
item = actor->info->damage;
|
|
||||||
break;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (actor->target && actor->target->player
|
||||||
|
&& !(actor->target->player->kartstuff[k_greenshell] & 2 || actor->target->player->kartstuff[k_triplegreenshell] & 8
|
||||||
|
|| actor->target->player->kartstuff[k_redshell] & 2 || actor->target->player->kartstuff[k_tripleredshell] & 8
|
||||||
|
|| actor->target->player->kartstuff[k_banana] & 2 || actor->target->player->kartstuff[k_triplebanana] & 8
|
||||||
|
|| actor->target->player->kartstuff[k_fakeitem] & 2 || actor->target->player->kartstuff[k_magnet]
|
||||||
|
|| actor->target->player->kartstuff[k_bobomb] & 2 || actor->target->player->kartstuff[k_blueshell]
|
||||||
|
|| actor->target->player->kartstuff[k_mushroom] || actor->target->player->kartstuff[k_fireflower]
|
||||||
|
|| actor->target->player->kartstuff[k_star] || actor->target->player->kartstuff[k_goldshroom]
|
||||||
|
|| actor->target->player->kartstuff[k_lightning] || actor->target->player->kartstuff[k_megashroom]
|
||||||
|
|| actor->target->player->kartstuff[k_itemroulette]
|
||||||
|
|| actor->target->player->kartstuff[k_boo] || actor->target->player->kartstuff[k_bootaketimer]
|
||||||
|
|| actor->target->player->kartstuff[k_boostolentimer]))
|
||||||
|
actor->target->player->kartstuff[k_itemroulette] = 1;
|
||||||
|
else if(cv_debug && !(actor->target && actor->target->player))
|
||||||
|
CONS_Printf("ERROR: Powerup has no target!\n");
|
||||||
|
|
||||||
|
remains->flags &= ~MF_AMBUSH;
|
||||||
|
|
||||||
P_RemoveMobj(actor);
|
P_RemoveMobj(actor);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1819,10 +1819,20 @@ void T_ThwompSector(levelspecthink_t *thwomp)
|
||||||
sector_t *actionsector;
|
sector_t *actionsector;
|
||||||
INT32 secnum;
|
INT32 secnum;
|
||||||
|
|
||||||
|
// SRB2kart 170217 - Thwomps are automatic.
|
||||||
|
// Put up a timer before you start falling down.
|
||||||
|
// I could of used rowoffset, but the FOF actually
|
||||||
|
// modifies the textures's Y offset. It doesn't with
|
||||||
|
// textureoffset, so Effect 4 can be ignored as usual.
|
||||||
|
if (thwomp->sourceline->flags & ML_EFFECT1
|
||||||
|
&& leveltime < (unsigned)(sides[thwomp->sourceline->sidenum[0]].textureoffset>>FRACBITS))
|
||||||
|
thwomp->direction = 0;
|
||||||
|
|
||||||
// If you just crashed down, wait a second before coming back up.
|
// If you just crashed down, wait a second before coming back up.
|
||||||
if (--thwomp->distance > 0)
|
if (--thwomp->distance > 0)
|
||||||
{
|
{
|
||||||
sides[thwomp->sourceline->sidenum[0]].midtexture = sides[thwomp->sourceline->sidenum[0]].bottomtexture;
|
sides[thwomp->sourceline->sidenum[0]].midtexture = sides[thwomp->sourceline->sidenum[0]].toptexture;
|
||||||
|
//sides[thwomp->sourceline->sidenum[0]].midtexture = sides[thwomp->sourceline->sidenum[0]].bottomtexture;
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1934,9 +1944,12 @@ void T_ThwompSector(levelspecthink_t *thwomp)
|
||||||
}
|
}
|
||||||
else // Not going anywhere, so look for players.
|
else // Not going anywhere, so look for players.
|
||||||
{
|
{
|
||||||
thinker_t *th;
|
//thinker_t *th;
|
||||||
mobj_t *mo;
|
//mobj_t *mo;
|
||||||
|
|
||||||
|
thwomp->direction = -1;
|
||||||
|
|
||||||
|
/* // SRB2kart 170217 - Thwomps are automatic.
|
||||||
// scan the thinkers to find players!
|
// scan the thinkers to find players!
|
||||||
for (th = thinkercap.next; th != &thinkercap; th = th->next)
|
for (th = thinkercap.next; th != &thinkercap; th = th->next)
|
||||||
{
|
{
|
||||||
|
@ -1950,7 +1963,7 @@ void T_ThwompSector(levelspecthink_t *thwomp)
|
||||||
thwomp->direction = -1;
|
thwomp->direction = -1;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}*/
|
||||||
|
|
||||||
thwomp->sector->ceilspeed = 0;
|
thwomp->sector->ceilspeed = 0;
|
||||||
thwomp->sector->floorspeed = 0;
|
thwomp->sector->floorspeed = 0;
|
||||||
|
@ -3118,7 +3131,7 @@ INT32 EV_MarioBlock(sector_t *sec, sector_t *roversector, fixed_t topheight, mob
|
||||||
P_SetThingPosition(thing);
|
P_SetThingPosition(thing);
|
||||||
if (thing->flags & MF_SHOOTABLE)
|
if (thing->flags & MF_SHOOTABLE)
|
||||||
P_DamageMobj(thing, puncher, puncher, 1);
|
P_DamageMobj(thing, puncher, puncher, 1);
|
||||||
else if (thing->type == MT_RING || thing->type == MT_COIN)
|
else if (thing->type == MT_RING || thing->type == MT_COIN || thing->type == MT_RANDOMITEM)
|
||||||
{
|
{
|
||||||
thing->momz = FixedMul(3*FRACUNIT, thing->scale);
|
thing->momz = FixedMul(3*FRACUNIT, thing->scale);
|
||||||
P_TouchSpecialThing(thing, puncher, false);
|
P_TouchSpecialThing(thing, puncher, false);
|
||||||
|
|
|
@ -386,7 +386,8 @@ void P_TouchSpecialThing(mobj_t *special, mobj_t *toucher, boolean heightcheck)
|
||||||
// We now identify by object type, not sprite! Tails 04-11-2001
|
// We now identify by object type, not sprite! Tails 04-11-2001
|
||||||
switch (special->type)
|
switch (special->type)
|
||||||
{
|
{
|
||||||
case MT_RANDOMITEM: // SRB2kart
|
case MT_RANDOMITEM: // SRB2kart
|
||||||
|
case MT_FLINGRANDOMITEM:
|
||||||
if (!(P_CanPickupItem(player, false)))
|
if (!(P_CanPickupItem(player, false)))
|
||||||
return;
|
return;
|
||||||
special->momx = special->momy = special->momz = 0;
|
special->momx = special->momy = special->momz = 0;
|
||||||
|
@ -2859,7 +2860,8 @@ void P_RemoveShield(player_t *player)
|
||||||
player->powers[pw_shield] = player->powers[pw_shield] & SH_STACK;
|
player->powers[pw_shield] = player->powers[pw_shield] & SH_STACK;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void P_ShieldDamage(player_t *player, mobj_t *inflictor, mobj_t *source, INT32 damage)
|
/*
|
||||||
|
static void P_ShieldDamage(player_t *player, mobj_t *inflictor, mobj_t *source, INT32 damage) // SRB2kart - unused.
|
||||||
{
|
{
|
||||||
// Must do pain first to set flashing -- P_RemoveShield can cause damage
|
// Must do pain first to set flashing -- P_RemoveShield can cause damage
|
||||||
P_DoPlayerPain(player, source, inflictor);
|
P_DoPlayerPain(player, source, inflictor);
|
||||||
|
@ -2890,6 +2892,7 @@ static void P_ShieldDamage(player_t *player, mobj_t *inflictor, mobj_t *source,
|
||||||
P_AddPlayerScore(source->player, cv_match_scoring.value == 1 ? 25 : 50);
|
P_AddPlayerScore(source->player, cv_match_scoring.value == 1 ? 25 : 50);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
*/
|
||||||
|
|
||||||
static void P_RingDamage(player_t *player, mobj_t *inflictor, mobj_t *source, INT32 damage)
|
static void P_RingDamage(player_t *player, mobj_t *inflictor, mobj_t *source, INT32 damage)
|
||||||
{
|
{
|
||||||
|
|
|
@ -26,6 +26,9 @@
|
||||||
#include "w_wad.h"
|
#include "w_wad.h"
|
||||||
#include "k_kart.h" // SRB2kart 011617
|
#include "k_kart.h" // SRB2kart 011617
|
||||||
|
|
||||||
|
#include "hu_stuff.h" // SRB2kart
|
||||||
|
#include "i_system.h" // SRB2kart
|
||||||
|
|
||||||
#include "r_splats.h"
|
#include "r_splats.h"
|
||||||
|
|
||||||
#ifdef ESLOPE
|
#ifdef ESLOPE
|
||||||
|
@ -112,7 +115,7 @@ boolean P_TeleportMove(mobj_t *thing, fixed_t x, fixed_t y, fixed_t z)
|
||||||
|
|
||||||
boolean P_DoSpring(mobj_t *spring, mobj_t *object)
|
boolean P_DoSpring(mobj_t *spring, mobj_t *object)
|
||||||
{
|
{
|
||||||
INT32 pflags;
|
//INT32 pflags;
|
||||||
fixed_t offx, offy;
|
fixed_t offx, offy;
|
||||||
fixed_t vertispeed = spring->info->mass;
|
fixed_t vertispeed = spring->info->mass;
|
||||||
fixed_t horizspeed = spring->info->damage;
|
fixed_t horizspeed = spring->info->damage;
|
||||||
|
@ -203,7 +206,7 @@ boolean P_DoSpring(mobj_t *spring, mobj_t *object)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
pflags = object->player->pflags & (PF_JUMPED|PF_SPINNING|PF_THOKKED); // I still need these.
|
//pflags = object->player->pflags & (PF_JUMPED|PF_SPINNING|PF_THOKKED); // I still need these.
|
||||||
P_ResetPlayer(object->player);
|
P_ResetPlayer(object->player);
|
||||||
|
|
||||||
/* // SRB2kart - Springs don't need to change player state in kart.
|
/* // SRB2kart - Springs don't need to change player state in kart.
|
||||||
|
|
|
@ -1347,6 +1347,7 @@ fixed_t P_GetMobjGravity(mobj_t *mo)
|
||||||
{
|
{
|
||||||
case MT_FLINGRING:
|
case MT_FLINGRING:
|
||||||
case MT_FLINGCOIN:
|
case MT_FLINGCOIN:
|
||||||
|
case MT_FLINGRANDOMITEM: // SRB2kart
|
||||||
case MT_FLINGEMERALD:
|
case MT_FLINGEMERALD:
|
||||||
case MT_BOUNCERING:
|
case MT_BOUNCERING:
|
||||||
case MT_RAILRING:
|
case MT_RAILRING:
|
||||||
|
@ -2257,6 +2258,7 @@ static boolean P_ZMovement(mobj_t *mo)
|
||||||
case MT_BLUETEAMRING:
|
case MT_BLUETEAMRING:
|
||||||
case MT_FLINGRING:
|
case MT_FLINGRING:
|
||||||
case MT_FLINGCOIN:
|
case MT_FLINGCOIN:
|
||||||
|
case MT_FLINGRANDOMITEM:
|
||||||
case MT_FLINGEMERALD:
|
case MT_FLINGEMERALD:
|
||||||
case MT_RANDOMITEM:
|
case MT_RANDOMITEM:
|
||||||
// Remove flinged stuff from death pits.
|
// Remove flinged stuff from death pits.
|
||||||
|
@ -2450,6 +2452,7 @@ static boolean P_ZMovement(mobj_t *mo)
|
||||||
// Flingrings bounce
|
// Flingrings bounce
|
||||||
if (mo->type == MT_FLINGRING
|
if (mo->type == MT_FLINGRING
|
||||||
|| mo->type == MT_FLINGCOIN
|
|| mo->type == MT_FLINGCOIN
|
||||||
|
|| mo->type == MT_FLINGRANDOMITEM
|
||||||
|| P_WeaponOrPanel(mo->type)
|
|| P_WeaponOrPanel(mo->type)
|
||||||
|| mo->type == MT_FLINGEMERALD
|
|| mo->type == MT_FLINGEMERALD
|
||||||
|| mo->type == MT_BIGTUMBLEWEED
|
|| mo->type == MT_BIGTUMBLEWEED
|
||||||
|
@ -5873,6 +5876,9 @@ void P_Attract(mobj_t *source, mobj_t *dest, boolean nightsgrab) // Home in on y
|
||||||
fixed_t tx = dest->x;
|
fixed_t tx = dest->x;
|
||||||
fixed_t ty = dest->y;
|
fixed_t ty = dest->y;
|
||||||
fixed_t tz = dest->z + (dest->height/2); // Aim for center
|
fixed_t tz = dest->z + (dest->height/2); // Aim for center
|
||||||
|
|
||||||
|
if (source->type == MT_RANDOMITEM || source->type == MT_FLINGRANDOMITEM) // SRB2kart - item boxes are sorta tall
|
||||||
|
tz = dest->z;
|
||||||
|
|
||||||
if (!dest || dest->health <= 0 || !dest->player || !source->tracer)
|
if (!dest || dest->health <= 0 || !dest->player || !source->tracer)
|
||||||
return;
|
return;
|
||||||
|
@ -7255,6 +7261,7 @@ void P_MobjThinker(mobj_t *mobj)
|
||||||
// Flung items
|
// Flung items
|
||||||
case MT_FLINGRING:
|
case MT_FLINGRING:
|
||||||
case MT_FLINGCOIN:
|
case MT_FLINGCOIN:
|
||||||
|
case MT_FLINGRANDOMITEM:
|
||||||
if (mobj->flags2 & MF2_NIGHTSPULL)
|
if (mobj->flags2 & MF2_NIGHTSPULL)
|
||||||
P_NightsItemChase(mobj);
|
P_NightsItemChase(mobj);
|
||||||
else
|
else
|
||||||
|
@ -7590,6 +7597,7 @@ for (i = ((mobj->flags2 & MF2_STRONGBOX) ? strongboxamt : weakboxamt); i; --i) s
|
||||||
#ifdef ESLOPE // Sliding physics for slidey mobjs!
|
#ifdef ESLOPE // Sliding physics for slidey mobjs!
|
||||||
if (mobj->type == MT_FLINGRING
|
if (mobj->type == MT_FLINGRING
|
||||||
|| mobj->type == MT_FLINGCOIN
|
|| mobj->type == MT_FLINGCOIN
|
||||||
|
|| mobj->type == MT_FLINGRANDOMITEM
|
||||||
|| P_WeaponOrPanel(mobj->type)
|
|| P_WeaponOrPanel(mobj->type)
|
||||||
|| mobj->type == MT_FLINGEMERALD
|
|| mobj->type == MT_FLINGEMERALD
|
||||||
|| mobj->type == MT_BIGTUMBLEWEED
|
|| mobj->type == MT_BIGTUMBLEWEED
|
||||||
|
|
|
@ -816,7 +816,8 @@ void P_ReloadRings(void)
|
||||||
}
|
}
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
if (!(mo->type == MT_RING || mo->type == MT_NIGHTSWING || mo->type == MT_COIN || mo->type == MT_BLUEBALL))
|
if (!(mo->type == MT_RING || mo->type == MT_NIGHTSWING || mo->type == MT_COIN
|
||||||
|
|| mo->type == MT_BLUEBALL || mo->type == MT_RANDOMITEM))
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
// Don't auto-disintegrate things being pulled to us
|
// Don't auto-disintegrate things being pulled to us
|
||||||
|
|
48
src/p_user.c
48
src/p_user.c
|
@ -2311,14 +2311,15 @@ static void P_DoPlayerHeadSigns(player_t *player)
|
||||||
//
|
//
|
||||||
// Handles player climbing
|
// Handles player climbing
|
||||||
//
|
//
|
||||||
static void P_DoClimbing(player_t *player)
|
/*
|
||||||
|
static void P_DoClimbing(player_t *player) // SRB2kart - unused
|
||||||
{
|
{
|
||||||
return; // SRB2kart - don't need
|
return; // SRB2kart - don't need
|
||||||
ticcmd_t *cmd = &player->cmd;
|
ticcmd_t *cmd = &player->cmd;
|
||||||
fixed_t platx;
|
fixed_t platx;
|
||||||
fixed_t platy;
|
fixed_t platy;
|
||||||
subsector_t *glidesector;
|
subsector_t *glidesector;
|
||||||
boolean climb = true;
|
//boolean climb = true; // SRB2kart - unused
|
||||||
|
|
||||||
platx = P_ReturnThrustX(player->mo, player->mo->angle, player->mo->radius + FixedMul(8*FRACUNIT, player->mo->scale));
|
platx = P_ReturnThrustX(player->mo, player->mo->angle, player->mo->radius + FixedMul(8*FRACUNIT, player->mo->scale));
|
||||||
platy = P_ReturnThrustY(player->mo, player->mo->angle, player->mo->radius + FixedMul(8*FRACUNIT, player->mo->scale));
|
platy = P_ReturnThrustY(player->mo, player->mo->angle, player->mo->radius + FixedMul(8*FRACUNIT, player->mo->scale));
|
||||||
|
@ -2328,9 +2329,9 @@ static void P_DoClimbing(player_t *player)
|
||||||
if (!glidesector || glidesector->sector != player->mo->subsector->sector)
|
if (!glidesector || glidesector->sector != player->mo->subsector->sector)
|
||||||
{
|
{
|
||||||
boolean floorclimb = false;
|
boolean floorclimb = false;
|
||||||
boolean thrust = false;
|
//boolean thrust = false; // SRB2kart - unused
|
||||||
boolean boostup = false;
|
//boolean boostup = false; // SRB2kart - unused
|
||||||
boolean skyclimber = false;
|
//boolean skyclimber = false; // SRB2kart - unused
|
||||||
fixed_t floorheight, ceilingheight; // ESLOPE
|
fixed_t floorheight, ceilingheight; // ESLOPE
|
||||||
|
|
||||||
if (!glidesector)
|
if (!glidesector)
|
||||||
|
@ -2693,7 +2694,6 @@ static void P_DoClimbing(player_t *player)
|
||||||
else
|
else
|
||||||
climb = false;
|
climb = false;
|
||||||
|
|
||||||
/* // SRB2kart - don't need
|
|
||||||
if (player->climbing && climb && (player->mo->momx || player->mo->momy || player->mo->momz)
|
if (player->climbing && climb && (player->mo->momx || player->mo->momy || player->mo->momz)
|
||||||
&& !(player->mo->state >= &states[S_PLAY_CLIMB2] && player->mo->state <= &states[S_PLAY_CLIMB5]))
|
&& !(player->mo->state >= &states[S_PLAY_CLIMB2] && player->mo->state <= &states[S_PLAY_CLIMB5]))
|
||||||
P_SetPlayerMobjState(player->mo, S_PLAY_CLIMB2);
|
P_SetPlayerMobjState(player->mo, S_PLAY_CLIMB2);
|
||||||
|
@ -2718,7 +2718,6 @@ static void P_DoClimbing(player_t *player)
|
||||||
player->pflags |= PF_JUMPED;
|
player->pflags |= PF_JUMPED;
|
||||||
P_SetPlayerMobjState(player->mo, S_PLAY_ATK1);
|
P_SetPlayerMobjState(player->mo, S_PLAY_ATK1);
|
||||||
}
|
}
|
||||||
*/
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@ -2732,7 +2731,6 @@ static void P_DoClimbing(player_t *player)
|
||||||
else
|
else
|
||||||
climb = false;
|
climb = false;
|
||||||
|
|
||||||
/*
|
|
||||||
if (player->climbing && climb && (player->mo->momx || player->mo->momy || player->mo->momz)
|
if (player->climbing && climb && (player->mo->momx || player->mo->momy || player->mo->momz)
|
||||||
&& !(player->mo->state >= &states[S_PLAY_CLIMB2] && player->mo->state <= &states[S_PLAY_CLIMB5]))
|
&& !(player->mo->state >= &states[S_PLAY_CLIMB2] && player->mo->state <= &states[S_PLAY_CLIMB5]))
|
||||||
P_SetPlayerMobjState(player->mo, S_PLAY_CLIMB2);
|
P_SetPlayerMobjState(player->mo, S_PLAY_CLIMB2);
|
||||||
|
@ -2758,7 +2756,7 @@ static void P_DoClimbing(player_t *player)
|
||||||
|
|
||||||
if (player->climbing == 0)
|
if (player->climbing == 0)
|
||||||
P_SetPlayerMobjState(player->mo, S_PLAY_ATK1);
|
P_SetPlayerMobjState(player->mo, S_PLAY_ATK1);
|
||||||
*/
|
|
||||||
|
|
||||||
if (player->climbing && P_IsObjectOnGround(player->mo))
|
if (player->climbing && P_IsObjectOnGround(player->mo))
|
||||||
{
|
{
|
||||||
|
@ -2766,6 +2764,7 @@ static void P_DoClimbing(player_t *player)
|
||||||
P_SetPlayerMobjState(player->mo, S_KART_STND); // SRB2kart
|
P_SetPlayerMobjState(player->mo, S_KART_STND); // SRB2kart
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
*/
|
||||||
|
|
||||||
//
|
//
|
||||||
// PIT_CheckSolidsTeeter
|
// PIT_CheckSolidsTeeter
|
||||||
|
@ -2780,7 +2779,8 @@ static boolean couldteeter;
|
||||||
static fixed_t teeterxl, teeterxh;
|
static fixed_t teeterxl, teeterxh;
|
||||||
static fixed_t teeteryl, teeteryh;
|
static fixed_t teeteryl, teeteryh;
|
||||||
|
|
||||||
static boolean PIT_CheckSolidsTeeter(mobj_t *thing)
|
/*
|
||||||
|
static boolean PIT_CheckSolidsTeeter(mobj_t *thing) // SRB2kart - unused.
|
||||||
{
|
{
|
||||||
fixed_t blockdist;
|
fixed_t blockdist;
|
||||||
fixed_t tiptop = FixedMul(MAXSTEPMOVE, teeterer->scale);
|
fixed_t tiptop = FixedMul(MAXSTEPMOVE, teeterer->scale);
|
||||||
|
@ -2885,13 +2885,15 @@ static boolean PIT_CheckSolidsTeeter(mobj_t *thing)
|
||||||
solidteeter = false;
|
solidteeter = false;
|
||||||
return true; // you're not teetering but it's not neccessarily over, YET
|
return true; // you're not teetering but it's not neccessarily over, YET
|
||||||
}
|
}
|
||||||
|
*/
|
||||||
|
|
||||||
//
|
//
|
||||||
// P_DoTeeter
|
// P_DoTeeter
|
||||||
//
|
//
|
||||||
// Handles player teetering
|
// Handles player teetering
|
||||||
//
|
//
|
||||||
static void P_DoTeeter(player_t *player)
|
/*
|
||||||
|
static void P_DoTeeter(player_t *player) // SRB2kart - unused.
|
||||||
{
|
{
|
||||||
return; // SRB2kart - don't need
|
return; // SRB2kart - don't need
|
||||||
boolean teeter = false;
|
boolean teeter = false;
|
||||||
|
@ -3137,7 +3139,6 @@ teeterdone:
|
||||||
tmthing = oldtmthing; // restore old tmthing, goodness knows what the game does with this before mobj thinkers
|
tmthing = oldtmthing; // restore old tmthing, goodness knows what the game does with this before mobj thinkers
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
/*
|
|
||||||
if (teeter)
|
if (teeter)
|
||||||
{
|
{
|
||||||
if ((player->mo->state == &states[S_PLAY_STND] || player->mo->state == &states[S_PLAY_TAP1] || player->mo->state == &states[S_PLAY_TAP2] || player->mo->state == &states[S_PLAY_SUPERSTAND]))
|
if ((player->mo->state == &states[S_PLAY_STND] || player->mo->state == &states[S_PLAY_TAP1] || player->mo->state == &states[S_PLAY_TAP2] || player->mo->state == &states[S_PLAY_SUPERSTAND]))
|
||||||
|
@ -3145,8 +3146,8 @@ teeterdone:
|
||||||
}
|
}
|
||||||
else if ((player->mo->state == &states[S_PLAY_TEETER1] || player->mo->state == &states[S_PLAY_TEETER2] || player->mo->state == &states[S_PLAY_SUPERTEETER]))
|
else if ((player->mo->state == &states[S_PLAY_TEETER1] || player->mo->state == &states[S_PLAY_TEETER2] || player->mo->state == &states[S_PLAY_SUPERTEETER]))
|
||||||
P_SetPlayerMobjState(player->mo, S_PLAY_STND);
|
P_SetPlayerMobjState(player->mo, S_PLAY_STND);
|
||||||
*/
|
|
||||||
}
|
}
|
||||||
|
*/
|
||||||
|
|
||||||
//
|
//
|
||||||
// P_SetWeaponDelay
|
// P_SetWeaponDelay
|
||||||
|
@ -3171,7 +3172,8 @@ static void P_SetWeaponDelay(player_t *player, INT32 delay)
|
||||||
//
|
//
|
||||||
// Handles firing ring weapons and Mario fireballs.
|
// Handles firing ring weapons and Mario fireballs.
|
||||||
//
|
//
|
||||||
static void P_DoFiring(player_t *player, ticcmd_t *cmd)
|
/*
|
||||||
|
static void P_DoFiring(player_t *player, ticcmd_t *cmd) // SRB2kart - unused.
|
||||||
{
|
{
|
||||||
INT32 i;
|
INT32 i;
|
||||||
|
|
||||||
|
@ -3382,6 +3384,7 @@ static void P_DoFiring(player_t *player, ticcmd_t *cmd)
|
||||||
// Release the grenade / whatever.
|
// Release the grenade / whatever.
|
||||||
player->pflags &= ~PF_ATTACKDOWN;
|
player->pflags &= ~PF_ATTACKDOWN;
|
||||||
}
|
}
|
||||||
|
*/
|
||||||
|
|
||||||
//
|
//
|
||||||
// P_DoSuperStuff()
|
// P_DoSuperStuff()
|
||||||
|
@ -3732,7 +3735,8 @@ void P_DoJump(player_t *player, boolean soundandstate)
|
||||||
//
|
//
|
||||||
// Player spindash handling
|
// Player spindash handling
|
||||||
//
|
//
|
||||||
static void P_DoSpinDash(player_t *player, ticcmd_t *cmd)
|
/*
|
||||||
|
static void P_DoSpinDash(player_t *player, ticcmd_t *cmd) // SRB2kart - unused.
|
||||||
{
|
{
|
||||||
return; // SRB2kart - what's a spindash?
|
return; // SRB2kart - what's a spindash?
|
||||||
if (player->pflags & PF_STASIS)
|
if (player->pflags & PF_STASIS)
|
||||||
|
@ -3836,6 +3840,7 @@ static void P_DoSpinDash(player_t *player, ticcmd_t *cmd)
|
||||||
//if (onground && (player->pflags & PF_SPINNING) && !(player->panim == PA_ROLL))
|
//if (onground && (player->pflags & PF_SPINNING) && !(player->panim == PA_ROLL))
|
||||||
// P_SetPlayerMobjState(player->mo, S_PLAY_ATK1);
|
// P_SetPlayerMobjState(player->mo, S_PLAY_ATK1);
|
||||||
}
|
}
|
||||||
|
*/
|
||||||
|
|
||||||
//
|
//
|
||||||
// P_DoJumpShield
|
// P_DoJumpShield
|
||||||
|
@ -7404,10 +7409,9 @@ static void P_DoZoomTube(player_t *player)
|
||||||
// Kinda like P_DoZoomTube
|
// Kinda like P_DoZoomTube
|
||||||
// but a little different.
|
// but a little different.
|
||||||
//
|
//
|
||||||
static void P_DoRopeHang(player_t *player)
|
/*
|
||||||
|
static void P_DoRopeHang(player_t *player) // SRB2kart - unused.
|
||||||
{
|
{
|
||||||
return; // SRB2kart - errr
|
|
||||||
/*
|
|
||||||
INT32 sequence;
|
INT32 sequence;
|
||||||
fixed_t speed;
|
fixed_t speed;
|
||||||
thinker_t *th;
|
thinker_t *th;
|
||||||
|
@ -7553,8 +7557,8 @@ static void P_DoRopeHang(player_t *player)
|
||||||
CONS_Debug(DBG_GAMELOGIC, "Next waypoint not found!\n");
|
CONS_Debug(DBG_GAMELOGIC, "Next waypoint not found!\n");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
*/
|
|
||||||
}
|
}
|
||||||
|
*/
|
||||||
|
|
||||||
#if 0
|
#if 0
|
||||||
//
|
//
|
||||||
|
@ -7645,7 +7649,7 @@ void P_NukeEnemies(mobj_t *inflictor, mobj_t *source, fixed_t radius)
|
||||||
P_KillMobj(mo->tracer, inflictor, source);
|
P_KillMobj(mo->tracer, inflictor, source);
|
||||||
|
|
||||||
if (mo->flags & MF_BOSS || mo->type == MT_PLAYER) //don't OHKO bosses nor players!
|
if (mo->flags & MF_BOSS || mo->type == MT_PLAYER) //don't OHKO bosses nor players!
|
||||||
P_DamageMobj(mo, inflictor, source, 1);
|
continue; // SRB2kart - P_Nuke is for magnet (for now), and doesn't hurt other players, only obstacles. // P_DamageMobj(mo, inflictor, source, 1);
|
||||||
else
|
else
|
||||||
P_DamageMobj(mo, inflictor, source, 1000);
|
P_DamageMobj(mo, inflictor, source, 1000);
|
||||||
}
|
}
|
||||||
|
@ -9092,7 +9096,7 @@ void P_PlayerThink(player_t *player)
|
||||||
mo2 = (mobj_t *)th;
|
mo2 = (mobj_t *)th;
|
||||||
|
|
||||||
if (!(mo2->type == MT_NIGHTSWING || mo2->type == MT_RING || mo2->type == MT_COIN
|
if (!(mo2->type == MT_NIGHTSWING || mo2->type == MT_RING || mo2->type == MT_COIN
|
||||||
|| mo2->type == MT_BLUEBALL))
|
|| mo2->type == MT_BLUEBALL || mo2->type == MT_RANDOMITEM))
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
if (P_AproxDistance(P_AproxDistance(mo2->x - x, mo2->y - y), mo2->z - z) > FixedMul(128*FRACUNIT, player->mo->scale))
|
if (P_AproxDistance(P_AproxDistance(mo2->x - x, mo2->y - y), mo2->z - z) > FixedMul(128*FRACUNIT, player->mo->scale))
|
||||||
|
@ -9367,7 +9371,7 @@ void P_PlayerThink(player_t *player)
|
||||||
void P_PlayerAfterThink(player_t *player)
|
void P_PlayerAfterThink(player_t *player)
|
||||||
{
|
{
|
||||||
ticcmd_t *cmd;
|
ticcmd_t *cmd;
|
||||||
INT32 oldweapon = player->currentweapon;
|
//INT32 oldweapon = player->currentweapon; // SRB2kart - unused
|
||||||
camera_t *thiscam = NULL; // if not one of the displayed players, just don't bother
|
camera_t *thiscam = NULL; // if not one of the displayed players, just don't bother
|
||||||
|
|
||||||
#ifdef PARANOIA
|
#ifdef PARANOIA
|
||||||
|
|
|
@ -689,7 +689,8 @@ static inline void ST_drawRings(void)
|
||||||
ST_DrawNumFromHudWS(HUD_RINGSNUM, ringnum);
|
ST_DrawNumFromHudWS(HUD_RINGSNUM, ringnum);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void ST_drawLives(void)
|
/*
|
||||||
|
static void ST_drawLives(void) // SRB2kart - unused.
|
||||||
{
|
{
|
||||||
const INT32 v_splitflag = (splitscreen && stplyr == &players[displayplayer] ? V_SPLITSCREEN : 0);
|
const INT32 v_splitflag = (splitscreen && stplyr == &players[displayplayer] ? V_SPLITSCREEN : 0);
|
||||||
|
|
||||||
|
@ -733,6 +734,7 @@ static void ST_drawLives(void)
|
||||||
V_DrawRightAlignedString(hudinfo[HUD_LIVESNUM].x, hudinfo[HUD_LIVESNUM].y + (v_splitflag ? -4 : 0),
|
V_DrawRightAlignedString(hudinfo[HUD_LIVESNUM].x, hudinfo[HUD_LIVESNUM].y + (v_splitflag ? -4 : 0),
|
||||||
V_SNAPTOLEFT|V_SNAPTOBOTTOM|V_HUDTRANS|v_splitflag, va("%d",stplyr->lives));
|
V_SNAPTOLEFT|V_SNAPTOBOTTOM|V_HUDTRANS|v_splitflag, va("%d",stplyr->lives));
|
||||||
}
|
}
|
||||||
|
*/
|
||||||
|
|
||||||
static void ST_drawLevelTitle(void)
|
static void ST_drawLevelTitle(void)
|
||||||
{
|
{
|
||||||
|
@ -970,7 +972,8 @@ static void ST_drawNightsRecords(void)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static void ST_drawNiGHTSHUD(void)
|
/*
|
||||||
|
static void ST_drawNiGHTSHUD(void) // SRB2kart - unused.
|
||||||
{
|
{
|
||||||
INT32 origamount;
|
INT32 origamount;
|
||||||
INT32 minlink = 1;
|
INT32 minlink = 1;
|
||||||
|
@ -1144,7 +1147,7 @@ static void ST_drawNiGHTSHUD(void)
|
||||||
INT32 i;
|
INT32 i;
|
||||||
total_ringcount = 0;
|
total_ringcount = 0;
|
||||||
for (i = 0; i < MAXPLAYERS; i++)
|
for (i = 0; i < MAXPLAYERS; i++)
|
||||||
if (playeringame[i] /*&& players[i].pflags & PF_NIGHTSMODE*/ && players[i].health)
|
if (playeringame[i] && players[i].pflags & PF_NIGHTSMODE && players[i].health)
|
||||||
total_ringcount += players[i].health - 1;
|
total_ringcount += players[i].health - 1;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
@ -1349,6 +1352,7 @@ static void ST_drawNiGHTSHUD(void)
|
||||||
if (nosshack)
|
if (nosshack)
|
||||||
splitscreen = true;
|
splitscreen = true;
|
||||||
}
|
}
|
||||||
|
*/
|
||||||
|
|
||||||
static void ST_drawWeaponRing(powertype_t weapon, INT32 rwflag, INT32 wepflag, INT32 xoffs, patch_t *pat)
|
static void ST_drawWeaponRing(powertype_t weapon, INT32 rwflag, INT32 wepflag, INT32 xoffs, patch_t *pat)
|
||||||
{
|
{
|
||||||
|
@ -1382,7 +1386,8 @@ static void ST_drawWeaponRing(powertype_t weapon, INT32 rwflag, INT32 wepflag, I
|
||||||
V_DrawScaledPatch(8 + xoffs, STRINGY(162), V_SNAPTOLEFT|V_TRANSLUCENT, pat);
|
V_DrawScaledPatch(8 + xoffs, STRINGY(162), V_SNAPTOLEFT|V_TRANSLUCENT, pat);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void ST_drawMatchHUD(void)
|
/*
|
||||||
|
static void ST_drawMatchHUD(void) // SRB2kart - unused.
|
||||||
{
|
{
|
||||||
INT32 offset = (BASEVIDWIDTH / 2) - (NUM_WEAPONS * 10);
|
INT32 offset = (BASEVIDWIDTH / 2) - (NUM_WEAPONS * 10);
|
||||||
|
|
||||||
|
@ -1461,6 +1466,7 @@ static void ST_drawMatchHUD(void)
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
*/
|
||||||
|
|
||||||
static inline void ST_drawRaceHUD(void)
|
static inline void ST_drawRaceHUD(void)
|
||||||
{
|
{
|
||||||
|
@ -1482,7 +1488,8 @@ static inline void ST_drawRaceHUD(void)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static void ST_drawTagHUD(void)
|
/*
|
||||||
|
static void ST_drawTagHUD(void) // SRB2kart - unused.
|
||||||
{
|
{
|
||||||
char pstime[33] = "";
|
char pstime[33] = "";
|
||||||
char pstext[33] = "";
|
char pstext[33] = "";
|
||||||
|
@ -1541,7 +1548,7 @@ static void ST_drawTagHUD(void)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static void ST_drawCTFHUD(void)
|
static void ST_drawCTFHUD(void) // SRB2kart - unused.
|
||||||
{
|
{
|
||||||
INT32 i;
|
INT32 i;
|
||||||
UINT16 whichflag = 0;
|
UINT16 whichflag = 0;
|
||||||
|
@ -1589,6 +1596,7 @@ static void ST_drawCTFHUD(void)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
*/
|
||||||
|
|
||||||
// Draws "Red Team", "Blue Team", or "Spectator" for team gametypes.
|
// Draws "Red Team", "Blue Team", or "Spectator" for team gametypes.
|
||||||
static inline void ST_drawTeamName(void)
|
static inline void ST_drawTeamName(void)
|
||||||
|
@ -1601,7 +1609,8 @@ static inline void ST_drawTeamName(void)
|
||||||
V_DrawString(244, (splitscreen) ? STRINGY(184) : STRINGY(192), V_HUDTRANSHALF, "SPECTATOR");
|
V_DrawString(244, (splitscreen) ? STRINGY(184) : STRINGY(192), V_HUDTRANSHALF, "SPECTATOR");
|
||||||
}
|
}
|
||||||
|
|
||||||
static void ST_drawSpecialStageHUD(void)
|
/*
|
||||||
|
static void ST_drawSpecialStageHUD(void) // SRB2kart - unused.
|
||||||
{
|
{
|
||||||
if (totalrings > 0)
|
if (totalrings > 0)
|
||||||
ST_DrawNumFromHudWS(HUD_SS_TOTALRINGS, totalrings);
|
ST_DrawNumFromHudWS(HUD_SS_TOTALRINGS, totalrings);
|
||||||
|
@ -1620,6 +1629,7 @@ static void ST_drawSpecialStageHUD(void)
|
||||||
else
|
else
|
||||||
ST_DrawPatchFromHud(HUD_TIMEUP, timeup);
|
ST_DrawPatchFromHud(HUD_TIMEUP, timeup);
|
||||||
}
|
}
|
||||||
|
*/
|
||||||
|
|
||||||
static INT32 ST_drawEmeraldHuntIcon(mobj_t *hunt, patch_t **patches, INT32 offset)
|
static INT32 ST_drawEmeraldHuntIcon(mobj_t *hunt, patch_t **patches, INT32 offset)
|
||||||
{
|
{
|
||||||
|
@ -1661,8 +1671,9 @@ static INT32 ST_drawEmeraldHuntIcon(mobj_t *hunt, patch_t **patches, INT32 offse
|
||||||
return interval;
|
return interval;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
// Separated a few things to stop the SOUND EFFECTS BLARING UGH SHUT UP AAAA
|
// Separated a few things to stop the SOUND EFFECTS BLARING UGH SHUT UP AAAA
|
||||||
static void ST_doHuntIconsAndSound(void)
|
static void ST_doHuntIconsAndSound(void) // SRB2kart - unused.
|
||||||
{
|
{
|
||||||
INT32 interval = 0, newinterval = 0;
|
INT32 interval = 0, newinterval = 0;
|
||||||
|
|
||||||
|
@ -1687,7 +1698,7 @@ static void ST_doHuntIconsAndSound(void)
|
||||||
S_StartSound(NULL, sfx_emfind);
|
S_StartSound(NULL, sfx_emfind);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void ST_doItemFinderIconsAndSound(void)
|
static void ST_doItemFinderIconsAndSound(void) // SRB2kart - unused.
|
||||||
{
|
{
|
||||||
INT32 emblems[16];
|
INT32 emblems[16];
|
||||||
thinker_t *th;
|
thinker_t *th;
|
||||||
|
@ -1746,6 +1757,7 @@ static void ST_doItemFinderIconsAndSound(void)
|
||||||
if (!(P_AutoPause() || paused) && interval > 0 && leveltime && leveltime % interval == 0)
|
if (!(P_AutoPause() || paused) && interval > 0 && leveltime && leveltime % interval == 0)
|
||||||
S_StartSound(NULL, sfx_emfind);
|
S_StartSound(NULL, sfx_emfind);
|
||||||
}
|
}
|
||||||
|
*/
|
||||||
|
|
||||||
// Draw the status bar overlay, customisable: the user chooses which
|
// Draw the status bar overlay, customisable: the user chooses which
|
||||||
// kind of information to overlay
|
// kind of information to overlay
|
||||||
|
|
|
@ -1204,7 +1204,7 @@ void Y_StartIntermission(void)
|
||||||
usetile = !useinterpic;
|
usetile = !useinterpic;
|
||||||
|
|
||||||
// get special stage specific patches
|
// get special stage specific patches
|
||||||
/* if (!stagefailed && ALL7EMERALDS(emeralds))
|
if (!stagefailed && ALL7EMERALDS(emeralds))
|
||||||
{
|
{
|
||||||
data.spec.cemerald = W_CachePatchName("GOTEMALL", PU_STATIC);
|
data.spec.cemerald = W_CachePatchName("GOTEMALL", PU_STATIC);
|
||||||
data.spec.headx = 70;
|
data.spec.headx = 70;
|
||||||
|
@ -1216,8 +1216,8 @@ void Y_StartIntermission(void)
|
||||||
data.spec.cemerald = W_CachePatchName("CEMERALD", PU_STATIC);
|
data.spec.cemerald = W_CachePatchName("CEMERALD", PU_STATIC);
|
||||||
data.spec.headx = 48;
|
data.spec.headx = 48;
|
||||||
data.spec.nowsuper = NULL;
|
data.spec.nowsuper = NULL;
|
||||||
} */
|
}
|
||||||
/*
|
|
||||||
// Super form stuff (normally blank)
|
// Super form stuff (normally blank)
|
||||||
data.spec.passed3[0] = '\0';
|
data.spec.passed3[0] = '\0';
|
||||||
data.spec.passed4[0] = '\0';
|
data.spec.passed4[0] = '\0';
|
||||||
|
@ -1658,12 +1658,14 @@ static void Y_SetRingBonus(player_t *player, y_bonus_t *bstruct)
|
||||||
//
|
//
|
||||||
// Y_SetLinkBonus
|
// Y_SetLinkBonus
|
||||||
//
|
//
|
||||||
static void Y_SetLinkBonus(player_t *player, y_bonus_t *bstruct)
|
/*
|
||||||
|
static void Y_SetLinkBonus(player_t *player, y_bonus_t *bstruct) // SRB2kart - unused.
|
||||||
{
|
{
|
||||||
strncpy(bstruct->patch, "YB_LINK", sizeof(bstruct->patch));
|
strncpy(bstruct->patch, "YB_LINK", sizeof(bstruct->patch));
|
||||||
bstruct->display = true;
|
bstruct->display = true;
|
||||||
bstruct->points = max(0, (player->maxlink - 1) * 100);
|
bstruct->points = max(0, (player->maxlink - 1) * 100);
|
||||||
}
|
}
|
||||||
|
*/
|
||||||
|
|
||||||
//
|
//
|
||||||
// Y_SetGuardBonus
|
// Y_SetGuardBonus
|
||||||
|
|
Loading…
Reference in a new issue