From 2933ec3e9c13d115667f10e78710eca07cb098b5 Mon Sep 17 00:00:00 2001
From: MascaraSnake <jonassauer27@gmail.com>
Date: Tue, 27 Aug 2019 19:33:54 +0200
Subject: [PATCH] Simplified the lavafall rock states with FF_RANDOMANIM, fixed
 Var1 for the FF_ANIMATE states

---
 src/dehacked.c |  5 +----
 src/info.c     | 13 +++++--------
 src/info.h     |  5 +----
 src/p_enemy.c  |  3 +--
 4 files changed, 8 insertions(+), 18 deletions(-)

diff --git a/src/dehacked.c b/src/dehacked.c
index 72db4306ca..7878f876f0 100644
--- a/src/dehacked.c
+++ b/src/dehacked.c
@@ -5834,10 +5834,7 @@ static const char *const STATE_LIST[] = { // array length left dynamic for sanit
 	"S_LAVAFALL_LAVA1",
 	"S_LAVAFALL_LAVA2",
 	"S_LAVAFALL_LAVA3",
-	"S_LAVAFALLROCK1",
-	"S_LAVAFALLROCK2",
-	"S_LAVAFALLROCK3",
-	"S_LAVAFALLROCK4",
+	"S_LAVAFALLROCK",
 
 	// RVZ scenery
 	"S_BIGFERNLEAF",
diff --git a/src/info.c b/src/info.c
index 88e8577166..a41547c5d2 100644
--- a/src/info.c
+++ b/src/info.c
@@ -2459,15 +2459,12 @@ state_t states[NUMSTATES] =
 
 	// Lavafall
 	{SPR_LFAL, 5, 1, {NULL}, 0, 0, S_LAVAFALL_DORMANT}, // S_LAVAFALL_DORMANT
-	{SPR_LFAL, 6|FF_ANIMATE, 4, {A_LavafallRocks}, 2, 2, S_LAVAFALL_TELL}, // S_LAVAFALL_TELL
-	{SPR_LFAL, 9|FF_FULLBRIGHT|FF_ANIMATE, 2, {A_LavafallLava}, 2, 1, S_LAVAFALL_SHOOT}, // S_LAVAFALL_SHOOT
+	{SPR_LFAL, 6|FF_ANIMATE, 4, {A_LavafallRocks}, 1, 2, S_LAVAFALL_TELL}, // S_LAVAFALL_TELL
+	{SPR_LFAL, 9|FF_FULLBRIGHT|FF_ANIMATE, 2, {A_LavafallLava}, 1, 1, S_LAVAFALL_SHOOT}, // S_LAVAFALL_SHOOT
 	{SPR_LFAL, FF_FULLBRIGHT, 1, {A_FallingLavaCheck}, 0, 0, S_LAVAFALL_LAVA2}, // S_LAVAFALL_LAVA1
 	{SPR_LFAL, FF_FULLBRIGHT, 1, {A_FallingLavaCheck}, 0, 0, S_LAVAFALL_LAVA1}, // S_LAVAFALL_LAVA2
-	{SPR_LFAL, 2|FF_FULLBRIGHT|FF_ANIMATE, 9, {NULL}, 3, 3, S_NULL}, // S_LAVAFALL_LAVA3
-	{SPR_LFAL, 11, 3, {NULL}, 0, 0, S_LAVAFALLROCK2}, // S_LAVAFALLROCK1
-	{SPR_LFAL, 12, 3, {NULL}, 0, 0, S_LAVAFALLROCK3}, // S_LAVAFALLROCK2
-	{SPR_LFAL, 13, 3, {NULL}, 0, 0, S_LAVAFALLROCK4}, // S_LAVAFALLROCK3
-	{SPR_LFAL, 14, 3, {NULL}, 0, 0, S_LAVAFALLROCK1}, // S_LAVAFALLROCK4
+	{SPR_LFAL, 2|FF_FULLBRIGHT|FF_ANIMATE, 9, {NULL}, 2, 3, S_NULL}, // S_LAVAFALL_LAVA3
+	{SPR_LFAL, 11|FF_ANIMATE|FF_RANDOMANIM, 12, {NULL}, 3, 3, S_LAVAFALLROCK}, // S_LAVAFALLROCK
 
 	// RVZ scenery
 	{SPR_JPLA, FF_PAPERSPRITE, -1, {NULL}, 0, 0, S_NULL}, // S_BIGFERNLEAF
@@ -12644,7 +12641,7 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] =
 
 	{           // MT_LAVAFALLROCK
 		-1,             // doomednum
-		S_LAVAFALLROCK1, // spawnstate
+		S_LAVAFALLROCK, // spawnstate
 		1000,           // spawnhealth
 		S_NULL,         // seestate
 		sfx_None,       // seesound
diff --git a/src/info.h b/src/info.h
index 0fe200cbd3..1a2bb838e1 100644
--- a/src/info.h
+++ b/src/info.h
@@ -2586,10 +2586,7 @@ typedef enum state
 	S_LAVAFALL_LAVA1,
 	S_LAVAFALL_LAVA2,
 	S_LAVAFALL_LAVA3,
-	S_LAVAFALLROCK1,
-	S_LAVAFALLROCK2,
-	S_LAVAFALLROCK3,
-	S_LAVAFALLROCK4,
+	S_LAVAFALLROCK,
 
 	// RVZ scenery
 	S_BIGFERNLEAF,
diff --git a/src/p_enemy.c b/src/p_enemy.c
index 85dc15ab24..a22e727b75 100644
--- a/src/p_enemy.c
+++ b/src/p_enemy.c
@@ -13770,8 +13770,7 @@ void A_LavafallRocks(mobj_t *actor)
 		fixed_t offset = P_RandomRange(4, 12) << FRACBITS;
 		fixed_t xoffs = FixedMul(FINECOSINE(fa), actor->radius + offset);
 		fixed_t yoffs = FixedMul(FINESINE(fa), actor->radius + offset);
-		mobj_t *particle = P_SpawnMobjFromMobj(actor, xoffs, yoffs, 0, MT_LAVAFALLROCK);
-		P_SetMobjState(particle, S_LAVAFALLROCK1 + P_RandomRange(0, 3));
+		P_SpawnMobjFromMobj(actor, xoffs, yoffs, 0, MT_LAVAFALLROCK);
 	}
 }
 
-- 
GitLab