From 8ca5f3821d86efb839249a3907df2ff20e53e4a7 Mon Sep 17 00:00:00 2001 From: Christoph Oelckers Date: Sat, 10 Feb 2007 21:22:31 +0000 Subject: [PATCH] - Changed earthquake code to not add all the intensities but use the maximum in DEarthQuake::StaticGetQuakeIntensity. The reason for this: Quakes were never supposed to be additive. Many maps, including Hexen's own have placed quake spots so that they cover a larger area but the areas covered by the single spots overlap. On such maps the view will shake like crazy and render the map nearly unplayable. SVN r480 (trunk) --- docs/rh-log.txt | 8 ++++++++ src/g_shared/a_quake.cpp | 3 ++- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/docs/rh-log.txt b/docs/rh-log.txt index f584c6e6c..4afc362be 100644 --- a/docs/rh-log.txt +++ b/docs/rh-log.txt @@ -1,3 +1,11 @@ +February 10, 2007 (Changes by Graf Zahl) +- Changed earthquake code to not add all the intensities but use the maximum + in DEarthQuake::StaticGetQuakeIntensity. The reason for this: Quakes were + never supposed to be additive. Many maps, including Hexen's own have placed + quake spots so that they cover a larger area but the areas covered by the + single spots overlap. On such maps the view will shake like crazy and + render the map nearly unplayable. + February 4, 2007 (Changes by Graf Zahl) - Fixed: The powered up Mace was missing its HoldAtkState. - Added: Using "*" with ACS's music commands will play the level's default diff --git a/src/g_shared/a_quake.cpp b/src/g_shared/a_quake.cpp index ba1913d0a..489d42591 100644 --- a/src/g_shared/a_quake.cpp +++ b/src/g_shared/a_quake.cpp @@ -139,7 +139,8 @@ int DEarthquake::StaticGetQuakeIntensity (AActor *victim) victim->y - quake->m_Spot->y); if (dist < quake->m_TremorRadius) { - intensity += quake->m_Intensity; + if (intensity < quake->m_Intensity) + intensity = quake->m_Intensity; } } }