From fbbd2edd6f33628b6e9257cf876670759f454017 Mon Sep 17 00:00:00 2001 From: Jared Adams Date: Sun, 12 Apr 2009 09:58:33 -0600 Subject: Merge version strings, add version to setup, etc All instances of version strings should now use the same text. The version label was moved from main.cpp to Desktop. A new version label was added to SetupDialog to make it easier to get the version if you are already in game. --- src/gui/setup.cpp | 7 +++++++ src/gui/widgets/desktop.cpp | 8 ++++++++ src/gui/widgets/desktop.h | 6 ++++-- src/main.cpp | 50 +++++++++++++++++++-------------------------- src/main.h | 6 ++++++ 5 files changed, 46 insertions(+), 31 deletions(-) diff --git a/src/gui/setup.cpp b/src/gui/setup.cpp index 50068c6e..b2474ead 100644 --- a/src/gui/setup.cpp +++ b/src/gui/setup.cpp @@ -21,6 +21,8 @@ #include "setup.h" +#include "main.h" + #include "gui/setup_audio.h" #include "gui/setup_colors.h" #include "gui/setup_joystick.h" @@ -29,6 +31,7 @@ #include "gui/setup_video.h" #include "gui/widgets/button.h" +#include "gui/widgets/label.h" #include "gui/widgets/tabbedarea.h" #include "utils/dtor.h" @@ -101,6 +104,10 @@ Setup::Setup(): add(panel); + Label *version = new Label(Main::version); + version->setPosition(5, height - version->getHeight() - 5); + add(version); + center(); setInGame(false); diff --git a/src/gui/widgets/desktop.cpp b/src/gui/widgets/desktop.cpp index fc66ed93..4b806095 100644 --- a/src/gui/widgets/desktop.cpp +++ b/src/gui/widgets/desktop.cpp @@ -22,6 +22,7 @@ #include "gui/widgets/desktop.h" #include "gui/palette.h" +#include "gui/widgets/label.h" #include "resources/image.h" #include "resources/resourcemanager.h" @@ -29,6 +30,7 @@ #include "graphics.h" #include "log.h" +#include "main.h" Desktop::Desktop() : mWallpaper(0) @@ -36,12 +38,16 @@ Desktop::Desktop() addWidgetListener(this); Wallpaper::loadWallpapers(); + + versionLabel = new Label(Main::version); + add(versionLabel, 25, 2); } Desktop::~Desktop() { if (mWallpaper) mWallpaper->decRef(); + delete versionLabel; } void Desktop::reloadWallpaper() @@ -73,6 +79,8 @@ void Desktop::draw(gcn::Graphics *graphics) (getWidth() - mWallpaper->getWidth()) / 2, (getHeight() - mWallpaper->getHeight()) / 2); } + + drawChildren(graphics); } void Desktop::setBestFittingWallpaper() diff --git a/src/gui/widgets/desktop.h b/src/gui/widgets/desktop.h index ed68145a..7eabde54 100644 --- a/src/gui/widgets/desktop.h +++ b/src/gui/widgets/desktop.h @@ -22,10 +22,11 @@ #ifndef DESKTOP_H #define DESKTOP_H -#include +#include #include class Image; +class Label; /** * Desktop widget, for drawing a background image and color. @@ -38,7 +39,7 @@ class Image; * * \ingroup GUI */ -class Desktop : public gcn::Widget, gcn::WidgetListener +class Desktop : public gcn::Container, gcn::WidgetListener { public: Desktop(); @@ -57,6 +58,7 @@ class Desktop : public gcn::Widget, gcn::WidgetListener void setBestFittingWallpaper(); Image *mWallpaper; + Label *versionLabel; }; #endif // DESKTOP_H diff --git a/src/main.cpp b/src/main.cpp index d10403b5..a42e8b82 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -164,6 +164,20 @@ Graphics *graphics; unsigned char state; std::string errorMessage; +namespace Main { +#ifdef PACKAGE_VERSION +#ifdef TMWSERV_SUPPORT +const std::string version = strprintf("v%s (tmwserv)", PACKAGE_VERSION); +#else +const std::string version = strprintf("v%s (eAthena)", PACKAGE_VERSION); +#endif +#else +const std::string version = _("Unknown Version"); +#endif +} + +Desktop *desktop; + Sound sound; Music *bgm; @@ -580,10 +594,10 @@ static void printHelp() static void printVersion() { #ifdef PACKAGE_VERSION - std::cout << _("The Mana World version ") << PACKAGE_VERSION << std::endl; + std::cout << _("The Mana World version ") << Main::version << std::endl; #else - std::cout << _("The Mana World version ") << - _("(local build?, PACKAGE_VERSION is not defined)") << std::endl; + std::cout << _("The Mana World version ") << Main::version << + _("(local build?)") << std::endl; #endif } @@ -896,17 +910,7 @@ int main(int argc, char *argv[]) logger->setLogFile(homeDir + std::string("/tmw.log")); // Log the tmw version - logger->log("The Mana World %s (%s)", -#ifdef PACKAGE_VERSION - "v" PACKAGE_VERSION, -#else - "- version not defined", -#endif -#ifdef TMWSERV_SUPPORT - "tmwserv"); -#else - "eAthena"); -#endif + logger->log("The Mana World %s", Main::version.c_str()); initConfiguration(options); logger->setLogToStandardOut(config.getValue("logToStandardOut", 0)); @@ -924,16 +928,8 @@ int main(int argc, char *argv[]) setupWindow = new Setup; gcn::Container *top = static_cast(gui->getTop()); - Desktop *desktop = new Desktop; + desktop = new Desktop; top->add(desktop); -#ifdef PACKAGE_VERSION -#ifdef TMWSERV_SUPPORT - gcn::Label *versionLabel = new Label(strprintf("%s (tmwserv)", PACKAGE_VERSION)); -#else - gcn::Label *versionLabel = new Label(strprintf("%s (eAthena)", PACKAGE_VERSION)); -#endif - top->add(versionLabel, 25, 2); -#endif ProgressBar *progressBar = new ProgressBar(0.0f, 100, 20, 168, 116, 31); gcn::Label *progressLabel = new Label; top->add(progressBar, 5, top->getHeight() - 5 - progressBar->getHeight()); @@ -1477,10 +1473,6 @@ int main(int argc, char *argv[]) case STATE_GAME: sound.fadeOutMusic(1000); -#ifdef PACKAGE_VERSION - delete versionLabel; - versionLabel = NULL; -#endif delete progressBar; delete progressLabel; delete setupButton; @@ -1571,8 +1563,8 @@ int main(int argc, char *argv[]) } delete guiPalette; - - //delete Net::getGeneralHandler(); + top->remove(desktop); + delete desktop; logger->log("Quitting"); exitEngine(); diff --git a/src/main.h b/src/main.h index 4f29425f..95f779eb 100644 --- a/src/main.h +++ b/src/main.h @@ -128,4 +128,10 @@ extern char n_server, n_character; extern unsigned char state; extern std::string errorMessage; +namespace Main { + +extern const std::string version; + +} + #endif -- cgit v1.2.3-60-g2f50