From d26a7795fa90c6e26f5302db4a470321bce4a5cb Mon Sep 17 00:00:00 2001 From: Majin Sniper Date: Fri, 27 Mar 2009 00:04:04 +0100 Subject: Fix the ColorTypes Macro --- src/gui/palette.cpp | 4 ++-- src/gui/palette.h | 14 ++++++++------ 2 files changed, 10 insertions(+), 8 deletions(-) diff --git a/src/gui/palette.cpp b/src/gui/palette.cpp index d3655e04..2efc60be 100644 --- a/src/gui/palette.cpp +++ b/src/gui/palette.cpp @@ -70,11 +70,11 @@ std::string Palette::getConfigName(const std::string &typeName) return res; } -DEFENUMNAMES(ColorType, COLOR_TYPE) +DEFENUMNAMES(ColorType, COLOR_TYPE); const int Palette::GRADIENT_DELAY = 40; -Palette::Palette() : +Palette::Palette() : mRainbowTime(tick_time), mColVector(ColVector(TYPE_COUNT)), mGradVector() diff --git a/src/gui/palette.h b/src/gui/palette.h index 16c9338c..e894ba74 100644 --- a/src/gui/palette.h +++ b/src/gui/palette.h @@ -32,13 +32,15 @@ // Generate strings from an enum ... some preprocessor fun. #define EDEF(a) a, +#define LASTEDEF(a) a #define ECONFIGSTR(a) Palette::getConfigName(#a), +#define LASTECONFIGSTR(a) Palette::getConfigName(#a) #define TEXTENUM(name,def)\ - enum name { def(EDEF) };\ - static const std::string name ## Names[]; + enum name { def(EDEF,LASTEDEF) };\ + static const std::string name ## Names[] #define DEFENUMNAMES(name,def)\ - const std::string Palette::name ## Names[] = { def(ECONFIGSTR) "" }; + const std::string Palette::name ## Names[] = { def(ECONFIGSTR,ECONFIGSTR) "" } /** * Class controlling the game's color palette. @@ -47,7 +49,7 @@ class Palette : public gcn::ListModel { public: /** List of all colors that are configurable. */ - #define COLOR_TYPE(ENTRY)\ + #define COLOR_TYPE(ENTRY,LASTENTRY)\ ENTRY(TEXT)\ ENTRY(SHADOW)\ ENTRY(OUTLINE)\ @@ -91,9 +93,9 @@ class Palette : public gcn::ListModel ENTRY(HIT_MONSTER_PLAYER)\ ENTRY(HIT_CRITICAL)\ ENTRY(MISS)\ - ENTRY(TYPE_COUNT)\ + LASTENTRY(TYPE_COUNT) - TEXTENUM(ColorType, COLOR_TYPE) + TEXTENUM(ColorType, COLOR_TYPE); /** Colors can be static or can alter over time. */ enum GradientType { -- cgit v1.2.3-60-g2f50