summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/gui/game/GameView.cpp4
-rw-r--r--src/simulation/elements/FILT.cpp4
2 files changed, 6 insertions, 2 deletions
diff --git a/src/gui/game/GameView.cpp b/src/gui/game/GameView.cpp
index 01ba39c..9d4295c 100644
--- a/src/gui/game/GameView.cpp
+++ b/src/gui/game/GameView.cpp
@@ -2071,8 +2071,8 @@ void GameView::OnDraw()
else if (sample.particle.type == PT_FILT)
{
sampleInfo << c->ElementResolve(sample.particle.type, sample.particle.ctype);
- const char* filtModes[] = {"set colour", "AND", "OR", "subtract colour", "red shift", "blue shift", "no effect"};
- if (sample.particle.tmp>=0 && sample.particle.tmp<=6)
+ const char* filtModes[] = {"set colour", "AND", "OR", "subtract colour", "red shift", "blue shift", "no effect", "XOR", "NOT"};
+ if (sample.particle.tmp>=0 && sample.particle.tmp<=8)
sampleInfo << " (" << filtModes[sample.particle.tmp] << ")";
else
sampleInfo << " (unknown mode)";
diff --git a/src/simulation/elements/FILT.cpp b/src/simulation/elements/FILT.cpp
index 62c3afc..9c7615f 100644
--- a/src/simulation/elements/FILT.cpp
+++ b/src/simulation/elements/FILT.cpp
@@ -100,6 +100,10 @@ int Element_FILT::interactWavelengths(Particle* cpart, int origWl)
}
case 6:
return origWl; // No change
+ case 7:
+ return origWl ^ filtWl; // XOR colours
+ case 8:
+ return (~origWl) & mask; // Invert colours
default:
return filtWl;
}