summaryrefslogtreecommitdiff
path: root/src/gui
diff options
context:
space:
mode:
authorAndrei Karas <akaras@inbox.ru>2011-05-09 23:18:39 +0300
committerAndrei Karas <akaras@inbox.ru>2011-05-09 23:24:06 +0300
commit4561ae35f7c2c641e5dd0070b6cd3779dad0275b (patch)
treedc8cbe215e3ca68f15bab5b510931552d3a1f94b /src/gui
parent94a9a81d9c6aa9fa287616c8b4bfc5ea86214dcd (diff)
downloadmv-4561ae35f7c2c641e5dd0070b6cd3779dad0275b.tar.gz
mv-4561ae35f7c2c641e5dd0070b6cd3779dad0275b.tar.bz2
mv-4561ae35f7c2c641e5dd0070b6cd3779dad0275b.tar.xz
mv-4561ae35f7c2c641e5dd0070b6cd3779dad0275b.zip
Add drawing colors for new collision types.
Diffstat (limited to 'src/gui')
-rw-r--r--src/gui/palette.cpp72
-rw-r--r--src/gui/setup_colors.cpp4
-rw-r--r--src/gui/userpalette.cpp8
-rw-r--r--src/gui/userpalette.h2
4 files changed, 13 insertions, 73 deletions
diff --git a/src/gui/palette.cpp b/src/gui/palette.cpp
index 4614d7023..5a61c332a 100644
--- a/src/gui/palette.cpp
+++ b/src/gui/palette.cpp
@@ -201,75 +201,3 @@ void Palette::advanceGradient()
mRainbowTime = tick_time;
}
}
-
-/*
-gcn::Color Palette::produceHPColor(int hp, int maxHp, int alpha)
-{
- float r1 = 255;
- float g1 = 255;
- float b1 = 255;
- float r2 = 255;
- float g2 = 255;
- float b2 = 255;
-
- float weight = 1.0f;
-
- int thresholdLevel = maxHp / 4;
- int thresholdProgress = hp % thresholdLevel;
-
- if (thresholdLevel)
- weight = 1 - ((float)thresholdProgress) / ((float)thresholdLevel);
- else
- weight = 0;
-
- if (hp < (thresholdLevel))
- {
- gcn::Color color1 = guiPalette->getColor(Palette::HPBAR_ONE_HALF);
- gcn::Color color2 = guiPalette->getColor(Palette::HPBAR_ONE_QUARTER);
- r1 = color1.r; r2 = color2.r;
- g1 = color1.g; g2 = color2.g;
- b1 = color1.b; b2 = color2.b;
- }
- else if (hp < (thresholdLevel*2))
- {
- gcn::Color color1 = guiPalette->getColor(Palette::HPBAR_THREE_QUARTERS);
- gcn::Color color2 = guiPalette->getColor(Palette::HPBAR_ONE_HALF);
- r1 = color1.r; r2 = color2.r;
- g1 = color1.g; g2 = color2.g;
- b1 = color1.b; b2 = color2.b;
- }
- else if (hp < thresholdLevel*3)
- {
- gcn::Color color1 = guiPalette->getColor(Palette::HPBAR_FULL);
- gcn::Color color2 = guiPalette->getColor(Palette::HPBAR_THREE_QUARTERS);
- r1 = color1.r; r2 = color2.r;
- g1 = color1.g; g2 = color2.g;
- b1 = color1.b; b2 = color2.b;
- }
- else
- {
- gcn::Color color1 = guiPalette->getColor(Palette::HPBAR_FULL);
- gcn::Color color2 = guiPalette->getColor(Palette::HPBAR_FULL);
- r1 = color1.r; r2 = color2.r;
- g1 = color1.g; g2 = color2.g;
- b1 = color1.b; b2 = color2.b;
- }
-
- // Safety checks
- if (weight > 1.0f) weight = 1.0f;
- if (weight < 0.0f) weight = 0.0f;
-
- // Do the color blend
- r1 = (int) weightedAverage(r1, r2,weight);
- g1 = (int) weightedAverage(g1, g2, weight);
- b1 = (int) weightedAverage(b1, b2, weight);
-
- // More safety checks
- if (r1 > 255) r1 = 255;
- if (g1 > 255) g1 = 255;
- if (b1 > 255) b1 = 255;
-
- return gcn::Color(r1, g1, b1, alpha);
-}
-*/
-
diff --git a/src/gui/setup_colors.cpp b/src/gui/setup_colors.cpp
index 4e45ef302..0b30aa08e 100644
--- a/src/gui/setup_colors.cpp
+++ b/src/gui/setup_colors.cpp
@@ -256,6 +256,8 @@ void Setup_Colors::valueChanged(const gcn::SelectionEvent &event _UNUSED_)
switch (type)
{
+ case UserPalette::AIR_COLLISION_HIGHLIGHT:
+ case UserPalette::WATER_COLLISION_HIGHLIGHT:
case UserPalette::COLLISION_HIGHLIGHT:
case UserPalette::PORTAL_HIGHLIGHT:
case UserPalette::HOME_PLACE:
@@ -297,6 +299,8 @@ void Setup_Colors::valueChanged(const gcn::SelectionEvent &event _UNUSED_)
case UserPalette::MONSTER_ATTACK_RANGE:
case UserPalette::HOME_PLACE:
case UserPalette::HOME_PLACE_BORDER:
+ case UserPalette::AIR_COLLISION_HIGHLIGHT:
+ case UserPalette::WATER_COLLISION_HIGHLIGHT:
case UserPalette::COLLISION_HIGHLIGHT:
case UserPalette::WALKABLE_HIGHLIGHT:
case UserPalette::ROAD_POINT:
diff --git a/src/gui/userpalette.cpp b/src/gui/userpalette.cpp
index 33a42645f..bc5576469 100644
--- a/src/gui/userpalette.cpp
+++ b/src/gui/userpalette.cpp
@@ -65,6 +65,8 @@ const std::string ColorTypeNames[] =
"ColorMiss",
"ColorPortalHighlight",
"ColorCollisionHighlight",
+ "ColorCollisionAirHighlight",
+ "ColorCollisionWaterHighlight",
"ColorWalkableTileHighlight",
"ColorAttackRange",
"ColorAttackRangeBorder",
@@ -144,7 +146,11 @@ UserPalette::UserPalette():
addColor(MISS, 0xffff00, STATIC, _("Misses"));
addColor(PORTAL_HIGHLIGHT, 0xC80000, STATIC, _("Portal Highlight"));
addColor(COLLISION_HIGHLIGHT, 0x0000C8, STATIC,
- _("Collision Highlight"), 64);
+ _("Default collision Highlight"), 64);
+ addColor(AIR_COLLISION_HIGHLIGHT, 0xe0e0ff, STATIC,
+ _("Air collision Highlight"), 64);
+ addColor(WATER_COLLISION_HIGHLIGHT, 0x2050e0, STATIC,
+ _("Water collision Highlight"), 64);
addColor(WALKABLE_HIGHLIGHT, 0x00D000, STATIC,
_("Walkable Highlight"), 255);
addColor(ATTACK_RANGE, 0xffffff, STATIC,
diff --git a/src/gui/userpalette.h b/src/gui/userpalette.h
index 7a0b83c0f..3bf9c782a 100644
--- a/src/gui/userpalette.h
+++ b/src/gui/userpalette.h
@@ -66,6 +66,8 @@ class UserPalette : public Palette, public gcn::ListModel
MISS,
PORTAL_HIGHLIGHT,
COLLISION_HIGHLIGHT,
+ AIR_COLLISION_HIGHLIGHT,
+ WATER_COLLISION_HIGHLIGHT,
WALKABLE_HIGHLIGHT,
ATTACK_RANGE,
ATTACK_RANGE_BORDER,