summaryrefslogtreecommitdiff
path: root/src/client.cpp
diff options
context:
space:
mode:
authorYohann Ferreira <yohann_dot_ferreira_at_orange_dot_efer>2011-01-24 22:10:02 +0100
committerYohann Ferreira <yohann_dot_ferreira_at_orange_dot_efer>2011-01-24 22:10:02 +0100
commitd055bee5e6b45737ab89b3f8c70c6d0db7a22eb3 (patch)
tree081556c8fa27ce16372b1657e469ccd8587dd4e5 /src/client.cpp
parentf663f5bbb75b850ae22f451a22d112b6c62b2ad6 (diff)
downloadmana-d055bee5e6b45737ab89b3f8c70c6d0db7a22eb3.tar.gz
mana-d055bee5e6b45737ab89b3f8c70c6d0db7a22eb3.tar.bz2
mana-d055bee5e6b45737ab89b3f8c70c6d0db7a22eb3.tar.xz
mana-d055bee5e6b45737ab89b3f8c70c6d0db7a22eb3.zip
Refactored the item loading in a more extensible and per protocol way.
This will greatly help into upgrading the need of each protocol separately. This is the first step to a new item and equipment system for manaserv. A subclassing of the EquipmentWindow will be done in the next commit, as requested by Thorbjorn. Reviewed-by: Thorbjorn.
Diffstat (limited to 'src/client.cpp')
-rw-r--r--src/client.cpp14
1 files changed, 13 insertions, 1 deletions
diff --git a/src/client.cpp b/src/client.cpp
index 7ca90444..71e0c5d3 100644
--- a/src/client.cpp
+++ b/src/client.cpp
@@ -789,7 +789,19 @@ int Client::exec()
// Load XML databases
ColorDB::load();
- itemDb = new ItemDB;
+ switch (Net::getNetworkType())
+ {
+ case ServerInfo::TMWATHENA:
+ itemDb = new TmwAthena::TaItemDB;
+ break;
+ case ServerInfo::MANASERV:
+ itemDb = new ManaServ::ManaServItemDB;
+ break;
+ default:
+ // Nothing
+ itemDb = 0;
+ break;
+ }
if (!itemDb || !itemDb->isLoaded())
{
// Warn and return to login screen