mirror of
https://git.do.srb2.org/STJr/SRB2.git
synced 2024-11-15 01:01:33 +00:00
A few drop shadow-related additions:
- Added A_SetShadowScale - Added A_ShadowScream which combines the above with A_Scream, used for badnik explosions - Gave flickies drop shadows
This commit is contained in:
parent
82fb731cab
commit
6ef7221e38
5 changed files with 82 additions and 14 deletions
|
@ -91,6 +91,8 @@ actionpointer_t actionpointers[] =
|
|||
{{A_FaceTracer}, "A_FACETRACER"},
|
||||
{{A_Scream}, "A_SCREAM"},
|
||||
{{A_BossDeath}, "A_BOSSDEATH"},
|
||||
{{A_SetShadowScale}, "A_SETSHADOWSCALE"},
|
||||
{{A_ShadowScream}, "A_SHADOWSCREAM"},
|
||||
{{A_CustomPower}, "A_CUSTOMPOWER"},
|
||||
{{A_GiveWeapon}, "A_GIVEWEAPON"},
|
||||
{{A_RingBox}, "A_RINGBOX"},
|
||||
|
|
26
src/info.c
26
src/info.c
|
@ -3936,23 +3936,23 @@ state_t states[NUMSTATES] =
|
|||
{SPR_SPRK, FF_TRANS20|FF_ANIMATE|9, 18, {NULL}, 8, 2, S_NULL}, // S_SPRK3
|
||||
|
||||
// Robot Explosion
|
||||
{SPR_BOM1, 0, 0, {A_FlickySpawn}, 0, 0, S_XPLD1}, // S_XPLD_FLICKY
|
||||
{SPR_BOM1, 0, 2, {A_Scream}, 0, 0, S_XPLD2}, // S_XPLD1
|
||||
{SPR_BOM1, 1, 2, {NULL}, 0, 0, S_XPLD3}, // S_XPLD2
|
||||
{SPR_BOM1, 2, 3, {NULL}, 0, 0, S_XPLD4}, // S_XPLD3
|
||||
{SPR_BOM1, 3, 3, {NULL}, 0, 0, S_XPLD5}, // S_XPLD4
|
||||
{SPR_BOM1, 4, 4, {NULL}, 0, 0, S_XPLD6}, // S_XPLD5
|
||||
{SPR_BOM1, 5, 4, {NULL}, 0, 0, S_NULL}, // S_XPLD6
|
||||
{SPR_BOM1, 0, 0, {A_FlickySpawn}, 0, 0, S_XPLD1}, // S_XPLD_FLICKY
|
||||
{SPR_BOM1, 0, 2, {A_ShadowScream}, 0, 0, S_XPLD2}, // S_XPLD1
|
||||
{SPR_BOM1, 1, 2, {NULL}, 0, 0, S_XPLD3}, // S_XPLD2
|
||||
{SPR_BOM1, 2, 3, {NULL}, 0, 0, S_XPLD4}, // S_XPLD3
|
||||
{SPR_BOM1, 3, 3, {NULL}, 0, 0, S_XPLD5}, // S_XPLD4
|
||||
{SPR_BOM1, 4, 4, {NULL}, 0, 0, S_XPLD6}, // S_XPLD5
|
||||
{SPR_BOM1, 5, 4, {NULL}, 0, 0, S_NULL}, // S_XPLD6
|
||||
|
||||
{SPR_BOM1, FF_ANIMATE, 21, {NULL}, 5, 4, S_INVISIBLE}, // S_XPLD_EGGTRAP
|
||||
|
||||
// Underwater Explosion
|
||||
{SPR_BOM4, 0, 3, {A_Scream}, 0, 0, S_WPLD2}, // S_WPLD1
|
||||
{SPR_BOM4, 1, 3, {NULL}, 0, 0, S_WPLD3}, // S_WPLD2
|
||||
{SPR_BOM4, 2, 3, {NULL}, 0, 0, S_WPLD4}, // S_WPLD3
|
||||
{SPR_BOM4, 3, 3, {NULL}, 0, 0, S_WPLD5}, // S_WPLD4
|
||||
{SPR_BOM4, 4, 3, {NULL}, 0, 0, S_WPLD6}, // S_WPLD5
|
||||
{SPR_BOM4, 5, 3, {NULL}, 0, 0, S_NULL}, // S_WPLD6
|
||||
{SPR_BOM4, 0, 3, {A_ShadowScream}, 0, 0, S_WPLD2}, // S_WPLD1
|
||||
{SPR_BOM4, 1, 3, {NULL}, 0, 0, S_WPLD3}, // S_WPLD2
|
||||
{SPR_BOM4, 2, 3, {NULL}, 0, 0, S_WPLD4}, // S_WPLD3
|
||||
{SPR_BOM4, 3, 3, {NULL}, 0, 0, S_WPLD5}, // S_WPLD4
|
||||
{SPR_BOM4, 4, 3, {NULL}, 0, 0, S_WPLD6}, // S_WPLD5
|
||||
{SPR_BOM4, 5, 3, {NULL}, 0, 0, S_NULL}, // S_WPLD6
|
||||
|
||||
{SPR_DUST, FF_TRANS40, 4, {NULL}, 0, 0, S_DUST2}, // S_DUST1
|
||||
{SPR_DUST, 1|FF_TRANS50, 5, {NULL}, 0, 0, S_DUST3}, // S_DUST2
|
||||
|
|
|
@ -44,6 +44,8 @@ enum actionnum
|
|||
A_FACETRACER,
|
||||
A_SCREAM,
|
||||
A_BOSSDEATH,
|
||||
A_SETSHADOWSCALE,
|
||||
A_SHADOWSCREAM,
|
||||
A_CUSTOMPOWER,
|
||||
A_GIVEWEAPON,
|
||||
A_RINGBOX,
|
||||
|
@ -312,6 +314,8 @@ void A_FaceTarget();
|
|||
void A_FaceTracer();
|
||||
void A_Scream();
|
||||
void A_BossDeath();
|
||||
void A_SetShadowScale();
|
||||
void A_ShadowScream(); // MARIA!!!!!!
|
||||
void A_CustomPower(); // Use this for a custom power
|
||||
void A_GiveWeapon(); // Gives the player weapon(s)
|
||||
void A_RingBox(); // Obtained Ring Box Tails
|
||||
|
|
|
@ -107,6 +107,8 @@ void A_GoldMonitorRestore(mobj_t *actor);
|
|||
void A_GoldMonitorSparkle(mobj_t *actor);
|
||||
void A_Explode(mobj_t *actor);
|
||||
void A_BossDeath(mobj_t *actor);
|
||||
void A_SetShadowScale(mobj_t *actor);
|
||||
void A_ShadowScream(mobj_t *actor);
|
||||
void A_CustomPower(mobj_t *actor);
|
||||
void A_GiveWeapon(mobj_t *actor);
|
||||
void A_RingBox(mobj_t *actor);
|
||||
|
@ -4169,6 +4171,45 @@ bossjustdie:
|
|||
}
|
||||
}
|
||||
|
||||
// Function: A_SetShadowScale
|
||||
//
|
||||
// Description: Sets the target's shadowscale.
|
||||
//
|
||||
// var1 = new fixed_t shadowscale (default = FRACUNIT)
|
||||
// var2 = unused
|
||||
//
|
||||
void A_SetShadowScale(mobj_t *actor)
|
||||
{
|
||||
INT32 locvar1 = var1;
|
||||
INT32 locvar2 = var2;
|
||||
|
||||
if (LUA_CallAction(A_SETSHADOWSCALE, actor))
|
||||
return;
|
||||
|
||||
actor->shadowscale = locvar1;
|
||||
}
|
||||
|
||||
|
||||
// Function: A_ShadowScream
|
||||
//
|
||||
// Description: Sets the target's shadowscale and starts the death sound of the object.
|
||||
//
|
||||
// var1 = new fixed_t shadowscale (default = FRACUNIT)
|
||||
// var2 = unused
|
||||
//
|
||||
void A_ShadowScream(mobj_t *actor)
|
||||
{
|
||||
INT32 locvar1 = var1;
|
||||
INT32 locvar2 = var2;
|
||||
|
||||
if (LUA_CallAction(A_SHADOWSCREAM, actor))
|
||||
return;
|
||||
|
||||
A_SetShadowScale(actor);
|
||||
A_Scream(actor);
|
||||
}
|
||||
|
||||
|
||||
// Function: A_CustomPower
|
||||
//
|
||||
// Description: Provides a custom powerup. Target (must be a player) is awarded the powerup. Reactiontime of the object is used as an index to the powers array.
|
||||
|
|
23
src/p_mobj.c
23
src/p_mobj.c
|
@ -10456,6 +10456,27 @@ static fixed_t P_DefaultMobjShadowScale (mobj_t *thing)
|
|||
|
||||
return 2*FRACUNIT/3;
|
||||
|
||||
case MT_FLICKY_01:
|
||||
case MT_FLICKY_02:
|
||||
case MT_FLICKY_03:
|
||||
case MT_FLICKY_04:
|
||||
case MT_FLICKY_05:
|
||||
case MT_FLICKY_06:
|
||||
case MT_FLICKY_07:
|
||||
case MT_FLICKY_08:
|
||||
case MT_FLICKY_09:
|
||||
case MT_FLICKY_10:
|
||||
case MT_FLICKY_11:
|
||||
case MT_FLICKY_12:
|
||||
case MT_FLICKY_13:
|
||||
case MT_FLICKY_14:
|
||||
case MT_FLICKY_15:
|
||||
case MT_FLICKY_16:
|
||||
case MT_SECRETFLICKY_01:
|
||||
case MT_SECRETFLICKY_02:
|
||||
|
||||
return FRACUNIT;
|
||||
|
||||
default:
|
||||
|
||||
if (thing->flags & (MF_ENEMY|MF_BOSS))
|
||||
|
@ -10477,7 +10498,7 @@ mobj_t *P_SpawnMobj(fixed_t x, fixed_t y, fixed_t z, mobjtype_t type)
|
|||
|
||||
if (type == MT_NULL)
|
||||
{
|
||||
#if 0
|
||||
#if 0
|
||||
#ifdef PARANOIA
|
||||
I_Error("Tried to spawn MT_NULL\n");
|
||||
#endif
|
||||
|
|
Loading…
Reference in a new issue