summaryrefslogtreecommitdiff
path: root/src/graphics
diff options
context:
space:
mode:
authorjacob1 <jfu614@gmail.com>2013-01-26 04:15:33 (GMT)
committer jacob1 <jfu614@gmail.com>2013-01-26 04:15:33 (GMT)
commit46b767da0c14745a6cd807637249ec0b5b57b8f1 (patch)
tree9db0b4b2ac566b39e1cc8503bf0ff9f22b35eb30 /src/graphics
parent1d97f1c9853960ba99a8808263cc6443d9d09ef1 (diff)
downloadpowder-46b767da0c14745a6cd807637249ec0b5b57b8f1.zip
powder-46b767da0c14745a6cd807637249ec0b5b57b8f1.tar.gz
clear persistent effects when it's display mode is removed
Diffstat (limited to 'src/graphics')
-rw-r--r--src/graphics/Renderer.cpp5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/graphics/Renderer.cpp b/src/graphics/Renderer.cpp
index 14a64be..50c9ba4 100644
--- a/src/graphics/Renderer.cpp
+++ b/src/graphics/Renderer.cpp
@@ -2630,9 +2630,14 @@ std::vector<unsigned int> Renderer::GetRenderMode()
void Renderer::CompileDisplayMode()
{
+ int old_display_mode = display_mode;
display_mode = 0;
for(int i = 0; i < display_modes.size(); i++)
display_mode |= display_modes[i];
+ if(!(display_mode & DISPLAY_PERS) && (old_display_mode & DISPLAY_PERS))
+ {
+ ClearAccumulation();
+ }
}
void Renderer::AddDisplayMode(unsigned int mode)