diff --git a/src/dehacked.c b/src/dehacked.c index ba079671..0cf08b50 100644 --- a/src/dehacked.c +++ b/src/dehacked.c @@ -6776,6 +6776,7 @@ static const char *const STATE_LIST[] = { // array length left dynamic for sanit "S_KLIT12", // Various plants + "S_SONICBUSH", "S_SHRUB", "S_TALLBUSH", "S_AZURECITYTREE", @@ -6815,6 +6816,21 @@ static const char *const STATE_LIST[] = { // array length left dynamic for sanit "S_VVVAPING5", "S_VVVAPE", + // Hill Top Zone + "S_HTZTREE", + "S_HTZBUSH", + + // Ports of gardens + "S_SGVINE1", + "S_SGVINE2", + "S_SGVINE3", + "S_PGTREE", + "S_PGFLOWER1", + "S_PGFLOWER2", + "S_PGFLOWER3", + "S_PGBUSH", + "S_DHPILLAR", + #ifdef SEENAMES "S_NAMECHECK", #endif @@ -7473,6 +7489,7 @@ static const char *const MOBJTYPE_LIST[] = { // array length left dynamic for s "MT_KARMAWHEEL", // Various plants + "MT_SONICBUSH", "MT_SHRUB", "MT_TALLBUSH", "MT_AZURECITYTREE", @@ -7498,6 +7515,21 @@ static const char *const MOBJTYPE_LIST[] = { // array length left dynamic for s "MT_PETSMOKE", "MT_VVVAPE", + // Hill Top Zone + "MT_HTZTREE", + "MT_HTZBUSH", + + // Ports of gardens + "MT_SGVINE1", + "MT_SGVINE2", + "MT_SGVINE3", + "MT_PGTREE", + "MT_PGFLOWER1", + "MT_PGFLOWER2", + "MT_PGFLOWER3", + "MT_PGBUSH", + "MT_DHPILLAR", + #ifdef SEENAMES "MT_NAMECHECK", #endif diff --git a/src/info.c b/src/info.c index b885084d..617975b0 100644 --- a/src/info.c +++ b/src/info.c @@ -61,8 +61,9 @@ char sprnames[NUMSPRITES + 1][5] = "DEZL","POKE","AUDI","DECO","DOOD","SNES","GBAS","SPRS","BUZB","CHOM", "SACO","CRAB","SHAD","BRNG","BUMP","FLEN","CLAS","PSHW","ISTA","ISTB", "ARRO","ITEM","ITMO","ITMI","ITMN","WANT","PBOM","RETI","AIDU","KSPK", - "LZI1","LZI2","KLIT","PALM","SHRB","TWEE","MARB","FUFO","RUST","BLON", - "VAPE", + "LZI1","LZI2","KLIT","SBUS","SHRB","TWEE","MARB","FUFO","RUST","BLON", + "VAPE","HTZA","HTZB","SGVA","SGVB","SGVC","PGTR","PGF1","PGF2","PGF3", + "PGBH","DPLR", "XMS4","XMS5", "VIEW" }; @@ -3074,6 +3075,7 @@ state_t states[NUMSTATES] = {SPR_NULL, FF_FULLBRIGHT|FF_PAPERSPRITE, 2, {A_LightningFollowPlayer}, 0, 0, S_KLIT1}, // S_KLIT12 // Various plants + {SPR_SBUS, 0, -1, {NULL}, 0, 0, S_NULL}, // S_SONICBUSH {SPR_SHRB, 0, -1, {NULL}, 0, 0, S_NULL}, // S_SHRUB {SPR_BUS2, 1, -1, {NULL}, 0, 0, S_NULL}, // S_TALLBUSH {SPR_TWEE, 0, -1, {NULL}, 0, 0, S_NULL}, // S_AZURECITYTREE @@ -3113,6 +3115,21 @@ state_t states[NUMSTATES] = {SPR_VAPE, 4, 35, {A_BubbleRise}, 0, 50096, S_NULL}, // S_VVVAPING5 {SPR_VAPE, FF_ANIMATE|FF_TRANS30, -1, {NULL}, 6, 6, S_NULL}, // S_VVVAPE + // Hill Top Zone + {SPR_HTZA, 0, -1, {A_SetScale}, 2*FRACUNIT, 0, S_NULL}, // S_HTZTREE + {SPR_HTZB, 0, -1, {A_SetScale}, 2*FRACUNIT, 0, S_NULL}, // S_HTZBUSH + + // Ports of gardens + {SPR_SGVA, 0, 1, {NULL}, 0, 0, S_NULL}, // S_SGVINE1 + {SPR_SGVB, 0, 1, {NULL}, 0, 0, S_NULL}, // S_SGVINE2 + {SPR_SGVC, 0, 1, {NULL}, 0, 0, S_NULL}, // S_SGVINE3 + {SPR_PGTR, 0, 1, {NULL}, 0, 0, S_NULL}, // S_PGTREE + {SPR_PGF1, 0, 1, {NULL}, 0, 0, S_NULL}, // S_PGFLOWER1 + {SPR_PGF2, 0, 1, {NULL}, 0, 0, S_NULL}, // S_PGFLOWER2 + {SPR_PGF3, 0, 1, {NULL}, 0, 0, S_NULL}, // S_PGFLOWER3 + {SPR_PGBH, 0, 1, {NULL}, 0, 0, S_NULL}, // S_PGBUSH + {SPR_DPLR, 0, 1, {NULL}, 0, 0, S_NULL}, // S_DHPILLAR + #ifdef SEENAMES {SPR_NULL, 0, 1, {NULL}, 0, 0, S_NULL}, // S_NAMECHECK #endif @@ -17366,6 +17383,33 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] = S_NULL // raisestate }, + { // MT_SONICBUSH, + 715, // doomednum + S_SONICBUSH, // 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 + 192*FRACUNIT, // radius + 922*FRACUNIT, // height + 0, // display offset + 0, // mass + 0, // damage + sfx_None, // activesound + MF_NOTHINK|MF_SOLID, // flags + S_NULL // raisestate + }, + { // MT_SHRUB, 4022, // doomednum S_SHRUB, // spawnstate @@ -17744,6 +17788,303 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] = S_NULL // raisestate }, + { // MT_HTZTREE + 716, // doomednum + S_HTZTREE, // 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 + 5*FRACUNIT, // radius + 204*FRACUNIT, // height + 0, // display offset + 100, // mass + 0, // damage + sfx_None, // activesound + MF_SCENERY|MF_SOLID|MF_RUNSPAWNFUNC|MF_DONTENCOREMAP, // flags + S_NULL // raisestate + }, + + { // MT_HTZBUSH + 717, // doomednum + S_HTZBUSH, // 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 + 38*FRACUNIT, // height + 0, // display offset + 100, // mass + 0, // damage + sfx_None, // activesound + MF_NOBLOCKMAP|MF_NOCLIP|MF_NOTHINK|MF_SCENERY|MF_RUNSPAWNFUNC, // flags + S_NULL // raisestate + }, + + { // MT_SGVINE1 + 718, // doomednum + S_SGVINE1, // 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 + 32*FRACUNIT, // radius + 256*FRACUNIT, // height + 0, // display offset + 100, // mass + 0, // damage + sfx_None, // activesound + MF_SOLID|MF_SCENERY, // flags + S_NULL // raisestate + }, + + { // MT_SGVINE2 + 719, // doomednum + S_SGVINE2, // 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 + 17*FRACUNIT, // radius + 48*FRACUNIT, // height + 0, // display offset + 100, // mass + 0, // damage + sfx_None, // activesound + MF_NOBLOCKMAP|MF_NOCLIP|MF_NOTHINK|MF_SCENERY, // flags + S_NULL // raisestate + }, + + { // MT_SGVINE3 + 720, // doomednum + S_SGVINE3, // 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 + 17*FRACUNIT, // radius + 48*FRACUNIT, // height + 0, // display offset + 100, // mass + 0, // damage + sfx_None, // activesound + MF_NOBLOCKMAP|MF_NOCLIP|MF_NOTHINK|MF_SCENERY, // flags + S_NULL // raisestate + }, + + { // MT_PGTREE + 711, // doomednum + S_PGTREE, // 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 + 30*FRACUNIT, // radius + 504*FRACUNIT, // height + 0, // display offset + 100, // mass + 0, // damage + sfx_None, // activesound + MF_SOLID|MF_SCENERY, // flags + S_NULL // raisestate + }, + + { // MT_PGFLOWER1 + 712, // doomednum + S_PGFLOWER1, // 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 + 17*FRACUNIT, // radius + 48*FRACUNIT, // height + 0, // display offset + 100, // mass + 0, // damage + sfx_None, // activesound + MF_NOBLOCKMAP|MF_NOCLIP|MF_NOTHINK|MF_SCENERY, // flags + S_NULL // raisestate + }, + + { // MT_PGFLOWER2 + 713, // doomednum + S_PGFLOWER2, // 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 + 17*FRACUNIT, // radius + 48*FRACUNIT, // height + 0, // display offset + 100, // mass + 0, // damage + sfx_None, // activesound + MF_NOBLOCKMAP|MF_NOCLIP|MF_NOTHINK|MF_SCENERY, // flags + S_NULL // raisestate + }, + + { // MT_PGFLOWER3 + 714, // doomednum + S_PGFLOWER3, // 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 + 17*FRACUNIT, // radius + 48*FRACUNIT, // height + 0, // display offset + 100, // mass + 0, // damage + sfx_None, // activesound + MF_NOBLOCKMAP|MF_NOCLIP|MF_NOTHINK|MF_SCENERY, // flags + S_NULL // raisestate + }, + + { // MT_PGBUSH + 715, // doomednum + S_PGBUSH, // 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 + 384*FRACUNIT, // radius + 922*FRACUNIT, // height + 0, // display offset + 100, // mass + 0, // damage + sfx_None, // activesound + MF_SOLID|MF_SCENERY, // flags + S_NULL // raisestate + }, + + { // MT_DHPILLAR + 1960, // doomednum + S_DHPILLAR, // 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 + 58*FRACUNIT, // radius + 256*FRACUNIT, // height + 0, // display offset + 100, // mass + 0, // damage + sfx_None, // activesound + MF_NOTHINK|MF_NOBLOCKMAP|MF_NOCLIP, // flags + S_NULL // raisestate + }, + // ============================================================================================================================// #ifdef SEENAMES diff --git a/src/info.h b/src/info.h index 237cc451..53f8b507 100644 --- a/src/info.h +++ b/src/info.h @@ -655,7 +655,7 @@ typedef enum sprite SPR_KLIT, // You have a twisted mind. But this actually is for the diagonal lightning. // Various plants - SPR_PALM, + SPR_SBUS, SPR_SHRB, SPR_TWEE, @@ -668,6 +668,21 @@ typedef enum sprite SPR_VAPE, // Volcanic Valley + // Hill Top Zone + SPR_HTZA, + SPR_HTZB, + + // Ports of gardens + SPR_SGVA, + SPR_SGVB, + SPR_SGVC, + SPR_PGTR, + SPR_PGF1, + SPR_PGF2, + SPR_PGF3, + SPR_PGBH, + SPR_DPLR, + // Xmas-specific sprites that don't fit aboxe SPR_XMS4, SPR_XMS5, @@ -3637,6 +3652,7 @@ typedef enum state S_KLIT12, // Various plants + S_SONICBUSH, S_SHRUB, S_TALLBUSH, S_AZURECITYTREE, @@ -3676,6 +3692,21 @@ typedef enum state S_VVVAPING5, S_VVVAPE, + // Hill Top Zone + S_HTZTREE, + S_HTZBUSH, + + // Ports of gardens + S_SGVINE1, + S_SGVINE2, + S_SGVINE3, + S_PGTREE, + S_PGFLOWER1, + S_PGFLOWER2, + S_PGFLOWER3, + S_PGBUSH, + S_DHPILLAR, + #ifdef SEENAMES S_NAMECHECK, #endif @@ -4351,6 +4382,7 @@ typedef enum mobj_type MT_KARMAWHEEL, // Various plants + MT_SONICBUSH, MT_SHRUB, MT_TALLBUSH, MT_AZURECITYTREE, @@ -4376,6 +4408,21 @@ typedef enum mobj_type MT_PETSMOKE, MT_VVVAPE, + // Hill Top Zone + MT_HTZTREE, + MT_HTZBUSH, + + // Ports of gardens + MT_SGVINE1, + MT_SGVINE2, + MT_SGVINE3, + MT_PGTREE, + MT_PGFLOWER1, + MT_PGFLOWER2, + MT_PGFLOWER3, + MT_PGBUSH, + MT_DHPILLAR, + #ifdef SEENAMES MT_NAMECHECK, #endif