summaryrefslogtreecommitdiff
path: root/src/gui
diff options
context:
space:
mode:
Diffstat (limited to 'src/gui')
-rw-r--r--src/gui/inventorywindow.cpp18
-rw-r--r--src/gui/inventorywindow.h1
-rw-r--r--src/gui/itemcontainer.cpp4
-rw-r--r--src/gui/outfitwindow.cpp301
-rw-r--r--src/gui/outfitwindow.h92
-rw-r--r--src/gui/partywindow.cpp25
-rw-r--r--src/gui/partywindow.h2
-rw-r--r--src/gui/serverselectdialog.cpp2
-rw-r--r--src/gui/serverselectdialog.h6
-rw-r--r--src/gui/setup.cpp6
-rw-r--r--src/gui/setup_audio.cpp2
-rw-r--r--src/gui/setup_colors.cpp2
-rw-r--r--src/gui/setup_joystick.cpp2
-rw-r--r--src/gui/setup_keyboard.cpp2
-rw-r--r--src/gui/setup_players.cpp4
-rw-r--r--src/gui/setup_video.cpp6
-rw-r--r--src/gui/textrenderer.h2
-rw-r--r--src/gui/truetypefont.cpp8
-rw-r--r--src/gui/viewport.cpp6
-rw-r--r--src/gui/widgets/avatar.cpp12
-rw-r--r--src/gui/widgets/dropdown.cpp6
-rw-r--r--src/gui/windowmenu.cpp1
22 files changed, 474 insertions, 36 deletions
diff --git a/src/gui/inventorywindow.cpp b/src/gui/inventorywindow.cpp
index d6cd3a84..c44ae9e7 100644
--- a/src/gui/inventorywindow.cpp
+++ b/src/gui/inventorywindow.cpp
@@ -79,6 +79,7 @@ InventoryWindow::InventoryWindow(int invSize):
mUseButton = new Button(longestUseString, "use", this);
mDropButton = new Button(_("Drop"), "drop", this);
mSplitButton = new Button(_("Split"), "split", this);
+ mOutfitButton = new Button(_("Outfits"), "outfit", this);
mItems = new ItemContainer(player_node->getInventory());
mItems->addSelectionListener(this);
@@ -103,6 +104,7 @@ InventoryWindow::InventoryWindow(int invSize):
place(0, 2, mUseButton);
place(1, 2, mDropButton);
place(2, 2, mSplitButton);
+ place(6, 2, mOutfitButton);
Layout &layout = getLayout();
layout.setRowHeight(1, Layout::AUTO_SET);
@@ -156,6 +158,16 @@ void InventoryWindow::logic()
void InventoryWindow::action(const gcn::ActionEvent &event)
{
+ if (event.getId() == "outfit")
+ {
+ extern Window *outfitWindow;
+ outfitWindow->setVisible(!outfitWindow->isVisible());
+ if (outfitWindow->isVisible())
+ {
+ outfitWindow->requestMoveToTop();
+ }
+ }
+
Item *item = mItems->getSelectedItem();
if (!item)
@@ -163,7 +175,7 @@ void InventoryWindow::action(const gcn::ActionEvent &event)
if (event.getId() == "use")
{
- if (item->isEquipment())
+ if (item->isEquipment())
{
if (item->isEquipped())
Net::getInventoryHandler()->unequipItem(item);
@@ -258,10 +270,10 @@ void InventoryWindow::updateButtons()
mDropButton->setEnabled(false);
return;
}
-
+
mUseButton->setEnabled(true);
mDropButton->setEnabled(true);
-
+
if (selectedItem->isEquipment())
{
if (selectedItem->isEquipped())
diff --git a/src/gui/inventorywindow.h b/src/gui/inventorywindow.h
index 6e34666d..fbda5ac7 100644
--- a/src/gui/inventorywindow.h
+++ b/src/gui/inventorywindow.h
@@ -109,6 +109,7 @@ class InventoryWindow : public Window,
gcn::Button *mUseButton;
gcn::Button *mDropButton;
gcn::Button *mSplitButton;
+ gcn::Button *mOutfitButton;
gcn::Label *mWeightLabel;
gcn::Label *mSlotsLabel;
diff --git a/src/gui/itemcontainer.cpp b/src/gui/itemcontainer.cpp
index 54aa818b..d8ae6e20 100644
--- a/src/gui/itemcontainer.cpp
+++ b/src/gui/itemcontainer.cpp
@@ -23,6 +23,7 @@
#include "gui/chat.h"
#include "gui/itempopup.h"
+#include "gui/outfitwindow.h"
#include "gui/palette.h"
#include "gui/sdlinput.h"
#include "gui/viewport.h"
@@ -162,6 +163,7 @@ void ItemContainer::selectNone()
{
setSelectedIndex(-1);
mSelectionStatus = SEL_NONE;
+ outfitWindow->setItemSelected(-1);
}
void ItemContainer::setSelectedIndex(int newIndex)
@@ -260,6 +262,8 @@ void ItemContainer::mousePressed(gcn::MouseEvent &event)
mSelectionStatus = SEL_SELECTING;
itemShortcut->setItemSelected(item->getId());
+ if (item->isEquipment())
+ outfitWindow->setItemSelected(item->getId());
}
else
{
diff --git a/src/gui/outfitwindow.cpp b/src/gui/outfitwindow.cpp
new file mode 100644
index 00000000..53950299
--- /dev/null
+++ b/src/gui/outfitwindow.cpp
@@ -0,0 +1,301 @@
+/*
+ * The Mana World
+ * Copyright (C) 2007 The Mana World Development Team
+ *
+ * This file is part of The Mana World.
+ *
+ * This program 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.
+ *
+ * This program 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 this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
+
+#include "outfitwindow.h"
+
+#include "configuration.h"
+#include "localplayer.h"
+#include "graphics.h"
+#include "inventory.h"
+#include "equipment.h"
+#include "item.h"
+
+#include "gui/widgets/button.h"
+#include "gui/widgets/checkbox.h"
+#include "gui/widgets/label.h"
+#include "gui/widgets/layout.h"
+
+#include "net/inventoryhandler.h"
+#include "net/net.h"
+
+#include "resources/image.h"
+
+#include "utils/gettext.h"
+#include "utils/stringutils.h"
+
+#include <vector>
+
+OutfitWindow::OutfitWindow():
+ Window(_("Outfits")),
+ mBoxWidth(33),
+ mBoxHeight(33),
+ mGridWidth(3),
+ mGridHeight(3),
+ mItemClicked(false),
+ mItemMoved(NULL),
+ mItemSelected(-1),
+ mCurrentOutfit(0)
+{
+ setWindowName("Outfits");
+ setCloseButton(true);
+ setDefaultSize(250, 250, 118, 180); //160
+
+ mPreviousButton = new Button("<", "previous", this);
+ mNextButton = new Button(">", "next", this);
+ mCurrentLabel = new Label("Outfit: 1");
+ mCurrentLabel->setAlignment(gcn::Graphics::CENTER);
+ mUnequipCheck = new CheckBox(_("Unequip first"),
+ config.getValue("OutfitUnequip", true));
+
+ place(0, 3, mPreviousButton, 1);
+ place(1, 3, mCurrentLabel, 2);
+ place(3, 3, mNextButton, 1);
+ place(0, 4, mUnequipCheck, 4);
+
+ Layout &layout = getLayout();
+ layout.setRowHeight(0, Layout::AUTO_SET);
+ layout.setColWidth(4, Layout::CENTER);
+
+ loadWindowState();
+
+ load();
+}
+
+OutfitWindow::~OutfitWindow()
+{
+ save();
+}
+
+void OutfitWindow::load()
+{
+ memset(mItems, -1, sizeof(mItems));
+ for (int o = 0; o < 10; o++)
+ {
+ std::string outfit = config.getValue("Outfit" + toString(o), "-1");
+ std::string buf;
+ std::stringstream ss(outfit);
+
+ std::vector<int> tokens;
+
+ while (ss >> buf) {
+ tokens.push_back(atoi(buf.c_str()));
+ }
+
+ for (int i = 0; i < (int)tokens.size(); i++)
+ {
+ mItems[o][i] = tokens[i];
+ }
+ }
+}
+
+void OutfitWindow::save()
+{
+ std::string outfitStr;
+ for (int o = 0; o < 10; o++)
+ {
+ for (int i = 0; i < 9; i++)
+ {
+ outfitStr += mItems[o][i] ? toString(mItems[o][i]) : toString(-1);
+ if (i <8) outfitStr += " ";
+ }
+ config.setValue("Outfit" + toString(o), outfitStr);
+ outfitStr = "";
+ }
+ config.setValue("OutfitUnequip", mUnequipCheck->isSelected());
+}
+
+void OutfitWindow::action(const gcn::ActionEvent &event)
+{
+ if (event.getId() == "next")
+ {
+ if (mCurrentOutfit < 9) {
+ mCurrentOutfit++;
+ } else {
+ mCurrentOutfit = 0;
+ }
+ }
+ else if (event.getId() == "previous")
+ {
+ if (mCurrentOutfit > 0) {
+ mCurrentOutfit--;
+ } else {
+ mCurrentOutfit = 9;
+ }
+ }
+ mCurrentLabel->setCaption("Outfit: " + toString(mCurrentOutfit + 1));
+}
+
+void OutfitWindow::wearOutfit(int outfit)
+{
+ Item *item;
+ if (mUnequipCheck->isSelected())
+ {
+ for (int i = 0; i < 11; i++)
+ {
+ //non vis is 3,4,7
+ if (i != 3 && i != 4 && i != 7)
+ {
+ if (!(item = player_node->getInventory()->getItem(player_node
+ ->mEquipment.get()->getEquipment(i))))
+ continue;
+ Net::getInventoryHandler()->unequipItem(item);
+ }
+ }
+ }
+
+ for (int i = 0; i < 9; i++)
+ {
+ item = player_node->getInventory()->findItem(mItems[outfit][i]);
+ if (item && item->getQuantity())
+ {
+ if (item->isEquipment()) {
+ Net::getInventoryHandler()->equipItem(item);
+ }
+ }
+ }
+}
+
+void OutfitWindow::draw(gcn::Graphics *graphics)
+{
+ Window::draw(graphics);
+ Graphics *g = static_cast<Graphics*>(graphics);
+
+ for (int i = 0; i < 9; i++)
+ {
+ const int itemX = 10 + (i % mGridWidth) * mBoxWidth;
+ const int itemY = 25 + (i / mGridWidth) * mBoxHeight;
+
+ graphics->setColor(gcn::Color(0, 0, 0, 64));
+ graphics->drawRectangle(gcn::Rectangle(itemX, itemY, 32, 32));
+ graphics->setColor(gcn::Color(255, 255, 255, 32));
+ graphics->fillRectangle(gcn::Rectangle(itemX, itemY, 32, 32));
+
+ if (mItems[mCurrentOutfit][i] < 0)
+ continue;
+
+ Item *item =
+ player_node->getInventory()->findItem(mItems[mCurrentOutfit][i]);
+ if (item) {
+ // Draw item icon.
+ Image* image = item->getImage();
+ if (image) {
+ g->drawImage(image, itemX, itemY);
+ }
+ }
+ }
+ if (mItemMoved)
+ {
+ // Draw the item image being dragged by the cursor.
+ Image* image = mItemMoved->getImage();
+ if (image)
+ {
+ const int tPosX = mCursorPosX - (image->getWidth() / 2);
+ const int tPosY = mCursorPosY - (image->getHeight() / 2);
+
+ g->drawImage(image, tPosX, tPosY);
+ }
+ }
+}
+
+
+void OutfitWindow::mouseDragged(gcn::MouseEvent &event)
+{
+ Window::mouseDragged(event);
+ if (event.getButton() == gcn::MouseEvent::LEFT) {
+ if (!mItemMoved && mItemClicked) {
+ const int index = getIndexFromGrid(event.getX(), event.getY());
+ if (index == -1) {
+ return;
+ }
+ const int itemId = mItems[mCurrentOutfit][index];
+ if (itemId < 0)
+ return;
+ Item *item = player_node->getInventory()->findItem(itemId);
+ if (item)
+ {
+ mItemMoved = item;
+ mItems[mCurrentOutfit][index] = -1;
+ }
+ }
+ if (mItemMoved) {
+ mCursorPosX = event.getX();
+ mCursorPosY = event.getY();
+ }
+ }
+}
+
+void OutfitWindow::mousePressed(gcn::MouseEvent &event)
+{
+ Window::mousePressed(event);
+ const int index = getIndexFromGrid(event.getX(), event.getY());
+ if (index == -1) {
+ return;
+ }
+
+ // Stores the selected item if there is one.
+ if (isItemSelected()) {
+ mItems[mCurrentOutfit][index] = mItemSelected;
+ mItemSelected = -1;
+ }
+ else if (mItems[mCurrentOutfit][index]) {
+ mItemClicked = true;
+ }
+}
+
+void OutfitWindow::mouseReleased(gcn::MouseEvent &event)
+{
+ Window::mouseReleased(event);
+ if (event.getButton() == gcn::MouseEvent::LEFT)
+ {
+ if (isItemSelected())
+ {
+ mItemSelected = -1;
+ }
+ const int index = getIndexFromGrid(event.getX(), event.getY());
+ if (index == -1) {
+ mItemMoved = NULL;
+ return;
+ }
+ if (mItemMoved) {
+ mItems[mCurrentOutfit][index] = mItemMoved->getId();
+ mItemMoved = NULL;
+ }
+ if (mItemClicked) {
+ mItemClicked = false;
+ }
+ }
+}
+
+int OutfitWindow::getIndexFromGrid(int pointX, int pointY) const
+{
+ const gcn::Rectangle tRect = gcn::Rectangle(
+ 10, 25, 10 + mGridWidth * mBoxWidth, 25 + mGridHeight * mBoxHeight);
+ if (!tRect.isPointInRect(pointX, pointY)) {
+ return -1;
+ }
+ const int index = (((pointY - 25) / mBoxHeight) * mGridWidth) +
+ (pointX - 10) / mBoxWidth;
+ if (index >= 9)
+ {
+ return -1;
+ }
+ return index;
+}
diff --git a/src/gui/outfitwindow.h b/src/gui/outfitwindow.h
new file mode 100644
index 00000000..3e70815c
--- /dev/null
+++ b/src/gui/outfitwindow.h
@@ -0,0 +1,92 @@
+/*
+ * The Mana World
+ * Copyright (C) 2007 The Mana World Development Team
+ *
+ * This file is part of The Mana World.
+ *
+ * This program 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.
+ *
+ * This program 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 this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
+
+#ifndef OUTFITWINDOW_H
+#define OUTFITWINDOW_H
+
+#include "gui/widgets/window.h"
+
+#include <guichan/actionlistener.hpp>
+
+class Button;
+class CheckBox;
+class Item;
+class Label;
+
+class OutfitWindow : public Window, gcn::ActionListener
+{
+ public:
+ /**
+ * Constructor.
+ */
+ OutfitWindow();
+
+ /**
+ * Destructor.
+ */
+ ~OutfitWindow();
+
+ void action(const gcn::ActionEvent &event);
+
+ void draw(gcn::Graphics *graphics);
+
+ void mousePressed(gcn::MouseEvent &event);
+
+ void mouseDragged(gcn::MouseEvent &event);
+
+ void mouseReleased(gcn::MouseEvent &event);
+
+ void load();
+
+ void setItemSelected(int itemId)
+ { mItemSelected = itemId; }
+
+ bool isItemSelected()
+ { return mItemSelected > -1; }
+
+ void wearOutfit(int outfit);
+
+ private:
+ Button *mPreviousButton;
+ Button *mNextButton;
+ Label *mCurrentLabel;
+ CheckBox *mUnequipCheck;
+
+ int getIndexFromGrid(int pointX, int pointY) const;
+
+ int mBoxWidth;
+ int mBoxHeight;
+ int mCursorPosX, mCursorPosY;
+ int mGridWidth, mGridHeight;
+ bool mItemClicked;
+ Item *mItemMoved;
+
+ void save();
+
+ int mItems[10][9];
+ int mItemSelected;
+
+ int mCurrentOutfit;
+};
+
+extern OutfitWindow *outfitWindow;
+
+#endif
diff --git a/src/gui/partywindow.cpp b/src/gui/partywindow.cpp
index 996073bd..68e5a371 100644
--- a/src/gui/partywindow.cpp
+++ b/src/gui/partywindow.cpp
@@ -54,8 +54,8 @@ PartyWindow::PartyWindow() :
setSaveVisible(true);
setCloseButton(true);
setMinWidth(120);
- setMinHeight(200);
- setDefaultSize(590, 200, 150, 200);
+ setMinHeight(55);
+ setDefaultSize(590, 200, 150, 60);
loadWindowState();
}
@@ -92,9 +92,10 @@ PartyMember *PartyWindow::findOrCreateMember(int id)
{
member = new PartyMember;
mMembers[id] = member;
- add(member->avatar, 0, (mMembers.size() - 1) * 14);
}
+ buildLayout();
+
return member;
}
@@ -148,6 +149,8 @@ void PartyWindow::removeMember(int id)
void PartyWindow::removeMember(const std::string &name)
{
removeMember(findMember(name));
+
+ buildLayout();
}
void PartyWindow::updateOnlne(int id, bool online)
@@ -225,3 +228,19 @@ void PartyWindow::clearMembers()
delete_all(mMembers);
mMembers.clear();
}
+
+void PartyWindow::buildLayout()
+{
+ clearLayout();
+ int lastPos = 0;
+
+ PartyList::iterator it;
+ PartyMember *member;
+
+ for (it = mMembers.begin(); it != mMembers.end(); it++)
+ {
+ member = (*it).second;
+ add(member->avatar, 0, lastPos);
+ lastPos += member->avatar->getHeight() + 2;
+ }
+}
diff --git a/src/gui/partywindow.h b/src/gui/partywindow.h
index 8cea500f..19e611ed 100644
--- a/src/gui/partywindow.h
+++ b/src/gui/partywindow.h
@@ -125,6 +125,8 @@ class PartyWindow : public Window, gcn::ActionListener
*/
PartyMember *findOrCreateMember(int id);
+ void buildLayout();
+
typedef std::map<int, PartyMember*> PartyList;
PartyList mMembers;
std::string mPartyInviter;
diff --git a/src/gui/serverselectdialog.cpp b/src/gui/serverselectdialog.cpp
index ccdf2bb6..f492ebc7 100644
--- a/src/gui/serverselectdialog.cpp
+++ b/src/gui/serverselectdialog.cpp
@@ -55,7 +55,7 @@ class ServerListModel : public gcn::ListModel
}
};
-ServerSelectDialog::ServerSelectDialog(LoginData *loginData, int nextState):
+ServerSelectDialog::ServerSelectDialog(LoginData *loginData, State nextState):
Window(_("Select Server")),
mLoginData(loginData),
mNextState(nextState)
diff --git a/src/gui/serverselectdialog.h b/src/gui/serverselectdialog.h
index b80ad286..fd1484af 100644
--- a/src/gui/serverselectdialog.h
+++ b/src/gui/serverselectdialog.h
@@ -24,6 +24,8 @@
#include "gui/widgets/window.h"
+#include "main.h"
+
#include <guichan/actionlistener.hpp>
#include <guichan/listmodel.hpp>
@@ -42,7 +44,7 @@ class ServerSelectDialog : public Window, public gcn::ActionListener {
*
* @see Window::Window
*/
- ServerSelectDialog(LoginData *loginData, int nextState);
+ ServerSelectDialog(LoginData *loginData, State nextState);
/**
* Destructor.
@@ -59,7 +61,7 @@ class ServerSelectDialog : public Window, public gcn::ActionListener {
ServerListModel *mServerListModel;
gcn::ListBox *mServerList;
gcn::Button *mOkButton;
- int mNextState;
+ State mNextState;
};
#endif
diff --git a/src/gui/setup.cpp b/src/gui/setup.cpp
index a1765f24..aebcf61b 100644
--- a/src/gui/setup.cpp
+++ b/src/gui/setup.cpp
@@ -46,6 +46,7 @@ extern Window *inventoryWindow;
extern Window *npcTextDialog;
extern Window *npcStringDialog;
extern Window *skillDialog;
+extern Window *partyWindow;
extern Window *minimap;
extern Window *equipmentWindow;
extern Window *tradeWindow;
@@ -64,7 +65,7 @@ Setup::Setup():
Window(_("Setup"))
{
setCloseButton(true);
- int width = 340;
+ int width = 380;
int height = 360;
setContentSize(width, height);
@@ -104,7 +105,7 @@ Setup::Setup():
add(panel);
Label *version = new Label(FULL_VERSION);
- version->setPosition(5, height - version->getHeight() - 5);
+ version->setPosition(9, height - version->getHeight() - 9);
add(version);
center();
@@ -145,6 +146,7 @@ void Setup::action(const gcn::ActionEvent &event)
#endif
inventoryWindow->resetToDefaultSize();
skillDialog->resetToDefaultSize();
+ partyWindow->resetToDefaultSize();
minimap->resetToDefaultSize();
equipmentWindow->resetToDefaultSize();
tradeWindow->resetToDefaultSize();
diff --git a/src/gui/setup_audio.cpp b/src/gui/setup_audio.cpp
index 9417ad68..9da74c2e 100644
--- a/src/gui/setup_audio.cpp
+++ b/src/gui/setup_audio.cpp
@@ -72,7 +72,7 @@ Setup_Audio::Setup_Audio():
place(0, 2, mMusicSlider);
place(1, 2, musicLabel);
- setDimension(gcn::Rectangle(0, 0, 325, 280));
+ setDimension(gcn::Rectangle(0, 0, 365, 280));
}
void Setup_Audio::apply()
diff --git a/src/gui/setup_colors.cpp b/src/gui/setup_colors.cpp
index a0be62cd..efa03ba4 100644
--- a/src/gui/setup_colors.cpp
+++ b/src/gui/setup_colors.cpp
@@ -176,7 +176,7 @@ Setup_Colors::Setup_Colors() :
mGradTypeText->setCaption("");
- setDimension(gcn::Rectangle(0, 0, 325, 280));
+ setDimension(gcn::Rectangle(0, 0, 365, 280));
}
Setup_Colors::~Setup_Colors()
diff --git a/src/gui/setup_joystick.cpp b/src/gui/setup_joystick.cpp
index 08a80bf7..f050e334 100644
--- a/src/gui/setup_joystick.cpp
+++ b/src/gui/setup_joystick.cpp
@@ -55,7 +55,7 @@ Setup_Joystick::Setup_Joystick():
place = h.getPlacer(0, 1);
place(0, 0, mCalibrateButton);
- setDimension(gcn::Rectangle(0, 0, 325, 75));
+ setDimension(gcn::Rectangle(0, 0, 365, 75));
}
void Setup_Joystick::action(const gcn::ActionEvent &event)
diff --git a/src/gui/setup_keyboard.cpp b/src/gui/setup_keyboard.cpp
index 0c15a1ee..938c1c4e 100644
--- a/src/gui/setup_keyboard.cpp
+++ b/src/gui/setup_keyboard.cpp
@@ -98,7 +98,7 @@ Setup_Keyboard::Setup_Keyboard():
place(0, 6, mMakeDefaultButton);
place(3, 6, mAssignKeyButton);
- setDimension(gcn::Rectangle(0, 0, 325, 280));
+ setDimension(gcn::Rectangle(0, 0, 365, 280));
}
Setup_Keyboard::~Setup_Keyboard()
diff --git a/src/gui/setup_players.cpp b/src/gui/setup_players.cpp
index f0d88a30..6372d318 100644
--- a/src/gui/setup_players.cpp
+++ b/src/gui/setup_players.cpp
@@ -283,15 +283,15 @@ Setup_Players::Setup_Players():
place(0, 0, mPlayerTitleTable, 4);
place(0, 1, mPlayerScrollArea, 4, 4).setPadding(2);
place(0, 5, mDeleteButton);
- place(0, 6, mWhisperTabCheckBox);
place(2, 5, ignore_action_label);
place(2, 6, mIgnoreActionChoicesBox, 2).setPadding(2);
place(2, 7, mDefaultTrading);
place(2, 8, mDefaultWhisper);
+ place(0, 9, mWhisperTabCheckBox, 4).setPadding(4);
player_relations.addListener(this);
- setDimension(gcn::Rectangle(0, 0, 325, 280));
+ setDimension(gcn::Rectangle(0, 0, 365, 280));
}
Setup_Players::~Setup_Players()
diff --git a/src/gui/setup_video.cpp b/src/gui/setup_video.cpp
index 1c4043f7..a9c892b2 100644
--- a/src/gui/setup_video.cpp
+++ b/src/gui/setup_video.cpp
@@ -299,13 +299,13 @@ Setup_Video::Setup_Video():
place(1, 3, mParticleEffectsCheckBox, 3);
- place(1, 4, mPickupNotifyLabel, 3);
+ place(1, 4, mPickupNotifyLabel, 4);
place(1, 5, mPickupChatCheckBox, 1);
place(2, 5, mPickupParticleCheckBox, 2);
place(0, 6, fontSizeLabel, 3);
- place(1, 6, mFontSizeDropDown, 3);
+ place(1, 6, mFontSizeDropDown, 2);
place(0, 7, mAlphaSlider);
place(1, 7, alphaLabel, 3);
@@ -326,7 +326,7 @@ Setup_Video::Setup_Video():
place(1, 11, particleDetailLabel);
place(2, 11, mParticleDetailField, 3).setPadding(2);
- setDimension(gcn::Rectangle(0, 0, 325, 300));
+ setDimension(gcn::Rectangle(0, 0, 365, 300));
}
void Setup_Video::apply()
diff --git a/src/gui/textrenderer.h b/src/gui/textrenderer.h
index 712c1312..c8ff5833 100644
--- a/src/gui/textrenderer.h
+++ b/src/gui/textrenderer.h
@@ -50,7 +50,7 @@ class TextRenderer
if (shadow)
{
graphics->setColor(guiPalette->getColor(Palette::SHADOW,
- alpha / 2));
+ alpha / 2));
if (outline)
{
graphics->drawText(text, x + 2, y + 2, align);
diff --git a/src/gui/truetypefont.cpp b/src/gui/truetypefont.cpp
index 62a27651..e07adc9f 100644
--- a/src/gui/truetypefont.cpp
+++ b/src/gui/truetypefont.cpp
@@ -19,12 +19,12 @@
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
-#include <guichan/exception.hpp>
+#include "gui/truetypefont.h"
-#include "truetypefont.h"
+#include "graphics.h"
+#include "resources/image.h"
-#include "../graphics.h"
-#include "../resources/image.h"
+#include <guichan/exception.hpp>
#define CACHE_SIZE 256
diff --git a/src/gui/viewport.cpp b/src/gui/viewport.cpp
index f92a81b8..2c3f4007 100644
--- a/src/gui/viewport.cpp
+++ b/src/gui/viewport.cpp
@@ -195,7 +195,7 @@ void Viewport::draw(gcn::Graphics *gcnGraphics)
mMap->drawCollision(graphics,
(int) mPixelViewX,
(int) mPixelViewY);
-#if 0
+#if EATHENA_SUPPORT
drawDebugPath(graphics);
#endif
}
@@ -265,8 +265,8 @@ void Viewport::drawDebugPath(Graphics *graphics)
const Vector &playerPos = player_node->getPosition();
Path debugPath = mMap->findPath(
- (int) playerPos.x / 32,
- (int) playerPos.y / 32,
+ (int) (playerPos.x - 16) / 32,
+ (int) (playerPos.y - 32) / 32,
mouseTileX, mouseTileY, 0xFF);
drawPath(graphics, debugPath);
diff --git a/src/gui/widgets/avatar.cpp b/src/gui/widgets/avatar.cpp
index 0bbdc468..16c77233 100644
--- a/src/gui/widgets/avatar.cpp
+++ b/src/gui/widgets/avatar.cpp
@@ -42,7 +42,6 @@ Avatar::Avatar():
mMaxHp(0)
{
setOpaque(false);
- setSize(250, 12);
if (avatarCount == 0)
{
@@ -54,12 +53,17 @@ Avatar::Avatar():
avatarStatusOffline->incRef();
avatarStatusOnline->incRef();
- mStatus = new Icon(avatarStatusOffline);
- mStatus->setSize(12, 12);
- add(mStatus, 1, 0);
mLabel = new Label;
mLabel->adjustSize();
+
+ mStatus = new Icon(avatarStatusOffline);
+ mStatus->setSize(12, 12);
+
+ add(mStatus, 1, (mLabel->getHeight() - 12) / 2);
add(mLabel, 16, 0);
+
+ setSize(250, mLabel->getHeight());
+
}
Avatar::~Avatar()
diff --git a/src/gui/widgets/dropdown.cpp b/src/gui/widgets/dropdown.cpp
index 491e6396..e838aab6 100644
--- a/src/gui/widgets/dropdown.cpp
+++ b/src/gui/widgets/dropdown.cpp
@@ -140,15 +140,15 @@ void DropDown::draw(gcn::Graphics* graphics)
const int alpha = (int) (mAlpha * 255.0f);
gcn::Color faceColor = getBaseColor();
faceColor.a = alpha;
- const gcn::Color* highlightColor = &guiPalette->getColor(Palette::HIGHLIGHT,
- alpha);
+ const gcn::Color *highlightColor =
+ &guiPalette->getColor(Palette::HIGHLIGHT, alpha);
gcn::Color shadowColor = faceColor - 0x303030;
shadowColor.a = alpha;
if (mListBox->getListModel() && mListBox->getSelected() >= 0)
{
graphics->setFont(getFont());
- graphics->setColor(guiPalette->getColor(Palette::TEXT, alpha));
+ graphics->setColor(guiPalette->getColor(Palette::TEXT));
graphics->drawText(mListBox->getListModel()->getElementAt(mListBox->getSelected()), 1, 0);
}
diff --git a/src/gui/windowmenu.cpp b/src/gui/windowmenu.cpp
index 5e33a4ed..8964f072 100644
--- a/src/gui/windowmenu.cpp
+++ b/src/gui/windowmenu.cpp
@@ -48,7 +48,6 @@ extern Window *guildWindow;
extern Window *magicDialog;
#endif
-
WindowMenu::WindowMenu():
mEmotePopup(0)
{