diff --git a/src/deh_tables.c b/src/deh_tables.c index 0c369b92e..474db3b43 100644 --- a/src/deh_tables.c +++ b/src/deh_tables.c @@ -3283,6 +3283,24 @@ const char *const STATE_LIST[] = { // array length left dynamic for sanity testi //"S_ITEMCAPSULE_BOTTOM", //"S_ITEMCAPSULE_INSIDE", + "S_MONITOR_DAMAGE", + "S_MONITOR_DEATH", + "S_MONITOR_SCREEN1A", + "S_MONITOR_SCREEN1B", + "S_MONITOR_SCREEN2A", + "S_MONITOR_SCREEN2B", + "S_MONITOR_SCREEN3A", + "S_MONITOR_SCREEN3B", + "S_MONITOR_SCREEN4A", + "S_MONITOR_SCREEN4B", + "S_MONITOR_STAND", + "S_MONITOR_CRACKA", + "S_MONITOR_CRACKB", + + "S_MONITOR_BIG_SHARD", + "S_MONITOR_SMALL_SHARD", + "S_MONITOR_TWINKLE", + "S_MAGICIANBOX", "S_MAGICIANBOXTOP", "S_MAGICIANBOXBOTTOM", @@ -5298,6 +5316,9 @@ const char *const MOBJTYPE_LIST[] = { // array length left dynamic for sanity t "MT_FLOATINGITEM", "MT_ITEMCAPSULE", "MT_ITEMCAPSULE_PART", + "MT_MONITOR", + "MT_MONITOR_PART", + "MT_MONITOR_SHARD", "MT_MAGICIANBOX", "MT_SIGNSPARKLE", diff --git a/src/info.c b/src/info.c index 8e3757190..4b748f796 100644 --- a/src/info.c +++ b/src/info.c @@ -548,6 +548,9 @@ char sprnames[NUMSPRITES + 1][5] = "MGBX", // Heavy Magician transform box "MGBT", // Heavy Magician transform box top "MGBB", // Heavy Magician transform box bottom + "MSHD", // Item Monitor Big Shard + "IMDB", // Item Monitor Small Shard (Debris) + "MTWK", // Item Monitor Glass Twinkle "WIPD", // Wipeout dust trail "DRIF", // Drift Sparks @@ -3900,6 +3903,24 @@ state_t states[NUMSTATES] = //{SPR_ICAP, FF_FLOORSPRITE|4, -1, {NULL}, 0, 0, S_NULL}, // S_ITEMCAPSULE_BOTTOM //{SPR_ICAP, FF_FLOORSPRITE|5, -1, {NULL}, 0, 0, S_NULL}, // S_ITEMCAPSULE_INSIDE + {SPR_NULL, 0, 1, {NULL}, 6, 1, S_SPAWNSTATE}, // S_MONITOR_DAMAGE + {SPR_NULL, 0, 1, {NULL}, 0, 0, S_NULL}, // S_MONITOR_DEATH + {SPR_IMON, FF_PAPERSPRITE|1, 1, {NULL}, 3, 1, S_MONITOR_SCREEN1B}, // S_MONITOR_SCREEN1A + {SPR_IMON, FF_PAPERSPRITE|0, 1, {NULL}, 3, 1, S_MONITOR_SCREEN2A}, // S_MONITOR_SCREEN1B + {SPR_IMON, FF_PAPERSPRITE|2, 1, {NULL}, 3, 1, S_MONITOR_SCREEN2B}, // S_MONITOR_SCREEN2A + {SPR_IMON, FF_PAPERSPRITE|0, 1, {NULL}, 3, 1, S_MONITOR_SCREEN3A}, // S_MONITOR_SCREEN2B + {SPR_IMON, FF_PAPERSPRITE|3, 1, {NULL}, 3, 1, S_MONITOR_SCREEN3B}, // S_MONITOR_SCREEN3A + {SPR_IMON, FF_PAPERSPRITE|0, 1, {NULL}, 3, 1, S_MONITOR_SCREEN4A}, // S_MONITOR_SCREEN3B + {SPR_IMON, FF_PAPERSPRITE|4, 1, {NULL}, 3, 1, S_MONITOR_SCREEN4B}, // S_MONITOR_SCREEN4A + {SPR_IMON, FF_PAPERSPRITE|0, 1, {NULL}, 3, 1, S_MONITOR_SCREEN1A}, // S_MONITOR_SCREEN4B + {SPR_IMON, FF_PAPERSPRITE|5, -1, {NULL}, 3, 1, S_NULL}, // S_MONITOR_STAND + {SPR_NULL, FF_PAPERSPRITE|FF_TRANS50|FF_ADD|6, -1, {NULL}, 3, 35, S_NULL}, // S_MONITOR_CRACKA + {SPR_NULL, FF_PAPERSPRITE|FF_TRANS50|FF_SUBTRACT|10, -1, {NULL}, 3, 35, S_NULL}, // S_MONITOR_CRACKB + + {SPR_MSHD, FF_FULLBRIGHT|FF_ANIMATE|FF_RANDOMANIM, -1, {NULL}, 7, 2, S_NULL}, // S_MONITOR_BIG_SHARD + {SPR_IMDB, FF_FULLBRIGHT, -1, {NULL}, 0, 0, S_NULL}, // S_MONITOR_SMALL_SHARD + {SPR_MTWK, FF_FULLBRIGHT, -1, {NULL}, 0, 0, S_NULL}, // S_MONITOR_TWINKLE + {SPR_MGBX, FF_PAPERSPRITE|0, -1, {NULL}, 0, 0, S_NULL}, // S_MAGICIANBOX {SPR_MGBT, FF_FLOORSPRITE|0, -1, {NULL}, 0, 0, S_NULL}, // S_MAGICIANBOX_TOP {SPR_MGBB, FF_FLOORSPRITE|0, -1, {NULL}, 0, 0, S_NULL}, // S_MAGICIANBOX_BOTTOM @@ -22420,6 +22441,87 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] = S_NULL // raisestate }, + { // MT_MONITOR + -1, // doomednum + S_INVISIBLE, // spawnstate + FRACUNIT, // spawnhealth + S_NULL, // seestate + sfx_None, // seesound + 0, // reactiontime + sfx_None, // attacksound + S_MONITOR_DAMAGE, // painstate + 0, // painchance + sfx_None, // painsound + S_NULL, // meleestate + S_NULL, // missilestate + S_MONITOR_DEATH, // deathstate + S_NULL, // xdeathstate + sfx_None, // deathsound + 0, // speed + 32*FRACUNIT, // radius + 112*FRACUNIT, // height + 0, // display offset + 100, // mass + 0, // damage + sfx_None, // activesound + MF_SOLID|MF_SHOOTABLE|MF_SLIDEME|MF_DONTENCOREMAP|MF_NOHITLAGFORME, // flags + S_NULL // raisestate + }, + + { // MT_MONITOR_PART + -1, // doomednum + S_INVISIBLE, // 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 + 0, // speed + 32*FRACUNIT, // radius + 112*FRACUNIT, // height + 0, // display offset + 100, // mass + 0, // damage + sfx_None, // activesound + MF_NOGRAVITY|MF_NOBLOCKMAP|MF_NOCLIP|MF_NOCLIPTHING|MF_NOCLIPHEIGHT|MF_NOSQUISH, // flags + S_NULL // raisestate + }, + + { // MT_MONITOR_SHARD + -1, // doomednum + S_MONITOR_BIG_SHARD, // 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 + 0, // speed + 32*FRACUNIT, // radius + 32*FRACUNIT, // height + 0, // display offset + 100, // mass + 0, // damage + sfx_None, // activesound + MF_SCENERY|MF_NOBLOCKMAP|MF_NOCLIP|MF_NOCLIPTHING|MF_NOSQUISH, // flags + S_NULL // raisestate + }, + { // MT_MAGICIANBOX -1, // doomednum S_MAGICIANBOX, // spawnstate diff --git a/src/info.h b/src/info.h index d0d5228e3..780b53320 100644 --- a/src/info.h +++ b/src/info.h @@ -1099,6 +1099,9 @@ typedef enum sprite SPR_MGBX, // Heavy Magician transform box SPR_MGBT, // Heavy Magician transform box top SPR_MGBB, // Heavy Magician transform box bottom + SPR_MSHD, // Item Monitor Big Shard + SPR_IMDB, // Item Monitor Small Shard (Debris) + SPR_MTWK, // Item Monitor Glass Twinkle SPR_WIPD, // Wipeout dust trail SPR_DRIF, // Drift Sparks @@ -4309,6 +4312,24 @@ typedef enum state //S_ITEMCAPSULE_BOTTOM, //S_ITEMCAPSULE_INSIDE, + S_MONITOR_DAMAGE, + S_MONITOR_DEATH, + S_MONITOR_SCREEN1A, + S_MONITOR_SCREEN1B, + S_MONITOR_SCREEN2A, + S_MONITOR_SCREEN2B, + S_MONITOR_SCREEN3A, + S_MONITOR_SCREEN3B, + S_MONITOR_SCREEN4A, + S_MONITOR_SCREEN4B, + S_MONITOR_STAND, + S_MONITOR_CRACKA, + S_MONITOR_CRACKB, + + S_MONITOR_BIG_SHARD, + S_MONITOR_SMALL_SHARD, + S_MONITOR_TWINKLE, + S_MAGICIANBOX, S_MAGICIANBOX_TOP, S_MAGICIANBOX_BOTTOM, @@ -6360,6 +6381,9 @@ typedef enum mobj_type MT_FLOATINGITEM, MT_ITEMCAPSULE, MT_ITEMCAPSULE_PART, + MT_MONITOR, + MT_MONITOR_PART, + MT_MONITOR_SHARD, MT_MAGICIANBOX, MT_SIGNSPARKLE,