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",
|
||||||
"S_SNEAKERPANEL_SMALL",
|
"S_SNEAKERPANEL_SMALL",
|
||||||
"S_SNEAKERPANEL_TINY",
|
"S_SNEAKERPANEL_TINY",
|
||||||
"S_SNEAKERPANELSPAWNER",
|
|
||||||
|
|
||||||
// Various plants
|
// Various plants
|
||||||
"S_SONICBUSH",
|
"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_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_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_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
|
// Various plants
|
||||||
{SPR_SBUS, 0, -1, {NULL}, 0, 0, S_NULL}, // S_SONICBUSH
|
{SPR_SBUS, 0, -1, {NULL}, 0, 0, S_NULL}, // S_SONICBUSH
|
||||||
|
|
@ -26747,11 +26746,11 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] =
|
||||||
|
|
||||||
{ // MT_SNEAKERPANELSPAWNER
|
{ // MT_SNEAKERPANELSPAWNER
|
||||||
511, // doomednum
|
511, // doomednum
|
||||||
S_SNEAKERPANELSPAWNER, // spawnstate
|
S_INVISIBLE, // spawnstate
|
||||||
0, // spawnhealth
|
0, // spawnhealth
|
||||||
S_NULL, // seestate
|
S_NULL, // seestate
|
||||||
sfx_None, // seesound
|
sfx_None, // seesound
|
||||||
0, // reactiontime
|
65, // reactiontime
|
||||||
sfx_None, // attacksound
|
sfx_None, // attacksound
|
||||||
S_NULL, // painstate
|
S_NULL, // painstate
|
||||||
0, // painchance
|
0, // painchance
|
||||||
|
|
@ -26768,7 +26767,7 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] =
|
||||||
0, // mass
|
0, // mass
|
||||||
0, // damage
|
0, // damage
|
||||||
sfx_None, // activesound
|
sfx_None, // activesound
|
||||||
MF_NOGRAVITY|MF_NOBLOCKMAP|MF_SCENERY|MF_NOCLIPTHING, // flags
|
MF_NOGRAVITY|MF_NOBLOCKMAP|MF_NOCLIPTHING, // flags
|
||||||
S_NULL // raisestate
|
S_NULL // raisestate
|
||||||
},
|
},
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -5406,7 +5406,6 @@ typedef enum state
|
||||||
S_SNEAKERPANEL,
|
S_SNEAKERPANEL,
|
||||||
S_SNEAKERPANEL_SMALL,
|
S_SNEAKERPANEL_SMALL,
|
||||||
S_SNEAKERPANEL_TINY,
|
S_SNEAKERPANEL_TINY,
|
||||||
S_SNEAKERPANELSPAWNER,
|
|
||||||
|
|
||||||
// Various plants
|
// Various plants
|
||||||
S_SONICBUSH,
|
S_SONICBUSH,
|
||||||
|
|
|
||||||
|
|
@ -203,6 +203,9 @@ void Obj_SneakerPanelSpriteScale(mobj_t *mobj);
|
||||||
void Obj_SneakerPanelSpawn(mobj_t *mobj);
|
void Obj_SneakerPanelSpawn(mobj_t *mobj);
|
||||||
void Obj_SneakerPanelSetup(mobj_t *mobj, mapthing_t *mthing);
|
void Obj_SneakerPanelSetup(mobj_t *mobj, mapthing_t *mthing);
|
||||||
void Obj_SneakerPanelCollide(mobj_t *pad, mobj_t *mo);
|
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 */
|
/* Emerald */
|
||||||
void Obj_SpawnEmeraldSparks(mobj_t *source);
|
void Obj_SpawnEmeraldSparks(mobj_t *source);
|
||||||
|
|
|
||||||
|
|
@ -11,11 +11,6 @@ void Obj_SneakerPanelSpriteScale(mobj_t *mobj)
|
||||||
statenum_t newState;
|
statenum_t newState;
|
||||||
fixed_t spriteScale;
|
fixed_t spriteScale;
|
||||||
|
|
||||||
if (mobj->scale == mobj->movefactor)
|
|
||||||
return;
|
|
||||||
|
|
||||||
mobj->movefactor = mobj->scale;
|
|
||||||
|
|
||||||
if (mobj->scale > FRACUNIT >> 1)
|
if (mobj->scale > FRACUNIT >> 1)
|
||||||
{
|
{
|
||||||
newState = S_SNEAKERPANEL;
|
newState = S_SNEAKERPANEL;
|
||||||
|
|
@ -32,11 +27,8 @@ void Obj_SneakerPanelSpriteScale(mobj_t *mobj)
|
||||||
spriteScale = FRACUNIT << 2;
|
spriteScale = FRACUNIT << 2;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (((statenum_t)(mobj->state - states)) != newState)
|
P_SetMobjState(mobj, newState);
|
||||||
{
|
mobj->spritexscale = mobj->spriteyscale = spriteScale;
|
||||||
P_SetMobjState(mobj, newState);
|
|
||||||
mobj->spritexscale = mobj->spriteyscale = spriteScale;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void Obj_SneakerPanelSpawn(mobj_t *mobj)
|
void Obj_SneakerPanelSpawn(mobj_t *mobj)
|
||||||
|
|
@ -121,3 +113,23 @@ void Obj_SneakerPanelCollide(mobj_t *panel, mobj_t *mo)
|
||||||
|
|
||||||
K_DoSneaker(player, 0);
|
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);
|
P_RemoveMobj(mobj);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
case MT_SNEAKERPANELSPAWNER:
|
||||||
|
{
|
||||||
|
Obj_SneakerPanelSpawnerFuse(mobj);
|
||||||
|
break;
|
||||||
|
}
|
||||||
case MT_PLAYER:
|
case MT_PLAYER:
|
||||||
break; // don't remove
|
break; // don't remove
|
||||||
default:
|
default:
|
||||||
|
|
@ -10982,6 +10987,9 @@ mobj_t *P_SpawnMobj(fixed_t x, fixed_t y, fixed_t z, mobjtype_t type)
|
||||||
case MT_SNEAKERPANEL:
|
case MT_SNEAKERPANEL:
|
||||||
Obj_SneakerPanelSpawn(mobj);
|
Obj_SneakerPanelSpawn(mobj);
|
||||||
break;
|
break;
|
||||||
|
case MT_SNEAKERPANELSPAWNER:
|
||||||
|
Obj_SneakerPanelSpawnerSpawn(mobj);
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
@ -13626,6 +13634,11 @@ static boolean P_SetupSpawnedMapThing(mapthing_t *mthing, mobj_t *mobj)
|
||||||
Obj_SneakerPanelSetup(mobj, mthing);
|
Obj_SneakerPanelSetup(mobj, mthing);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
case MT_SNEAKERPANELSPAWNER:
|
||||||
|
{
|
||||||
|
Obj_SneakerPanelSpawnerSetup(mobj, mthing);
|
||||||
|
break;
|
||||||
|
}
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue