diff options
-rw-r--r-- | src/Makefile.am | 6 | ||||
-rw-r--r-- | src/commandhandler.cpp | 2 | ||||
-rw-r--r-- | src/engine.cpp | 16 | ||||
-rw-r--r-- | src/engine.h | 2 | ||||
-rw-r--r-- | src/game.cpp | 5 | ||||
-rw-r--r-- | src/gui/widgets/whispertab.cpp | 1 | ||||
-rw-r--r-- | src/map.cpp | 4 | ||||
-rw-r--r-- | src/net/ea/gui/partytab.cpp | 53 | ||||
-rw-r--r-- | src/net/ea/gui/partytab.h | 49 | ||||
-rw-r--r-- | src/net/ea/party.cpp (renamed from src/party.cpp) | 0 | ||||
-rw-r--r-- | src/net/ea/party.h (renamed from src/party.h) | 0 | ||||
-rw-r--r-- | src/net/ea/playerhandler.cpp | 5 | ||||
-rw-r--r-- | src/net/tmwserv/playerhandler.cpp | 3 |
13 files changed, 115 insertions, 31 deletions
diff --git a/src/Makefile.am b/src/Makefile.am index 4c5893ac..3768b7cd 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -461,6 +461,8 @@ tmw_SOURCES += \ net/ea/network.h \ net/ea/npchandler.cpp \ net/ea/npchandler.h \ + net/ea/party.cpp \ + net/ea/party.h \ net/ea/partyhandler.cpp \ net/ea/partyhandler.h \ net/ea/playerhandler.cpp \ @@ -470,9 +472,7 @@ tmw_SOURCES += \ net/ea/skillhandler.cpp \ net/ea/skillhandler.h \ net/ea/tradehandler.cpp \ - net/ea/tradehandler.h \ - party.cpp \ - party.h + net/ea/tradehandler.h endif # set the include path found by configure diff --git a/src/commandhandler.cpp b/src/commandhandler.cpp index a2de2c63..5431cf88 100644 --- a/src/commandhandler.cpp +++ b/src/commandhandler.cpp @@ -34,8 +34,8 @@ #include "net/tmwserv/chatserver/chatserver.h" #include "net/tmwserv/gameserver/player.h" #else -#include "party.h" #include "net/messageout.h" +#include "net/ea/party.h" #include "net/ea/protocol.h" #endif diff --git a/src/engine.cpp b/src/engine.cpp index d13fbf3f..04d06e38 100644 --- a/src/engine.cpp +++ b/src/engine.cpp @@ -33,11 +33,6 @@ #include "gui/minimap.h" #include "gui/viewport.h" -#ifdef EATHENA_SUPPORT -#include "net/messageout.h" -#include "net/ea/protocol.h" -#endif - #include "resources/mapreader.h" #include "resources/monsterdb.h" #include "resources/resourcemanager.h" @@ -54,7 +49,7 @@ Engine::~Engine() delete mCurrentMap; } -void Engine::changeMap(const std::string &mapPath) +bool Engine::changeMap(const std::string &mapPath) { // Clean up floor items, beings and particles floorItemManager->clear(); @@ -71,11 +66,7 @@ void Engine::changeMap(const std::string &mapPath) mMapName = mapPath; // Store full map path in global var -#ifdef TMWSERV_SUPPORT map_path = "maps/" + mapPath + ".tmx"; -#else - map_path = "maps/" + mapPath.substr(0, mapPath.rfind(".")) + ".tmx"; -#endif ResourceManager *resman = ResourceManager::getInstance(); if (!resman->exists(map_path)) map_path += ".gz"; @@ -143,10 +134,7 @@ void Engine::changeMap(const std::string &mapPath) mCurrentMap = newMap; -#ifdef EATHENA_SUPPORT - // Send "map loaded" - MessageOut outMsg(CMSG_MAP_LOADED); -#endif + return true; } void Engine::logic() diff --git a/src/engine.h b/src/engine.h index eafce3b9..963270e8 100644 --- a/src/engine.h +++ b/src/engine.h @@ -53,7 +53,7 @@ class Engine /** * Sets the currently active map. */ - void changeMap(const std::string &mapName); + bool changeMap(const std::string &mapName); /** * Performs engine logic. This method is called 100 times per second. diff --git a/src/game.cpp b/src/game.cpp index 856a5c11..6b9a829f 100644 --- a/src/game.cpp +++ b/src/game.cpp @@ -43,9 +43,6 @@ #include "log.h" #include "npc.h" #include "particle.h" -#ifdef EATHENA_SUPPORT -#include "party.h" -#endif #include "player_relations.h" #include "gui/widgets/chattab.h" @@ -110,6 +107,7 @@ #include "net/ea/inventoryhandler.h" #include "net/ea/itemhandler.h" #include "net/ea/npchandler.h" +#include "net/ea/party.h" #include "net/ea/playerhandler.h" #include "net/ea/tradehandler.h" #include "net/ea/protocol.h" @@ -450,6 +448,7 @@ Game::Game(Network *network): msg.writeInt32(tick_time); engine->changeMap(map_path); + MessageOut outMsg(CMSG_MAP_LOADED); #endif setupWindow->setInGame(true); diff --git a/src/gui/widgets/whispertab.cpp b/src/gui/widgets/whispertab.cpp index 1621e965..9e6d9336 100644 --- a/src/gui/widgets/whispertab.cpp +++ b/src/gui/widgets/whispertab.cpp @@ -28,7 +28,6 @@ #ifdef TMWSERV_SUPPORT #include "net/tmwserv/chatserver/chatserver.h" #else -#include "party.h" #include "net/messageout.h" #include "net/ea/protocol.h" #endif diff --git a/src/map.cpp b/src/map.cpp index 59e6201f..8f736424 100644 --- a/src/map.cpp +++ b/src/map.cpp @@ -141,11 +141,7 @@ void MapLayer::draw(Graphics *graphics, int startX, int startY, // tiles have been drawn if (mIsFringeLayer) { -#ifdef TMWSERV_SUPPORT while (si != sprites.end() && (*si)->getPixelY() <= y * 32) -#else - while (si != sprites.end() && (*si)->getPixelY() <= y * 32) -#endif { (*si)->draw(graphics, -scrollX, -scrollY); si++; diff --git a/src/net/ea/gui/partytab.cpp b/src/net/ea/gui/partytab.cpp new file mode 100644 index 00000000..a55d2492 --- /dev/null +++ b/src/net/ea/gui/partytab.cpp @@ -0,0 +1,53 @@ +/* + * The Mana World + * Copyright (C) 2008 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 <guichan/widgets/label.hpp> + +#include "partytab.h" + +#include "net/messageout.h" + +#include "net/ea/party.h" +#include "net/ea/protocol.h" + +#include "resources/iteminfo.h" +#include "resources/itemdb.h" + +#include "utils/dtor.h" +#include "utils/gettext.h" +#include "utils/strprintf.h" +#include "utils/stringutils.h" + +PartyTab::PartyTab() : ChatTab(_("Party")) +{ +} + +PartyTab::~PartyTab() +{ +} + +void PartyTab::handleInput(std::string &msg) { + // TODO +} + +void PartyTab::handleCommand(std::string &msg) { + // TODO +} diff --git a/src/net/ea/gui/partytab.h b/src/net/ea/gui/partytab.h new file mode 100644 index 00000000..b2aaca68 --- /dev/null +++ b/src/net/ea/gui/partytab.h @@ -0,0 +1,49 @@ +/* + * The Mana World + * Copyright (C) 2009 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 CHANNELTAB_H +#define CHANNELTAB_H + +#include "gui/widgets/chattab.h" + +/** + * A tab for a chat channel. + */ +class PartyTab : public ChatTab +{ + public: + /** + * Constructor. + */ + PartyTab(); + + /** + * Destructor. + */ + ~PartyTab(); + + protected: + void handleInput(const std::string &msg); + + void handleCommand(std::string msg); +}; + +#endif // CHANNELTAB_H diff --git a/src/party.cpp b/src/net/ea/party.cpp index 2295cb81..2295cb81 100644 --- a/src/party.cpp +++ b/src/net/ea/party.cpp diff --git a/src/party.h b/src/net/ea/party.h index 25af80b3..25af80b3 100644 --- a/src/party.h +++ b/src/net/ea/party.h diff --git a/src/net/ea/playerhandler.cpp b/src/net/ea/playerhandler.cpp index bf775f51..05f74630 100644 --- a/src/net/ea/playerhandler.cpp +++ b/src/net/ea/playerhandler.cpp @@ -24,6 +24,7 @@ #include "net/ea/protocol.h" #include "net/messagein.h" +#include "net/messageout.h" #include "engine.h" #include "localplayer.h" @@ -193,7 +194,9 @@ void PlayerHandler::handleMessage(MessageIn &msg) nearby = (engine->getCurrentMapName() == mapPath); // Switch the actual map, deleting the previous one if necessary - engine->changeMap(mapPath); + mapPath = mapPath.substr(0, mapPath.rfind(".")); + if (engine->changeMap(mapPath)) + MessageOut outMsg(CMSG_MAP_LOADED); float scrollOffsetX = 0.0f; float scrollOffsetY = 0.0f; diff --git a/src/net/tmwserv/playerhandler.cpp b/src/net/tmwserv/playerhandler.cpp index f02ed4c1..106894a1 100644 --- a/src/net/tmwserv/playerhandler.cpp +++ b/src/net/tmwserv/playerhandler.cpp @@ -85,9 +85,6 @@ namespace { npcTextDialog->setVisible(false); buyDialog->setVisible(false); sellDialog->setVisible(false); -#ifdef EATHENA_SUPPORT - buySellDialog->setVisible(false); -#endif current_npc = 0; } } deathListener; |