From 6bfdd10a5ce242beb558a1b54db43bf9d39217f6 Mon Sep 17 00:00:00 2001 From: nashmuhandes Date: Thu, 14 Apr 2016 05:43:20 +0800 Subject: [PATCH 1/5] Show the command label when choosing a SafeCommand (like Reset2Defaults) in the menu. --- src/menu/optionmenuitems.h | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/src/menu/optionmenuitems.h b/src/menu/optionmenuitems.h index 0f315d5f6..28135e78d 100644 --- a/src/menu/optionmenuitems.h +++ b/src/menu/optionmenuitems.h @@ -122,7 +122,20 @@ public: bool Activate() { const char *msg = GStrings("SAFEMESSAGE"); - if (msg) M_StartMessage(msg, 0); + + const char *actionLabel = mLabel; + if (actionLabel != NULL) + { + if (*actionLabel == '$') + { + actionLabel = GStrings(actionLabel + 1); + } + } + + FString FullString; + FullString.Format(TEXTCOLOR_WHITE "%s" TEXTCOLOR_NORMAL "\n\n" "%s", actionLabel, msg); + + if (msg && actionLabel && FullString) M_StartMessage(FullString, 0); return true; } }; From a30eb4d709387b1db5dce71308d33e09a84bff11 Mon Sep 17 00:00:00 2001 From: nashmuhandes Date: Thu, 14 Apr 2016 22:29:59 +0800 Subject: [PATCH 2/5] Fixed a potential NULL assignment in FOptionMenuItemSafeCommand::Activate --- src/menu/optionmenuitems.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/menu/optionmenuitems.h b/src/menu/optionmenuitems.h index 28135e78d..f810f788b 100644 --- a/src/menu/optionmenuitems.h +++ b/src/menu/optionmenuitems.h @@ -133,9 +133,9 @@ public: } FString FullString; - FullString.Format(TEXTCOLOR_WHITE "%s" TEXTCOLOR_NORMAL "\n\n" "%s", actionLabel, msg); + FullString.Format(TEXTCOLOR_WHITE "%s" TEXTCOLOR_NORMAL "\n\n" "%s", actionLabel != NULL ? actionLabel : "", msg); - if (msg && actionLabel && FullString) M_StartMessage(FullString, 0); + if (msg && FullString) M_StartMessage(FullString, 0); return true; } }; From 8dee0be9ab1989332ea01ffb3ffd960b55c765e6 Mon Sep 17 00:00:00 2001 From: Edoardo Prezioso Date: Mon, 18 Apr 2016 15:28:45 +0200 Subject: [PATCH 3/5] - Fixed the morphed player actor friendliness. It wasn't inherited from the original player actor object. --- src/g_shared/a_morph.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/g_shared/a_morph.cpp b/src/g_shared/a_morph.cpp index 174bfd4a2..3b3741a43 100644 --- a/src/g_shared/a_morph.cpp +++ b/src/g_shared/a_morph.cpp @@ -91,6 +91,8 @@ bool P_MorphPlayer (player_t *activator, player_t *p, PClassPlayerPawn *spawntyp morphed->Angles.Yaw = actor->Angles.Yaw; morphed->target = actor->target; morphed->tracer = actor; + morphed->FriendPlayer = actor->FriendPlayer; + morphed->DesignatedTeam = actor->DesignatedTeam; morphed->Score = actor->Score; p->PremorphWeapon = p->ReadyWeapon; morphed->special2 = actor->flags & ~MF_JUSTHIT; From 5e822fd60b362c449466859fdcf78b604ae22758 Mon Sep 17 00:00:00 2001 From: Christoph Oelckers Date: Mon, 18 Apr 2016 16:46:56 +0200 Subject: [PATCH 4/5] - fixed: The starting position of sight checks was inconsistent in different parts of p_sight.cpp. --- src/p_sight.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/p_sight.cpp b/src/p_sight.cpp index 469cc8783..f9a0d03d5 100644 --- a/src/p_sight.cpp +++ b/src/p_sight.cpp @@ -114,7 +114,7 @@ public: { sightstart = t1->PosRelative(task->portalgroup); sightend = t2->PosRelative(task->portalgroup); - sightstart.Z += t1->Height / 2; + sightstart.Z += t1->Height * 0.75; Startfrac = task->Frac; Trace = { sightstart.X, sightstart.Y, sightend.X - sightstart.X, sightend.Y - sightstart.Y }; From d2735d763213f8858bcdb33e7d804ce782035886 Mon Sep 17 00:00:00 2001 From: Christoph Oelckers Date: Mon, 18 Apr 2016 18:31:19 +0200 Subject: [PATCH 5/5] - fixed: Trace considered any water surface a hit if nothing else was found. --- src/p_trace.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/p_trace.cpp b/src/p_trace.cpp index 0e11e29a6..db78fa5e2 100644 --- a/src/p_trace.cpp +++ b/src/p_trace.cpp @@ -308,6 +308,7 @@ void FTraceInfo::Setup3DFloors() { Results->Crossed3DWater = rover; Results->Crossed3DWaterPos = Results->HitPos; + Results->Distance = 0; } } @@ -444,6 +445,7 @@ bool FTraceInfo::LineCheck(intercept_t *in, double dist, DVector3 hit) { Results->CrossedWater = §ors[CurSector->sectornum]; Results->CrossedWaterPos = Results->HitPos; + Results->Distance = 0; } } @@ -747,6 +749,7 @@ bool FTraceInfo::TraceTraverse (int ptflags) { Results->Crossed3DWater = rover; Results->Crossed3DWaterPos = Results->HitPos; + Results->Distance = 0; } } } @@ -835,6 +838,7 @@ bool FTraceInfo::TraceTraverse (int ptflags) { Results->CrossedWater = §ors[CurSector->sectornum]; Results->CrossedWaterPos = Results->HitPos; + Results->Distance = 0; } Results = res; }