Per Sal's request, remove SMK stuff too

This commit is contained in:
toaster 2024-01-26 00:56:01 +00:00
parent 6fdec66dc3
commit 5680514012
8 changed files with 0 additions and 792 deletions

View file

@ -2177,11 +2177,6 @@ const char *const STATE_LIST[] = { // array length left dynamic for sanity testi
"S_BIGRING11",
"S_BIGRING12",
// SNES Objects
"S_SNES_DONUTBUSH1",
"S_SNES_DONUTBUSH2",
"S_SNES_DONUTBUSH3",
// Ark Arrows
"S_ARKARROW_0",
"S_ARKARROW_1",
@ -2529,17 +2524,6 @@ const char *const STATE_LIST[] = { // array length left dynamic for sanity testi
"S_KANNA",
"S_OGAMI",
// SMK ports
"S_SMK_PIPE1", // Generic pipes
"S_SMK_PIPE2",
"S_SMK_MOLE", // Donut Plains Monty Moles
"S_SMK_THWOMP", // Bowser Castle Thwomps
"S_SMK_SNOWBALL", // Vanilla Lake snowballs
"S_SMK_ICEBLOCK", // Vanilla Lake breakable ice blocks
"S_SMK_ICEBLOCK2",
"S_SMK_ICEBLOCK_DEBRIS",
"S_SMK_ICEBLOCK_DEBRIS2",
"S_SUNBEAMPALM_STEM",
"S_SUNBEAMPALM_LEAF",
@ -3615,10 +3599,6 @@ const char *const MOBJTYPE_LIST[] = { // array length left dynamic for sanity t
"MT_BIGRING",
"MT_SNES_DONUTBUSH1",
"MT_SNES_DONUTBUSH2",
"MT_SNES_DONUTBUSH3",
"MT_ARKARROW", // Ark Arrows
"MT_BUMP",
@ -3709,16 +3689,6 @@ const char *const MOBJTYPE_LIST[] = { // array length left dynamic for sanity t
"MT_HANAGUMIHALL_STEAM",
"MT_HANAGUMIHALL_NPC",
// SMK ports
"MT_SMK_PIPE",
"MT_SMK_MOLESPAWNER",
"MT_SMK_MOLE",
"MT_SMK_THWOMP",
"MT_SMK_SNOWBALL",
"MT_SMK_ICEBLOCK",
"MT_SMK_ICEBLOCK_SIDE",
"MT_SMK_ICEBLOCK_DEBRIS",
"MT_SUNBEAMPALM_STEM",
"MT_SUNBEAMPALM_LEAF",

View file

@ -416,7 +416,6 @@ char sprnames[NUMSPRITES + 1][5] =
// Additional Kart Objects
"AUDI", // Audience members
"BUZB", // Sapphire Coast Buzz Mk3
"SNES",
"BRNG", // Chaotix Big Ring
// Ark Arrows
@ -551,13 +550,6 @@ char sprnames[NUMSPRITES + 1][5] =
"HGCF",
"HGCG",
// SMK ports
"SMKP",
"MTYM",
"THWP",
"SNOB",
"ICEB",
"TUST",
"TULE",
@ -2669,10 +2661,6 @@ state_t states[NUMSTATES] =
{SPR_BRNG, 10, 2, {NULL}, 0, 0, S_BIGRING12}, // S_BIGRING11
{SPR_BRNG, 11, 2, {NULL}, 0, 0, S_BIGRING01}, // S_BIGRING12
{SPR_SNES, 0, -1, {NULL}, 0, 0, S_NULL}, // S_SNES_DONUTBUSH1
{SPR_SNES, 1, -1, {NULL}, 0, 0, S_NULL}, // S_SNES_DONUTBUSH2
{SPR_SNES, 2, -1, {NULL}, 0, 0, S_NULL}, // S_SNES_DONUTBUSH3
// Ark Arrows
{SPR_SYM0, FF_ANIMATE|FF_PAPERSPRITE, -1, {NULL}, 15, 2, S_NULL}, // S_ARKARROW_0
{SPR_SYM1, FF_ANIMATE|FF_PAPERSPRITE, -1, {NULL}, 15, 2, S_NULL}, // S_ARKARROW_1
@ -3029,17 +3017,6 @@ state_t states[NUMSTATES] =
{SPR_HGCF, 0, -1, {NULL}, 0, 0, S_NULL}, // S_KANNA
{SPR_HGCG, 0, -1, {NULL}, 0, 0, S_NULL}, // S_OGAMI
// SMK ports
{SPR_SMKP, 0, -1, {NULL}, 0, 0, S_SMK_PIPE1}, // S_SMK_PIPE1
{SPR_SMKP, 1, -1, {NULL}, 0, 0, S_SMK_PIPE2}, // S_SMK_PIPE2
{SPR_MTYM, 0, -1, {NULL}, 0, 0, S_SMK_MOLE}, // S_SMK_MOLE
{SPR_THWP, 0, -1, {NULL}, 0, 0, S_SMK_THWOMP}, // S_SMK_THWOMP
{SPR_SNOB, 0, -1, {NULL}, 0, 0, S_SMK_SNOWBALL}, // S_SMK_SNOWBALL
{SPR_ICEB, FF_PAPERSPRITE, -1, {NULL}, 0, 0, S_NULL}, // S_SMK_ICEBLOCK
{SPR_ICEB, FF_PAPERSPRITE|1, -1, {NULL}, 0, 0, S_NULL}, // S_SMK_ICEBLOCK2
{SPR_ICEB, 2, 10, {NULL}, 0, 0, S_SMK_ICEBLOCK_DEBRIS2}, // S_SMK_ICEBLOCK_DEBRIS
{SPR_ICEB, 3, 10, {NULL}, 0, 0, S_NULL}, // S_SMK_ICEBLOCK_DEBRIS2
{SPR_TUST, FF_PAPERSPRITE, -1, {NULL}, 0, 0, S_NULL}, // S_SUNBEAMPALM_STEM
{SPR_TULE, FF_PAPERSPRITE, -1, {NULL}, 0, 0, S_NULL}, // S_SUNBEAMPALM_LEAF
@ -16202,87 +16179,6 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] =
S_NULL // raisestate
},
{ // MT_SNES_DONUTBUSH1
2301, // doomednum
S_SNES_DONUTBUSH1, // spawnstate
1000, // spawnhealth
S_NULL, // seestate
sfx_None, // seesound
8, // reactiontime
sfx_None, // attacksound
S_NULL, // painstate
0, // painchance
sfx_None, // painsound
S_NULL, // meleestate
S_NULL, // missilestate
S_NULL, // deathstate
S_NULL, // xdeathstate
sfx_None, // deathsound
0, // speed
14*FRACUNIT, // radius
15*FRACUNIT, // height
0, // display offset
100, // mass
0, // damage
sfx_None, // activesound
MF_NOBLOCKMAP|MF_NOGRAVITY|MF_NOTHINK, // flags
S_NULL // raisestate
},
{ // MT_SNES_DONUTBUSH2
2302, // doomednum
S_SNES_DONUTBUSH2, // spawnstate
1000, // spawnhealth
S_NULL, // seestate
sfx_None, // seesound
8, // reactiontime
sfx_None, // attacksound
S_NULL, // painstate
0, // painchance
sfx_None, // painsound
S_NULL, // meleestate
S_NULL, // missilestate
S_NULL, // deathstate
S_NULL, // xdeathstate
sfx_None, // deathsound
0, // speed
13*FRACUNIT, // radius
13*FRACUNIT, // height
0, // display offset
100, // mass
0, // damage
sfx_None, // activesound
MF_NOBLOCKMAP|MF_NOGRAVITY|MF_NOTHINK, // flags
S_NULL // raisestate
},
{ // MT_SNES_DONUTBUSH3
2303, // doomednum
S_SNES_DONUTBUSH3, // spawnstate
1000, // spawnhealth
S_NULL, // seestate
sfx_None, // seesound
8, // reactiontime
sfx_None, // attacksound
S_NULL, // painstate
0, // painchance
sfx_None, // painsound
S_NULL, // meleestate
S_NULL, // missilestate
S_NULL, // deathstate
S_NULL, // xdeathstate
sfx_None, // deathsound
0, // speed
7*FRACUNIT, // radius
7*FRACUNIT, // height
0, // display offset
100, // mass
0, // damage
sfx_None, // activesound
MF_NOBLOCKMAP|MF_NOGRAVITY|MF_NOTHINK, // flags
S_NULL // raisestate
},
{ // MT_ARKARROW
4094, // doomednum
S_ARKARROW_0, // spawnstate
@ -17687,222 +17583,6 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] =
S_NULL // raisestate
},
{ // MT_SMK_PIPE
3970, // doomednum
S_SMK_PIPE1, // spawnstate
1000, // spawnhealth
S_SMK_PIPE2, // seestate
sfx_None, // seesound
8, // reactiontime
sfx_None, // attacksound
S_NULL, // painstate
0, // painchance
sfx_None, // painsound
S_NULL, // meleestate
S_NULL, // missilestate
S_SMK_PIPE1, // deathstate
S_NULL, // xdeathstate
sfx_s1ac, // deathsound
0, // speed
20<<FRACBITS, // radius
52<<FRACBITS, // height
0, // display offset
0, // mass
0, // damage
sfx_None, // activesound
MF_SOLID, // flags
S_NULL // raisestate
},
{ // MT_SMK_MOLESPAWNER
3971, // doomednum
S_INVISIBLE, // spawnstate
1000, // spawnhealth
S_NULL, // seestate
sfx_None, // seesound
8, // reactiontime
sfx_None, // attacksound
S_NULL, // painstate
0, // painchance
sfx_None, // painsound
S_NULL, // meleestate
S_NULL, // missilestate
S_NULL, // deathstate
S_NULL, // xdeathstate
sfx_None, // deathsound
0, // speed
28<<FRACBITS, // radius
32<<FRACBITS, // height
0, // display offset
0, // mass
0, // damage
sfx_None, // activesound
MF_NOBLOCKMAP|MF_NOGRAVITY, // flags
S_NULL // raisestate
},
{ // MT_SMK_MOLE
-1, // doomednum
S_SMK_MOLE, // spawnstate
1000, // spawnhealth
S_NULL, // seestate
sfx_None, // seesound
TICRATE, // reactiontime
sfx_None, // attacksound
S_NULL, // painstate
0, // painchance
sfx_None, // painsound
S_NULL, // meleestate
S_NULL, // missilestate
S_SMK_MOLE, // deathstate
S_NULL, // xdeathstate
sfx_s1ac, // deathsound
16<<FRACBITS, // speed
28<<FRACBITS, // radius
32<<FRACBITS, // height
0, // display offset
0, // mass
0, // damage
sfx_None, // activesound
MF_SPECIAL, // flags
S_NULL // raisestate
},
{ // MT_SMK_THWOMP
3972, // doomednum
S_SMK_THWOMP, // spawnstate
1000, // spawnhealth
S_NULL, // seestate
sfx_None, // seesound
TICRATE, // reactiontime
sfx_None, // attacksound
S_NULL, // painstate
0, // painchance
sfx_None, // painsound
S_NULL, // meleestate
S_NULL, // missilestate
S_SMK_THWOMP, // deathstate
S_NULL, // xdeathstate
sfx_s1ac, // deathsound
32<<FRACBITS, // speed
22<<FRACBITS, // radius
52<<FRACBITS, // height
0, // display offset
0, // mass
0, // damage
sfx_None, // activesound
MF_SOLID|MF_NOGRAVITY, // flags
S_NULL // raisestate
},
{ // MT_SMK_SNOWBALL
3745, // doomednum
S_SMK_SNOWBALL, // spawnstate
1000, // spawnhealth
S_NULL, // seestate
sfx_None, // seesound
8, // reactiontime
sfx_None, // attacksound
S_NULL, // painstate
0, // painchance
sfx_None, // painsound
S_NULL, // meleestate
S_NULL, // missilestate
S_NULL, // deathstate
S_NULL, // xdeathstate
sfx_None, // deathsound
0, // speed
16<<FRACBITS, // radius
32<<FRACBITS, // height
0, // display offset
0, // mass
0, // damage
sfx_None, // activesound
MF_NOBLOCKMAP|MF_NOGRAVITY|MF_NOTHINK, // flags
S_NULL // raisestate
},
{ // MT_SMK_ICEBLOCK
3203, // doomednum
S_INVISIBLE, // spawnstate
1, // spawnhealth
S_NULL, // seestate
sfx_None, // seesound
8, // reactiontime
sfx_None, // attacksound
S_NULL, // painstate
0, // painchance
sfx_None, // painsound
S_NULL, // meleestate
S_NULL, // missilestate
S_INVISIBLE, // deathstate
S_NULL, // xdeathstate
sfx_None, // deathsound
0, // speed
32<<FRACBITS, // radius
32<<FRACBITS, // height
0, // display offset
0, // mass
0, // damage
sfx_None, // activesound
MF_SOLID|MF_SHOOTABLE|MF_NOGRAVITY, // flags
S_NULL // raisestate
},
{ // MT_SMK_ICEBLOCK_SIDE
-1, // doomednum
S_SMK_ICEBLOCK, // spawnstate
1000, // spawnhealth
S_NULL, // seestate
sfx_None, // seesound
8, // reactiontime
sfx_None, // attacksound
S_NULL, // painstate
0, // painchance
sfx_None, // painsound
S_NULL, // meleestate
S_NULL, // missilestate
S_NULL, // deathstate
S_NULL, // xdeathstate
sfx_None, // deathsound
0, // speed
32<<FRACBITS, // radius
32<<FRACBITS, // height
0, // display offset
0, // mass
0, // damage
sfx_None, // activesound
MF_NOTHINK|MF_NOCLIP|MF_NOCLIPHEIGHT|MF_NOGRAVITY, // flags
S_NULL // raisestate
},
{ // MT_SMK_ICEBLOCK_DEBRIS
-1, // doomednum
S_SMK_ICEBLOCK_DEBRIS, // spawnstate
1000, // spawnhealth
S_NULL, // seestate
sfx_None, // seesound
8, // reactiontime
sfx_None, // attacksound
S_NULL, // painstate
0, // painchance
sfx_None, // painsound
S_NULL, // meleestate
S_NULL, // missilestate
S_NULL, // deathstate
S_NULL, // xdeathstate
sfx_None, // deathsound
0, // speed
8<<FRACBITS, // radius
8<<FRACBITS, // height
0, // display offset
0, // mass
0, // damage
sfx_None, // activesound
MF_SCENERY|MF_NOCLIP|MF_NOCLIPHEIGHT, // flags
S_NULL // raisestate
},
{ // MT_SUNBEAMPALM_STEM
2697, // doomednum
S_SUNBEAMPALM_STEM, // spawnstate

View file

@ -955,7 +955,6 @@ typedef enum sprite
// Additional Kart Objects
SPR_AUDI, // Audience members
SPR_BUZB, // Buzz Bomber
SPR_SNES,
SPR_BRNG, // Chaotix Big Ring
// Ark Arrows
@ -1090,13 +1089,6 @@ typedef enum sprite
SPR_HGCF,
SPR_HGCG,
// SMK ports
SPR_SMKP,
SPR_MTYM,
SPR_THWP,
SPR_SNOB,
SPR_ICEB,
SPR_TUST,
SPR_TULE,
@ -3176,11 +3168,6 @@ typedef enum state
S_BIGRING11,
S_BIGRING12,
// SNES Objects
S_SNES_DONUTBUSH1,
S_SNES_DONUTBUSH2,
S_SNES_DONUTBUSH3,
// Ark Arrows
S_ARKARROW_0,
S_ARKARROW_1,
@ -3528,17 +3515,6 @@ typedef enum state
S_KANNA,
S_OGAMI,
// SMK ports
S_SMK_PIPE1, // Generic pipes
S_SMK_PIPE2,
S_SMK_MOLE, // Donut Plains Monty Moles
S_SMK_THWOMP, // Bowser Castle Thwomps
S_SMK_SNOWBALL, // Vanilla Lake snowballs
S_SMK_ICEBLOCK, // Vanilla Lake breakable ice blocks
S_SMK_ICEBLOCK2,
S_SMK_ICEBLOCK_DEBRIS,
S_SMK_ICEBLOCK_DEBRIS2,
S_SUNBEAMPALM_STEM,
S_SUNBEAMPALM_LEAF,
@ -4641,10 +4617,6 @@ typedef enum mobj_type
MT_BIGRING,
MT_SNES_DONUTBUSH1,
MT_SNES_DONUTBUSH2,
MT_SNES_DONUTBUSH3,
MT_ARKARROW, // Ark Arrows
MT_BUMP,
@ -4735,16 +4707,6 @@ typedef enum mobj_type
MT_HANAGUMIHALL_STEAM,
MT_HANAGUMIHALL_NPC,
// SMK ports
MT_SMK_PIPE,
MT_SMK_MOLESPAWNER,
MT_SMK_MOLE,
MT_SMK_THWOMP,
MT_SMK_SNOWBALL,
MT_SMK_ICEBLOCK,
MT_SMK_ICEBLOCK_SIDE,
MT_SMK_ICEBLOCK_DEBRIS,
MT_SUNBEAMPALM_STEM,
MT_SUNBEAMPALM_LEAF,

View file

@ -1028,34 +1028,6 @@ boolean K_FallingRockCollide(mobj_t *t1, mobj_t *t2)
return true;
}
boolean K_SMKIceBlockCollide(mobj_t *t1, mobj_t *t2)
{
if (!(t2->flags & MF_SOLID || t2->flags & MF_SHOOTABLE))
return true;
if (!(t2->health))
return true;
if (t2->type == MT_BANANA || t2->type == MT_BANANA_SHIELD
|| t2->type == MT_EGGMANITEM || t2->type == MT_EGGMANITEM_SHIELD
|| t2->type == MT_SSMINE || t2->type == MT_SSMINE_SHIELD
|| t2->type == MT_DROPTARGET_SHIELD
|| t2->type == MT_ORBINAUT_SHIELD || t2->type == MT_JAWZ_SHIELD)
return false;
if (t1->health)
P_KillMobj(t1, t2, t2, DMG_NORMAL);
/*
if (t2->player && (t2->player->invincibilitytimer > 0
|| K_IsBigger(t2, t1) == true))
return true;
*/
K_KartSolidBounce(t1, t2);
return true;
}
boolean K_PvPTouchDamage(mobj_t *t1, mobj_t *t2)
{
if (K_PodiumSequence() == true)

View file

@ -32,7 +32,6 @@ boolean K_InstaWhipCollide(mobj_t *shield, mobj_t *victim);
boolean K_KitchenSinkCollide(mobj_t *t1, mobj_t *t2);
boolean K_FallingRockCollide(mobj_t *t1, mobj_t *t2);
boolean K_SMKIceBlockCollide(mobj_t *t1, mobj_t *t2);
boolean K_PvPTouchDamage(mobj_t *t1, mobj_t *t2);

View file

@ -571,33 +571,6 @@ void P_TouchSpecialThing(mobj_t *special, mobj_t *toucher, boolean heightcheck)
special->frame |= FF_TRANS90;
return;
*/
case MT_SMK_MOLE:
if (special->target && !P_MobjWasRemoved(special->target))
return;
if (special->health <= 0 || toucher->health <= 0)
return;
if (!player->mo || player->spectator)
return;
// kill
if (player->invincibilitytimer > 0
|| K_IsBigger(toucher, special) == true
|| player->flamedash > 0)
{
P_KillMobj(special, toucher, toucher, DMG_NORMAL);
return;
}
// no interaction
if (player->flashing > 0 || player->hyudorotimer > 0 || P_PlayerInPain(player))
return;
// attach to player!
P_SetTarget(&special->target, toucher);
S_StartSound(special, sfx_s1a2);
return;
case MT_SPECIALSTAGEBOMB:
// only attempt to damage the player if they're not invincible
@ -1914,18 +1887,6 @@ void P_KillMobj(mobj_t *target, mobj_t *inflictor, mobj_t *source, UINT8 damaget
return;
// SRB2Kart:
case MT_SMK_ICEBLOCK:
{
mobj_t *cur = target->hnext;
while (cur && !P_MobjWasRemoved(cur))
{
P_SetMobjState(cur, S_SMK_ICEBLOCK2);
cur = cur->hnext;
}
target->fuse = 10;
S_StartSound(target, sfx_s3k80);
}
break;
case MT_ITEMCAPSULE:
{
@ -2281,23 +2242,6 @@ void P_KillMobj(mobj_t *target, mobj_t *inflictor, mobj_t *source, UINT8 damaget
}
}
// Bounce up on death
if (target->type == MT_SMK_PIPE || target->type == MT_SMK_MOLE || target->type == MT_SMK_THWOMP)
{
target->flags &= (~MF_NOGRAVITY);
if (target->eflags & MFE_VERTICALFLIP)
target->z -= target->height;
else
target->z += target->height;
S_StartSound(target, target->info->deathsound);
P_SetObjectMomZ(target, 8<<FRACBITS, false);
if (inflictor)
P_InstaThrust(target, R_PointToAngle2(inflictor->x, inflictor->y, target->x, target->y)+ANGLE_90, 16<<FRACBITS);
}
// Final state setting - do something instead of P_SetMobjState;
if (target->type == MT_SPIKE && target->info->deathstate != S_NULL)
{

View file

@ -936,27 +936,6 @@ static BlockItReturn_t PIT_CheckThing(mobj_t *thing)
return Obj_ShrinkLaserCollide(tm.thing, thing) ? BMIT_CONTINUE : BMIT_ABORT;
}
if (tm.thing->type == MT_SMK_ICEBLOCK)
{
// see if it went over / under
if (tm.thing->z > thing->z + thing->height)
return BMIT_CONTINUE; // overhead
if (tm.thing->z + tm.thing->height < thing->z)
return BMIT_CONTINUE; // underneath
return K_SMKIceBlockCollide(tm.thing, thing) ? BMIT_CONTINUE : BMIT_ABORT;
}
else if (thing->type == MT_SMK_ICEBLOCK)
{
// see if it went over / under
if (tm.thing->z > thing->z + thing->height)
return BMIT_CONTINUE; // overhead
if (tm.thing->z + tm.thing->height < thing->z)
return BMIT_CONTINUE; // underneath
return K_SMKIceBlockCollide(thing, tm.thing) ? BMIT_CONTINUE : BMIT_ABORT;
}
if (tm.thing->type == MT_EGGMANITEM || tm.thing->type == MT_EGGMANITEM_SHIELD)
{
// see if it went over / under
@ -1513,72 +1492,6 @@ static BlockItReturn_t PIT_CheckThing(mobj_t *thing)
return BMIT_CONTINUE;
}
}
else if (thing->type == MT_SMK_PIPE)
{
// see if it went over / under
if (tm.thing->z > thing->z + thing->height)
return BMIT_CONTINUE; // overhead
if (tm.thing->z + tm.thing->height < thing->z)
return BMIT_CONTINUE; // underneath
if (!thing->health)
return BMIT_CONTINUE; // dead
if (tm.thing->player->invincibilitytimer > 0
|| K_IsBigger(tm.thing, thing) == true)
{
P_KillMobj(thing, tm.thing, tm.thing, DMG_NORMAL);
return BMIT_CONTINUE; // kill
}
K_KartSolidBounce(tm.thing, thing);
return BMIT_CONTINUE;
}
else if (thing->type == MT_SMK_THWOMP)
{
if (!thing->health)
return BMIT_CONTINUE; // dead
if (!thwompsactive)
return BMIT_CONTINUE; // not active yet
if ((tm.thing->z < thing->z) && (thing->z >= thing->movefactor-(256<<FRACBITS)))
{
thing->extravalue1 = 1; // purposely try to stomp on players early
//S_StartSound(thing, sfx_s1bb);
}
// see if it went over / under
if (tm.thing->z > thing->z + thing->height)
return BMIT_CONTINUE; // overhead
if (tm.thing->z + tm.thing->height < thing->z)
return BMIT_CONTINUE; // underneath
// kill
if (tm.thing->player->invincibilitytimer > 0
|| K_IsBigger(tm.thing, thing) == true)
{
P_KillMobj(thing, tm.thing, tm.thing, DMG_NORMAL);
return BMIT_CONTINUE;
}
// no interaction
if (tm.thing->player->flashing > 0 || tm.thing->player->hyudorotimer > 0 || tm.thing->player->spinouttimer > 0)
return BMIT_CONTINUE;
// collide
if (tm.thing->z < thing->z && thing->momz < 0)
P_DamageMobj(tm.thing, thing, thing, 1, DMG_TUMBLE);
else
{
if ((K_KartSolidBounce(tm.thing, thing) == true) && (thing->flags2 & MF2_AMBUSH))
{
P_DamageMobj(tm.thing, thing, thing, 1, DMG_WIPEOUT);
}
}
return BMIT_CONTINUE;
}
else if (thing->type == MT_KART_LEFTOVER)
{
// see if it went over / under

View file

@ -6992,41 +6992,6 @@ static boolean P_MobjDeadThink(mobj_t *mobj)
if (mobj->fuse > TICRATE)
mobj->renderflags ^= RF_DONTDRAW; // only by good fortune does this end with it having RF_DONTDRAW... don't touch!
break;
case MT_SMK_PIPE:
if (mobj->flags2 & MF2_AMBUSH)
P_SetMobjStateNF(mobj, mobj->info->seestate);
else
P_SetMobjStateNF(mobj, mobj->info->spawnstate);
/* FALLTHRU */
case MT_SMK_MOLE:
mobj->renderflags ^= RF_DONTDRAW;
if (P_IsObjectOnGround(mobj))
{
P_RemoveMobj(mobj);
return false;
}
break;
case MT_SMK_THWOMP:
if (mobj->flags2 & MF2_AMBUSH)
{
mobj->colorized = true;
mobj->color = K_RainbowColor(leveltime);
mobj->frame |= FF_FULLBRIGHT;
}
else
{
mobj->colorized = false;
mobj->color = SKINCOLOR_NONE;
mobj->frame &= (~FF_FULLBRIGHT);
}
mobj->renderflags ^= RF_DONTDRAW;
if (P_IsObjectOnGround(mobj))
{
P_RemoveMobj(mobj);
return false;
}
break;
case MT_BATTLECAPSULE:
if (!(mobj->fuse & 1))
{
@ -9591,146 +9556,6 @@ static boolean P_MobjRegularThink(mobj_t *mobj)
return false;
}
break;
case MT_SMK_PIPE:
if (mobj->flags2 & MF2_AMBUSH)
P_SetMobjStateNF(mobj, mobj->info->seestate);
else
P_SetMobjStateNF(mobj, mobj->info->spawnstate);
break;
case MT_SMK_MOLESPAWNER:
if (!mobj->target || P_MobjWasRemoved(mobj->target))
{
mobj_t *newmole = P_SpawnMobj(mobj->x, mobj->y, mobj->z, MT_SMK_MOLE);
P_SetTarget(&mobj->target, newmole);
return false;
}
break;
case MT_SMK_MOLE:
if (mobj->target && !P_MobjWasRemoved(mobj->target) && mobj->target->player)
{
player_t *player = mobj->target->player;
mobj->extravalue1 = 1;
player->offroad += 2<<FRACBITS;
P_MoveOrigin(mobj,
player->mo->x + P_ReturnThrustX(NULL, player->mo->angle, player->mo->radius)
+ P_ReturnThrustX(NULL, player->mo->angle+ANGLE_90, (mobj->threshold)<<FRACBITS),
player->mo->y + P_ReturnThrustY(NULL, player->mo->angle, player->mo->radius)
+ P_ReturnThrustY(NULL, player->mo->angle+ANGLE_90, (mobj->threshold)<<FRACBITS),
player->mo->z + (player->mo->height/2 * P_MobjFlip(player->mo))
+ (P_RandomRange(PR_UNDEFINED, -abs(mobj->threshold), abs(mobj->threshold))<<FRACBITS));
mobj->threshold /= 2;
mobj->momz = 0;
if (mobj->movecount > 8*TICRATE)
{
P_KillMobj(mobj, mobj->target, mobj->target, DMG_NORMAL);
break;
}
// Uses cmd.turning over steering intentionally.
if (abs(player->cmd.turning) > 100)
{
INT32 lastsign = 0;
if (mobj->lastlook > 0)
lastsign = 1;
else if (mobj->lastlook < 0)
lastsign = -1;
if ((player->cmd.turning > 0 && lastsign < 0)
|| (player->cmd.turning < 0 && lastsign > 0))
{
mobj->movecount += (TICRATE/2);
mobj->threshold = 16*lastsign;
S_StartSound(mobj, sfx_s1ab);
}
mobj->lastlook = player->cmd.turning;
}
mobj->movecount++;
}
else if (mobj->extravalue1) // lost your player somehow, DIE
{
P_KillMobj(mobj, NULL, NULL, DMG_NORMAL);
break;
}
else
{
if (P_IsObjectOnGround(mobj))
{
if (mobj->reactiontime)
mobj->reactiontime--;
else
{
mobj->momz = (mobj->info->speed * P_MobjFlip(mobj));
mobj->reactiontime = mobj->info->reactiontime;
}
}
}
break;
case MT_SMK_THWOMP:
if (mobj->flags2 & MF2_AMBUSH)
{
mobj->colorized = true;
mobj->color = K_RainbowColor(leveltime);
mobj->frame |= FF_FULLBRIGHT;
}
else
{
mobj->colorized = false;
mobj->color = SKINCOLOR_NONE;
mobj->frame &= (~FF_FULLBRIGHT);
}
if (!thwompsactive)
break;
if (mobj->reactiontime)
mobj->reactiontime--;
else
{
if (mobj->extravalue1)
{
P_SpawnGhostMobj(mobj)->tics = 3;
if (mobj->z == mobj->floorz)
{
UINT8 i;
mobj->extravalue1 = 0;
mobj->reactiontime = mobj->info->reactiontime;
S_StartSound(mobj, sfx_s1bd);
for (i = 0; i < 8; i++)
{
mobj_t *dust = P_SpawnMobj(mobj->x, mobj->y, mobj->z, MT_DRIFTDUST);
P_InstaThrust(dust, FixedAngle(((360*FRACUNIT)/8) * i), mobj->info->speed/8);
dust->momz = P_MobjFlip(mobj) * (P_RandomRange(PR_UNDEFINED, 1,4)<<FRACBITS);
dust->scale = mobj->scale/2;
dust->destscale = mobj->scale*3;
}
}
else
mobj->momz = (-mobj->info->speed) * P_MobjFlip(mobj);
}
else
{
if (mobj->z > mobj->movefactor)
mobj->z = mobj->movefactor;
if (mobj->z == mobj->movefactor)
{
mobj->extravalue1 = 1;
//S_StartSound(mobj, sfx_s1bb);
}
else
mobj->momz = (mobj->info->speed/16) * P_MobjFlip(mobj);
}
}
break;
case MT_BUBBLESHIELDTRAP:
if (leveltime % 180 == 0)
S_StartSound(mobj, sfx_s3kbfl);
@ -10422,31 +10247,6 @@ static boolean P_FuseThink(mobj_t *mobj)
}
P_RemoveMobj(mobj);
return false;
case MT_SMK_ICEBLOCK:
{
mobj_t *cur = mobj->hnext, *next;
UINT8 i;
for (i = 0; i < 5; i++)
{
mobj_t *debris = P_SpawnMobj(mobj->x, mobj->y, mobj->z, MT_SMK_ICEBLOCK_DEBRIS);
debris->angle = FixedAngle(P_RandomRange(PR_DECORATION, 0,360)<<FRACBITS);
P_InstaThrust(debris, debris->angle, P_RandomRange(PR_DECORATION, 3,18)*(FRACUNIT/4));
debris->momz = P_RandomRange(PR_DECORATION, 4,8)<<FRACBITS;
if (!i) // kinda hacky :V
S_StartSound(debris, sfx_s3k82);
}
while (cur && !P_MobjWasRemoved(cur))
{
next = cur->hnext;
P_RemoveMobj(cur);
cur = next;
}
P_RemoveMobj(mobj);
return false;
}
case MT_SPB:
{
Obj_SPBExplode(mobj);
@ -11043,8 +10843,6 @@ static void P_DefaultMobjShadowScale(mobj_t *thing)
case MT_SMALLMACE:
case MT_BIGMACE:
case MT_FALLINGROCK:
case MT_SMK_MOLE:
case MT_SMK_THWOMP:
case MT_BATTLEBUMPER:
case MT_BANANA:
case MT_ORBINAUT:
@ -11483,36 +11281,6 @@ mobj_t *P_SpawnMobj(fixed_t x, fixed_t y, fixed_t z, mobjtype_t type)
mobj->colorized = true;
mobj->renderflags |= RF_FULLBRIGHT;
break;
case MT_SMK_MOLE:
mobj->reactiontime = P_RandomRange(PR_UNDEFINED, 0, 3*mobj->info->reactiontime/2); // Random delay on start of level
break;
case MT_SMK_THWOMP:
mobj->reactiontime = P_RandomRange(PR_UNDEFINED, 0, 3*mobj->info->reactiontime); // Random delay on start of level
if (mobj->z == mobj->floorz)
mobj->z += (256<<FRACBITS);
mobj->movefactor = mobj->z + (256<<FRACBITS);
break;
case MT_SMK_ICEBLOCK:
{
mobj_t *cur, *prev = mobj;
UINT8 i;
for (i = 0; i < 4; i++)
{
cur = P_SpawnMobj(mobj->x, mobj->y, mobj->z, MT_SMK_ICEBLOCK_SIDE);
P_SetTarget(&cur->target, mobj);
cur->threshold = i;
P_MoveOrigin(cur, cur->x + ((cur->radius>>FRACBITS) * FINECOSINE((FixedAngle((90*cur->threshold)<<FRACBITS)>>ANGLETOFINESHIFT) & FINEMASK)),
cur->y + ((cur->radius>>FRACBITS) * FINESINE((FixedAngle((90*cur->threshold)<<FRACBITS)>>ANGLETOFINESHIFT) & FINEMASK)), cur->z);
cur->angle = ANGLE_90*(cur->threshold+1);
P_SetTarget(&cur->hprev, prev);
P_SetTarget(&prev->hnext, cur);
prev = cur;
}
}
break;
case MT_BOSS3WAYPOINT:
// Remove before release
CONS_Alert(CONS_WARNING, "Boss waypoints are deprecated. Did you forget to remove the old checkpoints, too?\n");