diff --git a/src/deh_tables.c b/src/deh_tables.c index 1f94e2b21..5faf0fe93 100644 --- a/src/deh_tables.c +++ b/src/deh_tables.c @@ -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", diff --git a/src/info.c b/src/info.c index d46cf5b8d..d48741603 100644 --- a/src/info.c +++ b/src/info.c @@ -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<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) diff --git a/src/k_collide.h b/src/k_collide.h index 2b205bffb..f7b557467 100644 --- a/src/k_collide.h +++ b/src/k_collide.h @@ -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); diff --git a/src/p_inter.c b/src/p_inter.c index f6712c0c0..efbfc9ca2 100644 --- a/src/p_inter.c +++ b/src/p_inter.c @@ -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<x, inflictor->y, target->x, target->y)+ANGLE_90, 16<type == MT_SPIKE && target->info->deathstate != S_NULL) { diff --git a/src/p_map.c b/src/p_map.c index 6335d8eb2..9299c055f 100644 --- a/src/p_map.c +++ b/src/p_map.c @@ -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<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 diff --git a/src/p_mobj.c b/src/p_mobj.c index 22c3a1906..f29dc497b 100644 --- a/src/p_mobj.c +++ b/src/p_mobj.c @@ -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<mo->x + P_ReturnThrustX(NULL, player->mo->angle, player->mo->radius) - + P_ReturnThrustX(NULL, player->mo->angle+ANGLE_90, (mobj->threshold)<mo->y + P_ReturnThrustY(NULL, player->mo->angle, player->mo->radius) - + P_ReturnThrustY(NULL, player->mo->angle+ANGLE_90, (mobj->threshold)<mo->z + (player->mo->height/2 * P_MobjFlip(player->mo)) - + (P_RandomRange(PR_UNDEFINED, -abs(mobj->threshold), abs(mobj->threshold))<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)<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)<angle, P_RandomRange(PR_DECORATION, 3,18)*(FRACUNIT/4)); - debris->momz = P_RandomRange(PR_DECORATION, 4,8)<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<movefactor = mobj->z + (256<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)<>ANGLETOFINESHIFT) & FINEMASK)), - cur->y + ((cur->radius>>FRACBITS) * FINESINE((FixedAngle((90*cur->threshold)<>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");