Blue sphere jiggle physics

This commit is contained in:
Sally Coolatta 2020-10-22 22:15:07 -04:00
parent f5788b34e6
commit 69e4a1c59f
3 changed files with 113 additions and 18 deletions

View file

@ -6173,10 +6173,43 @@ static const char *const STATE_LIST[] = { // array length left dynamic for sanit
"S_FASTRING11",
"S_FASTRING12",
// Blue Sphere for special stages
// Blue Sphere
"S_BLUESPHERE",
"S_BLUESPHEREBONUS",
"S_BLUESPHERESPARK",
"S_BLUESPHERE_SPAWN",
"S_BLUESPHERE_BOUNCE1",
"S_BLUESPHERE_BOUNCE2",
"S_BLUESPHERE_BOUNCE3",
"S_BLUESPHERE_BOUNCE4",
"S_BLUESPHERE_BOUNCE5",
"S_BLUESPHERE_BOUNCE6",
"S_BLUESPHERE_BOUNCE7",
"S_BLUESPHERE_BOUNCE8",
"S_BLUESPHERE_BOUNCE9",
"S_BLUESPHERE_BOUNCE10",
"S_BLUESPHERE_BOUNCE11",
"S_BLUESPHERE_BOUNCE12",
"S_BLUESPHERE_BOUNCE13",
"S_BLUESPHERE_BOUNCE14",
"S_BLUESPHERE_BOUNCE15",
"S_BLUESPHERE_BOUNCE16",
"S_BLUESPHERE_BOUNCE17",
"S_BLUESPHERE_BOUNCE18",
"S_BLUESPHERE_BOUNCE19",
"S_BLUESPHERE_BOUNCE20",
"S_BLUESPHERE_BOUNCE21",
"S_BLUESPHERE_BOUNCE22",
"S_BLUESPHERE_BOUNCE23",
"S_BLUESPHERE_BOUNCE24",
"S_BLUESPHERE_BOUNCE25",
"S_BLUESPHERE_BOUNCE26",
"S_BLUESPHERE_BOUNCE27",
"S_BLUESPHERE_BOUNCE28",
// Bomb Sphere
"S_BOMBSPHERE1",

View file

@ -1801,14 +1801,43 @@ state_t states[NUMSTATES] =
{SPR_RING, 20, 1, {NULL}, 0, 0, S_FASTRING12}, // S_FASTRING11
{SPR_RING, 22, 1, {NULL}, 0, 0, S_FASTRING1}, // S_FASTRING12
// Blue Sphere for special stages
{SPR_BSPH, FF_SEMIBRIGHT, -1, {NULL}, 0, 0, S_NULL}, // S_BLUESPHERE
{SPR_BSPH, FF_FULLBRIGHT
#ifdef MANIASPHERES
|FF_ANIMATE|FF_RANDOMANIM
#endif
, -1, {NULL}, 1, 4, S_NULL}, // S_BLUESPHEREBONUS
{SPR_BSPH, 0, 20, {NULL}, 0, 0, S_NULL}, // S_BLUESPHERESPARK
// Blue Sphere
{SPR_BSPH, FF_SEMIBRIGHT|2, TICRATE, {NULL}, 0, 0, S_BLUESPHERE_BOUNCE1}, // S_BLUESPHERE
{SPR_BSPH, FF_SEMIBRIGHT|2, TICRATE, {A_SetRandomTics}, 1, TICRATE, S_BLUESPHERE_BOUNCE1}, // S_BLUESPHERE_SPAWN
{SPR_BSPH, FF_SEMIBRIGHT, 1, {NULL}, 0, 0, S_BLUESPHERE_BOUNCE2}, // S_BLUESPHERE_BOUNCE1
{SPR_BSPH, FF_SEMIBRIGHT|4, 1, {NULL}, 0, 0, S_BLUESPHERE_BOUNCE3}, // S_BLUESPHERE_BOUNCE2
{SPR_BSPH, FF_SEMIBRIGHT, 1, {NULL}, 0, 0, S_BLUESPHERE_BOUNCE4}, // S_BLUESPHERE_BOUNCE3
{SPR_BSPH, FF_SEMIBRIGHT|4, 1, {NULL}, 0, 0, S_BLUESPHERE_BOUNCE5}, // S_BLUESPHERE_BOUNCE4
{SPR_BSPH, FF_SEMIBRIGHT, 1, {NULL}, 0, 0, S_BLUESPHERE_BOUNCE6}, // S_BLUESPHERE_BOUNCE5
{SPR_BSPH, FF_SEMIBRIGHT|2, 1, {NULL}, 0, 0, S_BLUESPHERE_BOUNCE7}, // S_BLUESPHERE_BOUNCE6
{SPR_BSPH, FF_SEMIBRIGHT|4, 1, {NULL}, 0, 0, S_BLUESPHERE_BOUNCE8}, // S_BLUESPHERE_BOUNCE7
{SPR_BSPH, FF_SEMIBRIGHT|2, 1, {NULL}, 0, 0, S_BLUESPHERE_BOUNCE9}, // S_BLUESPHERE_BOUNCE8
{SPR_BSPH, FF_SEMIBRIGHT, 1, {NULL}, 0, 0, S_BLUESPHERE_BOUNCE10}, // S_BLUESPHERE_BOUNCE9
{SPR_BSPH, FF_SEMIBRIGHT|2, 1, {NULL}, 0, 0, S_BLUESPHERE_BOUNCE11}, // S_BLUESPHERE_BOUNCE10
{SPR_BSPH, FF_SEMIBRIGHT|4, 1, {NULL}, 0, 0, S_BLUESPHERE_BOUNCE12}, // S_BLUESPHERE_BOUNCE11
{SPR_BSPH, FF_SEMIBRIGHT|2, 1, {NULL}, 0, 0, S_BLUESPHERE_BOUNCE13}, // S_BLUESPHERE_BOUNCE12
{SPR_BSPH, FF_SEMIBRIGHT, 2, {NULL}, 0, 0, S_BLUESPHERE_BOUNCE14}, // S_BLUESPHERE_BOUNCE13
{SPR_BSPH, FF_SEMIBRIGHT|1, 2, {NULL}, 0, 0, S_BLUESPHERE_BOUNCE15}, // S_BLUESPHERE_BOUNCE14
{SPR_BSPH, FF_SEMIBRIGHT|2, 2, {NULL}, 0, 0, S_BLUESPHERE_BOUNCE16}, // S_BLUESPHERE_BOUNCE15
{SPR_BSPH, FF_SEMIBRIGHT|3, 2, {NULL}, 0, 0, S_BLUESPHERE_BOUNCE17}, // S_BLUESPHERE_BOUNCE16
{SPR_BSPH, FF_SEMIBRIGHT|4, 2, {NULL}, 0, 0, S_BLUESPHERE_BOUNCE18}, // S_BLUESPHERE_BOUNCE17
{SPR_BSPH, FF_SEMIBRIGHT|3, 4, {NULL}, 0, 0, S_BLUESPHERE_BOUNCE19}, // S_BLUESPHERE_BOUNCE18
{SPR_BSPH, FF_SEMIBRIGHT|2, 4, {NULL}, 0, 0, S_BLUESPHERE_BOUNCE20}, // S_BLUESPHERE_BOUNCE19
{SPR_BSPH, FF_SEMIBRIGHT|1, 4, {NULL}, 0, 0, S_BLUESPHERE_BOUNCE21}, // S_BLUESPHERE_BOUNCE20
{SPR_BSPH, FF_SEMIBRIGHT, 6, {NULL}, 0, 0, S_BLUESPHERE_BOUNCE22}, // S_BLUESPHERE_BOUNCE21
{SPR_BSPH, FF_SEMIBRIGHT|1, 6, {NULL}, 0, 0, S_BLUESPHERE_BOUNCE23}, // S_BLUESPHERE_BOUNCE22
{SPR_BSPH, FF_SEMIBRIGHT|2, 6, {NULL}, 0, 0, S_BLUESPHERE_BOUNCE24}, // S_BLUESPHERE_BOUNCE23
{SPR_BSPH, FF_SEMIBRIGHT|3, 9, {NULL}, 0, 0, S_BLUESPHERE_BOUNCE25}, // S_BLUESPHERE_BOUNCE24
{SPR_BSPH, FF_SEMIBRIGHT|4, 9, {NULL}, 0, 0, S_BLUESPHERE_BOUNCE26}, // S_BLUESPHERE_BOUNCE25
{SPR_BSPH, FF_SEMIBRIGHT|3, 9, {NULL}, 0, 0, S_BLUESPHERE_BOUNCE27}, // S_BLUESPHERE_BOUNCE26
{SPR_BSPH, FF_SEMIBRIGHT|2, 9, {NULL}, 0, 0, S_BLUESPHERE_BOUNCE28}, // S_BLUESPHERE_BOUNCE27
{SPR_BSPH, FF_SEMIBRIGHT|1, 9, {NULL}, 0, 0, S_BLUESPHERE}, // S_BLUESPHERE_BOUNCE28
// Bomb Sphere
{SPR_BSPH, FF_FULLBRIGHT|3, 2, {NULL}, 0, 0, S_BOMBSPHERE2}, // S_BOMBSPHERE1
@ -7927,7 +7956,7 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] =
{ // MT_BLUESPHERE
-1, // doomednum
S_BLUESPHERE, // spawnstate
S_BLUESPHERE_SPAWN, // spawnstate
1000, // spawnhealth
S_NULL, // seestate
sfx_None, // seesound
@ -7948,13 +7977,13 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] =
100, // mass
0, // damage
sfx_None, // activesound
MF_SPECIAL|MF_NOGRAVITY|MF_NOCLIPHEIGHT|MF_DONTENCOREMAP, // flags
S_BLUESPHEREBONUS // raisestate
MF_RUNSPAWNFUNC|MF_SPECIAL|MF_NOGRAVITY|MF_NOCLIPHEIGHT|MF_DONTENCOREMAP, // flags
S_NULL // raisestate
},
{ // MT_FLINGBLUESPHERE
-1, // doomednum
S_BLUESPHERE, // spawnstate
S_BLUESPHERE_SPAWN, // spawnstate
1000, // spawnhealth
S_NULL, // seestate
sfx_None, // seesound
@ -7976,7 +8005,7 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] =
0, // damage
sfx_None, // activesound
MF_SLIDEME|MF_SPECIAL, // flags
S_BLUESPHEREBONUS // raisestate
S_NULL // raisestate
},
{ // MT_BOMBSPHERE

View file

@ -2018,8 +2018,41 @@ typedef enum state
// Blue Sphere for special stages
S_BLUESPHERE,
S_BLUESPHEREBONUS,
S_BLUESPHERESPARK,
S_BLUESPHERE_SPAWN,
S_BLUESPHERE_BOUNCE1,
S_BLUESPHERE_BOUNCE2,
S_BLUESPHERE_BOUNCE3,
S_BLUESPHERE_BOUNCE4,
S_BLUESPHERE_BOUNCE5,
S_BLUESPHERE_BOUNCE6,
S_BLUESPHERE_BOUNCE7,
S_BLUESPHERE_BOUNCE8,
S_BLUESPHERE_BOUNCE9,
S_BLUESPHERE_BOUNCE10,
S_BLUESPHERE_BOUNCE11,
S_BLUESPHERE_BOUNCE12,
S_BLUESPHERE_BOUNCE13,
S_BLUESPHERE_BOUNCE14,
S_BLUESPHERE_BOUNCE15,
S_BLUESPHERE_BOUNCE16,
S_BLUESPHERE_BOUNCE17,
S_BLUESPHERE_BOUNCE18,
S_BLUESPHERE_BOUNCE19,
S_BLUESPHERE_BOUNCE20,
S_BLUESPHERE_BOUNCE21,
S_BLUESPHERE_BOUNCE22,
S_BLUESPHERE_BOUNCE23,
S_BLUESPHERE_BOUNCE24,
S_BLUESPHERE_BOUNCE25,
S_BLUESPHERE_BOUNCE26,
S_BLUESPHERE_BOUNCE27,
S_BLUESPHERE_BOUNCE28,
// Bomb Sphere
S_BOMBSPHERE1,