mirror of
https://git.do.srb2.org/STJr/SRB2.git
synced 2025-02-24 04:32:11 +00:00
Silver Shiver trees
This commit is contained in:
parent
ae0886e279
commit
41a8bb2d24
6 changed files with 163 additions and 0 deletions
|
@ -2245,6 +2245,10 @@ const char *const STATE_LIST[] = { // array length left dynamic for sanity testi
|
|||
"S_LAMPPOST2", // with snow
|
||||
"S_HANGSTAR",
|
||||
"S_MISTLETOE",
|
||||
"S_SSZTREE",
|
||||
"S_SSZTREE_BRANCH",
|
||||
"S_SSZTREE2",
|
||||
"S_SSZTREE2_BRANCH",
|
||||
// Xmas GFZ bushes
|
||||
"S_XMASBLUEBERRYBUSH",
|
||||
"S_XMASBERRYBUSH",
|
||||
|
@ -4114,6 +4118,10 @@ const char *const MOBJTYPE_LIST[] = { // array length left dynamic for sanity t
|
|||
"MT_LAMPPOST2", // with snow
|
||||
"MT_HANGSTAR",
|
||||
"MT_MISTLETOE",
|
||||
"MT_SSZTREE",
|
||||
"MT_SSZTREE_BRANCH",
|
||||
"MT_SSZTREE2",
|
||||
"MT_SSZTREE2_BRANCH",
|
||||
// Xmas GFZ bushes
|
||||
"MT_XMASBLUEBERRYBUSH",
|
||||
"MT_XMASBERRYBUSH",
|
||||
|
|
|
@ -1128,6 +1128,7 @@ static const char *credits[] = {
|
|||
"David \"Instant Sonic\" Spencer Jr.",
|
||||
"\"SSNTails\"",
|
||||
"Daniel \"Inazuma\" Trinh",
|
||||
"Samuel \"Spectorious\" Tuttle",
|
||||
"\"VelocitOni\"",
|
||||
"Jarrett \"JEV3\" Voight",
|
||||
"",
|
||||
|
|
|
@ -395,6 +395,8 @@ light_t *t_lspr[NUMSPRITES] =
|
|||
&lspr[NOLIGHT], // SPR_XMS4
|
||||
&lspr[NOLIGHT], // SPR_XMS5
|
||||
&lspr[NOLIGHT], // SPR_XMS6
|
||||
&lspr[NOLIGHT], // SPR_SNTT
|
||||
&lspr[NOLIGHT], // SPR_SSTT
|
||||
&lspr[NOLIGHT], // SPR_FHZI
|
||||
&lspr[NOLIGHT], // SPR_ROSY
|
||||
|
||||
|
|
114
src/info.c
114
src/info.c
|
@ -306,6 +306,8 @@ char sprnames[NUMSPRITES + 1][MAXSPRITENAME + 1] =
|
|||
"XMS4", // Lamppost
|
||||
"XMS5", // Hanging Star
|
||||
"XMS6", // Mistletoe
|
||||
"SNTT", // Silver Shiver tree
|
||||
"SSTT", // Silver Shiver tree with snow
|
||||
"FHZI", // FHZ ice
|
||||
"ROSY",
|
||||
|
||||
|
@ -2658,6 +2660,10 @@ state_t states[NUMSTATES] =
|
|||
{SPR_XMS4, 1, -1, {NULL}, 0, 0, S_NULL, 0}, // S_LAMPPOST2
|
||||
{SPR_XMS5, 0, -1, {NULL}, 0, 0, S_NULL, 0}, // S_HANGSTAR
|
||||
{SPR_XMS6, 0, -1, {NULL}, 0, 0, S_NULL, 0}, // S_MISTLETOE
|
||||
{SPR_SNTT, 0, -1, {NULL}, 0, 0, S_NULL, 0}, // S_SSZTREE
|
||||
{SPR_SNTT, 1|FF_PAPERSPRITE, -1, {NULL}, 0, 0, S_NULL, 0}, // S_SSZTREE_BRANCH
|
||||
{SPR_SSTT, 0, -1, {NULL}, 0, 0, S_NULL, 0}, // S_SSZTREE2
|
||||
{SPR_SSTT, 1|FF_PAPERSPRITE, -1, {NULL}, 0, 0, S_NULL, 0}, // S_SSZTREE2_BRANCH
|
||||
// Xmas GFZ bushes
|
||||
{SPR_BUS3, 1, -1, {NULL}, 0, 0, S_NULL, 0}, // S_XMASBLUEBERRYBUSH
|
||||
{SPR_BUS1, 1, -1, {NULL}, 0, 0, S_NULL, 0}, // S_XMASBERRYBUSH
|
||||
|
@ -14885,6 +14891,114 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] =
|
|||
S_NULL // raisestate
|
||||
},
|
||||
|
||||
{ // MT_SSZTREE
|
||||
1860, // doomednum
|
||||
S_SSZTREE, // 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
|
||||
20*FRACUNIT, // radius
|
||||
256*FRACUNIT, // height
|
||||
0, // display offset
|
||||
100, // mass
|
||||
1, // damage
|
||||
sfx_None, // activesound
|
||||
MF_SOLID|MF_SCENERY, // flags
|
||||
S_NULL // raisestate
|
||||
},
|
||||
|
||||
{ // MT_SSZTREE_BRANCH
|
||||
-1, // doomednum
|
||||
S_SSZTREE_BRANCH, // 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
|
||||
20*FRACUNIT, // radius
|
||||
256*FRACUNIT, // height
|
||||
0, // display offset
|
||||
100, // mass
|
||||
1, // damage
|
||||
sfx_None, // activesound
|
||||
MF_NOBLOCKMAP|MF_NOCLIP|MF_SCENERY, // flags
|
||||
S_NULL // raisestate
|
||||
},
|
||||
|
||||
{ // MT_SSZTREE2
|
||||
1861, // doomednum
|
||||
S_SSZTREE2, // 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
|
||||
20*FRACUNIT, // radius
|
||||
256*FRACUNIT, // height
|
||||
0, // display offset
|
||||
100, // mass
|
||||
1, // damage
|
||||
sfx_None, // activesound
|
||||
MF_SOLID|MF_SCENERY, // flags
|
||||
S_NULL // raisestate
|
||||
},
|
||||
|
||||
{ // MT_SSZTREE2_BRANCH
|
||||
-1, // doomednum
|
||||
S_SSZTREE2_BRANCH, // 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
|
||||
20*FRACUNIT, // radius
|
||||
256*FRACUNIT, // height
|
||||
0, // display offset
|
||||
100, // mass
|
||||
1, // damage
|
||||
sfx_None, // activesound
|
||||
MF_NOBLOCKMAP|MF_NOCLIP|MF_SCENERY, // flags
|
||||
S_NULL // raisestate
|
||||
},
|
||||
|
||||
{ // MT_XMASBLUEBERRYBUSH
|
||||
1859, // doomednum
|
||||
S_XMASBLUEBERRYBUSH, // spawnstate
|
||||
|
|
10
src/info.h
10
src/info.h
|
@ -857,6 +857,8 @@ typedef enum sprite
|
|||
SPR_XMS4, // Lamppost
|
||||
SPR_XMS5, // Hanging Star
|
||||
SPR_XMS6, // Mistletoe
|
||||
SPR_SNTT, // Silver Shiver tree
|
||||
SPR_SSTT, // Silver Shiver tree with snow
|
||||
SPR_FHZI, // FHZ Ice
|
||||
SPR_ROSY,
|
||||
|
||||
|
@ -3089,6 +3091,10 @@ typedef enum state
|
|||
S_LAMPPOST2, // with snow
|
||||
S_HANGSTAR,
|
||||
S_MISTLETOE,
|
||||
S_SSZTREE,
|
||||
S_SSZTREE_BRANCH,
|
||||
S_SSZTREE2,
|
||||
S_SSZTREE2_BRANCH,
|
||||
// Xmas GFZ bushes
|
||||
S_XMASBLUEBERRYBUSH,
|
||||
S_XMASBERRYBUSH,
|
||||
|
@ -4985,6 +4991,10 @@ typedef enum mobj_type
|
|||
MT_LAMPPOST2, // with snow
|
||||
MT_HANGSTAR,
|
||||
MT_MISTLETOE,
|
||||
MT_SSZTREE,
|
||||
MT_SSZTREE_BRANCH,
|
||||
MT_SSZTREE2,
|
||||
MT_SSZTREE2_BRANCH,
|
||||
// Xmas GFZ bushes
|
||||
MT_XMASBLUEBERRYBUSH,
|
||||
MT_XMASBERRYBUSH,
|
||||
|
|
28
src/p_mobj.c
28
src/p_mobj.c
|
@ -13153,6 +13153,34 @@ static boolean P_SetupSpawnedMapThing(mapthing_t *mthing, mobj_t *mobj, boolean
|
|||
banner->angle = mobjangle + ANGLE_90;
|
||||
}
|
||||
break;
|
||||
case MT_SSZTREE:
|
||||
{ // Spawn the branches
|
||||
angle_t mobjangle = FixedAngle((mthing->angle % 113) << FRACBITS);
|
||||
mobj_t *branch = P_SpawnMobjFromMobj(mobj, FRACUNIT, 0, 0, MT_SSZTREE_BRANCH);
|
||||
if (!P_MobjWasRemoved(branch))
|
||||
branch->angle = mobjangle + ANGLE_22h;
|
||||
branch = P_SpawnMobjFromMobj(mobj, 0, FRACUNIT, 0, MT_SSZTREE_BRANCH);
|
||||
if (!P_MobjWasRemoved(branch))
|
||||
branch->angle = mobjangle + ANGLE_157h;
|
||||
branch = P_SpawnMobjFromMobj(mobj, -FRACUNIT, 0, 0, MT_SSZTREE_BRANCH);
|
||||
if (!P_MobjWasRemoved(branch))
|
||||
branch->angle = mobjangle + ANGLE_270;
|
||||
}
|
||||
break;
|
||||
case MT_SSZTREE2:
|
||||
{ // Spawn the branches
|
||||
angle_t mobjangle = FixedAngle((mthing->angle % 113) << FRACBITS);
|
||||
mobj_t *branch = P_SpawnMobjFromMobj(mobj, FRACUNIT, 0, 0, MT_SSZTREE2_BRANCH);
|
||||
if (!P_MobjWasRemoved(branch))
|
||||
branch->angle = mobjangle + ANGLE_22h;
|
||||
branch = P_SpawnMobjFromMobj(mobj, 0, FRACUNIT, 0, MT_SSZTREE2_BRANCH);
|
||||
if (!P_MobjWasRemoved(branch))
|
||||
branch->angle = mobjangle + ANGLE_157h;
|
||||
branch = P_SpawnMobjFromMobj(mobj, -FRACUNIT, 0, 0, MT_SSZTREE2_BRANCH);
|
||||
if (!P_MobjWasRemoved(branch))
|
||||
branch->angle = mobjangle + ANGLE_270;
|
||||
}
|
||||
break;
|
||||
case MT_HHZTREE_TOP:
|
||||
{ // Spawn the branches
|
||||
angle_t mobjangle = FixedAngle(mthing->angle << FRACBITS) & (ANGLE_90 - 1);
|
||||
|
|
Loading…
Reference in a new issue