diff options
author | Blue <bluesansdouze@gmail.com> | 2009-05-21 15:14:52 +0200 |
---|---|---|
committer | Blue <bluesansdouze@gmail.com> | 2009-05-21 15:14:52 +0200 |
commit | a9df0306b4949f10287657a229e1f8d33cfae5e9 (patch) | |
tree | b3dff4b9f36e12d1492d534943796017a955bc3e /src | |
parent | 7b76f0e8c4c489254d7519e2916b951601423801 (diff) | |
parent | b85793ec89e57ae20140957f833a06b874eb3120 (diff) | |
download | mana-a9df0306b4949f10287657a229e1f8d33cfae5e9.tar.gz mana-a9df0306b4949f10287657a229e1f8d33cfae5e9.tar.bz2 mana-a9df0306b4949f10287657a229e1f8d33cfae5e9.tar.xz mana-a9df0306b4949f10287657a229e1f8d33cfae5e9.zip |
Merge branch 'master' of git@gitorious.org:tmw/mainline
Diffstat (limited to 'src')
44 files changed, 248 insertions, 196 deletions
diff --git a/src/commandhandler.cpp b/src/commandhandler.cpp index f2fafed4..aaca632a 100644 --- a/src/commandhandler.cpp +++ b/src/commandhandler.cpp @@ -110,7 +110,7 @@ void CommandHandler::handleCommand(const std::string &command, ChatTab *tab) } else { - tab->chatLog("Unknown command"); + tab->chatLog(_("Unknown command.")); } } @@ -167,7 +167,7 @@ void CommandHandler::handleHelp(const std::string &args, ChatTab *tab) tab->showHelp(); // Allow the tab to show it's help - tab->chatLog(_("For more information, type /help <command>")); + tab->chatLog(_("For more information, type /help <command>.")); } else if (args == "help") // Do this before tabs so they can't change it { @@ -344,7 +344,7 @@ void CommandHandler::handleQuery(const std::string &args, ChatTab *tab) { if (chatWindow->addWhisperTab(args, true)) return; - tab->chatLog(strprintf(_("Cannot create a whisper tab for nick '%s'! " + tab->chatLog(strprintf(_("Cannot create a whisper tab for nick \"%s\"! " "It either already exists, or is you."), args.c_str()), BY_SERVER); } @@ -358,7 +358,7 @@ void CommandHandler::handleJoin(const std::string &args, ChatTab *tab) std::string::size_type pos = args.find(' '); std::string name(args, 0, pos); std::string password(args, pos+1); - tab->chatLog("Requesting to join channel " + name); + tab->chatLog(strprintf(_("Requesting to join channel %s."), name.c_str())); Net::getChatHandler()->enterChannel(name, password); } diff --git a/src/gui/charselectdialog.cpp b/src/gui/charselectdialog.cpp index f88fa733..4df0243b 100644 --- a/src/gui/charselectdialog.cpp +++ b/src/gui/charselectdialog.cpp @@ -107,7 +107,7 @@ CharSelectDialog::CharSelectDialog(LockedArray<LocalPlayer*> *charInfo, mGender(gender) #endif { - mSelectButton = new Button(_("Ok"), "ok", this); + mSelectButton = new Button(_("OK"), "ok", this); mCancelButton = new Button(_("Cancel"), "cancel", this); mPreviousButton = new Button(_("Previous"), "previous", this); mNextButton = new Button(_("Next"), "next", this); diff --git a/src/gui/connection.cpp b/src/gui/connection.cpp index 0862ee69..4863edcd 100644 --- a/src/gui/connection.cpp +++ b/src/gui/connection.cpp @@ -30,7 +30,7 @@ #include "utils/gettext.h" -ConnectionDialog::ConnectionDialog(int previousState): +ConnectionDialog::ConnectionDialog(State previousState): Window("Info"), mProgress(0), mPreviousState(previousState) { setContentSize(200, 100); diff --git a/src/gui/connection.h b/src/gui/connection.h index 62441fa9..d6059c3f 100644 --- a/src/gui/connection.h +++ b/src/gui/connection.h @@ -24,6 +24,8 @@ #include "gui/widgets/window.h" +#include "main.h" + #include <guichan/actionlistener.hpp> class ProgressBar; @@ -41,7 +43,7 @@ class ConnectionDialog : public Window, gcn::ActionListener * * @see Window::Window */ - ConnectionDialog(int previousState); + ConnectionDialog(State previousState); /** * Called when the user presses Cancel. Restores the global state to @@ -54,7 +56,7 @@ class ConnectionDialog : public Window, gcn::ActionListener private: ProgressBar *mProgressBar; float mProgress; - int mPreviousState; + State mPreviousState; }; #endif diff --git a/src/gui/itemamount.cpp b/src/gui/itemamount.cpp index 252daf19..87df46c1 100644 --- a/src/gui/itemamount.cpp +++ b/src/gui/itemamount.cpp @@ -82,7 +82,7 @@ ItemAmountWindow::ItemAmountWindow(Usage usage, Window *parent, Item *item, // Slider mItemAmountSlide = new Slider(1.0, mMax); mItemAmountSlide->setHeight(10); - mItemAmountSlide->setActionEventId("Slide"); + mItemAmountSlide->setActionEventId("slide"); mItemAmountSlide->addActionListener(this); //Item icon @@ -90,11 +90,11 @@ ItemAmountWindow::ItemAmountWindow(Usage usage, Window *parent, Item *item, mItemIcon = new Icon(image); // Buttons - Button *minusButton = new Button("-", "Minus", this); - Button *plusButton = new Button("+", "Plus", this); - Button *okButton = new Button(_("Ok"), "Ok", this); - Button *cancelButton = new Button(_("Cancel"), "Cancel", this); - Button *addAllButton = new Button(_("All"), "All", this); + Button *minusButton = new Button("-", "minus", this); + Button *plusButton = new Button("+", "plus", this); + Button *okButton = new Button(_("Ok"), "ok", this); + Button *cancelButton = new Button(_("Cancel"), "cancel", this); + Button *addAllButton = new Button(_("All"), "all", this); minusButton->adjustSize(); minusButton->setWidth(plusButton->getWidth()); @@ -168,27 +168,27 @@ void ItemAmountWindow::action(const gcn::ActionEvent &event) { int amount = mItemAmountTextField->getValue(); - if (event.getId() == "Cancel") + if (event.getId() == "cancel") { close(); } - else if (event.getId() == "Plus" && amount < mMax) + else if (event.getId() == "plus" && amount < mMax) { amount++; } - else if (event.getId() == "Minus" && amount > 1) + else if (event.getId() == "minus" && amount > 1) { amount--; } - else if (event.getId() == "All") + else if (event.getId() == "all") { amount = mMax; } - else if (event.getId() == "Slide") + else if (event.getId() == "slide") { amount = static_cast<int>(mItemAmountSlide->getValue()); } - else if (event.getId() == "Ok") + else if (event.getId() == "ok") { finish(mItem, amount, mUsage); scheduleDelete(); diff --git a/src/gui/npcpostdialog.cpp b/src/gui/npcpostdialog.cpp index 20123745..32dbe22c 100644 --- a/src/gui/npcpostdialog.cpp +++ b/src/gui/npcpostdialog.cpp @@ -41,7 +41,7 @@ NpcPostDialog::NpcPostDialog(): setContentSize(400, 180); // create text field for receiver - gcn::Label *senderText = new Label("To:"); + gcn::Label *senderText = new Label(_("To:")); senderText->setPosition(5, 5); mSender = new TextField; mSender->setPosition(senderText->getWidth() + 5, 5); @@ -49,8 +49,8 @@ NpcPostDialog::NpcPostDialog(): // create button for sending Button *sendButton = new Button(_("Send"), "send", this); - sendButton->setPosition(400-sendButton->getWidth(), - 170-sendButton->getHeight()); + sendButton->setPosition(400 - sendButton->getWidth(), + 170 - sendButton->getHeight()); Button *cancelButton = new Button(_("Cancel"), "cancel", this); cancelButton->setPosition(sendButton->getX() - (cancelButton->getWidth() + 2), sendButton->getY()); @@ -82,7 +82,8 @@ void NpcPostDialog::action(const gcn::ActionEvent &event) { if (mSender->getText().empty() || mText->getText().empty()) { - localChatTab->chatLog("Failed to send as sender or letter invalid"); + localChatTab->chatLog(_("Failed to send as sender or letter " + "invalid.")); } else { diff --git a/src/gui/okdialog.cpp b/src/gui/okdialog.cpp index 9da070eb..8982d528 100644 --- a/src/gui/okdialog.cpp +++ b/src/gui/okdialog.cpp @@ -39,7 +39,7 @@ OkDialog::OkDialog(const std::string &title, const std::string &msg, mTextBox->setOpaque(false); mTextBox->setTextWrapped(msg, 260); - gcn::Button *okButton = new Button(_("Ok"), "ok", this); + gcn::Button *okButton = new Button(_("OK"), "ok", this); const int numRows = mTextBox->getNumberOfRows(); const int fontHeight = getFont()->getHeight(); diff --git a/src/gui/outfitwindow.cpp b/src/gui/outfitwindow.cpp index 53950299..f43e1440 100644 --- a/src/gui/outfitwindow.cpp +++ b/src/gui/outfitwindow.cpp @@ -153,9 +153,14 @@ void OutfitWindow::wearOutfit(int outfit) //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)))) +#ifdef TMWSERV_SUPPORT + if (!(item = player_node->mEquipment.get()->getEquipment(i))) continue; +#else + if (!(item = player_node->getInventory()->getItem( + player_node->mEquipment.get()->getEquipment(i)))) + continue; +#endif Net::getInventoryHandler()->unequipItem(item); } } diff --git a/src/gui/partywindow.cpp b/src/gui/partywindow.cpp index 68e5a371..f66ffaac 100644 --- a/src/gui/partywindow.cpp +++ b/src/gui/partywindow.cpp @@ -123,6 +123,7 @@ void PartyWindow::updateMember(int id, const std::string &memberName, member->name = memberName; member->leader = leader; member->online = online; + member->avatar->setDisplayBold(leader); member->avatar->setName(memberName); member->avatar->setOnline(online); @@ -170,24 +171,24 @@ void PartyWindow::showPartyInvite(const std::string &inviter, // check there isnt already an invite showing if (mPartyInviter != "") { - localChatTab->chatLog("Received party request, but one already exists", - BY_SERVER); + localChatTab->chatLog(_("Received party request, but one already " + "exists."), BY_SERVER); return; } std::string msg; // log invite if (partyName.empty()) - msg = strprintf("%s has invited you to join their party", + msg = strprintf(N_("%s has invited you to join their party."), inviter.c_str()); else - msg = strprintf("%s has invited you to join the %s party", + msg = strprintf(N_("%s has invited you to join the %s party."), inviter.c_str(), partyName.c_str()); localChatTab->chatLog(msg, BY_SERVER); // show invite - acceptDialog = new ConfirmDialog("Accept Party Invite", msg, this); + acceptDialog = new ConfirmDialog(_("Accept Party Invite"), msg, this); acceptDialog->addActionListener(this); mPartyInviter = inviter; @@ -200,13 +201,15 @@ void PartyWindow::action(const gcn::ActionEvent &event) // check if they accepted the invite if (eventId == "yes") { - localChatTab->chatLog("Accepted invite from " + mPartyInviter); + localChatTab->chatLog(strprintf(_("Accepted invite from %s."), + mPartyInviter.c_str())); Net::getPartyHandler()->inviteResponse(mPartyInviter, true); mPartyInviter = ""; } else if (eventId == "no") { - localChatTab->chatLog("Rejected invite from " + mPartyInviter); + localChatTab->chatLog(strprintf(_("Rejected invite from %s."), + mPartyInviter.c_str())); Net::getPartyHandler()->inviteResponse(mPartyInviter, false); mPartyInviter = ""; } diff --git a/src/gui/quitdialog.cpp b/src/gui/quitdialog.cpp index e506aea3..98657001 100644 --- a/src/gui/quitdialog.cpp +++ b/src/gui/quitdialog.cpp @@ -36,7 +36,7 @@ QuitDialog::QuitDialog(bool* quitGame, QuitDialog** pointerToMe): mForceQuit = new RadioButton(_("Quit"), "quitdialog"); mSwitchAccountServer = new RadioButton(_("Switch server"), "quitdialog"); mSwitchCharacter = new RadioButton(_("Switch character"), "quitdialog"); - mOkButton = new Button(_("Ok"), "ok", this); + mOkButton = new Button(_("OK"), "ok", this); mCancelButton = new Button(_("Cancel"), "cancel", this); setContentSize(200, 91); diff --git a/src/gui/serverdialog.cpp b/src/gui/serverdialog.cpp index a3dfdeae..5d08a2ec 100644 --- a/src/gui/serverdialog.cpp +++ b/src/gui/serverdialog.cpp @@ -100,7 +100,7 @@ ServerDialog::ServerDialog(LoginData *loginData): mMostUsedServersDropDown = new DropDown(mMostUsedServersListModel); - mOkButton = new Button(_("Ok"), "connect", this); + mOkButton = new Button(_("OK"), "connect", this); mCancelButton = new Button(_("Cancel"), "cancel", this); mServerNameField->setActionEventId("connect"); diff --git a/src/gui/skill.cpp b/src/gui/skill.cpp index 3a4fb75c..7698098c 100644 --- a/src/gui/skill.cpp +++ b/src/gui/skill.cpp @@ -41,7 +41,7 @@ #include "utils/stringutils.h" #include "utils/xml.h" -static const char *SKILLS_FILE = _("skills.xml"); +static const char *SKILLS_FILE = "skills.xml"; struct SkillInfo { diff --git a/src/gui/skin.cpp b/src/gui/skin.cpp index f6eb0d58..5881a073 100644 --- a/src/gui/skin.cpp +++ b/src/gui/skin.cpp @@ -101,16 +101,14 @@ void Skin::updateAlpha() int Skin::getMinWidth() const { - return (mBorder.grid[ImageRect::UPPER_LEFT]->getWidth() + - mBorder.grid[ImageRect::UPPER_CENTER]->getWidth()) + - mBorder.grid[ImageRect::UPPER_RIGHT]->getWidth(); + return mBorder.grid[ImageRect::UPPER_LEFT]->getWidth() + + mBorder.grid[ImageRect::UPPER_RIGHT]->getWidth(); } int Skin::getMinHeight() const { - return (mBorder.grid[ImageRect::UPPER_LEFT]->getHeight() + - mBorder.grid[ImageRect::LEFT]->getHeight()) + - mBorder.grid[ImageRect::LOWER_LEFT]->getHeight(); + return mBorder.grid[ImageRect::UPPER_LEFT]->getHeight() + + mBorder.grid[ImageRect::LOWER_LEFT]->getHeight(); } SkinLoader::SkinLoader() diff --git a/src/gui/storagewindow.cpp b/src/gui/storagewindow.cpp index 593a49a3..91224359 100644 --- a/src/gui/storagewindow.cpp +++ b/src/gui/storagewindow.cpp @@ -75,7 +75,7 @@ StorageWindow::StorageWindow(int invSize): mUsedSlots = player_node->getStorage()->getNumberOfSlotsUsed(); - mSlotsLabel = new Label(_("Slots: ")); + mSlotsLabel = new Label(_("Slots:")); mSlotsBar = new ProgressBar(0.0f, 100, 20, gcn::Color(225, 200, 25)); mSlotsBar->setText(strprintf("%d/%d", mUsedSlots, mMaxSlots)); diff --git a/src/gui/trade.cpp b/src/gui/trade.cpp index 1e7faa97..3abb985e 100644 --- a/src/gui/trade.cpp +++ b/src/gui/trade.cpp @@ -308,7 +308,7 @@ void TradeWindow::action(const gcn::ActionEvent &event) int curMoney = player_node->getMoney(); if(v > curMoney) { - localChatTab->chatLog(_("You don't have enough money"), BY_SERVER); + localChatTab->chatLog(_("You don't have enough money."), BY_SERVER); v = curMoney; } Net::getTradeHandler()->setMoney(v); diff --git a/src/gui/viewport.cpp b/src/gui/viewport.cpp index 2c3f4007..787723c0 100644 --- a/src/gui/viewport.cpp +++ b/src/gui/viewport.cpp @@ -357,24 +357,12 @@ void Viewport::mousePressed(gcn::MouseEvent &event) if (player_node->withinAttackRange(being) || keyboard.isKeyActive(keyboard.KEY_ATTACK)) { - player_node->setGotoTarget(being); -//TODO: This can be changed when TMWServ moves to target based combat -#ifdef TMWSERV_SUPPORT - player_node->attack(); -#else player_node->attack(being, !keyboard.isKeyActive(keyboard.KEY_TARGET)); -#endif - } else { -#ifdef TMWSERV_SUPPORT - player_node->setDestination(event.getX() + (int) mPixelViewX, - event.getY() + (int) mPixelViewY); -#else - player_node->setDestination(tilex, tiley); -#endif + player_node->setGotoTarget(being); } break; default: @@ -403,9 +391,9 @@ void Viewport::mousePressed(gcn::MouseEvent &event) event.getY() + (int) mPixelViewY); } #else - player_node->stopAttack(); player_node->setDestination(tilex, tiley); #endif + player_node->stopAttack(); mPlayerFollowMouse = true; } } diff --git a/src/gui/widgets/avatar.cpp b/src/gui/widgets/avatar.cpp index 16c77233..f7273c75 100644 --- a/src/gui/widgets/avatar.cpp +++ b/src/gui/widgets/avatar.cpp @@ -23,6 +23,7 @@ #include "localplayer.h" +#include "gui/gui.h" #include "gui/widgets/icon.h" #include "gui/widgets/label.h" @@ -39,7 +40,8 @@ namespace { Avatar::Avatar(): mHp(0), - mMaxHp(0) + mMaxHp(0), + mDisplayBold(false) { setOpaque(false); @@ -111,6 +113,8 @@ void Avatar::updateAvatarLabel() if (mName != player_node->getName() && mMaxHp != 0) ss << " (" << mHp << "/" << mMaxHp << ")"; + if (mDisplayBold) + mLabel->setFont(boldFont); mLabel->setCaption(ss.str()); mLabel->adjustSize(); } diff --git a/src/gui/widgets/avatar.h b/src/gui/widgets/avatar.h index 32586668..dbe30a94 100644 --- a/src/gui/widgets/avatar.h +++ b/src/gui/widgets/avatar.h @@ -51,6 +51,8 @@ public: void setMaxHp(int maxHp); + void setDisplayBold(bool displayBold) { mDisplayBold = displayBold; } + private: void updateAvatarLabel(); @@ -59,6 +61,7 @@ private: int mMaxHp; Icon *mStatus; gcn::Label *mLabel; + bool mDisplayBold; }; #endif // AVATAR_H diff --git a/src/gui/widgets/chattab.cpp b/src/gui/widgets/chattab.cpp index 711680d1..85353bf7 100644 --- a/src/gui/widgets/chattab.cpp +++ b/src/gui/widgets/chattab.cpp @@ -227,15 +227,19 @@ void ChatTab::chatInput(std::string &msg) std::string temp = msg.substr(start + 1, end - start - 1); - toLower(trim(temp)); - - const ItemInfo itemInfo = ItemDB::get(temp); - if (itemInfo.getName() != _("Unknown item")) + // Do not parse an empty string (it crashes the client) + if (!temp.empty()) { - msg.insert(end, "@@"); - msg.insert(start+1, "|"); - msg.insert(start+1, toString(itemInfo.getId())); - msg.insert(start+1, "@@"); + toLower(trim(temp)); + + const ItemInfo itemInfo = ItemDB::get(temp); + if (itemInfo.getName() != _("Unknown item")) + { + msg.insert(end, "@@"); + msg.insert(start+1, "|"); + msg.insert(start+1, toString(itemInfo.getId())); + msg.insert(start+1, "@@"); + } } } start = msg.find('[', start + 1); diff --git a/src/gui/widgets/progressbar.cpp b/src/gui/widgets/progressbar.cpp index 58f24651..c673ffb3 100644 --- a/src/gui/widgets/progressbar.cpp +++ b/src/gui/widgets/progressbar.cpp @@ -31,6 +31,8 @@ #include "resources/image.h" #include "resources/resourcemanager.h" +#include "utils/dtor.h" + #include <guichan/font.hpp> ImageRect ProgressBar::mBorder; @@ -59,7 +61,7 @@ ProgressBar::ProgressBar(float progress, mBorder.grid[1] = dBorders->getSubImage(4, 0, 3, 4); mBorder.grid[2] = dBorders->getSubImage(7, 0, 4, 4); mBorder.grid[3] = dBorders->getSubImage(0, 4, 4, 10); - mBorder.grid[4] = resman->getImage("graphics/gui/bg_quad_dis.png"); + mBorder.grid[4] = dBorders->getSubImage(4, 4, 3, 10); mBorder.grid[5] = dBorders->getSubImage(7, 4, 4, 10); mBorder.grid[6] = dBorders->getSubImage(0, 15, 4, 4); mBorder.grid[7] = dBorders->getSubImage(4, 15, 3, 4); @@ -82,15 +84,7 @@ ProgressBar::~ProgressBar() if (mInstances == 0) { - delete mBorder.grid[0]; - delete mBorder.grid[1]; - delete mBorder.grid[2]; - delete mBorder.grid[3]; - mBorder.grid[4]->decRef(); - delete mBorder.grid[5]; - delete mBorder.grid[6]; - delete mBorder.grid[7]; - delete mBorder.grid[8]; + for_each(mBorder.grid, mBorder.grid + 9, dtor<Image*>()); } } diff --git a/src/keyboardconfig.cpp b/src/keyboardconfig.cpp index ca6804f4..89b1aaf9 100644 --- a/src/keyboardconfig.cpp +++ b/src/keyboardconfig.cpp @@ -71,7 +71,7 @@ static KeyData const keyData[KeyboardConfig::KEY_TOTAL] = { {"keyWindowHelp", SDLK_F1, _("Help Window")}, {"keyWindowStatus", SDLK_F2, _("Status Window")}, {"keyWindowInventory", SDLK_F3, _("Inventory Window")}, - {"keyWindowEquipment", SDLK_F4, _("Equipment WIndow")}, + {"keyWindowEquipment", SDLK_F4, _("Equipment Window")}, {"keyWindowSkill", SDLK_F5, _("Skill Window")}, {"keyWindowMinimap", SDLK_F6, _("Minimap Window")}, {"keyWindowChat", SDLK_F7, _("Chat Window")}, diff --git a/src/localplayer.cpp b/src/localplayer.cpp index e9bc30f2..c9dc771d 100644 --- a/src/localplayer.cpp +++ b/src/localplayer.cpp @@ -193,6 +193,8 @@ void LocalPlayer::logic() mLastTarget = -1; } +#endif + if (mTarget) { if (mTarget->getType() == Being::NPC) @@ -203,13 +205,18 @@ void LocalPlayer::logic() } else { +#ifdef TMWSERV_SUPPORT + // Find whether target is in range + const int rangeX = abs(mTarget->getPosition().x - getPosition().x); + const int rangeY = abs(mTarget->getPosition().y - getPosition().y); +#else // Find whether target is in range const int rangeX = abs(mTarget->mX - mX); const int rangeY = abs(mTarget->mY - mY); +#endif const int attackRange = getAttackRange(); const int inRange = rangeX > attackRange || rangeY > attackRange ? 1 : 0; - mTarget->setTargetAnimation( mTargetCursor[inRange][mTarget->getTargetCursorSize()]); @@ -220,7 +227,6 @@ void LocalPlayer::logic() attack(mTarget, true); } } -#endif Player::logic(); } @@ -280,9 +286,7 @@ void LocalPlayer::nextStep() if (mGoingToTarget && mTarget && withinAttackRange(mTarget)) { mAction = Being::STAND; -#ifdef EATHENA_SUPPORT attack(mTarget, true); -#endif mGoingToTarget = false; mPath.clear(); return; @@ -606,7 +610,7 @@ void LocalPlayer::emote(Uint8 emotion) } #ifdef TMWSERV_SUPPORT - +/* void LocalPlayer::attack() { if (mLastAction != -1) @@ -656,16 +660,25 @@ void LocalPlayer::attack() } Net::GameServer::Player::attack(getSpriteDirection()); } - +*/ void LocalPlayer::useSpecial(int special) { Net::GameServer::Player::useSpecial(special); } -#else +#endif void LocalPlayer::attack(Being *target, bool keep) { +#ifdef TMWSERV_SUPPORT + if (mLastAction != -1) + return; + + // Can only attack when standing still + if (mAction != STAND && mAction != ATTACK) + return; +#endif + mKeepAttacking = keep; if (!target || target->getType() == Being::NPC) @@ -676,13 +689,19 @@ void LocalPlayer::attack(Being *target, bool keep) mLastTarget = -1; setTarget(target); } - +#ifdef TMWSERV_SUPPORT + Vector plaPos = this->getPosition(); + Vector tarPos = mTarget->getPosition(); + int dist_x = plaPos.x - tarPos.x; + int dist_y = plaPos.y - tarPos.y; +#else int dist_x = target->mX - mX; int dist_y = target->mY - mY; // Must be standing to attack if (mAction != STAND) return; +#endif if (abs(dist_y) >= abs(dist_x)) { @@ -699,8 +718,12 @@ void LocalPlayer::attack(Being *target, bool keep) setDirection(LEFT); } +#ifdef TMWSERV_SUPPORT + mLastAction = tick_time; +#else mWalkTime = tick_time; mTargetTime = tick_time; +#endif setAction(ATTACK); @@ -715,14 +738,16 @@ void LocalPlayer::attack(Being *target, bool keep) sound.playSfx("sfx/fist-swish.ogg"); } - Net::getPlayerHandler()->attack(target); - +#ifdef TMWSERV_SUPPORT + if (mLastAction == STAND) +#endif + Net::getPlayerHandler()->attack(target->getId()); +#ifdef EATHENA_SUPPORT if (!keep) stopAttack(); +#endif } -#endif // no TMWSERV_SUPPORT - void LocalPlayer::stopAttack() { if (mTarget) @@ -845,7 +870,7 @@ int LocalPlayer::getAttackRange() const ItemInfo info = weapon->getInfo(); return info.getAttackRange(); } - return 32; // unarmed range + return 48; // unarmed range #else return mAttackRange; #endif diff --git a/src/localplayer.h b/src/localplayer.h index 4a85dd75..85681e03 100644 --- a/src/localplayer.h +++ b/src/localplayer.h @@ -214,11 +214,9 @@ class LocalPlayer : public Player void setTrading(bool trading) { mTrading = trading; } #ifdef TMWSERV_SUPPORT - void attack(); void useSpecial(int id); -#else - void attack(Being *target = NULL, bool keep = false); #endif + void attack(Being *target = NULL, bool keep = false); /** * Triggers whether or not to show the name as a GM name. diff --git a/src/main.cpp b/src/main.cpp index fb061818..61e5a408 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -126,6 +126,12 @@ #include <sys/stat.h> #endif +#ifdef TWMSERV_SUPPORT +#define DEFAULT_PORT 9601 +#else +#define DEFAULT_PORT 6901 +#endif + namespace { struct SetupListener : public gcn::ActionListener @@ -307,7 +313,7 @@ static void setUpdatesDir() static void initHomeDir(const Options &options) { homeDir = options.homeDir; - + if (homeDir.empty()) { homeDir = std::string(PHYSFS_getUserDir()) + @@ -347,11 +353,7 @@ static void initConfiguration(const Options &options) std::string defaultHost = branding.getValue("defaultServer", "server.themanaworld.org"); config.setValue("host", defaultHost); -#ifdef TWMSERV_SUPPORT - int defaultPort = (int)branding.getValue("defaultPort", 9601); -#else - int defaultPort = (int)branding.getValue("defaultPort", 6901); -#endif + int defaultPort = (int)branding.getValue("defaultPort", DEFAULT_PORT); config.setValue("port", defaultPort); config.setValue("hwaccel", false); #if (defined __APPLE__ || defined WIN32) && defined USE_OPENGL @@ -581,8 +583,8 @@ static void printHelp() << _(" -H --update-host : Use this update host") << endl << _(" -P --password : Login with this password") << endl << _(" -c --character : Login with this character") << endl - << _(" -p --port : Login Server Port") << endl - << _(" -s --server : Login Server name or IP") << endl + << _(" -p --port : Login server port") << endl + << _(" -s --server : Login server name or IP") << endl << _(" -u --skip-update : Skip the update downloads") << endl << _(" -U --username : Login with this username") << endl #ifdef USE_OPENGL @@ -593,7 +595,7 @@ static void printHelp() static void printVersion() { - std::cout << _("The Mana World ") << FULL_VERSION << std::endl; + std::cout << strprintf(_("The Mana World %s"), FULL_VERSION) << std::endl; } static void parseOptions(int argc, char *argv[], Options &options) @@ -953,7 +955,7 @@ int main(int argc, char *argv[]) "server.themanaworld.org").c_str(); } if (options.serverPort == 0) { - loginData.port = (short) branding.getValue("defaultPort", 9601); + loginData.port = (short) branding.getValue("defaultPort", DEFAULT_PORT); } if (loginData.username.empty() && loginData.remember) { loginData.username = config.getValue("username", ""); diff --git a/src/net/ea/buysellhandler.cpp b/src/net/ea/buysellhandler.cpp index ca155228..48e856e4 100644 --- a/src/net/ea/buysellhandler.cpp +++ b/src/net/ea/buysellhandler.cpp @@ -108,7 +108,7 @@ void BuySellHandler::handleMessage(MessageIn &msg) } else { - localChatTab->chatLog(_("Nothing to sell"), BY_SERVER); + localChatTab->chatLog(_("Nothing to sell."), BY_SERVER); current_npc = 0; } break; @@ -116,22 +116,22 @@ void BuySellHandler::handleMessage(MessageIn &msg) case SMSG_NPC_BUY_RESPONSE: if (msg.readInt8() == 0) { - localChatTab->chatLog(_("Thanks for buying"), BY_SERVER); + localChatTab->chatLog(_("Thanks for buying."), BY_SERVER); } else { // Reset player money since buy dialog already assumed purchase // would go fine buyDialog->setMoney(player_node->getMoney()); - localChatTab->chatLog(_("Unable to buy"), BY_SERVER); + localChatTab->chatLog(_("Unable to buy."), BY_SERVER); } break; case SMSG_NPC_SELL_RESPONSE: if (msg.readInt8() == 0) - localChatTab->chatLog(_("Thanks for selling"), BY_SERVER); + localChatTab->chatLog(_("Thanks for selling."), BY_SERVER); else - localChatTab->chatLog(_("Unable to sell"), BY_SERVER); + localChatTab->chatLog(_("Unable to sell."), BY_SERVER); break; } diff --git a/src/net/ea/charserverhandler.cpp b/src/net/ea/charserverhandler.cpp index b28961b6..77bfaa50 100644 --- a/src/net/ea/charserverhandler.cpp +++ b/src/net/ea/charserverhandler.cpp @@ -120,8 +120,8 @@ void CharServerHandler::handleMessage(MessageIn &msg) break; case SMSG_CHAR_CREATE_FAILED: - new OkDialog(_("Error"), _("Failed to create character. Most likely" - " the name is already taken.")); + new OkDialog(_("Error"), _("Failed to create character. Most " + "likely the name is already taken.")); if (mCharCreateDialog) mCharCreateDialog->unlock(); @@ -132,7 +132,7 @@ void CharServerHandler::handleMessage(MessageIn &msg) mCharInfo->setEntry(0); mCharInfo->unlock(); n_character--; - new OkDialog(_("Info"), _("Player deleted")); + new OkDialog(_("Info"), _("Character deleted.")); break; case SMSG_CHAR_DELETE_FAILED: diff --git a/src/net/ea/chathandler.cpp b/src/net/ea/chathandler.cpp index 09eca6f9..49f83e67 100644 --- a/src/net/ea/chathandler.cpp +++ b/src/net/ea/chathandler.cpp @@ -75,10 +75,12 @@ void ChatHandler::handleMessage(MessageIn &msg) //localChatTab->chatLog("Whisper sent", BY_SERVER); break; case 0x01: - localChatTab->chatLog(_("Whisper could not be sent, user is offline"), BY_SERVER); + localChatTab->chatLog(_("Whisper could not be sent, user " + "is offline."), BY_SERVER); break; case 0x02: - localChatTab->chatLog(_("Whisper could not be sent, ignored by user"), BY_SERVER); + localChatTab->chatLog(_("Whisper could not be sent, " + "ignored by user."), BY_SERVER); break; } break; diff --git a/src/net/ea/inventoryhandler.cpp b/src/net/ea/inventoryhandler.cpp index 30c583b8..e91a1c19 100644 --- a/src/net/ea/inventoryhandler.cpp +++ b/src/net/ea/inventoryhandler.cpp @@ -181,7 +181,10 @@ void InventoryHandler::handleMessage(MessageIn &msg) if (msg.readInt8() > 0) { if (config.getValue("showpickupchat", 1)) - localChatTab->chatLog(_("Unable to pick up item"), BY_SERVER); + { + localChatTab->chatLog(_("Unable to pick up item."), + BY_SERVER); + } } else { @@ -191,7 +194,7 @@ void InventoryHandler::handleMessage(MessageIn &msg) if (config.getValue("showpickupchat", 1)) { - localChatTab->chatLog(strprintf(_("You picked up %s [@@%d|%s@@]"), + localChatTab->chatLog(strprintf(_("You picked up %s [@@%d|%s@@]."), amountStr.c_str(), itemInfo.getId(), itemInfo.getName().c_str()), BY_SERVER); } @@ -237,7 +240,7 @@ void InventoryHandler::handleMessage(MessageIn &msg) amount = msg.readInt16(); if (msg.readInt8() == 0) { - localChatTab->chatLog(_("Failed to use item"), BY_SERVER); + localChatTab->chatLog(_("Failed to use item."), BY_SERVER); } else { if (Item *item = inventory->getItem(index)) item->setQuantity(amount); diff --git a/src/net/ea/loginhandler.cpp b/src/net/ea/loginhandler.cpp index 44eabe46..31d2c020 100644 --- a/src/net/ea/loginhandler.cpp +++ b/src/net/ea/loginhandler.cpp @@ -126,7 +126,7 @@ void LoginHandler::handleMessage(MessageIn &msg) case 6: errorMessage = strprintf(_("You have been temporarily " "banned from the game until " - "%s.\n Please contact the GM " + "%s.\nPlease contact the GM " "team via the forums."), msg.readString(20).c_str()); break; diff --git a/src/net/ea/playerhandler.cpp b/src/net/ea/playerhandler.cpp index b7131f0a..c1b7cc84 100644 --- a/src/net/ea/playerhandler.cpp +++ b/src/net/ea/playerhandler.cpp @@ -410,7 +410,7 @@ void PlayerHandler::handleMessage(MessageIn &msg) switch (type) { case 0: - localChatTab->chatLog(_("Equip arrows first"), + localChatTab->chatLog(_("Equip arrows first."), BY_SERVER); break; default: @@ -422,10 +422,10 @@ void PlayerHandler::handleMessage(MessageIn &msg) } } -void PlayerHandler::attack(Being *being) +void PlayerHandler::attack(int id) { MessageOut outMsg(CMSG_PLAYER_ATTACK); - outMsg.writeInt32(being->getId()); + outMsg.writeInt32(id); outMsg.writeInt8(0); } @@ -513,12 +513,12 @@ void PlayerHandler::respawn() outMsg.writeInt8(0); } -void PlayerHandler::ingorePlayer(const std::string &player, bool ignore) +void PlayerHandler::ignorePlayer(const std::string &player, bool ignore) { // TODO } -void PlayerHandler::ingoreAll(bool ignore) +void PlayerHandler::ignoreAll(bool ignore) { // TODO } diff --git a/src/net/ea/playerhandler.h b/src/net/ea/playerhandler.h index 94ae952f..5dbc171b 100644 --- a/src/net/ea/playerhandler.h +++ b/src/net/ea/playerhandler.h @@ -35,7 +35,7 @@ class PlayerHandler : public MessageHandler, public Net::PlayerHandler void handleMessage(MessageIn &msg); - void attack(Being *being); + void attack(int id); void emote(int emoteId); @@ -53,9 +53,9 @@ class PlayerHandler : public MessageHandler, public Net::PlayerHandler void respawn(); - void ingorePlayer(const std::string &player, bool ignore); + void ignorePlayer(const std::string &player, bool ignore); - void ingoreAll(bool ignore); + void ignoreAll(bool ignore); }; } // namespace EAthena diff --git a/src/net/ea/tradehandler.cpp b/src/net/ea/tradehandler.cpp index 74722332..4f045573 100644 --- a/src/net/ea/tradehandler.cpp +++ b/src/net/ea/tradehandler.cpp @@ -38,6 +38,7 @@ #include "gui/widgets/chattab.h" #include "utils/gettext.h" +#include "utils/stringutils.h" std::string tradePartnerName; @@ -88,7 +89,8 @@ void TradeHandler::handleMessage(MessageIn &msg) // special message about the player being occupied. tradePartnerName = msg.readString(24); - if (player_relations.hasPermission(tradePartnerName, PlayerRelation::TRADE)) + if (player_relations.hasPermission(tradePartnerName, + PlayerRelation::TRADE)) { if (!player_node->tradeRequestOk()) { @@ -98,9 +100,9 @@ void TradeHandler::handleMessage(MessageIn &msg) player_node->setTrading(true); ConfirmDialog *dlg; - dlg = new ConfirmDialog(_("Request for trade"), - tradePartnerName + - _(" wants to trade with you, do you accept?")); + dlg = new ConfirmDialog(_("Request for Trade"), + strprintf(_("%s wants to trade with you, do you " + "accept?"), tradePartnerName.c_str())); dlg->addActionListener(&listener); } else @@ -114,35 +116,36 @@ void TradeHandler::handleMessage(MessageIn &msg) switch (msg.readInt8()) { case 0: // Too far away - localChatTab->chatLog(_("Trading isn't possible. Trade partner is too far away."), - BY_SERVER); + localChatTab->chatLog(_("Trading isn't possible. Trade " + "partner is too far away."), BY_SERVER); break; case 1: // Character doesn't exist - localChatTab->chatLog(_("Trading isn't possible. Character doesn't exist."), - BY_SERVER); + localChatTab->chatLog(_("Trading isn't possible. Character " + "doesn't exist."), BY_SERVER); break; case 2: // Invite request check failed... - localChatTab->chatLog(_("Trade cancelled due to an unknown reason."), - BY_SERVER); + localChatTab->chatLog(_("Trade cancelled due to an unknown " + "reason."), BY_SERVER); break; case 3: // Trade accepted tradeWindow->reset(); - tradeWindow->setCaption( - _("Trade: You and ") + tradePartnerName); + tradeWindow->setCaption(strprintf(_("Trade: You and %s"), + tradePartnerName.c_str())); tradeWindow->setVisible(true); break; case 4: // Trade cancelled if (player_relations.hasPermission(tradePartnerName, PlayerRelation::SPEECH_LOG)) - localChatTab->chatLog(_("Trade with ") + tradePartnerName + - _(" cancelled"), BY_SERVER); + localChatTab->chatLog(strprintf(_("Trade with %s " + "cancelled."), tradePartnerName.c_str()), + BY_SERVER); // otherwise ignore silently tradeWindow->setVisible(false); player_node->setTrading(false); break; default: // Shouldn't happen as well, but to be sure - localChatTab->chatLog(_("Unhandled trade cancel packet"), + localChatTab->chatLog(_("Unhandled trade cancel packet."), BY_SERVER); break; } @@ -192,17 +195,17 @@ void TradeHandler::handleMessage(MessageIn &msg) break; case 1: // Add item failed - player overweighted - localChatTab->chatLog(_("Failed adding item. Trade partner is over weighted."), - BY_SERVER); + localChatTab->chatLog(_("Failed adding item. Trade " + "partner is over weighted."), BY_SERVER); break; case 2: // Add item failed - player has no free slot - localChatTab->chatLog(_("Failed adding item. Trade partner has no free slot."), - BY_SERVER); + localChatTab->chatLog(_("Failed adding item. Trade " + "partner has no free slot."), BY_SERVER); break; default: - localChatTab->chatLog(_("Failed adding item for unknown reason."), - BY_SERVER); + localChatTab->chatLog(_("Failed adding item for " + "unknown reason."), BY_SERVER); break; } } diff --git a/src/net/playerhandler.h b/src/net/playerhandler.h index 0998da04..163b48f3 100644 --- a/src/net/playerhandler.h +++ b/src/net/playerhandler.h @@ -31,7 +31,7 @@ namespace Net { class PlayerHandler { public: - virtual void attack(Being *being) = 0; + virtual void attack(int id) = 0; virtual void emote(int emoteId) = 0; @@ -49,9 +49,9 @@ class PlayerHandler virtual void respawn() = 0; - virtual void ingorePlayer(const std::string &player, bool ignore) = 0; + virtual void ignorePlayer(const std::string &player, bool ignore) = 0; - virtual void ingoreAll(bool ignore) = 0; + virtual void ignoreAll(bool ignore) = 0; }; } // namespace Net diff --git a/src/net/tmwserv/chathandler.cpp b/src/net/tmwserv/chathandler.cpp index 41dc7bee..e2d09534 100644 --- a/src/net/tmwserv/chathandler.cpp +++ b/src/net/tmwserv/chathandler.cpp @@ -43,11 +43,12 @@ #include "gui/chat.h" #include "gui/guildwindow.h" +#include "utils/gettext.h" +#include "utils/stringutils.h" + #include <string> #include <iostream> -#include "utils/gettext.h" - extern Being *player_node; Net::ChatHandler *chatHandler; @@ -154,7 +155,7 @@ void ChatHandler::handleEnterChannelResponse(MessageIn &msg) Channel *channel = new Channel(channelId, channelName, announcement); channelManager->addChannel(channel); ChatTab *tab = channel->getTab(); - tab->chatLog(_("Topic: ") + announcement, BY_CHANNEL); + tab->chatLog(strprintf(_("Topic: %s"), announcement.c_str()), BY_CHANNEL); std::string user; std::string userModes; @@ -175,13 +176,13 @@ void ChatHandler::handleEnterChannelResponse(MessageIn &msg) } else { - localChatTab->chatLog("Error joining channel", BY_SERVER); + localChatTab->chatLog("Error joining channel.", BY_SERVER); } } void ChatHandler::handleListChannelsResponse(MessageIn &msg) { - localChatTab->chatLog("Listing Channels", BY_SERVER); + localChatTab->chatLog("Listing channels", BY_SERVER); while(msg.getUnreadLength()) { std::string channelName = msg.readString(); @@ -193,7 +194,7 @@ void ChatHandler::handleListChannelsResponse(MessageIn &msg) channelName += numUsers.str(); localChatTab->chatLog(channelName, BY_SERVER); } - localChatTab->chatLog("End of channel list", BY_SERVER); + localChatTab->chatLog("End of channel list.", BY_SERVER); } void ChatHandler::handlePrivateMessage(MessageIn &msg) diff --git a/src/net/tmwserv/gameserver/player.cpp b/src/net/tmwserv/gameserver/player.cpp index 3f05c954..93853681 100644 --- a/src/net/tmwserv/gameserver/player.cpp +++ b/src/net/tmwserv/gameserver/player.cpp @@ -58,13 +58,6 @@ void Net::GameServer::Player::moveItem(int oldSlot, int newSlot, int amount) Net::GameServer::connection->send(msg); } -void Net::GameServer::Player::attack(int direction) -{ - MessageOut msg(PGMSG_ATTACK); - msg.writeInt8(direction); - Net::GameServer::connection->send(msg); -} - void Net::GameServer::Player::useSpecial(int special) { MessageOut msg(PGMSG_USE_SPECIAL); diff --git a/src/net/tmwserv/gameserver/player.h b/src/net/tmwserv/gameserver/player.h index eddd9102..24b25dc7 100644 --- a/src/net/tmwserv/gameserver/player.h +++ b/src/net/tmwserv/gameserver/player.h @@ -43,7 +43,6 @@ namespace Net void walk(int x, int y); void pickUp(int x, int y); void moveItem(int oldSlot, int newSlot, int amount); - void attack(int direction); void useSpecial(int special); void requestTrade(int id); void acceptTrade(bool accept); diff --git a/src/net/tmwserv/guildhandler.cpp b/src/net/tmwserv/guildhandler.cpp index 92057e6e..8d078740 100644 --- a/src/net/tmwserv/guildhandler.cpp +++ b/src/net/tmwserv/guildhandler.cpp @@ -37,6 +37,9 @@ #include "channel.h" #include "channelmanager.h" +#include "utils/gettext.h" +#include "utils/stringutils.h" + #include <iostream> namespace TmwServ { @@ -68,12 +71,12 @@ void GuildHandler::handleMessage(MessageIn &msg) if(msg.readInt8() == ERRMSG_OK) { // TODO - Acknowledge guild was created - localChatTab->chatLog("Guild created."); + localChatTab->chatLog(_("Guild created.")); joinedGuild(msg); } else { - localChatTab->chatLog("Error creating guild."); + localChatTab->chatLog(_("Error creating guild.")); } } break; @@ -83,7 +86,7 @@ void GuildHandler::handleMessage(MessageIn &msg) if(msg.readInt8() == ERRMSG_OK) { // TODO - Acknowledge invite was sent - localChatTab->chatLog("Invite sent."); + localChatTab->chatLog(_("Invite sent.")); } } break; @@ -144,7 +147,8 @@ void GuildHandler::handleMessage(MessageIn &msg) { case GUILD_EVENT_NEW_PLAYER: guild->addMember(guildMember); - guildWindow->setOnline(guild->getName(), guildMember, true); + guildWindow->setOnline(guild->getName(), guildMember, + true); break; case GUILD_EVENT_LEAVING_PLAYER: @@ -152,11 +156,13 @@ void GuildHandler::handleMessage(MessageIn &msg) break; case GUILD_EVENT_ONLINE_PLAYER: - guildWindow->setOnline(guild->getName(), guildMember, true); + guildWindow->setOnline(guild->getName(), guildMember, + true); break; case GUILD_EVENT_OFFLINE_PLAYER: - guildWindow->setOnline(guild->getName(), guildMember, false); + guildWindow->setOnline(guild->getName(), guildMember, + false); break; default: @@ -185,12 +191,12 @@ void GuildHandler::handleMessage(MessageIn &msg) if (msg.readInt8() == ERRMSG_OK) { // promotion succeeded - localChatTab->chatLog("Member was promoted successfully"); + localChatTab->chatLog(_("Member was promoted successfully.")); } else { // promotion failed - localChatTab->chatLog("Failed to promote member"); + localChatTab->chatLog(_("Failed to promote member.")); } } @@ -241,7 +247,8 @@ void GuildHandler::joinedGuild(MessageIn &msg) // COMMENT: Should this go here?? Channel *channel = new Channel(channelId, guildName, announcement); channelManager->addChannel(channel); - channel->getTab()->chatLog("Topic: " + announcement, BY_CHANNEL); + channel->getTab()->chatLog(strprintf(_("Topic: %s"), announcement.c_str()), + BY_CHANNEL); } } // namespace TmwServ diff --git a/src/net/tmwserv/partyhandler.cpp b/src/net/tmwserv/partyhandler.cpp index 47ef791c..557a3a43 100644 --- a/src/net/tmwserv/partyhandler.cpp +++ b/src/net/tmwserv/partyhandler.cpp @@ -35,6 +35,9 @@ #include "log.h" #include "localplayer.h" +#include "utils/gettext.h" +#include "utils/stringutils.h" + #include <iostream> Net::PartyHandler *partyHandler; @@ -80,7 +83,7 @@ void PartyHandler::handleMessage(MessageIn &msg) if (msg.readInt8() == ERRMSG_OK) { player_node->setInParty(true); - localChatTab->chatLog("Joined party"); + localChatTab->chatLog(_("Joined party.")); } } @@ -97,7 +100,8 @@ void PartyHandler::handleMessage(MessageIn &msg) int id = msg.readInt16(); // being id std::string name = msg.readString(); - localChatTab->chatLog(name + " joined the party"); + localChatTab->chatLog(strprintf(_("%s joined the " + "party."), name.c_str())); if (!player_node->isInParty()) player_node->setInParty(true); diff --git a/src/net/tmwserv/playerhandler.cpp b/src/net/tmwserv/playerhandler.cpp index b697e8a8..e2b922f8 100644 --- a/src/net/tmwserv/playerhandler.cpp +++ b/src/net/tmwserv/playerhandler.cpp @@ -284,7 +284,7 @@ void PlayerHandler::handleMessage(MessageIn &msg) switch (type) { case 0: - localChatTab->chatLog("Equip arrows first", + localChatTab->chatLog(_("Equip arrows first."), BY_SERVER); break; default: @@ -332,9 +332,11 @@ void PlayerHandler::handleMapChangeMessage(MessageIn &msg) viewport->scrollBy(scrollOffsetX, scrollOffsetY); } -void PlayerHandler::attack(Being *being) +void PlayerHandler::attack(int id) { - // TODO + MessageOut msg(PGMSG_ATTACK); + msg.writeInt16(id); + Net::GameServer::connection->send(msg); } void PlayerHandler::emote(int emoteId) @@ -391,12 +393,12 @@ void PlayerHandler::respawn() // TODO } -void PlayerHandler::ingorePlayer(const std::string &player, bool ignore) +void PlayerHandler::ignorePlayer(const std::string &player, bool ignore) { // TODO } -void PlayerHandler::ingoreAll(bool ignore) +void PlayerHandler::ignoreAll(bool ignore) { // TODO } diff --git a/src/net/tmwserv/playerhandler.h b/src/net/tmwserv/playerhandler.h index 5524415e..164d30ae 100644 --- a/src/net/tmwserv/playerhandler.h +++ b/src/net/tmwserv/playerhandler.h @@ -34,7 +34,7 @@ class PlayerHandler : public MessageHandler, public Net::PlayerHandler void handleMessage(MessageIn &msg); - void attack(Being *being); + void attack(int id); void emote(int emoteId); @@ -52,9 +52,9 @@ class PlayerHandler : public MessageHandler, public Net::PlayerHandler void respawn(); - void ingorePlayer(const std::string &player, bool ignore); + void ignorePlayer(const std::string &player, bool ignore); - void ingoreAll(bool ignore); + void ignoreAll(bool ignore); private: void handleMapChangeMessage(MessageIn &msg); diff --git a/src/net/tmwserv/protocol.h b/src/net/tmwserv/protocol.h index 7fa3b372..6124263a 100644 --- a/src/net/tmwserv/protocol.h +++ b/src/net/tmwserv/protocol.h @@ -106,7 +106,7 @@ enum { GPMSG_BEING_DIR_CHANGE = 0x0273, // W being id, B direction GPMSG_BEINGS_MOVE = 0x0280, // { W being id, B flags [, C position, B speed] [, W*2 destination] }* GPMSG_ITEMS = 0x0281, // { W item id, W*2 position }* - PGMSG_ATTACK = 0x0290, // B direction + PGMSG_ATTACK = 0x0290, // W being id PGMSG_USE_SPECIAL = 0x0292, // B specialID GPMSG_BEING_ATTACK = 0x0291, // W being id PGMSG_SAY = 0x02A0, // S text @@ -162,9 +162,11 @@ enum { CPMSG_GUILD_QUIT_RESPONSE = 0x0361, // B error PCMSG_GUILD_PROMOTE_MEMBER = 0x0365, // W guild, S name, B rights CPMSG_GUILD_PROMOTE_MEMBER_RESPONSE = 0x0366, // B error + PCMSG_GUILD_KICK_MEMBER = 0x0370, // W guild, S name + CPMSG_GUILD_KICK_MEMBER_RESPONSE = 0x0371, // B error - CPMSG_GUILD_INVITED = 0x0370, // S char name, S guild name, W id - CPMSG_GUILD_REJOIN = 0x0371, // S name, W guild, W rights, W channel, S announce + CPMSG_GUILD_INVITED = 0x0388, // S char name, S guild name, W id + CPMSG_GUILD_REJOIN = 0x0389, // S name, W guild, W rights, W channel, S announce // Party PCMSG_PARTY_INVITE = 0x03A0, // S name diff --git a/src/net/tmwserv/tradehandler.cpp b/src/net/tmwserv/tradehandler.cpp index 74789a34..aabd8b2a 100644 --- a/src/net/tmwserv/tradehandler.cpp +++ b/src/net/tmwserv/tradehandler.cpp @@ -40,6 +40,9 @@ #include "gui/widgets/chattab.h" +#include "utils/gettext.h" +#include "utils/stringutils.h" + std::string tradePartnerName; int tradePartnerID; @@ -87,9 +90,9 @@ void TradeHandler::setAcceptTradeRequests(bool acceptTradeRequests) { mAcceptTradeRequests = acceptTradeRequests; if (mAcceptTradeRequests) { - localChatTab->chatLog("Accepting incoming trade requests", BY_SERVER); + localChatTab->chatLog(_("Accepting incoming trade requests."), BY_SERVER); } else { - localChatTab->chatLog("Ignoring incoming trade requests", BY_SERVER); + localChatTab->chatLog(_("Ignoring incoming trade requests."), BY_SERVER); } } @@ -108,8 +111,9 @@ void TradeHandler::handleMessage(MessageIn &msg) player_node->setTrading(true); tradePartnerName = being->getName(); tradePartnerID = being->getId(); - ConfirmDialog *dlg = new ConfirmDialog("Request for trade", - tradePartnerName + " wants to trade with you, do you accept?"); + ConfirmDialog *dlg = new ConfirmDialog(_("Request for Trade"), + strprintf(_("%s wants to trade with you, do you accept?"), + tradePartnerName.c_str())); dlg->addActionListener(&listener); } break; @@ -126,7 +130,8 @@ void TradeHandler::handleMessage(MessageIn &msg) case GPMSG_TRADE_START: tradeWindow->reset(); - tradeWindow->setCaption("Trading with " + tradePartnerName); + tradeWindow->setCaption(strprintf(_("Trading with %s"), + tradePartnerName.c_str())); tradeWindow->setVisible(true); break; @@ -139,14 +144,14 @@ void TradeHandler::handleMessage(MessageIn &msg) break; case GPMSG_TRADE_CANCEL: - localChatTab->chatLog("Trade canceled.", BY_SERVER); + localChatTab->chatLog(_("Trade canceled."), BY_SERVER); tradeWindow->setVisible(false); tradeWindow->reset(); player_node->setTrading(false); break; case GPMSG_TRADE_COMPLETE: - localChatTab->chatLog("Trade completed.", BY_SERVER); + localChatTab->chatLog(_("Trade completed."), BY_SERVER); tradeWindow->setVisible(false); tradeWindow->reset(); player_node->setTrading(false); diff --git a/src/resources/itemdb.cpp b/src/resources/itemdb.cpp index 99907ca7..899dd977 100644 --- a/src/resources/itemdb.cpp +++ b/src/resources/itemdb.cpp @@ -109,7 +109,7 @@ void ItemDB::load() mUnknown->setSprite("error.xml", GENDER_MALE); mUnknown->setSprite("error.xml", GENDER_FEMALE); - XML::Document doc(_("items.xml")); + XML::Document doc("items.xml"); xmlNodePtr rootNode = doc.rootNode(); if (!rootNode || !xmlStrEqual(rootNode->name, BAD_CAST "items")) @@ -210,6 +210,10 @@ void ItemDB::load() } } + if (weaponType > 0) + if (attackRange == 0) + logger->log("ItemDB: Missing attack range from weapon %i!", id); + #define CHECK_PARAM(param, error_value) \ if (param == error_value) \ logger->log("ItemDB: Missing " #param " attribute for item %i!",id) diff --git a/src/resources/monsterdb.cpp b/src/resources/monsterdb.cpp index 7bbf9288..0c28586a 100644 --- a/src/resources/monsterdb.cpp +++ b/src/resources/monsterdb.cpp @@ -46,7 +46,7 @@ void MonsterDB::load() logger->log("Initializing monster database..."); - XML::Document doc(_("monsters.xml")); + XML::Document doc("monsters.xml"); xmlNodePtr rootNode = doc.rootNode(); if (!rootNode || !xmlStrEqual(rootNode->name, BAD_CAST "monsters")) |