From dd9e7560c4b16b26c8f7bbf2ba72a51c867f46ba Mon Sep 17 00:00:00 2001 From: MajorCooke Date: Thu, 14 Jan 2016 11:21:08 -0600 Subject: [PATCH 1/3] Added support for puffs to spawn on floors and ceilings if ALWAYSPUFF is used. --- src/p_map.cpp | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/p_map.cpp b/src/p_map.cpp index 3381f763f3..30cec2ad2a 100644 --- a/src/p_map.cpp +++ b/src/p_map.cpp @@ -4297,6 +4297,14 @@ void P_RailAttack(AActor *source, int damage, int offset_xy, fixed_t offset_z, i SpawnShootDecal(source, trace); } + if (trace.HitType == TRACE_HitFloor || trace.HitType == TRACE_HitCeiling) + { + AActor* puff = NULL; + if (puffclass != NULL && puffDefaults->flags3 & MF3_ALWAYSPUFF) + { + puff = P_SpawnPuff(source, puffclass, trace.X, trace.Y, trace.Z, (source->angle + angleoffset) - ANG90, 1, 0); + } + } if (thepuff != NULL) { if (trace.HitType == TRACE_HitFloor && From e405fb4624861ef01b7b3bf342e0f8a47f4ef8b9 Mon Sep 17 00:00:00 2001 From: "alexey.lysiuk" Date: Fri, 15 Jan 2016 15:54:35 +0200 Subject: [PATCH 2/3] Set compatibility for Return to Hadron Updated version of Return to Hadron (dated 2016.01.03) has new version of E1M9: Prototype This map requires vanilla's P_PointOnLineSide() function to avoid issue with sleepy shotgun guys http://forum.zdoom.org/viewtopic.php?t=49544 --- wadsrc/static/compatibility.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/wadsrc/static/compatibility.txt b/wadsrc/static/compatibility.txt index 1bd031ed8e..13f0d22a70 100644 --- a/wadsrc/static/compatibility.txt +++ b/wadsrc/static/compatibility.txt @@ -403,6 +403,7 @@ D0139194F7817BF06F3988DFC47DB38D // Whispers of Satan map29 } D7F6E9F08C39A17026349A04F8C0B0BE // Return to Hadron, e1m9 +19D03FFC875589E21EDBB7AB74EF4AEF // Return to Hadron, e1m9, 2016.01.03 update { pointonline } From a8e5b90667392072eac633bc1f74f935aab8c37b Mon Sep 17 00:00:00 2001 From: "alexey.lysiuk" Date: Fri, 15 Jan 2016 18:32:49 +0200 Subject: [PATCH 3/3] Fixed stuck Strife dialogs See http://forum.zdoom.org/viewtopic.php?t=50451 and http://forum.zdoom.org/viewtopic.php?t=48470 --- src/p_conversation.cpp | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/src/p_conversation.cpp b/src/p_conversation.cpp index db5fd400c4..a74b9bd18e 100644 --- a/src/p_conversation.cpp +++ b/src/p_conversation.cpp @@ -1345,12 +1345,14 @@ static void HandleReply(player_t *player, bool isconsole, int nodenum, int reply if (reply->NextNode != 0) { int rootnode = npc->ConversationRoot; - if (reply->NextNode < 0) + unsigned next = (unsigned)(rootnode + (reply->NextNode < 0 ? -1 : 1) * reply->NextNode - 1); + + if (next < StrifeDialogues.Size()) { - unsigned next = (unsigned)(rootnode - reply->NextNode - 1); - if (gameaction != ga_slideshow && next < StrifeDialogues.Size()) + npc->Conversation = StrifeDialogues[next]; + + if (gameaction != ga_slideshow) { - npc->Conversation = StrifeDialogues[next]; P_StartConversation (npc, player->mo, player->ConversationFaceTalker, false); return; } @@ -1359,10 +1361,6 @@ static void HandleReply(player_t *player, bool isconsole, int nodenum, int reply S_StopSound (npc, CHAN_VOICE); } } - else - { - npc->Conversation = StrifeDialogues[rootnode + reply->NextNode - 1]; - } } npc->angle = player->ConversationNPCAngle;