diff options
-rw-r--r-- | src/game.cpp | 5 | ||||
-rw-r--r-- | src/gui/stats.cpp | 151 | ||||
-rw-r--r-- | src/gui/stats.h | 97 |
3 files changed, 156 insertions, 97 deletions
diff --git a/src/game.cpp b/src/game.cpp index e378778c..104a1b84 100644 --- a/src/game.cpp +++ b/src/game.cpp @@ -33,6 +33,7 @@ #include "./gui/shop.h" #include "./gui/npc.h" #include "./gui/setup.h" +#include "./gui/stats.h" #include "./gui/ok_dialog.h" #include "./graphic/graphic.h" #include "./sound/sound.h" @@ -50,6 +51,7 @@ volatile bool refresh = false, action_time = false; int current_npc, server_tick; extern unsigned char screen_mode; Setup *setup; +StatsWindow *stats; #define MAX_TIME 10000 @@ -285,7 +287,8 @@ void do_input() { } if(key[KEY_S]) { - show_skill_dialog = !show_skill_dialog; + //show_skill_dialog = !show_skill_dialog; + stats = StatsWindow::create_statswindow(); action_time = false; } else if(key[KEY_I]) { inventoryWindow->setVisible(!inventoryWindow->isVisible()); diff --git a/src/gui/stats.cpp b/src/gui/stats.cpp index 33a3f8a9..9de85b79 100644 --- a/src/gui/stats.cpp +++ b/src/gui/stats.cpp @@ -1,87 +1,110 @@ +/* + * The Mana World + * Copyright 2004 The Mana World Development Team + * + * This file is part of The Mana World. + * + * The Mana World is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * any later version. + * + * The Mana World is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with The Mana World; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * $Id$ + */ + #include "stats.h" -/* +/** * Constructor */ StatsWindow::StatsWindow(gcn::Container *parent) - : Window(parent, "Stats") + : Window(parent, "Stats") { - statsStr[0] << "Strenght: " << char_info->STR; - statsStr[1] << "Agility: " << char_info->AGI; - statsStr[2] << "Vitality: " << char_info->VIT; - statsStr[3] << "Inteligence: " << char_info->INT; - statsStr[4] << "Dexternity: " << char_info->DEX; - statsStr[5] << "Luck: " << char_info->LUK; - - /* New labels */ - for(i=0; i<5;i++) - statsLabel[i] = new gcn::Label(statsStr[i].str()); - - /* New buttons */ - for(i=0; i<5;i++) - statsButton[i] = new Button("+"); - - /* Set position */ - for(i=0;i<5;i++) { - statsLabel[i]->setPosition(10,(i*22)+10); - statsButton[i]->setPosition(170,(i*22)+10); - } - - /* Set button events Id */ - statsButton[0]->setEventId("STR"); - statsButton[1]->setEventId("AGI"); - statsButton[2]->setEventId("VIT"); - statsButton[3]->setEventId("INT"); - statsButton[4]->setEventId("DEX"); - statsButton[5]->setEventId("LUK"); - - /* Assemble */ - for(i=0; i<5; i++) { - add(statsLabel[i]); - add(statsButton[i]); - } - - setSize(200,150); - setLocationRelativeTo(getParent()); + statsStr[0] << "Strenght: " << char_info->STR; + statsStr[1] << "Agility: " << char_info->AGI; + statsStr[2] << "Vitality: " << char_info->VIT; + statsStr[3] << "Inteligence: " << char_info->INT; + statsStr[4] << "Dexternity: " << char_info->DEX; + statsStr[5] << "Luck: " << char_info->LUK; + + /* New labels */ + for(i=0; i<5;i++) + statsLabel[i] = new gcn::Label(statsStr[i].str()); + + /* New buttons */ + for(i=0; i<5;i++) + statsButton[i] = new Button("+"); + + /* Set position */ + for(i=0;i<5;i++) { + statsLabel[i]->setPosition(10,(i*22)+10); + statsButton[i]->setPosition(170,(i*22)+10); + } + + /* Set button events Id */ + statsButton[0]->setEventId("STR"); + statsButton[1]->setEventId("AGI"); + statsButton[2]->setEventId("VIT"); + statsButton[3]->setEventId("INT"); + statsButton[4]->setEventId("DEX"); + statsButton[5]->setEventId("LUK"); + + /* Assemble */ + for(i=0; i<5; i++) { + add(statsLabel[i]); + add(statsButton[i]); + } + + setSize(200,150); + setLocationRelativeTo(getParent()); } -/* +/** * Destructor */ StatsWindow::~StatsWindow() { - for(int i=0; i<5; i++) { - delete statsStr[i]; - delete statsLabel[i]; - delete statsButton[i]; - } + for(int i=0; i<5; i++) { + delete statsLabel[i]; + delete statsButton[i]; + } } -/* +/** * Static method for creating singleton objects */ StatsWindow * StatsWindow::ptr = NULL; StatsWindow * StatsWindow::create_statswindow() { - if(ptr == NULL) - ptr = new StatsWindow(guiTop); - else - ptr->setVisible(true); - return ptr; + if(ptr == NULL) + ptr = new StatsWindow(guiTop); + else + ptr->setVisible(true); + return ptr; } -/* +/** * Event handling method */ void StatsWindow::action(const std::string& eventId) { - if(eventId == "STR") - setVisible(false); - if(eventId == "AGI") - setVisible(false); - if(eventId == "VIT") - setVisible(false); - if(eventId == "INT") - setVisible(false); - if(eventId == "DEX") - setVisible(false); - if(eventId == "LUK") - setVisible(false); + if(eventId == "STR") { + setVisible(false); + } + if(eventId == "AGI") + setVisible(false); + if(eventId == "VIT") + setVisible(false); + if(eventId == "INT") + setVisible(false); + if(eventId == "DEX") + setVisible(false); + if(eventId == "LUK") + setVisible(false); } diff --git a/src/gui/stats.h b/src/gui/stats.h index b7f32f99..d047f432 100644 --- a/src/gui/stats.h +++ b/src/gui/stats.h @@ -1,46 +1,79 @@ +/* + * The Mana World + * Copyright 2004 The Mana World Development Team + * + * This file is part of The Mana World. + * + * The Mana World is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * any later version. + * + * The Mana World is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with The Mana World; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * $Id$ + */ + #ifndef _STATS_WINDOW_H #define _STATS_WINDOW_H #include "button.h" #include "window.h" -#include "main.h" +#include "../main.h" #include <sstream> +#include <string> class StatsWindow : public Window, public gcn::ActionListener { public: - /* - * Create the Stats window - */ - static StatsWindow *create_statswindow(); - - /* - * Metod called when receiving actions from widget. - */ - void action(const std::string& eventId); - + /** + * Create the Stats window + */ + static StatsWindow *create_statswindow(); + + /** + * Metod called when receiving actions from widget. + */ + void action(const std::string& eventId); + private: int i; - /* Stats values */ - std::stringstream statsStr[5]; - - /* Stats captions */ - gcn::Label *statsLabel[5]; - - /* Stats buttons */ - Button *statsButton[5]; - - /* Stats window ptr */ - static StatsWindow *ptr; - - /* - * Constructor. - */ - StatsWindow(gcn::Container *parent); - - /* - * Destructor. - */ - ~StatsWindow(); + + /** + * Stats values + */ + std::stringstream statsStr[5]; + + /** + * Stats captions + */ + gcn::Label *statsLabel[5]; + + /** + * Stats buttons + */ + Button *statsButton[5]; + + /** + * Stats window ptr + */ + static StatsWindow *ptr; + + /** + * Constructor. + */ + StatsWindow(gcn::Container *parent); + + /** + * Destructor. + */ + virtual ~StatsWindow(); }; #endif /* _STATS_Window_H */ |