summaryrefslogtreecommitdiff
path: root/src/gui/palette.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/gui/palette.cpp')
-rw-r--r--src/gui/palette.cpp16
1 files changed, 14 insertions, 2 deletions
diff --git a/src/gui/palette.cpp b/src/gui/palette.cpp
index 897c7efd..855487d3 100644
--- a/src/gui/palette.cpp
+++ b/src/gui/palette.cpp
@@ -152,7 +152,11 @@ Palette::~Palette()
config.setValue(*configName + "Delay", col->delay);
if (col->grad == STATIC || col->grad == PULSE)
- config.setValue(*configName, toString(col->getRGB()));
+ {
+ char buffer[20];
+ sprintf(buffer, "0x%06x", col->getRGB());
+ config.setValue(*configName, buffer);
+ }
}
}
@@ -265,7 +269,15 @@ void Palette::addColor(Palette::ColorType type, int rgb,
char c, int delay)
{
const std::string *configName = &ColorTypeNames[type];
- gcn::Color trueCol = (int) config.getValue(*configName, rgb);
+ char buffer[20];
+ sprintf(buffer, "0x%06x", rgb);
+ const std::string rgbString = config.getValue(*configName, buffer);
+ unsigned int rgbValue = 0;
+ if (rgbString.length() == 8 && rgbString[0] == '0' && rgbString[1] == 'x')
+ rgbValue = atox(rgbString);
+ else
+ rgbValue = atoi(rgbString.c_str());
+ gcn::Color trueCol = rgbValue;
grad = (GradientType) config.getValue(*configName + "Gradient", grad);
delay = (int) config.getValue(*configName + "Delay", delay);
mColVector[type].set(type, trueCol, grad, text, c, delay);