mirror of
https://git.do.srb2.org/STJr/SRB2.git
synced 2025-01-18 23:42:11 +00:00
Hardcode the bomb's explosion states, the dust object type and states, and the sprite prefixes for both
This commit is contained in:
parent
e60b0b1a80
commit
677801f5ff
4 changed files with 77 additions and 1 deletions
|
@ -4788,6 +4788,20 @@ static const char *const STATE_LIST[] = { // array length left dynamic for sanit
|
||||||
|
|
||||||
"S_FBOMB1",
|
"S_FBOMB1",
|
||||||
"S_FBOMB2",
|
"S_FBOMB2",
|
||||||
|
"S_FBOMB_EXPL1",
|
||||||
|
"S_FBOMB_EXPL2",
|
||||||
|
"S_FBOMB_EXPL3",
|
||||||
|
"S_FBOMB_EXPL4",
|
||||||
|
"S_FBOMB_EXPL5",
|
||||||
|
"S_FBOMB_EXPL6",
|
||||||
|
"S_TNTDUST_1",
|
||||||
|
"S_TNTDUST_2",
|
||||||
|
"S_TNTDUST_3",
|
||||||
|
"S_TNTDUST_4",
|
||||||
|
"S_TNTDUST_5",
|
||||||
|
"S_TNTDUST_6",
|
||||||
|
"S_TNTDUST_7",
|
||||||
|
"S_TNTDUST_8",
|
||||||
"S_FSGNA",
|
"S_FSGNA",
|
||||||
"S_FSGNB",
|
"S_FSGNB",
|
||||||
"S_FSGNC",
|
"S_FSGNC",
|
||||||
|
@ -7095,6 +7109,7 @@ static const char *const MOBJTYPE_LIST[] = { // array length left dynamic for s
|
||||||
// Boss 5
|
// Boss 5
|
||||||
"MT_FANG",
|
"MT_FANG",
|
||||||
"MT_FBOMB",
|
"MT_FBOMB",
|
||||||
|
"MT_TNTDUST", // also used by barrel
|
||||||
"MT_FSGNA",
|
"MT_FSGNA",
|
||||||
"MT_FSGNB",
|
"MT_FSGNB",
|
||||||
"MT_FANGWAYPOINT",
|
"MT_FANGWAYPOINT",
|
||||||
|
|
|
@ -202,6 +202,8 @@ light_t *t_lspr[NUMSPRITES] =
|
||||||
&lspr[NOLIGHT], //SPR_FANG // replaces EGGQ
|
&lspr[NOLIGHT], //SPR_FANG // replaces EGGQ
|
||||||
&lspr[NOLIGHT], //SPR_FBOM
|
&lspr[NOLIGHT], //SPR_FBOM
|
||||||
&lspr[NOLIGHT], //SPR_FSGN
|
&lspr[NOLIGHT], //SPR_FSGN
|
||||||
|
&lspr[REDBALL_L], //SPR_BARX // bomb explosion (also used by barrel)
|
||||||
|
&lspr[NOLIGHT], //SPR_BARD // bomb dust (also used by barrel)
|
||||||
|
|
||||||
// Boss 6 (Red Volcano)
|
// Boss 6 (Red Volcano)
|
||||||
&lspr[NOLIGHT], // SPR_EEGR
|
&lspr[NOLIGHT], // SPR_EEGR
|
||||||
|
|
44
src/info.c
44
src/info.c
|
@ -90,6 +90,8 @@ char sprnames[NUMSPRITES + 1][5] =
|
||||||
"FANG", // replaces EGGQ
|
"FANG", // replaces EGGQ
|
||||||
"FBOM",
|
"FBOM",
|
||||||
"FSGN",
|
"FSGN",
|
||||||
|
"BARX", // bomb explosion (also used by barrel)
|
||||||
|
"BARD", // bomb dust (also used by barrel)
|
||||||
|
|
||||||
// Boss 6 (Red Volcano)
|
// Boss 6 (Red Volcano)
|
||||||
"EGGR",
|
"EGGR",
|
||||||
|
@ -1410,6 +1412,20 @@ state_t states[NUMSTATES] =
|
||||||
|
|
||||||
{SPR_FBOM, 0, 1, {A_GhostMe}, 0, 0, S_FBOMB2}, // S_FBOMB1
|
{SPR_FBOM, 0, 1, {A_GhostMe}, 0, 0, S_FBOMB2}, // S_FBOMB1
|
||||||
{SPR_FBOM, 1, 1, {A_GhostMe}, 0, 0, S_FBOMB1}, // S_FBOMB2
|
{SPR_FBOM, 1, 1, {A_GhostMe}, 0, 0, S_FBOMB1}, // S_FBOMB2
|
||||||
|
{SPR_BARX, 0|FF_FULLBRIGHT, 3, {A_SetObjectFlags}, MF_NOCLIP|MF_NOGRAVITY|MF_NOBLOCKMAP, 0, S_FBOMB_EXPL2}, // S_FBOMB_EXPL1
|
||||||
|
{SPR_BARX, 1|FF_FULLBRIGHT, 2, {A_Boss5BombExplode}, MT_TNTDUST, 0, S_FBOMB_EXPL3}, // S_FBOMB_EXPL2
|
||||||
|
{SPR_BARX, 1|FF_FULLBRIGHT, 1, {NULL}, 0, 0, S_FBOMB_EXPL4}, // S_FBOMB_EXPL3
|
||||||
|
{SPR_BARX, 2|FF_FULLBRIGHT, 3, {NULL}, 0, 0, S_FBOMB_EXPL5}, // S_FBOMB_EXPL4
|
||||||
|
{SPR_BARX, 3|FF_FULLBRIGHT, 3, {NULL}, 0, 0, S_FBOMB_EXPL6}, // S_FBOMB_EXPL5
|
||||||
|
{SPR_NULL, 0, 2*TICRATE, {NULL}, 0, 0, S_NULL}, // S_FBOMB_EXPL6
|
||||||
|
{SPR_BARD, 0|FF_TRANS90, 2, {NULL}, 0, 0, S_TNTDUST_2}, // S_TNTDUST_1
|
||||||
|
{SPR_BARD, 0|FF_TRANS30, 2*TICRATE, {A_SetRandomTics}, 2, TICRATE, S_TNTDUST_3}, // S_TNTDUST_2
|
||||||
|
{SPR_BARD, 0|FF_TRANS40, 10, {NULL}, 0, 0, S_TNTDUST_4}, // S_TNTDUST_3
|
||||||
|
{SPR_BARD, 0|FF_TRANS50, 10, {NULL}, 0, 0, S_TNTDUST_5}, // S_TNTDUST_4
|
||||||
|
{SPR_BARD, 0|FF_TRANS60, 10, {NULL}, 0, 0, S_TNTDUST_6}, // S_TNTDUST_5
|
||||||
|
{SPR_BARD, 0|FF_TRANS70, 10, {NULL}, 0, 0, S_TNTDUST_7}, // S_TNTDUST_6
|
||||||
|
{SPR_BARD, 0|FF_TRANS80, 10, {NULL}, 0, 0, S_TNTDUST_8}, // S_TNTDUST_7
|
||||||
|
{SPR_BARD, 0|FF_TRANS90, 10, {NULL}, 0, 0, S_NULL}, // S_TNTDUST_8
|
||||||
{SPR_FSGN, 0|FF_PAPERSPRITE, -1, {NULL}, 0, 0, S_NULL}, // S_FSGNA
|
{SPR_FSGN, 0|FF_PAPERSPRITE, -1, {NULL}, 0, 0, S_NULL}, // S_FSGNA
|
||||||
{SPR_FSGN, 1|FF_PAPERSPRITE, -1, {NULL}, 0, 0, S_NULL}, // S_FSGNB
|
{SPR_FSGN, 1|FF_PAPERSPRITE, -1, {NULL}, 0, 0, S_NULL}, // S_FSGNB
|
||||||
{SPR_FSGN, 2|FF_PAPERSPRITE, -1, {NULL}, 0, 0, S_NULL}, // S_FSGNC
|
{SPR_FSGN, 2|FF_PAPERSPRITE, -1, {NULL}, 0, 0, S_NULL}, // S_FSGNC
|
||||||
|
@ -5398,7 +5414,7 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] =
|
||||||
sfx_None, // painsound
|
sfx_None, // painsound
|
||||||
S_NULL, // meleestate
|
S_NULL, // meleestate
|
||||||
S_NULL, // missilestate
|
S_NULL, // missilestate
|
||||||
S_NULL, //S_TNTBARREL_EXPL1, // deathstate
|
S_FBOMB_EXPL1, // deathstate
|
||||||
S_NULL, // xdeathstate
|
S_NULL, // xdeathstate
|
||||||
sfx_s3k4e, // deathsound
|
sfx_s3k4e, // deathsound
|
||||||
20*FRACUNIT, // speed
|
20*FRACUNIT, // speed
|
||||||
|
@ -5412,6 +5428,32 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] =
|
||||||
S_NULL // raisestate
|
S_NULL // raisestate
|
||||||
},
|
},
|
||||||
|
|
||||||
|
{ // MT_TNTDUST
|
||||||
|
-1, // doomednum
|
||||||
|
S_TNTDUST_1, // spawnstate
|
||||||
|
1, // spawnhealth
|
||||||
|
S_NULL, // seestate
|
||||||
|
sfx_None, // seesound
|
||||||
|
0, // 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
|
||||||
|
20*FRACUNIT, // speed
|
||||||
|
16*FRACUNIT, // radius
|
||||||
|
32*FRACUNIT, // height
|
||||||
|
0, // display offset
|
||||||
|
100, // mass
|
||||||
|
0, // damage
|
||||||
|
sfx_None, // activesound
|
||||||
|
MF_NOGRAVITY|MF_NOBLOCKMAP|MF_NOCLIP|MF_SCENERY, // flags
|
||||||
|
S_NULL // raisestate
|
||||||
|
},
|
||||||
{ // MT_FSGNA
|
{ // MT_FSGNA
|
||||||
-1, // doomednum
|
-1, // doomednum
|
||||||
S_FSGNA, // spawnstate
|
S_FSGNA, // spawnstate
|
||||||
|
|
17
src/info.h
17
src/info.h
|
@ -321,6 +321,8 @@ typedef enum sprite
|
||||||
SPR_FANG, // replaces EGGQ
|
SPR_FANG, // replaces EGGQ
|
||||||
SPR_FBOM,
|
SPR_FBOM,
|
||||||
SPR_FSGN,
|
SPR_FSGN,
|
||||||
|
SPR_BARX, // bomb explosion (also used by barrel)
|
||||||
|
SPR_BARD, // bomb dust (also used by barrel)
|
||||||
|
|
||||||
// Boss 6 (Red Volcano)
|
// Boss 6 (Red Volcano)
|
||||||
SPR_EGGR,
|
SPR_EGGR,
|
||||||
|
@ -1531,6 +1533,20 @@ typedef enum state
|
||||||
|
|
||||||
S_FBOMB1,
|
S_FBOMB1,
|
||||||
S_FBOMB2,
|
S_FBOMB2,
|
||||||
|
S_FBOMB_EXPL1,
|
||||||
|
S_FBOMB_EXPL2,
|
||||||
|
S_FBOMB_EXPL3,
|
||||||
|
S_FBOMB_EXPL4,
|
||||||
|
S_FBOMB_EXPL5,
|
||||||
|
S_FBOMB_EXPL6,
|
||||||
|
S_TNTDUST_1,
|
||||||
|
S_TNTDUST_2,
|
||||||
|
S_TNTDUST_3,
|
||||||
|
S_TNTDUST_4,
|
||||||
|
S_TNTDUST_5,
|
||||||
|
S_TNTDUST_6,
|
||||||
|
S_TNTDUST_7,
|
||||||
|
S_TNTDUST_8,
|
||||||
S_FSGNA,
|
S_FSGNA,
|
||||||
S_FSGNB,
|
S_FSGNB,
|
||||||
S_FSGNC,
|
S_FSGNC,
|
||||||
|
@ -3858,6 +3874,7 @@ typedef enum mobj_type
|
||||||
// Boss 5
|
// Boss 5
|
||||||
MT_FANG,
|
MT_FANG,
|
||||||
MT_FBOMB,
|
MT_FBOMB,
|
||||||
|
MT_TNTDUST, // also used by barrel
|
||||||
MT_FSGNA,
|
MT_FSGNA,
|
||||||
MT_FSGNB,
|
MT_FSGNB,
|
||||||
MT_FANGWAYPOINT,
|
MT_FANGWAYPOINT,
|
||||||
|
|
Loading…
Reference in a new issue