From 5cb25cbc0b6b6d05a642d4a9d62b6b5895ef94b8 Mon Sep 17 00:00:00 2001 From: Ira Rice Date: Sat, 24 Jan 2009 15:28:30 +0100 Subject: Reflowed chat window to use layout code. Signed-off-by: Ira Rice (cherry picked from Aethyra commit 427f1319dc2890dfb2e5ed189d47cb16fa450554) Conflicts: src/gui/chat.cpp src/gui/chat.h --- src/gui/chat.cpp | 24 +++++++----------------- src/gui/chat.h | 5 ----- 2 files changed, 7 insertions(+), 22 deletions(-) (limited to 'src') diff --git a/src/gui/chat.cpp b/src/gui/chat.cpp index 4854f1ca..a5a3438d 100644 --- a/src/gui/chat.cpp +++ b/src/gui/chat.cpp @@ -32,6 +32,8 @@ #include "sdlinput.h" #include "windowcontainer.h" +#include "widgets/layout.h" + #include "../configuration.h" #include "../game.h" #include "../localplayer.h" @@ -68,8 +70,11 @@ ChatWindow::ChatWindow(Network *network): gcn::ScrollArea::SHOW_NEVER, gcn::ScrollArea::SHOW_ALWAYS); mScrollArea->setOpaque(false); - add(mScrollArea); - add(mChatInput); + place(0, 0, mScrollArea, 5, 5); + place(0, 5, mChatInput, 5); + + Layout &layout = getLayout(); + layout.setRowHeight(0, Layout::AUTO_SET); loadWindowState(); @@ -78,21 +83,6 @@ ChatWindow::ChatWindow(Network *network): mCurHist = mHistory.end(); } -void ChatWindow::widgetResized(const gcn::Event &event) -{ - Window::widgetResized(event); - - const gcn::Rectangle area = getChildrenArea(); - - mChatInput->setPosition(mChatInput->getFrameSize(), - area.height - mChatInput->getHeight() - - mChatInput->getFrameSize()); - mChatInput->setWidth(area.width - 2 * mChatInput->getFrameSize()); - mScrollArea->setWidth(area.width - 2 * mScrollArea->getFrameSize()); - mScrollArea->setHeight(area.height - 2 * mScrollArea->getFrameSize() - - mChatInput->getHeight() - 5); -} - void ChatWindow::chatLog(std::string line, int own) { // Trim whitespace diff --git a/src/gui/chat.h b/src/gui/chat.h index db03aa47..2baafdef 100644 --- a/src/gui/chat.h +++ b/src/gui/chat.h @@ -127,11 +127,6 @@ class ChatWindow : public Window, public gcn::ActionListener, ChatWindow(Network *network); /** - * Called whenever the widget changes size. - */ - void widgetResized(const gcn::Event &event); - - /* * Adds a line of text to our message list. Parameters: * * @param line Text message. -- cgit v1.2.3-60-g2f50 From 72e65a1cc2f2f9f541d24382eff4a2edb2535e57 Mon Sep 17 00:00:00 2001 From: Bjørn Lindeijer Date: Sat, 24 Jan 2009 15:45:13 +0100 Subject: Tweak margins and set minimum size for chat window --- src/gui/chat.cpp | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) (limited to 'src') diff --git a/src/gui/chat.cpp b/src/gui/chat.cpp index a5a3438d..87d843a0 100644 --- a/src/gui/chat.cpp +++ b/src/gui/chat.cpp @@ -54,6 +54,8 @@ ChatWindow::ChatWindow(Network *network): setResizable(true); setDefaultSize(0, windowContainer->getHeight() - 123, 600, 123); + setMinWidth(150); + setMinHeight(90); mChatInput = new ChatInput; mChatInput->setActionEventId("chatinput"); @@ -70,11 +72,12 @@ ChatWindow::ChatWindow(Network *network): gcn::ScrollArea::SHOW_NEVER, gcn::ScrollArea::SHOW_ALWAYS); mScrollArea->setOpaque(false); - place(0, 0, mScrollArea, 5, 5); - place(0, 5, mChatInput, 5); + place(0, 0, mScrollArea, 5, 5).setPadding(0); + place(0, 5, mChatInput, 5).setPadding(1); Layout &layout = getLayout(); layout.setRowHeight(0, Layout::AUTO_SET); + layout.setMargin(2); loadWindowState(); -- cgit v1.2.3-60-g2f50 From 944c187b91e823075dd1708b4f575acd43f0428f Mon Sep 17 00:00:00 2001 From: Bjørn Lindeijer Date: Sat, 24 Jan 2009 16:56:01 +0100 Subject: Added speech bubble background by QOAL --- data/graphics/gui/bubble.png | Bin 0 -> 407 bytes src/being.cpp | 2 +- src/text.cpp | 71 +++++++++++++++++++++++++++++++++++++------ src/text.h | 7 ++++- 4 files changed, 68 insertions(+), 12 deletions(-) create mode 100644 data/graphics/gui/bubble.png (limited to 'src') diff --git a/data/graphics/gui/bubble.png b/data/graphics/gui/bubble.png new file mode 100644 index 00000000..45322eb2 Binary files /dev/null and b/data/graphics/gui/bubble.png differ diff --git a/src/being.cpp b/src/being.cpp index b11177e1..5782c423 100644 --- a/src/being.cpp +++ b/src/being.cpp @@ -157,7 +157,7 @@ void Being::setSpeech(const std::string &text, Uint32 time) mSpeech = new Text(text, mPx + X_SPEECH_OFFSET, mPy - Y_SPEECH_OFFSET, gcn::Graphics::CENTER, speechFont, - gcn::Color(255, 255, 255)); + gcn::Color(255, 255, 255), true); mSpeechTime = 500; } diff --git a/src/text.cpp b/src/text.cpp index c0cd1ecc..d256b82d 100644 --- a/src/text.cpp +++ b/src/text.cpp @@ -25,23 +25,50 @@ #include +#include "configuration.h" #include "textmanager.h" +#include "resources/resourcemanager.h" +#include "resources/image.h" int Text::mInstances = 0; - +ImageRect Text::mBubble; +Image *Text::mBubbleArrow; Text::Text(const std::string &text, int x, int y, gcn::Graphics::Alignment alignment, gcn::Font *font, - gcn::Color colour) : - mText(text), mColour(colour) + gcn::Color colour, bool isSpeech) : + mText(text), + mColour(colour), + mIsSpeech(isSpeech) { if (textManager == 0) { - textManager = new TextManager(); + textManager = new TextManager; + ResourceManager *resman = ResourceManager::getInstance(); + Image *sbImage = resman->getImage("graphics/gui/bubble.png|W:#" + + config.getValue("speechBubbleColour", "000000")); + mBubble.grid[0] = sbImage->getSubImage(0, 0, 5, 5); + mBubble.grid[1] = sbImage->getSubImage(5, 0, 5, 5); + mBubble.grid[2] = sbImage->getSubImage(10, 0, 5, 5); + mBubble.grid[3] = sbImage->getSubImage(0, 5, 5, 5); + mBubble.grid[4] = sbImage->getSubImage(5, 5, 5, 5); + mBubble.grid[5] = sbImage->getSubImage(10, 5, 5, 5); + mBubble.grid[6] = sbImage->getSubImage(0, 10, 5, 5); + mBubble.grid[7] = sbImage->getSubImage(5, 10, 5, 5); + mBubble.grid[8] = sbImage->getSubImage(10, 10, 5, 5); + mBubbleArrow = sbImage->getSubImage(0, 15, 15, 10); + double bubbleAlpha = config.getValue("speechBubbleAlpha", 0.4); + for (int i = 0; i < 9; i++) + { + mBubble.grid[i]->setAlpha(bubbleAlpha); + } + mBubbleArrow->setAlpha(bubbleAlpha); + sbImage->decRef(); } ++mInstances; mHeight = font->getHeight(); mWidth = font->getWidth(text); + switch (alignment) { case gcn::Graphics::LEFT: @@ -60,11 +87,6 @@ Text::Text(const std::string &text, int x, int y, mFont = font; } -void Text::adviseXY(int x, int y) -{ - textManager->moveText(this, x - mXOffset, y); -} - Text::~Text() { textManager->removeText(this); @@ -72,14 +94,43 @@ Text::~Text() { delete textManager; textManager = 0; + delete mBubble.grid[0]; + delete mBubble.grid[1]; + delete mBubble.grid[2]; + delete mBubble.grid[3]; + delete mBubble.grid[4]; + delete mBubble.grid[5]; + delete mBubble.grid[6]; + delete mBubble.grid[7]; + delete mBubble.grid[8]; + delete mBubbleArrow; } } +void Text::adviseXY(int x, int y) +{ + textManager->moveText(this, x - mXOffset, y); +} + void Text::draw(Graphics *graphics, int xOff, int yOff) { graphics->setFont(mFont); graphics->setColor(mColour); - graphics->drawText(mText, mX - xOff, mY - yOff, gcn::Graphics::LEFT); + + if (mIsSpeech) { + static_cast(graphics)->drawImageRect( + mX - xOff - 5, mY - yOff - 5, mWidth + 10, mHeight + 10, + mBubble); + + if (mWidth >= 15) { + static_cast(graphics)->drawImage( + mBubbleArrow, mX - xOff - 7 + mWidth / 2, + mY - yOff + mHeight + 4); + } + } + + graphics->drawText(mText, mX - xOff, mY - yOff, + gcn::Graphics::LEFT); } FlashText::FlashText(const std::string &text, int x, int y, diff --git a/src/text.h b/src/text.h index 11e4e4be..cdf91fb9 100644 --- a/src/text.h +++ b/src/text.h @@ -38,7 +38,7 @@ class Text */ Text(const std::string &text, int x, int y, gcn::Graphics::Alignment alignment, gcn::Font *font, - gcn::Color colour); + gcn::Color colour, bool isSpeech = false); /** * Destructor. The text is removed from the screen. @@ -65,6 +65,11 @@ class Text gcn::Font *mFont; /**< The font used. */ std::string mText; /**< The text to display. */ gcn::Color mColour; /**< The colour of the text. */ + bool mIsSpeech; /**< Is this text a speech bubble? */ + + protected: + static ImageRect mBubble; /**< Speech bubble graphic */ + static Image *mBubbleArrow; /**< Speech bubble arrow graphic */ }; class FlashText : public Text -- cgit v1.2.3-60-g2f50 From a928798a9326de1e6781e14c8ccf5abec1232385 Mon Sep 17 00:00:00 2001 From: Bjørn Lindeijer Date: Sat, 24 Jan 2009 19:43:26 +0100 Subject: Use standard GUI font also for speech and names The speech bitmap font can't handle unicode, so it has now been replaced by the standard GUI font, drawn with a shadow for chat and with a full outline for names. --- src/being.cpp | 2 +- src/gui/gui.cpp | 29 ++++++-------------------- src/gui/gui.h | 4 ---- src/gui/ministatus.cpp | 8 -------- src/monster.cpp | 4 +--- src/npc.cpp | 4 +--- src/player.cpp | 3 +-- src/text.cpp | 55 +++++++++++++++++++++++++++++++++++++++++--------- src/text.h | 5 ++--- 9 files changed, 57 insertions(+), 57 deletions(-) (limited to 'src') diff --git a/src/being.cpp b/src/being.cpp index 5782c423..7036b8cd 100644 --- a/src/being.cpp +++ b/src/being.cpp @@ -156,7 +156,7 @@ void Being::setSpeech(const std::string &text, Uint32 time) delete mSpeech; mSpeech = new Text(text, mPx + X_SPEECH_OFFSET, mPy - Y_SPEECH_OFFSET, - gcn::Graphics::CENTER, speechFont, + gcn::Graphics::CENTER, gcn::Color(255, 255, 255), true); mSpeechTime = 500; } diff --git a/src/gui/gui.cpp b/src/gui/gui.cpp index 722779ca..22d94791 100644 --- a/src/gui/gui.cpp +++ b/src/gui/gui.cpp @@ -43,16 +43,14 @@ #include "../resources/imageloader.h" // Guichan stuff -Gui *gui; -Viewport *viewport; /**< Viewport on the map. */ -SDLInput *guiInput; +Gui *gui = 0; +Viewport *viewport = 0; /**< Viewport on the map. */ +SDLInput *guiInput = 0; // Fonts used in showing hits -gcn::Font *hitRedFont; -gcn::Font *hitBlueFont; -gcn::Font *hitYellowFont; -// Font used to display speech and player names -gcn::Font *speechFont; +gcn::Font *hitRedFont = 0; +gcn::Font *hitBlueFont = 0; +gcn::Font *hitYellowFont = 0; class GuiConfigListener : public ConfigListener { @@ -116,20 +114,6 @@ Gui::Gui(Graphics *graphics): + e.getMessage()); } - // Set speech font - try { - speechFont = new gcn::ImageFont("graphics/gui/rpgfont_wider.png", - " abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" - "0123456789.,!?-+/():;%&`'*#=[]\"<>{}^~|_@$\\" - "áÁéÉíÍóÓúÚç륣¢¡¿àãõêñÑöüäÖÜÄßøèÈåÅ" - ); - } - catch (gcn::Exception e) - { - logger->error(std::string("Unable to load rpgfont_wider.png: ") - + e.getMessage()); - } - gcn::Widget::setGlobalFont(mGuiFont); // Load hits' colourful fonts @@ -173,7 +157,6 @@ Gui::~Gui() mMouseCursors->decRef(); delete mGuiFont; - delete speechFont; delete viewport; delete getTop(); diff --git a/src/gui/gui.h b/src/gui/gui.h index 6af0a26a..c153b8e1 100644 --- a/src/gui/gui.h +++ b/src/gui/gui.h @@ -124,9 +124,5 @@ extern SDLInput *guiInput; /**< GUI input */ extern gcn::Font *hitRedFont; extern gcn::Font *hitBlueFont; extern gcn::Font *hitYellowFont; -/** - * Font used to display speech and player names - */ -extern gcn::Font *speechFont; #endif diff --git a/src/gui/ministatus.cpp b/src/gui/ministatus.cpp index 7a10ed3f..fa4f75da 100644 --- a/src/gui/ministatus.cpp +++ b/src/gui/ministatus.cpp @@ -55,14 +55,6 @@ MiniStatusWindow::MiniStatusWindow(): mMpLabel->setDimension(mMpBar->getDimension()); mXpLabel->setDimension(mXpBar->getDimension()); - mHpLabel->setForegroundColor(gcn::Color(255, 255, 255)); - mMpLabel->setForegroundColor(gcn::Color(255, 255, 255)); - mXpLabel->setForegroundColor(gcn::Color(255, 255, 255)); - - mHpLabel->setFont(speechFont); - mMpLabel->setFont(speechFont); - mXpLabel->setFont(speechFont); - mHpLabel->setAlignment(gcn::Graphics::CENTER); mMpLabel->setAlignment(gcn::Graphics::CENTER); mXpLabel->setAlignment(gcn::Graphics::CENTER); diff --git a/src/monster.cpp b/src/monster.cpp index 65049c9e..b6e6fc35 100644 --- a/src/monster.cpp +++ b/src/monster.cpp @@ -28,8 +28,6 @@ #include "text.h" #include "localplayer.h" -#include "gui/gui.h" - #include "resources/monsterdb.h" #include "utils/tostring.h" @@ -179,7 +177,7 @@ void Monster::showName(bool show) mText = new Text(getInfo().getName(), mPx + NAME_X_OFFSET, mPy + NAME_Y_OFFSET - getHeight(), gcn::Graphics::CENTER, - speechFont, gcn::Color(255, 32, 32)); + gcn::Color(255, 64, 64)); } else { diff --git a/src/npc.cpp b/src/npc.cpp index 3de1228f..aed6d87b 100644 --- a/src/npc.cpp +++ b/src/npc.cpp @@ -30,8 +30,6 @@ #include "net/protocol.h" #include "resources/npcdb.h" -#include "gui/gui.h" - NPC *current_npc = 0; static const int NAME_X_OFFSET = 15; @@ -76,7 +74,7 @@ void NPC::setName(const std::string &name) { delete mName; mName = new Text(name, mPx + NAME_X_OFFSET, mPy + NAME_Y_OFFSET, - gcn::Graphics::CENTER, speechFont, + gcn::Graphics::CENTER, gcn::Color(200, 200, 255)); } diff --git a/src/player.cpp b/src/player.cpp index 22efc711..27820acf 100644 --- a/src/player.cpp +++ b/src/player.cpp @@ -31,7 +31,6 @@ #include "utils/strprintf.h" -#include "gui/gui.h" #include static const int NAME_X_OFFSET = 15; @@ -57,7 +56,7 @@ void Player::setName(const std::string &name) { mName = new FlashText(name, mPx + NAME_X_OFFSET, mPy + NAME_Y_OFFSET, gcn::Graphics::CENTER, - speechFont, gcn::Color(255, 255, 255)); + gcn::Color(255, 255, 255)); Being::setName(name); } } diff --git a/src/text.cpp b/src/text.cpp index d256b82d..0e458c9f 100644 --- a/src/text.cpp +++ b/src/text.cpp @@ -30,12 +30,14 @@ #include "resources/resourcemanager.h" #include "resources/image.h" +#include "gui/gui.h" + int Text::mInstances = 0; ImageRect Text::mBubble; Image *Text::mBubbleArrow; Text::Text(const std::string &text, int x, int y, - gcn::Graphics::Alignment alignment, gcn::Font *font, + gcn::Graphics::Alignment alignment, gcn::Color colour, bool isSpeech) : mText(text), mColour(colour), @@ -57,7 +59,7 @@ Text::Text(const std::string &text, int x, int y, mBubble.grid[7] = sbImage->getSubImage(5, 10, 5, 5); mBubble.grid[8] = sbImage->getSubImage(10, 10, 5, 5); mBubbleArrow = sbImage->getSubImage(0, 15, 15, 10); - double bubbleAlpha = config.getValue("speechBubbleAlpha", 0.4); + const float bubbleAlpha = config.getValue("speechBubbleAlpha", 1.0); for (int i = 0; i < 9; i++) { mBubble.grid[i]->setAlpha(bubbleAlpha); @@ -66,8 +68,8 @@ Text::Text(const std::string &text, int x, int y, sbImage->decRef(); } ++mInstances; - mHeight = font->getHeight(); - mWidth = font->getWidth(text); + mHeight = gui->getFont()->getHeight(); + mWidth = gui->getFont()->getWidth(text); switch (alignment) { @@ -84,7 +86,6 @@ Text::Text(const std::string &text, int x, int y, mX = x - mXOffset; mY = y; textManager->addText(this); - mFont = font; } Text::~Text() @@ -114,29 +115,63 @@ void Text::adviseXY(int x, int y) void Text::draw(Graphics *graphics, int xOff, int yOff) { - graphics->setFont(mFont); - graphics->setColor(mColour); + graphics->setFont(gui->getFont()); if (mIsSpeech) { static_cast(graphics)->drawImageRect( mX - xOff - 5, mY - yOff - 5, mWidth + 10, mHeight + 10, mBubble); - + /* if (mWidth >= 15) { static_cast(graphics)->drawImage( mBubbleArrow, mX - xOff - 7 + mWidth / 2, mY - yOff + mHeight + 4); } + */ + } + + // Text shadow + graphics->setColor(gcn::Color(0, 0, 0)); + graphics->drawText(mText, mX - xOff + 1, mY - yOff + 1, + gcn::Graphics::LEFT); + + if (!mIsSpeech) { + graphics->setColor(gcn::Color(0, 0, 0, 64)); + /* + // TODO: Reanable when we can draw it nicely in software mode + graphics->drawText(mText, mX - xOff + 2, mY - yOff + 2, + gcn::Graphics::LEFT); + graphics->drawText(mText, mX - xOff + 1, mY - yOff + 2, + gcn::Graphics::LEFT); + graphics->drawText(mText, mX - xOff + 2, mY - yOff + 1, + gcn::Graphics::LEFT); + */ + + // Text outline + graphics->setColor(gcn::Color(0, 0, 0)); + graphics->drawText(mText, mX - xOff + 1, mY - yOff, + gcn::Graphics::LEFT); + + graphics->drawText(mText, mX - xOff - 1, mY - yOff, + gcn::Graphics::LEFT); + + graphics->drawText(mText, mX - xOff, mY - yOff + 1, + gcn::Graphics::LEFT); + + graphics->drawText(mText, mX - xOff, mY - yOff - 1, + gcn::Graphics::LEFT); } + graphics->setColor(mColour); graphics->drawText(mText, mX - xOff, mY - yOff, gcn::Graphics::LEFT); } FlashText::FlashText(const std::string &text, int x, int y, - gcn::Graphics::Alignment alignment, gcn::Font *font, + gcn::Graphics::Alignment alignment, gcn::Color colour) : - Text(text, x, y, alignment, font, colour), mTime(0) + Text(text, x, y, alignment, colour), + mTime(0) { } diff --git a/src/text.h b/src/text.h index cdf91fb9..0c6f072a 100644 --- a/src/text.h +++ b/src/text.h @@ -37,7 +37,7 @@ class Text * Constructor creates a text object to display on the screen. */ Text(const std::string &text, int x, int y, - gcn::Graphics::Alignment alignment, gcn::Font *font, + gcn::Graphics::Alignment alignment, gcn::Color colour, bool isSpeech = false); /** @@ -62,7 +62,6 @@ class Text int mHeight; /**< The height of the text. */ int mXOffset; /**< The offset of mX from the desired x. */ static int mInstances; /**< Instances of text. */ - gcn::Font *mFont; /**< The font used. */ std::string mText; /**< The text to display. */ gcn::Color mColour; /**< The colour of the text. */ bool mIsSpeech; /**< Is this text a speech bubble? */ @@ -76,7 +75,7 @@ class FlashText : public Text { public: FlashText(const std::string &text, int x, int y, - gcn::Graphics::Alignment alignment, gcn::Font *font, + gcn::Graphics::Alignment alignment, gcn::Color colour); /** -- cgit v1.2.3-60-g2f50 From a18d4dcf1eb9abb9b4ed8060aefd14088ccb9680 Mon Sep 17 00:00:00 2001 From: Bjørn Lindeijer Date: Sat, 24 Jan 2009 19:45:33 +0100 Subject: Code reformatting --- src/gui/ministatus.cpp | 16 +++++++--------- src/gui/progressbar.cpp | 11 ++++------- src/gui/truetypefont.cpp | 6 ++---- src/monster.cpp | 21 +++++++-------------- src/player.cpp | 9 +++------ src/resources/image.h | 32 +++++++++++++------------------- 6 files changed, 36 insertions(+), 59 deletions(-) (limited to 'src') diff --git a/src/gui/ministatus.cpp b/src/gui/ministatus.cpp index fa4f75da..f49022b6 100644 --- a/src/gui/ministatus.cpp +++ b/src/gui/ministatus.cpp @@ -72,8 +72,7 @@ MiniStatusWindow::MiniStatusWindow(): loadWindowState(); } -void -MiniStatusWindow::setIcon(int index, AnimatedSprite *sprite) +void MiniStatusWindow::setIcon(int index, AnimatedSprite *sprite) { if (index >= (int) mIcons.size()) mIcons.resize(index + 1, NULL); @@ -84,8 +83,7 @@ MiniStatusWindow::setIcon(int index, AnimatedSprite *sprite) mIcons[index] = sprite; } -void -MiniStatusWindow::eraseIcon(int index) +void MiniStatusWindow::eraseIcon(int index) { mIcons.erase(mIcons.begin() + index); } @@ -148,20 +146,20 @@ void MiniStatusWindow::update() } -void MiniStatusWindow::draw(gcn::Graphics *gcn_graphics) +void MiniStatusWindow::draw(gcn::Graphics *graphics) { update(); - drawChildren(gcn_graphics); + drawChildren(graphics); } -void -MiniStatusWindow::drawIcons(Graphics *graphics) +void MiniStatusWindow::drawIcons(Graphics *graphics) { // Draw icons int icon_x = mXpBar->getX() + mXpBar->getWidth() + 4; - for (unsigned int i = 0; i < mIcons.size(); i++) + for (unsigned int i = 0; i < mIcons.size(); i++) { if (mIcons[i]) { mIcons[i]->draw(graphics, icon_x, 3); icon_x += 2 + mIcons[i]->getWidth(); } + } } diff --git a/src/gui/progressbar.cpp b/src/gui/progressbar.cpp index 7b88a556..5ce01b35 100644 --- a/src/gui/progressbar.cpp +++ b/src/gui/progressbar.cpp @@ -88,8 +88,7 @@ void ProgressBar::logic() if (mBlueToGo < mBlue) mBlue--; } -void -ProgressBar::draw(gcn::Graphics *graphics) +void ProgressBar::draw(gcn::Graphics *graphics) { static_cast(graphics)-> drawImageRect(0, 0, getWidth(), getHeight(), mBorder); @@ -99,21 +98,19 @@ ProgressBar::draw(gcn::Graphics *graphics) { graphics->setColor(gcn::Color(mRed, mGreen, mBlue, 200)); graphics->fillRectangle(gcn::Rectangle(4, 4, - (int)(mProgress * (getWidth() - 8)), + (int) (mProgress * (getWidth() - 8)), getHeight() - 8)); } } -void -ProgressBar::setProgress(float progress) +void ProgressBar::setProgress(float progress) { if (progress < 0.0f) mProgress = 0.0; else if (progress > 1.0f) mProgress = 1.0; else mProgress = progress; } -void -ProgressBar::setColor(Uint8 red, Uint8 green, Uint8 blue) +void ProgressBar::setColor(Uint8 red, Uint8 green, Uint8 blue) { mRedToGo = red; mGreenToGo = green; diff --git a/src/gui/truetypefont.cpp b/src/gui/truetypefont.cpp index fc6783f7..f65b3446 100644 --- a/src/gui/truetypefont.cpp +++ b/src/gui/truetypefont.cpp @@ -111,13 +111,11 @@ TrueTypeFont::~TrueTypeFont() } void TrueTypeFont::drawString(gcn::Graphics *graphics, - const std::string &text, - int x, int y) + const std::string &text, + int x, int y) { if (text.empty()) - { return; - } Graphics *g = dynamic_cast(graphics); diff --git a/src/monster.cpp b/src/monster.cpp index b6e6fc35..f50855ca 100644 --- a/src/monster.cpp +++ b/src/monster.cpp @@ -79,8 +79,7 @@ Monster::~Monster() } } -void -Monster::logic() +void Monster::logic() { if (mAction != STAND) { @@ -95,14 +94,12 @@ Monster::logic() Being::logic(); } -Being::Type -Monster::getType() const +Being::Type Monster::getType() const { return MONSTER; } -void -Monster::setAction(Uint8 action) +void Monster::setAction(Uint8 action) { SpriteAction currentAction = ACTION_INVALID; @@ -140,8 +137,7 @@ Monster::setAction(Uint8 action) } } -void -Monster::handleAttack(Being *victim, int damage) +void Monster::handleAttack(Being *victim, int damage) { Being::handleAttack(victim, damage); @@ -150,21 +146,18 @@ Monster::handleAttack(Being *victim, int damage) MONSTER_EVENT_HIT : MONSTER_EVENT_MISS)); } -void -Monster::takeDamage(int amount) +void Monster::takeDamage(int amount) { if (amount > 0) sound.playSfx(getInfo().getSound(MONSTER_EVENT_HURT)); Being::takeDamage(amount); } -Being::TargetCursorSize -Monster::getTargetCursorSize() const +Being::TargetCursorSize Monster::getTargetCursorSize() const { return getInfo().getTargetCursorSize(); } -const MonsterInfo& -Monster::getInfo() const +const MonsterInfo &Monster::getInfo() const { return MonsterDB::get(mJob - 1002); } diff --git a/src/player.cpp b/src/player.cpp index 27820acf..ec3b1c1c 100644 --- a/src/player.cpp +++ b/src/player.cpp @@ -61,8 +61,7 @@ void Player::setName(const std::string &name) } } -void -Player::logic() +void Player::logic() { switch (mAction) { case WALK: @@ -89,14 +88,12 @@ Player::logic() Being::logic(); } -Being::Type -Player::getType() const +Being::Type Player::getType() const { return PLAYER; } -void -Player::flash(int time) +void Player::flash(int time) { if (mName) { diff --git a/src/resources/image.h b/src/resources/image.h index faaf3db7..2c0569f9 100644 --- a/src/resources/image.h +++ b/src/resources/image.h @@ -54,8 +54,7 @@ class Image : public Resource /** * Destructor. */ - virtual - ~Image(); + virtual ~Image(); /** * Loads an image from a buffer in memory. @@ -78,7 +77,8 @@ class Image : public Resource * @return NULL if an error occurred, a valid pointer * otherwise. */ - static Resource *load(void *buffer, unsigned bufferSize, Dye const &dye); + static Resource *load(void *buffer, unsigned bufferSize, + Dye const &dye); /** * Loads an image from an SDL surface. @@ -88,21 +88,20 @@ class Image : public Resource /** * Frees the resources created by SDL. */ - virtual void - unload(); + virtual void unload(); /** * Returns the width of the image. */ - virtual int - getWidth() const { return mBounds.w; } + virtual int getWidth() const + { return mBounds.w; } /** * Returns the height of the image. */ - virtual int - getHeight() const { return mBounds.h; } + virtual int getHeight() const + { return mBounds.h; } /** * Creates a new image with the desired clipping rectangle. @@ -110,20 +109,17 @@ class Image : public Resource * @return NULL if creation failed and a valid * object otherwise. */ - virtual Image* - getSubImage(int x, int y, int width, int height); + virtual Image *getSubImage(int x, int y, int width, int height); /** * Sets the alpha value of this image. */ - void - setAlpha(float alpha); + void setAlpha(float alpha); /** * Returns the alpha value of this image. */ - float - getAlpha(); + float getAlpha(); #ifdef USE_OPENGL /** @@ -145,8 +141,7 @@ class Image : public Resource /** * Returns the first power of two equal or bigger than the input. */ - static int - powerOfTwo(int input); + static int powerOfTwo(int input); #endif Image(SDL_Surface *image); @@ -192,8 +187,7 @@ class SubImage : public Image * @return NULL if creation failed and a valid * image otherwise. */ - Image* - getSubImage(int x, int y, int width, int height); + Image *getSubImage(int x, int y, int width, int height); private: Image *mParent; -- cgit v1.2.3-60-g2f50 From a201bc68ba8d95b470ca3faeb6f8f0cf17cf24c0 Mon Sep 17 00:00:00 2001 From: Bjørn Lindeijer Date: Sat, 24 Jan 2009 20:17:48 +0100 Subject: Fix adjustment of labels and button sizes in trade window --- src/gui/trade.cpp | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) (limited to 'src') diff --git a/src/gui/trade.cpp b/src/gui/trade.cpp index 1e58c409..66df55b8 100644 --- a/src/gui/trade.cpp +++ b/src/gui/trade.cpp @@ -128,10 +128,15 @@ void TradeWindow::widgetResized(const gcn::Event &event) mMoneyField->getX() + mMoneyField->getWidth() + 6, mMoneyLabel2->getY()); - mCancelButton->setPosition(width - 54, height - 8 - mCancelButton->getHeight()); - mTradeButton->setPosition(mCancelButton->getX() - 41, mCancelButton->getY()); - mOkButton->setPosition(mTradeButton->getX() - 24, mCancelButton->getY()); - mAddButton->setPosition(mOkButton->getX() - 31, mCancelButton->getY()); + mCancelButton->setPosition(width - 8 - mCancelButton->getWidth(), + height - 8 - mCancelButton->getHeight()); + mTradeButton->setPosition( + mCancelButton->getX() - 4 - mTradeButton->getWidth(), + mCancelButton->getY()); + mOkButton->setPosition(mTradeButton->getX() - 4 - mOkButton->getWidth(), + mCancelButton->getY()); + mAddButton->setPosition(mOkButton->getX() - 4 - mAddButton->getWidth(), + mCancelButton->getY()); mItemDescriptionLabel->setPosition(8, mOkButton->getY() - mItemDescriptionLabel->getHeight() - 4); @@ -263,8 +268,10 @@ void TradeWindow::valueChanged(const gcn::SelectionEvent &event) ItemInfo const *info = item ? &item->getInfo() : NULL; mItemNameLabel->setCaption(strprintf(_("Name: %s"), info ? info->getName().c_str() : "")); + mItemNameLabel->adjustSize(); mItemDescriptionLabel->setCaption(strprintf(_("Description: %s"), info ? info->getDescription().c_str() : "")); + mItemDescriptionLabel->adjustSize(); } void TradeWindow::action(const gcn::ActionEvent &event) -- cgit v1.2.3-60-g2f50 From 61040888a373b03cc599750c33186848cae37ef4 Mon Sep 17 00:00:00 2001 From: Bjørn Lindeijer Date: Sat, 24 Jan 2009 20:29:56 +0100 Subject: Version updated to 0.0.28 To be released hopefully tomorrow. --- CMakeLists.txt | 2 +- NEWS | 2 +- README | 2 +- configure.ac | 2 +- data/help/changes.txt | 8 ++++++++ data/help/header.txt | 2 +- src/winver.h | 4 ++-- 7 files changed, 15 insertions(+), 7 deletions(-) (limited to 'src') diff --git a/CMakeLists.txt b/CMakeLists.txt index 2c31196f..0ce5d305 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,6 +1,6 @@ PROJECT(TMW) -SET(VERSION 0.0.27) +SET(VERSION 0.0.28) # where to look for cmake modules SET(CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/CMake/Modules) diff --git a/NEWS b/NEWS index eba6ee22..649771dc 100644 --- a/NEWS +++ b/NEWS @@ -1,4 +1,4 @@ -0.0.28 (...) +0.0.28 (25 January 2009) - Added support for animated map tiles - Added support for internationalization, plus many translations - Added support for TrueType fonts diff --git a/README b/README index 18621c6c..1af4d3a2 100644 --- a/README +++ b/README @@ -1,7 +1,7 @@ THE MANA WORLD ============== - Version: 0.0.27 Date: 9/12/2008 + Version: 0.0.28 Date: 25/1/2009 Development team: - See AUTHORS file for a list diff --git a/configure.ac b/configure.ac index 8c1ce8a4..6162dca7 100755 --- a/configure.ac +++ b/configure.ac @@ -1,5 +1,5 @@ AC_PREREQ(2.59) -AC_INIT([The Mana World], [0.0.27], [themanaworld-devel@lists.sourceforge.net], [tmw]) +AC_INIT([The Mana World], [0.0.28], [themanaworld-devel@lists.sourceforge.net], [tmw]) AM_INIT_AUTOMAKE AC_CONFIG_HEADERS([config.h:config.h.in]) AC_LANG_CPLUSPLUS diff --git a/data/help/changes.txt b/data/help/changes.txt index 62035a01..62eed904 100644 --- a/data/help/changes.txt +++ b/data/help/changes.txt @@ -3,6 +3,14 @@ ##3 === RECENT CHANGES === + 0.0.28 (25 January 2009) + - Added support for animated map tiles + - Added support for internationalization, plus many translations + - Added support for TrueType fonts + - Trade window is now resizable + - Obscure precise home directory name when making screenshots + - Fixed follow-parent of nested and being-following particle emitters + 0.0.27 (9 December 2008) - Added support for showing map name above minimap - Added showing how long the ban is when banned diff --git a/data/help/header.txt b/data/help/header.txt index 0d3ff134..151eb262 100644 --- a/data/help/header.txt +++ b/data/help/header.txt @@ -2,7 +2,7 @@ ##1 T H E M A N A W O R L D ##1 ========================================== - ##2Version:##6 0.0.27 ##2Date:##3 9 December 2008 + ##2Version:##6 0.0.28 ##2Date:##3 25 January 2009 ##2 Website: http://themanaworld.org diff --git a/src/winver.h b/src/winver.h index 46d247fc..45043409 100644 --- a/src/winver.h +++ b/src/winver.h @@ -1,6 +1,6 @@ /* VERSION DEFINITIONS */ #define VER_MAJOR 0 #define VER_MINOR 0 -#define VER_RELEASE 27 +#define VER_RELEASE 28 #define VER_BUILD 0 -#define PACKAGE_VERSION "0.0.27" +#define PACKAGE_VERSION "0.0.28" -- cgit v1.2.3-60-g2f50