mirror of
https://github.com/KartKrewDev/RingRacers.git
synced 2026-04-27 20:41:46 +00:00
* CEZ decorations!
* Moved a bunch of stuff that had no business being in mapthing spawns into mobj spawns.
This commit is contained in:
parent
626e36e50d
commit
7b99787300
6 changed files with 548 additions and 109 deletions
|
|
@ -4814,14 +4814,8 @@ static const char *const STATE_LIST[] = { // array length left dynamic for sanit
|
||||||
"S_CEZCHAIN",
|
"S_CEZCHAIN",
|
||||||
|
|
||||||
// Flame
|
// Flame
|
||||||
"S_FLAME1",
|
"S_FLAME",
|
||||||
"S_FLAME2",
|
|
||||||
"S_FLAME3",
|
|
||||||
"S_FLAME4",
|
|
||||||
"S_FLAME5",
|
|
||||||
"S_FLAME6",
|
|
||||||
"S_FLAMEPARTICLE",
|
"S_FLAMEPARTICLE",
|
||||||
|
|
||||||
"S_FLAMEREST",
|
"S_FLAMEREST",
|
||||||
|
|
||||||
// Eggman Statue
|
// Eggman Statue
|
||||||
|
|
@ -4887,7 +4881,19 @@ static const char *const STATE_LIST[] = { // array length left dynamic for sanit
|
||||||
"S_BIGFIREBAR15",
|
"S_BIGFIREBAR15",
|
||||||
"S_BIGFIREBAR16",
|
"S_BIGFIREBAR16",
|
||||||
|
|
||||||
"S_CEZFLOWER1",
|
"S_CEZFLOWER",
|
||||||
|
"S_CEZPOLE",
|
||||||
|
"S_CEZBANNER",
|
||||||
|
"S_PINETREE",
|
||||||
|
"S_CEZBUSH1",
|
||||||
|
"S_CEZBUSH2",
|
||||||
|
"S_CANDLE",
|
||||||
|
"S_CANDLEPRICKET",
|
||||||
|
"S_FLAMEHOLDER",
|
||||||
|
"S_FIRETORCH",
|
||||||
|
"S_WAVINGFLAG",
|
||||||
|
"S_WAVINGFLAGSEG",
|
||||||
|
"S_CRAWLASTATUE",
|
||||||
|
|
||||||
// Big Tumbleweed
|
// Big Tumbleweed
|
||||||
"S_BIGTUMBLEWEED",
|
"S_BIGTUMBLEWEED",
|
||||||
|
|
@ -6489,7 +6495,19 @@ static const char *const MOBJTYPE_LIST[] = { // array length left dynamic for s
|
||||||
"MT_REDSPRINGBALL", // Red spring on a ball
|
"MT_REDSPRINGBALL", // Red spring on a ball
|
||||||
"MT_SMALLFIREBAR", // Small Firebar
|
"MT_SMALLFIREBAR", // Small Firebar
|
||||||
"MT_BIGFIREBAR", // Big Firebar
|
"MT_BIGFIREBAR", // Big Firebar
|
||||||
"MT_CEZFLOWER",
|
"MT_CEZFLOWER", // Flower
|
||||||
|
"MT_CEZPOLE", // Pole
|
||||||
|
"MT_CEZBANNER", // Banner
|
||||||
|
"MT_PINETREE", // Pine Tree
|
||||||
|
"MT_CEZBUSH1", // Bush 1
|
||||||
|
"MT_CEZBUSH2", // Bush 2
|
||||||
|
"MT_CANDLE", // Candle
|
||||||
|
"MT_CANDLEPRICKET", // Candle pricket
|
||||||
|
"MT_FLAMEHOLDER", // Flame holder
|
||||||
|
"MT_FIRETORCH", // Fire torch
|
||||||
|
"MT_WAVINGFLAG", // Waving flag
|
||||||
|
"MT_WAVINGFLAGSEG", // Waving flag segment
|
||||||
|
"MT_CRAWLASTATUE", // Crawla statue
|
||||||
|
|
||||||
// Arid Canyon Scenery
|
// Arid Canyon Scenery
|
||||||
"MT_BIGTUMBLEWEED",
|
"MT_BIGTUMBLEWEED",
|
||||||
|
|
|
||||||
|
|
@ -324,6 +324,14 @@ light_t *t_lspr[NUMSPRITES] =
|
||||||
&lspr[NOLIGHT], // SPR_RSPB
|
&lspr[NOLIGHT], // SPR_RSPB
|
||||||
&lspr[REDBALL_L], // SPR_SFBR
|
&lspr[REDBALL_L], // SPR_SFBR
|
||||||
&lspr[REDBALL_L], // SPR_BFBR
|
&lspr[REDBALL_L], // SPR_BFBR
|
||||||
|
&lspr[NOLIGHT], // SPR_BANR
|
||||||
|
&lspr[NOLIGHT], // SPR_PINE
|
||||||
|
&lspr[NOLIGHT], // SPR_CEZB
|
||||||
|
&lspr[REDBALL_L], // SPR_CNDL
|
||||||
|
&lspr[NOLIGHT], // SPR_FLMH
|
||||||
|
&lspr[REDBALL_L], // SPR_CTRC
|
||||||
|
&lspr[NOLIGHT], // SPR_CFLG
|
||||||
|
&lspr[NOLIGHT], // SPR_CSTA
|
||||||
|
|
||||||
// Arid Canyon Scenery
|
// Arid Canyon Scenery
|
||||||
&lspr[NOLIGHT], // SPR_BTBL
|
&lspr[NOLIGHT], // SPR_BTBL
|
||||||
|
|
|
||||||
442
src/info.c
442
src/info.c
|
|
@ -218,6 +218,14 @@ char sprnames[NUMSPRITES + 1][5] =
|
||||||
"RSPB", // Red spring on a ball
|
"RSPB", // Red spring on a ball
|
||||||
"SFBR", // Small Firebar
|
"SFBR", // Small Firebar
|
||||||
"BFBR", // Big Firebar
|
"BFBR", // Big Firebar
|
||||||
|
"BANR", // Banner
|
||||||
|
"PINE", // Pine Tree
|
||||||
|
"CEZB", // Bush
|
||||||
|
"CNDL", // Candle/pricket
|
||||||
|
"FLMH", // Flame holder
|
||||||
|
"CTRC", // Fire torch
|
||||||
|
"CFLG", // Waving flag/segment
|
||||||
|
"CSTA", // Crawla statue
|
||||||
|
|
||||||
// Arid Canyon Scenery
|
// Arid Canyon Scenery
|
||||||
"BTBL", // Big tumbleweed
|
"BTBL", // Big tumbleweed
|
||||||
|
|
@ -2034,15 +2042,9 @@ state_t states[NUMSTATES] =
|
||||||
{SPR_CHAN, 0, -1, {NULL}, 0, 0, S_NULL}, // S_CEZCHAIN
|
{SPR_CHAN, 0, -1, {NULL}, 0, 0, S_NULL}, // S_CEZCHAIN
|
||||||
|
|
||||||
// Flame
|
// Flame
|
||||||
{SPR_FLAM, FF_FULLBRIGHT|FF_TRANS20, 3, {A_FlameParticle}, 3, FRACUNIT/2, S_FLAME2}, // S_FLAME1
|
{SPR_FLAM, FF_FULLBRIGHT|FF_ANIMATE, 3*8, {A_FlameParticle}, 7, 3, S_FLAME}, // S_FLAME
|
||||||
{SPR_FLAM, FF_FULLBRIGHT|FF_TRANS20|1, 3, {NULL}, 0, 0 , S_FLAME3}, // S_FLAME2
|
{SPR_FLAM, FF_FULLBRIGHT|FF_ANIMATE|8, TICRATE, {NULL}, 3, 3, S_NULL}, // S_FLAMEPARTICLE
|
||||||
{SPR_FLAM, FF_FULLBRIGHT|FF_TRANS20|2, 3, {A_FlameParticle}, 3, FRACUNIT/2, S_FLAME4}, // S_FLAME3
|
{SPR_FLAM, FF_FULLBRIGHT|FF_ANIMATE, -1, {NULL}, 7, 3, S_NULL}, // S_FLAMEREST
|
||||||
{SPR_FLAM, FF_FULLBRIGHT|FF_TRANS20|3, 3, {NULL}, 0, 0 , S_FLAME5}, // S_FLAME4
|
|
||||||
{SPR_FLAM, FF_FULLBRIGHT|FF_TRANS20|4, 3, {A_FlameParticle}, 3, FRACUNIT/2, S_FLAME6}, // S_FLAME5
|
|
||||||
{SPR_FLAM, FF_FULLBRIGHT|FF_TRANS20|5, 3, {NULL}, 0, 0 , S_FLAME1}, // S_FLAME6
|
|
||||||
{SPR_FLAM, FF_FULLBRIGHT|FF_TRANS10|6, 24, {NULL}, 0, 0 , S_NULL}, // S_FLAMEPARTICLE
|
|
||||||
|
|
||||||
{SPR_FLAM, FF_FULLBRIGHT|FF_TRANS20|FF_ANIMATE, -1, {NULL}, 5, 3, S_FLAME2}, // S_FLAMEREST
|
|
||||||
|
|
||||||
// Eggman statue
|
// Eggman statue
|
||||||
{SPR_ESTA, 0, -1, {NULL}, 0, 0, S_NULL}, // S_EGGSTATUE1
|
{SPR_ESTA, 0, -1, {NULL}, 0, 0, S_NULL}, // S_EGGSTATUE1
|
||||||
|
|
@ -2072,43 +2074,61 @@ state_t states[NUMSTATES] =
|
||||||
{SPR_RSPB, 1, 1, {NULL}, 0, 0, S_REDSPRINGBALL}, // S_REDSPRINGBALL5
|
{SPR_RSPB, 1, 1, {NULL}, 0, 0, S_REDSPRINGBALL}, // S_REDSPRINGBALL5
|
||||||
|
|
||||||
// Small Firebar
|
// Small Firebar
|
||||||
{SPR_SFBR, FF_FULLBRIGHT|FF_TRANS20, 1, {A_FlameParticle}, 3, FRACUNIT/3, S_SMALLFIREBAR2}, // S_SMALLFIREBAR1
|
{SPR_SFBR, FF_FULLBRIGHT, 1, {NULL}, 0, 0, S_SMALLFIREBAR2}, // S_SMALLFIREBAR1
|
||||||
{SPR_SFBR, FF_FULLBRIGHT|FF_TRANS20| 1, 1, {NULL}, 0, 0, S_SMALLFIREBAR3}, // S_SMALLFIREBAR2
|
{SPR_SFBR, FF_FULLBRIGHT| 1, 1, {NULL}, 0, 0, S_SMALLFIREBAR3}, // S_SMALLFIREBAR2
|
||||||
{SPR_SFBR, FF_FULLBRIGHT|FF_TRANS20| 2, 1, {A_FlameParticle}, 3, FRACUNIT/3, S_SMALLFIREBAR4}, // S_SMALLFIREBAR3
|
{SPR_SFBR, FF_FULLBRIGHT| 2, 1, {A_FlameParticle}, 0, 0, S_SMALLFIREBAR4}, // S_SMALLFIREBAR3
|
||||||
{SPR_SFBR, FF_FULLBRIGHT|FF_TRANS20| 3, 1, {NULL}, 0, 0, S_SMALLFIREBAR5}, // S_SMALLFIREBAR4
|
{SPR_SFBR, FF_FULLBRIGHT| 3, 1, {NULL}, 0, 0, S_SMALLFIREBAR5}, // S_SMALLFIREBAR4
|
||||||
{SPR_SFBR, FF_FULLBRIGHT|FF_TRANS20| 4, 1, {A_FlameParticle}, 3, FRACUNIT/3, S_SMALLFIREBAR6}, // S_SMALLFIREBAR5
|
{SPR_SFBR, FF_FULLBRIGHT| 4, 1, {NULL}, 0, 0, S_SMALLFIREBAR6}, // S_SMALLFIREBAR5
|
||||||
{SPR_SFBR, FF_FULLBRIGHT|FF_TRANS20| 5, 1, {NULL}, 0, 0, S_SMALLFIREBAR7}, // S_SMALLFIREBAR6
|
{SPR_SFBR, FF_FULLBRIGHT| 5, 1, {NULL}, 0, 0, S_SMALLFIREBAR7}, // S_SMALLFIREBAR6
|
||||||
{SPR_SFBR, FF_FULLBRIGHT|FF_TRANS20| 6, 1, {A_FlameParticle}, 3, FRACUNIT/3, S_SMALLFIREBAR8}, // S_SMALLFIREBAR7
|
{SPR_SFBR, FF_FULLBRIGHT| 6, 1, {A_FlameParticle}, 0, 0, S_SMALLFIREBAR8}, // S_SMALLFIREBAR7
|
||||||
{SPR_SFBR, FF_FULLBRIGHT|FF_TRANS20| 7, 1, {NULL}, 0, 0, S_SMALLFIREBAR9}, // S_SMALLFIREBAR8
|
{SPR_SFBR, FF_FULLBRIGHT| 7, 1, {NULL}, 0, 0, S_SMALLFIREBAR9}, // S_SMALLFIREBAR8
|
||||||
{SPR_SFBR, FF_FULLBRIGHT|FF_TRANS20| 8, 1, {A_FlameParticle}, 3, FRACUNIT/3, S_SMALLFIREBAR10}, // S_SMALLFIREBAR9
|
{SPR_SFBR, FF_FULLBRIGHT| 8, 1, {NULL}, 0, 0, S_SMALLFIREBAR10}, // S_SMALLFIREBAR9
|
||||||
{SPR_SFBR, FF_FULLBRIGHT|FF_TRANS20| 9, 1, {NULL}, 0, 0, S_SMALLFIREBAR11}, // S_SMALLFIREBAR10
|
{SPR_SFBR, FF_FULLBRIGHT| 9, 1, {NULL}, 0, 0, S_SMALLFIREBAR11}, // S_SMALLFIREBAR10
|
||||||
{SPR_SFBR, FF_FULLBRIGHT|FF_TRANS20|10, 1, {A_FlameParticle}, 3, FRACUNIT/3, S_SMALLFIREBAR12}, // S_SMALLFIREBAR11
|
{SPR_SFBR, FF_FULLBRIGHT|10, 1, {A_FlameParticle}, 0, 0, S_SMALLFIREBAR12}, // S_SMALLFIREBAR11
|
||||||
{SPR_SFBR, FF_FULLBRIGHT|FF_TRANS20|11, 1, {NULL}, 0, 0, S_SMALLFIREBAR13}, // S_SMALLFIREBAR12
|
{SPR_SFBR, FF_FULLBRIGHT|11, 1, {NULL}, 0, 0, S_SMALLFIREBAR13}, // S_SMALLFIREBAR12
|
||||||
{SPR_SFBR, FF_FULLBRIGHT|FF_TRANS20|12, 1, {A_FlameParticle}, 3, FRACUNIT/3, S_SMALLFIREBAR14}, // S_SMALLFIREBAR13
|
{SPR_SFBR, FF_FULLBRIGHT|12, 1, {NULL}, 0, 0, S_SMALLFIREBAR14}, // S_SMALLFIREBAR13
|
||||||
{SPR_SFBR, FF_FULLBRIGHT|FF_TRANS20|13, 1, {NULL}, 0, 0, S_SMALLFIREBAR15}, // S_SMALLFIREBAR14
|
{SPR_SFBR, FF_FULLBRIGHT|13, 1, {NULL}, 0, 0, S_SMALLFIREBAR15}, // S_SMALLFIREBAR14
|
||||||
{SPR_SFBR, FF_FULLBRIGHT|FF_TRANS20|14, 1, {A_FlameParticle}, 3, FRACUNIT/3, S_SMALLFIREBAR16}, // S_SMALLFIREBAR15
|
{SPR_SFBR, FF_FULLBRIGHT|14, 1, {A_FlameParticle}, 0, 0, S_SMALLFIREBAR16}, // S_SMALLFIREBAR15
|
||||||
{SPR_SFBR, FF_FULLBRIGHT|FF_TRANS20|15, 1, {NULL}, 0, 0, S_SMALLFIREBAR1}, // S_SMALLFIREBAR16
|
{SPR_SFBR, FF_FULLBRIGHT|15, 1, {NULL}, 0, 0, S_SMALLFIREBAR1}, // S_SMALLFIREBAR16
|
||||||
|
|
||||||
// Big Firebar
|
// Big Firebar
|
||||||
{SPR_BFBR, FF_FULLBRIGHT|FF_TRANS20, 1, {A_FlameParticle}, 3, FRACUNIT/2, S_BIGFIREBAR2}, // S_BIGFIREBAR1
|
{SPR_BFBR, FF_FULLBRIGHT, 1, {NULL}, 0, 0, S_BIGFIREBAR2}, // S_BIGFIREBAR1
|
||||||
{SPR_BFBR, FF_FULLBRIGHT|FF_TRANS20| 1, 1, {NULL}, 0, 0, S_BIGFIREBAR3}, // S_BIGFIREBAR2
|
{SPR_BFBR, FF_FULLBRIGHT| 1, 1, {NULL}, 0, 0, S_BIGFIREBAR3}, // S_BIGFIREBAR2
|
||||||
{SPR_BFBR, FF_FULLBRIGHT|FF_TRANS20| 2, 1, {A_FlameParticle}, 3, FRACUNIT/2, S_BIGFIREBAR4}, // S_BIGFIREBAR3
|
{SPR_BFBR, FF_FULLBRIGHT| 2, 1, {A_FlameParticle}, 0, 0, S_BIGFIREBAR4}, // S_BIGFIREBAR3
|
||||||
{SPR_BFBR, FF_FULLBRIGHT|FF_TRANS20| 3, 1, {NULL}, 0, 0, S_BIGFIREBAR5}, // S_BIGFIREBAR4
|
{SPR_BFBR, FF_FULLBRIGHT| 3, 1, {NULL}, 0, 0, S_BIGFIREBAR5}, // S_BIGFIREBAR4
|
||||||
{SPR_BFBR, FF_FULLBRIGHT|FF_TRANS20| 4, 1, {A_FlameParticle}, 3, FRACUNIT/2, S_BIGFIREBAR6}, // S_BIGFIREBAR5
|
{SPR_BFBR, FF_FULLBRIGHT| 4, 1, {NULL}, 0, 0, S_BIGFIREBAR6}, // S_BIGFIREBAR5
|
||||||
{SPR_BFBR, FF_FULLBRIGHT|FF_TRANS20| 5, 1, {NULL}, 0, 0, S_BIGFIREBAR7}, // S_BIGFIREBAR6
|
{SPR_BFBR, FF_FULLBRIGHT| 5, 1, {NULL}, 0, 0, S_BIGFIREBAR7}, // S_BIGFIREBAR6
|
||||||
{SPR_BFBR, FF_FULLBRIGHT|FF_TRANS20| 6, 1, {A_FlameParticle}, 3, FRACUNIT/2, S_BIGFIREBAR8}, // S_BIGFIREBAR7
|
{SPR_BFBR, FF_FULLBRIGHT| 6, 1, {A_FlameParticle}, 0, 0, S_BIGFIREBAR8}, // S_BIGFIREBAR7
|
||||||
{SPR_BFBR, FF_FULLBRIGHT|FF_TRANS20| 7, 1, {NULL}, 0, 0, S_BIGFIREBAR9}, // S_BIGFIREBAR8
|
{SPR_BFBR, FF_FULLBRIGHT| 7, 1, {NULL}, 0, 0, S_BIGFIREBAR9}, // S_BIGFIREBAR8
|
||||||
{SPR_BFBR, FF_FULLBRIGHT|FF_TRANS20| 8, 1, {A_FlameParticle}, 3, FRACUNIT/2, S_BIGFIREBAR10}, // S_BIGFIREBAR9
|
{SPR_BFBR, FF_FULLBRIGHT| 8, 1, {NULL}, 0, 0, S_BIGFIREBAR10}, // S_BIGFIREBAR9
|
||||||
{SPR_BFBR, FF_FULLBRIGHT|FF_TRANS20| 9, 1, {NULL}, 0, 0, S_BIGFIREBAR11}, // S_BIGFIREBAR10
|
{SPR_BFBR, FF_FULLBRIGHT| 9, 1, {NULL}, 0, 0, S_BIGFIREBAR11}, // S_BIGFIREBAR10
|
||||||
{SPR_BFBR, FF_FULLBRIGHT|FF_TRANS20|10, 1, {A_FlameParticle}, 3, FRACUNIT/2, S_BIGFIREBAR12}, // S_BIGFIREBAR11
|
{SPR_BFBR, FF_FULLBRIGHT|10, 1, {A_FlameParticle}, 0, 0, S_BIGFIREBAR12}, // S_BIGFIREBAR11
|
||||||
{SPR_BFBR, FF_FULLBRIGHT|FF_TRANS20|11, 1, {NULL}, 0, 0, S_BIGFIREBAR13}, // S_BIGFIREBAR12
|
{SPR_BFBR, FF_FULLBRIGHT|11, 1, {NULL}, 0, 0, S_BIGFIREBAR13}, // S_BIGFIREBAR12
|
||||||
{SPR_BFBR, FF_FULLBRIGHT|FF_TRANS20|12, 1, {A_FlameParticle}, 3, FRACUNIT/2, S_BIGFIREBAR14}, // S_BIGFIREBAR13
|
{SPR_BFBR, FF_FULLBRIGHT|12, 1, {NULL}, 0, 0, S_BIGFIREBAR14}, // S_BIGFIREBAR13
|
||||||
{SPR_BFBR, FF_FULLBRIGHT|FF_TRANS20|13, 1, {NULL}, 0, 0, S_BIGFIREBAR15}, // S_BIGFIREBAR14
|
{SPR_BFBR, FF_FULLBRIGHT|13, 1, {NULL}, 0, 0, S_BIGFIREBAR15}, // S_BIGFIREBAR14
|
||||||
{SPR_BFBR, FF_FULLBRIGHT|FF_TRANS20|14, 1, {A_FlameParticle}, 3, FRACUNIT/2, S_BIGFIREBAR16}, // S_BIGFIREBAR15
|
{SPR_BFBR, FF_FULLBRIGHT|14, 1, {A_FlameParticle}, 0, 0, S_BIGFIREBAR16}, // S_BIGFIREBAR15
|
||||||
{SPR_BFBR, FF_FULLBRIGHT|FF_TRANS20|15, 1, {NULL}, 0, 0, S_BIGFIREBAR1}, // S_BIGFIREBAR16
|
{SPR_BFBR, FF_FULLBRIGHT|15, 1, {NULL}, 0, 0, S_BIGFIREBAR1}, // S_BIGFIREBAR16
|
||||||
|
|
||||||
// CEZ Flower
|
{SPR_FWR4, 0, -1, {NULL}, 0, 0, S_NULL}, // S_CEZFLOWER
|
||||||
{SPR_FWR4, 0, -1, {NULL}, 0, 0, S_NULL}, // S_CEZFLOWER1
|
{SPR_BANR, 1, -1, {NULL}, 0, 0, S_NULL}, // S_CEZPOLE
|
||||||
|
|
||||||
|
{SPR_BANR, FF_PAPERSPRITE, -1, {NULL}, 0, 0, S_NULL}, // S_CEZBANNER
|
||||||
|
|
||||||
|
{SPR_PINE, 0, -1, {NULL}, 0, 0, S_NULL}, // S_PINETREE
|
||||||
|
{SPR_CEZB, 0, -1, {NULL}, 0, 0, S_NULL}, // S_CEZBUSH1
|
||||||
|
{SPR_CEZB, 1, -1, {NULL}, 0, 0, S_NULL}, // S_CEZBUSH2
|
||||||
|
|
||||||
|
{SPR_CNDL, FF_FULLBRIGHT, -1, {NULL}, 0, 0, S_NULL}, // S_CANDLE
|
||||||
|
{SPR_CNDL, FF_FULLBRIGHT|1, -1, {NULL}, 0, 0, S_NULL}, // S_CANDLEPRICKET
|
||||||
|
|
||||||
|
{SPR_FLMH, 0, -1, {NULL}, 0, 0, S_NULL}, // S_FLAMEHOLDER
|
||||||
|
|
||||||
|
{SPR_CTRC, FF_FULLBRIGHT|FF_ANIMATE, 8*3, {A_FlameParticle}, 3, 3, S_NULL}, // S_FIRETORCH
|
||||||
|
|
||||||
|
{SPR_CFLG, 0, -1, {NULL}, 0, 0, S_NULL}, // S_WAVINGFLAG
|
||||||
|
{SPR_CFLG, FF_PAPERSPRITE|1, -1, {NULL}, 0, 0, S_NULL}, // S_WAVINGFLAGSEG
|
||||||
|
|
||||||
|
{SPR_CSTA, 0, -1, {NULL}, 0, 0, S_NULL}, // S_CRAWLASTATUE
|
||||||
|
|
||||||
// Big Tumbleweed
|
// Big Tumbleweed
|
||||||
{SPR_BTBL, 0, -1, {NULL}, 0, 0, S_NULL}, // S_BIGTUMBLEWEED
|
{SPR_BTBL, 0, -1, {NULL}, 0, 0, S_NULL}, // S_BIGTUMBLEWEED
|
||||||
|
|
@ -9554,7 +9574,7 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] =
|
||||||
|
|
||||||
{ // MT_FLAME
|
{ // MT_FLAME
|
||||||
1101, // doomednum
|
1101, // doomednum
|
||||||
S_FLAME1, // spawnstate
|
S_FLAME, // spawnstate
|
||||||
1000, // spawnhealth
|
1000, // spawnhealth
|
||||||
S_NULL, // seestate
|
S_NULL, // seestate
|
||||||
sfx_None, // seesound
|
sfx_None, // seesound
|
||||||
|
|
@ -9839,8 +9859,8 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] =
|
||||||
S_NULL, // xdeathstate
|
S_NULL, // xdeathstate
|
||||||
sfx_None, // deathsound
|
sfx_None, // deathsound
|
||||||
24*FRACUNIT, // speed
|
24*FRACUNIT, // speed
|
||||||
24*FRACUNIT, // radius
|
17*FRACUNIT, // radius
|
||||||
32*FRACUNIT, // height
|
34*FRACUNIT, // height
|
||||||
0, // display offset
|
0, // display offset
|
||||||
100, // mass
|
100, // mass
|
||||||
1, // damage
|
1, // damage
|
||||||
|
|
@ -9866,8 +9886,8 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] =
|
||||||
S_NULL, // xdeathstate
|
S_NULL, // xdeathstate
|
||||||
sfx_None, // deathsound
|
sfx_None, // deathsound
|
||||||
48*FRACUNIT, // speed
|
48*FRACUNIT, // speed
|
||||||
48*FRACUNIT, // radius
|
34*FRACUNIT, // radius
|
||||||
96*FRACUNIT, // height
|
68*FRACUNIT, // height
|
||||||
0, // display offset
|
0, // display offset
|
||||||
100, // mass
|
100, // mass
|
||||||
1, // damage
|
1, // damage
|
||||||
|
|
@ -10040,7 +10060,7 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] =
|
||||||
|
|
||||||
{ // MT_CEZFLOWER
|
{ // MT_CEZFLOWER
|
||||||
1103, // doomednum
|
1103, // doomednum
|
||||||
S_CEZFLOWER1, // spawnstate
|
S_CEZFLOWER, // spawnstate
|
||||||
1000, // spawnhealth
|
1000, // spawnhealth
|
||||||
S_NULL, // seestate
|
S_NULL, // seestate
|
||||||
sfx_None, // seesound
|
sfx_None, // seesound
|
||||||
|
|
@ -10065,6 +10085,330 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] =
|
||||||
S_NULL // raisestate
|
S_NULL // raisestate
|
||||||
},
|
},
|
||||||
|
|
||||||
|
{ // MT_CEZPOLE
|
||||||
|
1113, // doomednum
|
||||||
|
S_CEZPOLE, // 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
|
||||||
|
40*FRACUNIT, // radius
|
||||||
|
224*FRACUNIT, // height
|
||||||
|
0, // display offset
|
||||||
|
100, // mass
|
||||||
|
0, // damage
|
||||||
|
sfx_None, // activesound
|
||||||
|
MF_NOTHINK|MF_NOBLOCKMAP|MF_NOCLIP|MF_SCENERY, // flags
|
||||||
|
S_NULL // raisestate
|
||||||
|
},
|
||||||
|
|
||||||
|
{ // MT_CEZBANNER
|
||||||
|
-1, // doomednum
|
||||||
|
S_CEZBANNER, // 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
|
||||||
|
40*FRACUNIT, // radius
|
||||||
|
224*FRACUNIT, // height
|
||||||
|
0, // display offset
|
||||||
|
100, // mass
|
||||||
|
0, // damage
|
||||||
|
sfx_None, // activesound
|
||||||
|
MF_NOTHINK|MF_NOBLOCKMAP|MF_NOCLIP|MF_SCENERY, // flags
|
||||||
|
S_NULL // raisestate
|
||||||
|
},
|
||||||
|
|
||||||
|
{ // MT_PINETREE
|
||||||
|
1041, // doomednum
|
||||||
|
S_PINETREE, // 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*FRACUNIT, // radius
|
||||||
|
628*FRACUNIT, // height
|
||||||
|
0, // display offset
|
||||||
|
100, // mass
|
||||||
|
0, // damage
|
||||||
|
sfx_None, // activesound
|
||||||
|
MF_NOGRAVITY|MF_SOLID|MF_SCENERY, // flags
|
||||||
|
S_NULL // raisestate
|
||||||
|
},
|
||||||
|
|
||||||
|
{ // MT_CEZBUSH1
|
||||||
|
1042, // doomednum
|
||||||
|
S_CEZBUSH1, // 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*FRACUNIT, // radius
|
||||||
|
24*FRACUNIT, // height
|
||||||
|
0, // display offset
|
||||||
|
100, // mass
|
||||||
|
0, // damage
|
||||||
|
sfx_None, // activesound
|
||||||
|
MF_NOTHINK|MF_NOBLOCKMAP|MF_NOCLIP|MF_SCENERY, // flags
|
||||||
|
S_NULL // raisestate
|
||||||
|
},
|
||||||
|
|
||||||
|
{ // MT_CEZBUSH2
|
||||||
|
1043, // doomednum
|
||||||
|
S_CEZBUSH2, // 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
|
||||||
|
3*FRACUNIT, // radius
|
||||||
|
48*FRACUNIT, // height
|
||||||
|
0, // display offset
|
||||||
|
100, // mass
|
||||||
|
0, // damage
|
||||||
|
sfx_None, // activesound
|
||||||
|
MF_NOTHINK|MF_NOBLOCKMAP|MF_NOCLIP|MF_SCENERY, // flags
|
||||||
|
S_NULL // raisestate
|
||||||
|
},
|
||||||
|
|
||||||
|
{ // MT_CANDLE
|
||||||
|
3330, // doomednum
|
||||||
|
S_CANDLE, // 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*FRACUNIT, // radius
|
||||||
|
48*FRACUNIT, // height
|
||||||
|
0, // display offset
|
||||||
|
100, // mass
|
||||||
|
0, // damage
|
||||||
|
sfx_None, // activesound
|
||||||
|
MF_NOTHINK|MF_NOBLOCKMAP|MF_NOCLIP|MF_NOGRAVITY|MF_SCENERY, // flags
|
||||||
|
S_NULL // raisestate
|
||||||
|
},
|
||||||
|
|
||||||
|
{ // MT_CANDLEPRICKET
|
||||||
|
3332, // doomednum
|
||||||
|
S_CANDLEPRICKET, // 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*FRACUNIT, // radius
|
||||||
|
176*FRACUNIT, // height
|
||||||
|
0, // display offset
|
||||||
|
100, // mass
|
||||||
|
0, // damage
|
||||||
|
sfx_None, // activesound
|
||||||
|
MF_SOLID, // flags
|
||||||
|
S_NULL // raisestate
|
||||||
|
},
|
||||||
|
|
||||||
|
{ // MT_FLAMEHOLDER
|
||||||
|
3335, // doomednum
|
||||||
|
S_FLAMEHOLDER, // 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
|
||||||
|
24*FRACUNIT, // radius
|
||||||
|
80*FRACUNIT, // height
|
||||||
|
0, // display offset
|
||||||
|
100, // mass
|
||||||
|
0, // damage
|
||||||
|
sfx_None, // activesound
|
||||||
|
MF_SOLID, // flags
|
||||||
|
S_NULL // raisestate
|
||||||
|
},
|
||||||
|
|
||||||
|
{ // MT_FIRETORCH
|
||||||
|
3336, // doomednum
|
||||||
|
S_FIRETORCH, // 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
|
||||||
|
24*FRACUNIT, // radius
|
||||||
|
80*FRACUNIT, // height
|
||||||
|
0, // display offset
|
||||||
|
100, // mass
|
||||||
|
0, // damage
|
||||||
|
sfx_None, // activesound
|
||||||
|
MF_NOBLOCKMAP|MF_NOGRAVITY, // flags
|
||||||
|
S_NULL // raisestate
|
||||||
|
},
|
||||||
|
|
||||||
|
{ // MT_WAVINGFLAG
|
||||||
|
1329, // doomednum
|
||||||
|
S_WAVINGFLAG, // 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
|
||||||
|
4*FRACUNIT, // radius
|
||||||
|
104*FRACUNIT, // height
|
||||||
|
0, // display offset
|
||||||
|
100, // mass
|
||||||
|
0, // damage
|
||||||
|
sfx_None, // activesound
|
||||||
|
MF_SOLID|MF_PUSHABLE, // flags
|
||||||
|
S_NULL // raisestate
|
||||||
|
},
|
||||||
|
|
||||||
|
{ // MT_WAVINGFLAGSEG
|
||||||
|
-1, // doomednum
|
||||||
|
S_WAVINGFLAGSEG, // 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
|
||||||
|
4*FRACUNIT, // radius
|
||||||
|
1, // height -- this is not a typo
|
||||||
|
0, // display offset
|
||||||
|
100, // mass
|
||||||
|
0, // damage
|
||||||
|
sfx_None, // activesound
|
||||||
|
MF_NOTHINK|MF_NOBLOCKMAP|MF_NOCLIP|MF_NOGRAVITY|MF_SCENERY, // flags
|
||||||
|
S_NULL // raisestate
|
||||||
|
},
|
||||||
|
|
||||||
|
{ // MT_CRAWLASTATUE
|
||||||
|
1120, // doomednum
|
||||||
|
S_CRAWLASTATUE, // 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*FRACUNIT, // radius
|
||||||
|
40*FRACUNIT, // height
|
||||||
|
0, // display offset
|
||||||
|
100, // mass
|
||||||
|
0, // damage
|
||||||
|
sfx_None, // activesound
|
||||||
|
MF_SLIDEME|MF_SOLID|MF_PUSHABLE, // flags
|
||||||
|
S_NULL // raisestate
|
||||||
|
},
|
||||||
|
|
||||||
{ // MT_BIGTUMBLEWEED
|
{ // MT_BIGTUMBLEWEED
|
||||||
1200, // doomednum
|
1200, // doomednum
|
||||||
S_BIGTUMBLEWEED,// spawnstate
|
S_BIGTUMBLEWEED,// spawnstate
|
||||||
|
|
|
||||||
44
src/info.h
44
src/info.h
|
|
@ -431,6 +431,14 @@ typedef enum sprite
|
||||||
SPR_RSPB, // Red spring on a ball
|
SPR_RSPB, // Red spring on a ball
|
||||||
SPR_SFBR, // Small Firebar
|
SPR_SFBR, // Small Firebar
|
||||||
SPR_BFBR, // Big Firebar
|
SPR_BFBR, // Big Firebar
|
||||||
|
SPR_BANR, // Banner/pole
|
||||||
|
SPR_PINE, // Pine Tree
|
||||||
|
SPR_CEZB, // Bush
|
||||||
|
SPR_CNDL, // Candle/pricket
|
||||||
|
SPR_FLMH, // Flame holder
|
||||||
|
SPR_CTRC, // Fire torch
|
||||||
|
SPR_CFLG, // Waving flag/segment
|
||||||
|
SPR_CSTA, // Crawla statue
|
||||||
|
|
||||||
// Arid Canyon Scenery
|
// Arid Canyon Scenery
|
||||||
SPR_BTBL, // Big tumbleweed
|
SPR_BTBL, // Big tumbleweed
|
||||||
|
|
@ -2156,14 +2164,8 @@ typedef enum state
|
||||||
S_CEZCHAIN,
|
S_CEZCHAIN,
|
||||||
|
|
||||||
// Flame
|
// Flame
|
||||||
S_FLAME1,
|
S_FLAME,
|
||||||
S_FLAME2,
|
|
||||||
S_FLAME3,
|
|
||||||
S_FLAME4,
|
|
||||||
S_FLAME5,
|
|
||||||
S_FLAME6,
|
|
||||||
S_FLAMEPARTICLE,
|
S_FLAMEPARTICLE,
|
||||||
|
|
||||||
S_FLAMEREST,
|
S_FLAMEREST,
|
||||||
|
|
||||||
// Eggman Statue
|
// Eggman Statue
|
||||||
|
|
@ -2229,7 +2231,19 @@ typedef enum state
|
||||||
S_BIGFIREBAR15,
|
S_BIGFIREBAR15,
|
||||||
S_BIGFIREBAR16,
|
S_BIGFIREBAR16,
|
||||||
|
|
||||||
S_CEZFLOWER1,
|
S_CEZFLOWER,
|
||||||
|
S_CEZPOLE,
|
||||||
|
S_CEZBANNER,
|
||||||
|
S_PINETREE,
|
||||||
|
S_CEZBUSH1,
|
||||||
|
S_CEZBUSH2,
|
||||||
|
S_CANDLE,
|
||||||
|
S_CANDLEPRICKET,
|
||||||
|
S_FLAMEHOLDER,
|
||||||
|
S_FIRETORCH,
|
||||||
|
S_WAVINGFLAG,
|
||||||
|
S_WAVINGFLAGSEG,
|
||||||
|
S_CRAWLASTATUE,
|
||||||
|
|
||||||
// Big Tumbleweed
|
// Big Tumbleweed
|
||||||
S_BIGTUMBLEWEED,
|
S_BIGTUMBLEWEED,
|
||||||
|
|
@ -3851,7 +3865,19 @@ typedef enum mobj_type
|
||||||
MT_REDSPRINGBALL, // Red spring on a ball
|
MT_REDSPRINGBALL, // Red spring on a ball
|
||||||
MT_SMALLFIREBAR, // Small Firebar
|
MT_SMALLFIREBAR, // Small Firebar
|
||||||
MT_BIGFIREBAR, // Big Firebar
|
MT_BIGFIREBAR, // Big Firebar
|
||||||
MT_CEZFLOWER,
|
MT_CEZFLOWER, // Flower
|
||||||
|
MT_CEZPOLE, // Pole
|
||||||
|
MT_CEZBANNER, // Banner
|
||||||
|
MT_PINETREE, // Pine Tree
|
||||||
|
MT_CEZBUSH1, // Bush 1
|
||||||
|
MT_CEZBUSH2, // Bush 2
|
||||||
|
MT_CANDLE, // Candle
|
||||||
|
MT_CANDLEPRICKET, // Candle pricket
|
||||||
|
MT_FLAMEHOLDER, // Flame holder
|
||||||
|
MT_FIRETORCH, // Fire torch
|
||||||
|
MT_WAVINGFLAG, // Waving flag
|
||||||
|
MT_WAVINGFLAGSEG, // Waving flag segment
|
||||||
|
MT_CRAWLASTATUE, // Crawla statue
|
||||||
|
|
||||||
// Arid Canyon Scenery
|
// Arid Canyon Scenery
|
||||||
MT_BIGTUMBLEWEED,
|
MT_BIGTUMBLEWEED,
|
||||||
|
|
|
||||||
|
|
@ -10794,36 +10794,33 @@ void A_FlickyFlutter(mobj_t *actor)
|
||||||
//
|
//
|
||||||
// Description: Creates the mobj's painchance at a random position around the object's radius.
|
// Description: Creates the mobj's painchance at a random position around the object's radius.
|
||||||
//
|
//
|
||||||
// var1 = momz of particle.
|
// var1 = unused
|
||||||
// var2 = chance of particle spawn
|
// var2 = unused
|
||||||
//
|
//
|
||||||
void A_FlameParticle(mobj_t *actor)
|
void A_FlameParticle(mobj_t *actor)
|
||||||
{
|
{
|
||||||
mobjtype_t type = (mobjtype_t)(mobjinfo[actor->type].painchance);
|
mobjtype_t type = (mobjtype_t)(mobjinfo[actor->type].painchance);
|
||||||
fixed_t rad, hei;
|
fixed_t rad, hei;
|
||||||
mobj_t *particle;
|
mobj_t *particle;
|
||||||
INT32 locvar1 = var1;
|
//INT32 locvar1 = var1;
|
||||||
INT32 locvar2 = var2;
|
//INT32 locvar2 = var2;
|
||||||
|
|
||||||
#ifdef HAVE_BLUA
|
#ifdef HAVE_BLUA
|
||||||
if (LUA_CallAction("A_FlameParticle", actor))
|
if (LUA_CallAction("A_FlameParticle", actor))
|
||||||
return;
|
return;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
if (!P_RandomChance(locvar2))
|
|
||||||
return;
|
|
||||||
|
|
||||||
if (!type)
|
if (!type)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
rad = 2*actor->radius>>FRACBITS;
|
rad = actor->radius>>FRACBITS;
|
||||||
hei = actor->height>>FRACBITS;
|
hei = actor->height>>FRACBITS;
|
||||||
particle = P_SpawnMobjFromMobj(actor,
|
particle = P_SpawnMobjFromMobj(actor,
|
||||||
P_RandomRange(rad, -rad)<<FRACBITS,
|
P_RandomRange(rad, -rad)<<FRACBITS,
|
||||||
P_RandomRange(rad, -rad)<<FRACBITS,
|
P_RandomRange(rad, -rad)<<FRACBITS,
|
||||||
P_RandomRange(hei/2, hei)<<FRACBITS,
|
P_RandomRange(hei/2, hei)<<FRACBITS,
|
||||||
type);
|
type);
|
||||||
P_SetObjectMomZ(particle, locvar1<<FRACBITS, false);
|
P_SetObjectMomZ(particle, 2<<FRACBITS, false);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Function: A_FadeOverlay
|
// Function: A_FadeOverlay
|
||||||
|
|
|
||||||
112
src/p_mobj.c
112
src/p_mobj.c
|
|
@ -7439,6 +7439,29 @@ void P_MobjThinker(mobj_t *mobj)
|
||||||
mobj->z += FINESINE(mobj->extravalue1*(FINEMASK+1)/360);
|
mobj->z += FINESINE(mobj->extravalue1*(FINEMASK+1)/360);
|
||||||
P_SetThingPosition(mobj);
|
P_SetThingPosition(mobj);
|
||||||
break;
|
break;
|
||||||
|
case MT_WAVINGFLAG:
|
||||||
|
{
|
||||||
|
fixed_t base = (leveltime<<(FRACBITS+1));
|
||||||
|
mobj_t *seg = mobj->tracer, *prev = mobj;
|
||||||
|
mobj->movedir = mobj->angle
|
||||||
|
+ ((((FINESINE((FixedAngle(base<<1)>>ANGLETOFINESHIFT) & FINEMASK)
|
||||||
|
+ FINESINE((FixedAngle(base<<4)>>ANGLETOFINESHIFT) & FINEMASK))>>1)
|
||||||
|
+ FINESINE((FixedAngle(base*9)>>ANGLETOFINESHIFT) & FINEMASK)
|
||||||
|
+ FINECOSINE(((FixedAngle(base*9))>>ANGLETOFINESHIFT) & FINEMASK))<<12); //*2^12
|
||||||
|
while (seg)
|
||||||
|
{
|
||||||
|
seg->movedir = seg->angle;
|
||||||
|
seg->angle = prev->movedir;
|
||||||
|
P_UnsetThingPosition(seg);
|
||||||
|
seg->x = prev->x + P_ReturnThrustX(prev, prev->angle, prev->radius);
|
||||||
|
seg->y = prev->y + P_ReturnThrustY(prev, prev->angle, prev->radius);
|
||||||
|
seg->z = prev->z + prev->height - (seg->scale>>1);
|
||||||
|
P_SetThingPosition(seg);
|
||||||
|
prev = seg;
|
||||||
|
seg = seg->tracer;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
break;
|
||||||
case MT_SPINCUSHION:
|
case MT_SPINCUSHION:
|
||||||
if (mobj->target && mobj->state-states >= S_SPINCUSHION_AIM1 && mobj->state-states <= S_SPINCUSHION_AIM5)
|
if (mobj->target && mobj->state-states >= S_SPINCUSHION_AIM1 && mobj->state-states <= S_SPINCUSHION_AIM5)
|
||||||
mobj->angle = R_PointToAngle2(mobj->x, mobj->y, mobj->target->x, mobj->target->y);
|
mobj->angle = R_PointToAngle2(mobj->x, mobj->y, mobj->target->x, mobj->target->y);
|
||||||
|
|
@ -8571,9 +8594,62 @@ mobj_t *P_SpawnMobj(fixed_t x, fixed_t y, fixed_t z, mobjtype_t type)
|
||||||
mobj->reactiontime >>= 1;
|
mobj->reactiontime >>= 1;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
case MT_THZTREE:
|
||||||
|
// Spawn the branches
|
||||||
|
P_SpawnMobjFromMobj(mobj, 1*FRACUNIT, 0, 0, MT_THZTREEBRANCH)->angle = mobj->angle + ANGLE_22h;
|
||||||
|
P_SpawnMobjFromMobj(mobj, 0, 1*FRACUNIT, 0, MT_THZTREEBRANCH)->angle = mobj->angle + ANGLE_157h;
|
||||||
|
P_SpawnMobjFromMobj(mobj, -1*FRACUNIT, 0, 0, MT_THZTREEBRANCH)->angle = mobj->angle + ANGLE_270;
|
||||||
|
break;
|
||||||
case MT_BIGMINE:
|
case MT_BIGMINE:
|
||||||
mobj->extravalue1 = FixedHypot(mobj->x, mobj->y)>>FRACBITS;
|
mobj->extravalue1 = FixedHypot(mobj->x, mobj->y)>>FRACBITS;
|
||||||
break;
|
break;
|
||||||
|
case MT_CEZPOLE:
|
||||||
|
// Spawn the banner
|
||||||
|
P_SpawnMobjFromMobj(mobj,
|
||||||
|
P_ReturnThrustX(mobj, mobj->angle, 4<<FRACBITS),
|
||||||
|
P_ReturnThrustY(mobj, mobj->angle, 4<<FRACBITS),
|
||||||
|
0, MT_CEZBANNER)->angle = mobj->angle + ANGLE_90;
|
||||||
|
break;
|
||||||
|
case MT_WAVINGFLAG:
|
||||||
|
{
|
||||||
|
mobj_t *prev = mobj, *cur;
|
||||||
|
UINT8 i;
|
||||||
|
mobj->destscale <<= 2;
|
||||||
|
P_SetScale(mobj, mobj->destscale);
|
||||||
|
for (i = 0; i <= 16; i++) // probably should be < but staying authentic to the Lua version
|
||||||
|
{
|
||||||
|
cur = P_SpawnMobjFromMobj(mobj, 0, 0, 0, MT_WAVINGFLAGSEG);
|
||||||
|
P_SetTarget(&prev->tracer, cur);
|
||||||
|
cur->extravalue1 = i;
|
||||||
|
prev = cur;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case MT_HHZTREE_TOP:
|
||||||
|
{ // Spawn the branches
|
||||||
|
angle_t mobjangle = mobj->angle & (ANGLE_90-1);
|
||||||
|
mobj_t *leaf;
|
||||||
|
#define doleaf(x, y) \
|
||||||
|
leaf = P_SpawnMobjFromMobj(mobj, x, y, 0, MT_HHZTREE_PART);\
|
||||||
|
leaf->angle = mobjangle;\
|
||||||
|
P_SetMobjState(leaf, leaf->info->seestate);\
|
||||||
|
mobjangle += ANGLE_90
|
||||||
|
doleaf(1*FRACUNIT, 0);
|
||||||
|
doleaf(0, 1*FRACUNIT);
|
||||||
|
doleaf(-1*FRACUNIT, 0);
|
||||||
|
doleaf(0, -1*FRACUNIT);
|
||||||
|
#undef doleaf
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case MT_JACKO1:
|
||||||
|
case MT_JACKO2:
|
||||||
|
case MT_JACKO3:
|
||||||
|
{
|
||||||
|
mobj_t *overlay = P_SpawnMobjFromMobj(mobj, 0, 0, 0, MT_OVERLAY);
|
||||||
|
P_SetTarget(&overlay->target, mobj);
|
||||||
|
P_SetMobjState(overlay, mobj->info->raisestate);
|
||||||
|
}
|
||||||
|
break;
|
||||||
case MT_EGGMOBILE2:
|
case MT_EGGMOBILE2:
|
||||||
// Special condition for the 2nd boss.
|
// Special condition for the 2nd boss.
|
||||||
mobj->watertop = mobj->info->speed;
|
mobj->watertop = mobj->info->speed;
|
||||||
|
|
@ -10334,39 +10410,9 @@ ML_EFFECT4 : Don't clip inside the ground
|
||||||
mobj->destscale = mobj->scale;
|
mobj->destscale = mobj->scale;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case MT_THZTREE:
|
case MT_FLAMEHOLDER:
|
||||||
{ // Spawn the branches
|
if (!(mthing->options & MTF_OBJECTSPECIAL)) // Spawn the fire
|
||||||
angle_t mobjangle = FixedAngle((mthing->angle % 113)*FRACUNIT);
|
P_SpawnMobjFromMobj(mobj, 0, 0, mobj->height, MT_FLAME);
|
||||||
P_SpawnMobjFromMobj(mobj, 1*FRACUNIT, 0, 0, MT_THZTREEBRANCH)->angle = mobjangle + ANGLE_22h;
|
|
||||||
P_SpawnMobjFromMobj(mobj, 0, 1*FRACUNIT, 0, MT_THZTREEBRANCH)->angle = mobjangle + ANGLE_157h;
|
|
||||||
P_SpawnMobjFromMobj(mobj, -1*FRACUNIT, 0, 0, MT_THZTREEBRANCH)->angle = mobjangle + ANGLE_270;
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
case MT_HHZTREE_TOP:
|
|
||||||
{ // Spawn the branches
|
|
||||||
angle_t mobjangle;
|
|
||||||
mobj_t *leaf;
|
|
||||||
mobjangle = FixedAngle((mthing->angle % 90)*FRACUNIT);
|
|
||||||
#define doleaf(x, y) \
|
|
||||||
leaf = P_SpawnMobjFromMobj(mobj, x, y, 0, MT_HHZTREE_PART);\
|
|
||||||
leaf->angle = mobjangle;\
|
|
||||||
P_SetMobjState(leaf, leaf->info->seestate);\
|
|
||||||
mobjangle += ANGLE_90
|
|
||||||
doleaf(1*FRACUNIT, 0);
|
|
||||||
doleaf(0, 1*FRACUNIT);
|
|
||||||
doleaf(-1*FRACUNIT, 0);
|
|
||||||
doleaf(0, -1*FRACUNIT);
|
|
||||||
#undef doleaf
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
case MT_JACKO1:
|
|
||||||
case MT_JACKO2:
|
|
||||||
case MT_JACKO3:
|
|
||||||
{
|
|
||||||
mobj_t *overlay = P_SpawnMobjFromMobj(mobj, 0, 0, 0, MT_OVERLAY);
|
|
||||||
P_SetTarget(&overlay->target, mobj);
|
|
||||||
P_SetMobjState(overlay, mobj->info->raisestate);
|
|
||||||
}
|
|
||||||
break;
|
break;
|
||||||
case MT_SMASHINGSPIKEBALL:
|
case MT_SMASHINGSPIKEBALL:
|
||||||
if (mthing->angle > 0)
|
if (mthing->angle > 0)
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue