mirror of
https://github.com/KartKrewDev/RingRacers.git
synced 2025-10-30 08:01:28 +00:00
Merge branch 'moar-sneaker-panels' into 'master'
More Sneaker Panels See merge request KartKrew/Kart!1430
This commit is contained in:
commit
055e4f1e50
6 changed files with 41 additions and 16 deletions
|
|
@ -4252,7 +4252,6 @@ const char *const STATE_LIST[] = { // array length left dynamic for sanity testi
|
|||
"S_SNEAKERPANEL",
|
||||
"S_SNEAKERPANEL_SMALL",
|
||||
"S_SNEAKERPANEL_TINY",
|
||||
"S_SNEAKERPANELSPAWNER",
|
||||
|
||||
// Various plants
|
||||
"S_SONICBUSH",
|
||||
|
|
|
|||
|
|
@ -4959,7 +4959,6 @@ state_t states[NUMSTATES] =
|
|||
{SPR_BSTP, FF_ANIMATE|FF_GLOBALANIM|FF_FLOORSPRITE|FF_FULLBRIGHT, -1, {NULL}, 5, 2, S_SNEAKERPANEL}, // S_SNEAKERPANEL
|
||||
{SPR_BSTS, FF_ANIMATE|FF_GLOBALANIM|FF_FLOORSPRITE|FF_FULLBRIGHT, -1, {NULL}, 5, 2, S_SNEAKERPANEL_SMALL}, // S_SNEAKERPANEL_SMALL
|
||||
{SPR_BSTT, FF_ANIMATE|FF_GLOBALANIM|FF_FLOORSPRITE|FF_FULLBRIGHT, -1, {NULL}, 5, 2, S_SNEAKERPANEL_TINY}, // S_SNEAKERPANEL_TINY
|
||||
{SPR_NULL, 0, 65, {A_SpawnSneakerPanel}, 0, 0, S_SNEAKERPANELSPAWNER}, // S_SNEAKERPANELSPAWNER
|
||||
|
||||
// Various plants
|
||||
{SPR_SBUS, 0, -1, {NULL}, 0, 0, S_NULL}, // S_SONICBUSH
|
||||
|
|
@ -26747,11 +26746,11 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] =
|
|||
|
||||
{ // MT_SNEAKERPANELSPAWNER
|
||||
511, // doomednum
|
||||
S_SNEAKERPANELSPAWNER, // spawnstate
|
||||
S_INVISIBLE, // spawnstate
|
||||
0, // spawnhealth
|
||||
S_NULL, // seestate
|
||||
sfx_None, // seesound
|
||||
0, // reactiontime
|
||||
65, // reactiontime
|
||||
sfx_None, // attacksound
|
||||
S_NULL, // painstate
|
||||
0, // painchance
|
||||
|
|
@ -26768,7 +26767,7 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] =
|
|||
0, // mass
|
||||
0, // damage
|
||||
sfx_None, // activesound
|
||||
MF_NOGRAVITY|MF_NOBLOCKMAP|MF_SCENERY|MF_NOCLIPTHING, // flags
|
||||
MF_NOGRAVITY|MF_NOBLOCKMAP|MF_NOCLIPTHING, // flags
|
||||
S_NULL // raisestate
|
||||
},
|
||||
|
||||
|
|
|
|||
|
|
@ -5406,7 +5406,6 @@ typedef enum state
|
|||
S_SNEAKERPANEL,
|
||||
S_SNEAKERPANEL_SMALL,
|
||||
S_SNEAKERPANEL_TINY,
|
||||
S_SNEAKERPANELSPAWNER,
|
||||
|
||||
// Various plants
|
||||
S_SONICBUSH,
|
||||
|
|
|
|||
|
|
@ -203,6 +203,9 @@ void Obj_SneakerPanelSpriteScale(mobj_t *mobj);
|
|||
void Obj_SneakerPanelSpawn(mobj_t *mobj);
|
||||
void Obj_SneakerPanelSetup(mobj_t *mobj, mapthing_t *mthing);
|
||||
void Obj_SneakerPanelCollide(mobj_t *pad, mobj_t *mo);
|
||||
void Obj_SneakerPanelSpawnerSpawn(mobj_t *mobj);
|
||||
void Obj_SneakerPanelSpawnerSetup(mobj_t *mobj, mapthing_t *mthing);
|
||||
void Obj_SneakerPanelSpawnerFuse(mobj_t *mobj);
|
||||
|
||||
/* Emerald */
|
||||
void Obj_SpawnEmeraldSparks(mobj_t *source);
|
||||
|
|
|
|||
|
|
@ -11,11 +11,6 @@ void Obj_SneakerPanelSpriteScale(mobj_t *mobj)
|
|||
statenum_t newState;
|
||||
fixed_t spriteScale;
|
||||
|
||||
if (mobj->scale == mobj->movefactor)
|
||||
return;
|
||||
|
||||
mobj->movefactor = mobj->scale;
|
||||
|
||||
if (mobj->scale > FRACUNIT >> 1)
|
||||
{
|
||||
newState = S_SNEAKERPANEL;
|
||||
|
|
@ -32,12 +27,9 @@ void Obj_SneakerPanelSpriteScale(mobj_t *mobj)
|
|||
spriteScale = FRACUNIT << 2;
|
||||
}
|
||||
|
||||
if (((statenum_t)(mobj->state - states)) != newState)
|
||||
{
|
||||
P_SetMobjState(mobj, newState);
|
||||
mobj->spritexscale = mobj->spriteyscale = spriteScale;
|
||||
}
|
||||
}
|
||||
|
||||
void Obj_SneakerPanelSpawn(mobj_t *mobj)
|
||||
{
|
||||
|
|
@ -121,3 +113,23 @@ void Obj_SneakerPanelCollide(mobj_t *panel, mobj_t *mo)
|
|||
|
||||
K_DoSneaker(player, 0);
|
||||
}
|
||||
|
||||
void Obj_SneakerPanelSpawnerSpawn(mobj_t *mobj)
|
||||
{
|
||||
mobj->fuse = mobj->reactiontime;
|
||||
}
|
||||
|
||||
void Obj_SneakerPanelSpawnerSetup(mobj_t *mobj, mapthing_t *mthing)
|
||||
{
|
||||
if (mthing->thing_args[0] != 0)
|
||||
{
|
||||
mobj->fuse = mobj->reactiontime = mthing->thing_args[0];
|
||||
}
|
||||
}
|
||||
|
||||
void Obj_SneakerPanelSpawnerFuse(mobj_t *mobj)
|
||||
{
|
||||
var1 = var2 = 0;
|
||||
A_SpawnSneakerPanel(mobj);
|
||||
mobj->fuse = mobj->reactiontime;
|
||||
}
|
||||
|
|
|
|||
13
src/p_mobj.c
13
src/p_mobj.c
|
|
@ -9835,6 +9835,11 @@ static boolean P_FuseThink(mobj_t *mobj)
|
|||
P_RemoveMobj(mobj);
|
||||
return false;
|
||||
}
|
||||
case MT_SNEAKERPANELSPAWNER:
|
||||
{
|
||||
Obj_SneakerPanelSpawnerFuse(mobj);
|
||||
break;
|
||||
}
|
||||
case MT_PLAYER:
|
||||
break; // don't remove
|
||||
default:
|
||||
|
|
@ -10982,6 +10987,9 @@ mobj_t *P_SpawnMobj(fixed_t x, fixed_t y, fixed_t z, mobjtype_t type)
|
|||
case MT_SNEAKERPANEL:
|
||||
Obj_SneakerPanelSpawn(mobj);
|
||||
break;
|
||||
case MT_SNEAKERPANELSPAWNER:
|
||||
Obj_SneakerPanelSpawnerSpawn(mobj);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
|
@ -13626,6 +13634,11 @@ static boolean P_SetupSpawnedMapThing(mapthing_t *mthing, mobj_t *mobj)
|
|||
Obj_SneakerPanelSetup(mobj, mthing);
|
||||
break;
|
||||
}
|
||||
case MT_SNEAKERPANELSPAWNER:
|
||||
{
|
||||
Obj_SneakerPanelSpawnerSetup(mobj, mthing);
|
||||
break;
|
||||
}
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue