From 2516b8f8af7f384a7e22fd50ec82b1fd50e5c6ba Mon Sep 17 00:00:00 2001 From: Randy Heit Date: Thu, 4 Feb 2016 20:36:39 -0600 Subject: [PATCH] Adjusted the assert conditions in DoJump() - With multiple A_Jump calls possible in a single action now, it is now possible for DoJump() to be called with a callingstate that does not match self->state because the state had been changed by a prior A_Jump in the same action function. --- src/thingdef/thingdef_codeptr.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/thingdef/thingdef_codeptr.cpp b/src/thingdef/thingdef_codeptr.cpp index ba5bc7f47..a3e4ac6fa 100644 --- a/src/thingdef/thingdef_codeptr.cpp +++ b/src/thingdef/thingdef_codeptr.cpp @@ -676,7 +676,7 @@ static void DoJump(AActor *self, AActor *stateowner, FState *callingstate, FStat { P_SetPsprite(self->player, ps_flash, jumpto); } - else if (callingstate == self->state) + else if (callingstate == self->state || (self->ObjectFlags & OF_StateChanged)) { // Rather than using self->SetState(jumpto) to set the state, // set the state directly. Since this function is only called by