Hardcoded LUA_THZT from THZ1.wad, giving us the funny-looking steam whistle tree

This concludes hardcoding of scenery items for THZ
This commit is contained in:
Monster Iestyn 2018-01-22 18:41:14 +00:00
parent 82ac8b6a1c
commit c0bb511c1f
4 changed files with 116 additions and 0 deletions

View file

@ -4714,6 +4714,22 @@ static const char *const STATE_LIST[] = { // array length left dynamic for sanit
"S_THZFLOWERB", // THZ1 Spin flower (red) "S_THZFLOWERB", // THZ1 Spin flower (red)
"S_THZFLOWERC", // THZ1 Spin flower (yellow) "S_THZFLOWERC", // THZ1 Spin flower (yellow)
// THZ Steam Whistle tree/bush
"S_THZTREE",
"S_THZTREEBRANCH1",
"S_THZTREEBRANCH2",
"S_THZTREEBRANCH3",
"S_THZTREEBRANCH4",
"S_THZTREEBRANCH5",
"S_THZTREEBRANCH6",
"S_THZTREEBRANCH7",
"S_THZTREEBRANCH8",
"S_THZTREEBRANCH9",
"S_THZTREEBRANCH10",
"S_THZTREEBRANCH11",
"S_THZTREEBRANCH12",
"S_THZTREEBRANCH13",
// THZ Alarm // THZ Alarm
"S_ALARM1", "S_ALARM1",
@ -6171,6 +6187,8 @@ static const char *const MOBJTYPE_LIST[] = { // array length left dynamic for s
"MT_THZFLOWER1", "MT_THZFLOWER1",
"MT_THZFLOWER2", "MT_THZFLOWER2",
"MT_THZFLOWER3", "MT_THZFLOWER3",
"MT_THZTREE", // Steam whistle tree/bush
"MT_THZTREEBRANCH", // branch of said tree
"MT_ALARM", "MT_ALARM",
// Deep Sea Scenery // Deep Sea Scenery

View file

@ -193,6 +193,7 @@ char sprnames[NUMSPRITES + 1][5] =
"THZP", // THZ1 Steam Flower "THZP", // THZ1 Steam Flower
"FWR5", // THZ1 Spin flower (red) "FWR5", // THZ1 Spin flower (red)
"FWR6", // THZ1 Spin flower (yellow) "FWR6", // THZ1 Spin flower (yellow)
"THZT", // Steam Whistle tree/bush
"ALRM", // THZ2 Alarm "ALRM", // THZ2 Alarm
// Deep Sea Scenery // Deep Sea Scenery
@ -1918,6 +1919,22 @@ state_t states[NUMSTATES] =
{SPR_FWR5, FF_ANIMATE, -1, {NULL}, 19, 2, S_NULL}, // S_THZFLOWERB {SPR_FWR5, FF_ANIMATE, -1, {NULL}, 19, 2, S_NULL}, // S_THZFLOWERB
{SPR_FWR6, FF_ANIMATE, -1, {NULL}, 19, 2, S_NULL}, // S_THZFLOWERC {SPR_FWR6, FF_ANIMATE, -1, {NULL}, 19, 2, S_NULL}, // S_THZFLOWERC
// THZ Steam Whistle tree/bush
{SPR_THZT, 0, -1, {NULL}, 0, 0, S_NULL}, // S_THZTREE
{SPR_THZT, 1|FF_PAPERSPRITE, 40, {NULL}, 0, 0, S_THZTREEBRANCH2}, // S_THZTREEBRANCH1
{SPR_THZT, 2|FF_PAPERSPRITE, 4, {NULL}, 0, 0, S_THZTREEBRANCH3}, // S_THZTREEBRANCH2
{SPR_THZT, 3|FF_PAPERSPRITE, 4, {NULL}, 0, 0, S_THZTREEBRANCH4}, // S_THZTREEBRANCH3
{SPR_THZT, 4|FF_PAPERSPRITE, 4, {NULL}, 0, 0, S_THZTREEBRANCH5}, // S_THZTREEBRANCH4
{SPR_THZT, 5|FF_PAPERSPRITE, 4, {NULL}, 0, 0, S_THZTREEBRANCH6}, // S_THZTREEBRANCH5
{SPR_THZT, 6|FF_PAPERSPRITE, 4, {NULL}, 0, 0, S_THZTREEBRANCH7}, // S_THZTREEBRANCH6
{SPR_THZT, 7|FF_PAPERSPRITE, 4, {NULL}, 0, 0, S_THZTREEBRANCH8}, // S_THZTREEBRANCH7
{SPR_THZT, 8|FF_PAPERSPRITE, 4, {NULL}, 0, 0, S_THZTREEBRANCH9}, // S_THZTREEBRANCH8
{SPR_THZT, 9|FF_PAPERSPRITE, 4, {NULL}, 0, 0, S_THZTREEBRANCH10}, // S_THZTREEBRANCH9
{SPR_THZT, 10|FF_PAPERSPRITE, 4, {NULL}, 0, 0, S_THZTREEBRANCH11}, // S_THZTREEBRANCH10
{SPR_THZT, 11|FF_PAPERSPRITE, 4, {NULL}, 0, 0, S_THZTREEBRANCH12}, // S_THZTREEBRANCH11
{SPR_THZT, 12|FF_PAPERSPRITE, 4, {NULL}, 0, 0, S_THZTREEBRANCH13}, // S_THZTREEBRANCH12
{SPR_THZT, 13|FF_PAPERSPRITE, 4, {NULL}, 0, 0, S_THZTREEBRANCH1}, // S_THZTREEBRANCH13
// THZ Alarm // THZ Alarm
{SPR_ALRM, FF_FULLBRIGHT, 35, {A_Scream}, 0, 0, S_ALARM1}, // S_ALARM1 {SPR_ALRM, FF_FULLBRIGHT, 35, {A_Scream}, 0, 0, S_ALARM1}, // S_ALARM1
@ -8670,6 +8687,60 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] =
S_NULL // raisestate S_NULL // raisestate
}, },
{ // MT_THZTREE
904, // doomednum
S_THZTREE, // 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
8, // speed
16*FRACUNIT, // radius
64*FRACUNIT, // height
0, // display offset
16, // mass
0, // damage
sfx_None, // activesound
MF_NOBLOCKMAP|MF_NOCLIP|MF_SCENERY, // flags
S_NULL // raisestate
},
{ // MT_THZTREEBRANCH
-1, // doomednum
S_THZTREEBRANCH1, // 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
8, // speed
1*FRACUNIT, // radius
1*FRACUNIT, // height
0, // display offset
16, // mass
0, // damage
sfx_None, // activesound
MF_NOBLOCKMAP|MF_NOCLIP|MF_SCENERY, // flags
S_NULL // raisestate
},
{ // MT_ALARM { // MT_ALARM
901, // doomednum 901, // doomednum
S_ALARM1, // spawnstate S_ALARM1, // spawnstate

View file

@ -393,6 +393,7 @@ typedef enum sprite
SPR_THZP, // THZ1 Steam Flower SPR_THZP, // THZ1 Steam Flower
SPR_FWR5, // THZ1 Spin flower (red) SPR_FWR5, // THZ1 Spin flower (red)
SPR_FWR6, // THZ1 Spin flower (yellow) SPR_FWR6, // THZ1 Spin flower (yellow)
SPR_THZT, // Steam Whistle tree/bush
SPR_ALRM, // THZ2 Alarm SPR_ALRM, // THZ2 Alarm
// Deep Sea Scenery // Deep Sea Scenery
@ -2026,6 +2027,22 @@ typedef enum state
S_THZFLOWERB, // THZ1 Spin flower (red) S_THZFLOWERB, // THZ1 Spin flower (red)
S_THZFLOWERC, // THZ1 Spin flower (yellow) S_THZFLOWERC, // THZ1 Spin flower (yellow)
// THZ Steam Whistle tree/bush
S_THZTREE,
S_THZTREEBRANCH1,
S_THZTREEBRANCH2,
S_THZTREEBRANCH3,
S_THZTREEBRANCH4,
S_THZTREEBRANCH5,
S_THZTREEBRANCH6,
S_THZTREEBRANCH7,
S_THZTREEBRANCH8,
S_THZTREEBRANCH9,
S_THZTREEBRANCH10,
S_THZTREEBRANCH11,
S_THZTREEBRANCH12,
S_THZTREEBRANCH13,
// THZ Alarm // THZ Alarm
S_ALARM1, S_ALARM1,
@ -3503,6 +3520,8 @@ typedef enum mobj_type
MT_THZFLOWER1, MT_THZFLOWER1,
MT_THZFLOWER2, MT_THZFLOWER2,
MT_THZFLOWER3, MT_THZFLOWER3,
MT_THZTREE, // Steam whistle tree/bush
MT_THZTREEBRANCH, // branch of said tree
MT_ALARM, MT_ALARM,
// Deep Sea Scenery // Deep Sea Scenery

View file

@ -10096,6 +10096,14 @@ domaceagain:
mobj->destscale = mobj->scale; mobj->destscale = mobj->scale;
} }
break; break;
case MT_THZTREE:
{ // Spawn the branches
angle_t mobjangle = FixedAngle(mthing->angle*FRACUNIT);
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;
default: default:
break; break;
} }