summaryrefslogtreecommitdiff
path: root/src/resources
diff options
context:
space:
mode:
authorAndrei Karas <akaras@inbox.ru>2013-02-06 00:27:11 +0300
committerAndrei Karas <akaras@inbox.ru>2013-02-06 00:28:01 +0300
commitd514c4c7bc62061935579505b497307f89fc8db5 (patch)
tree23262e97103dc794ee49b83d9afe47c43afe6d2e /src/resources
parent8bbc32ceeb0522064d6ee9789c9c666d2874d29a (diff)
downloadmv-d514c4c7bc62061935579505b497307f89fc8db5.tar.gz
mv-d514c4c7bc62061935579505b497307f89fc8db5.tar.bz2
mv-d514c4c7bc62061935579505b497307f89fc8db5.tar.xz
mv-d514c4c7bc62061935579505b497307f89fc8db5.zip
Remove specials window and db.
It was used only in manaserv and manaserv support now almost deleted.
Diffstat (limited to 'src/resources')
-rw-r--r--src/resources/specialdb.cpp132
-rw-r--r--src/resources/specialdb.h90
2 files changed, 0 insertions, 222 deletions
diff --git a/src/resources/specialdb.cpp b/src/resources/specialdb.cpp
deleted file mode 100644
index aa51a7898..000000000
--- a/src/resources/specialdb.cpp
+++ /dev/null
@@ -1,132 +0,0 @@
-/*
- * The ManaPlus Client
- * Copyright (C) 2010 The Mana Developers
- * Copyright (C) 2011-2013 The ManaPlus Developers
- *
- * This file is part of The ManaPlus Client.
- *
- * 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, see <http://www.gnu.org/licenses/>.
- */
-
-#include "resources/specialdb.h"
-
-#include "logger.h"
-
-#include "utils/dtor.h"
-#include "utils/xml.h"
-
-#include "debug.h"
-
-namespace
-{
- SpecialInfos mSpecialInfos;
- bool mLoaded = false;
-}
-
-SpecialInfo::TargetMode SpecialDB::targetModeFromString(const std::string& str)
-{
- if (str == "self") return SpecialInfo::TARGET_SELF;
- else if (str == "friend") return SpecialInfo::TARGET_FRIEND;
- else if (str == "enemy") return SpecialInfo::TARGET_ENEMY;
- else if (str == "being") return SpecialInfo::TARGET_BEING;
- else if (str == "point") return SpecialInfo::TARGET_POINT;
-
- logger->log("SpecialDB: Warning, unknown target mode \"%s\"",
- str.c_str() );
- return SpecialInfo::TARGET_SELF;
-}
-
-void SpecialDB::load()
-{
- if (mLoaded)
- unload();
-
- logger->log("Initializing special database...");
-
- XML::Document doc("specials.xml");
- const XmlNodePtr root = doc.rootNode();
-
- if (!root || !xmlNameEqual(root, "specials"))
- {
- logger->log("Error loading specials file specials.xml");
- return;
- }
-
- std::string setName;
-
- for_each_xml_child_node(set, root)
- {
- if (xmlNameEqual(set, "set"))
- {
- setName = XML::getProperty(set, "name", "Actions");
-
- for_each_xml_child_node(special, set)
- {
- if (xmlNameEqual(special, "special"))
- {
- SpecialInfo *const info = new SpecialInfo();
- const int id = XML::getProperty(special, "id", 0);
- info->id = id;
- info->set = setName;
- info->name = XML::getProperty(special, "name", "");
- info->icon = XML::getProperty(special, "icon", "");
-
- info->isActive = XML::getBoolProperty(
- special, "active", false);
- info->targetMode = targetModeFromString(XML::getProperty(
- special, "target", "self"));
-
- info->level = XML::getProperty(special, "level", -1);
- info->hasLevel = info->level > -1;
-
- info->hasRechargeBar = XML::getBoolProperty(special,
- "recharge", false);
- info->rechargeNeeded = 0;
- info->rechargeCurrent = 0;
-
- if (mSpecialInfos.find(id) != mSpecialInfos.end())
- {
- logger->log("SpecialDB: Duplicate special ID"
- " %d (ignoring)", id);
- }
- else
- {
- mSpecialInfos[id] = info;
- }
- }
- }
- }
- }
-
- mLoaded = true;
-}
-
-void SpecialDB::unload()
-{
- delete_all(mSpecialInfos);
- mSpecialInfos.clear();
-
- mLoaded = false;
-}
-
-
-SpecialInfo *SpecialDB::get(const int id)
-{
- const SpecialInfos::const_iterator i = mSpecialInfos.find(id);
-
- if (i == mSpecialInfos.end())
- return nullptr;
- else
- return i->second;
-}
diff --git a/src/resources/specialdb.h b/src/resources/specialdb.h
deleted file mode 100644
index e392216f2..000000000
--- a/src/resources/specialdb.h
+++ /dev/null
@@ -1,90 +0,0 @@
-/*
- * The ManaPlus Client
- * Copyright (C) 2010 The Mana Developers
- * Copyright (C) 2011-2013 The ManaPlus Developers
- *
- * This file is part of The ManaPlus Client.
- *
- * 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, see <http://www.gnu.org/licenses/>.
- */
-
-#ifndef SPECIAL_DB_H
-#define SPECIAL_DB_H
-
-#include <string>
-#include <map>
-
-#include "localconsts.h"
-
-struct SpecialInfo final
-{
- enum TargetMode
- {
- TARGET_SELF = 0, // no target selection
- TARGET_FRIEND, // target friendly being
- TARGET_ENEMY, // target hostile being
- TARGET_BEING, // target any being
- TARGET_POINT // target map location
- };
-
- SpecialInfo() :
- id(0),
- isActive(false),
- targetMode(TARGET_SELF),
- hasLevel(false),
- level(0),
- hasRechargeBar(false),
- rechargeNeeded(0),
- rechargeCurrent(0)
- { }
-
- A_DELETE_COPY(SpecialInfo)
-
- int id;
- std::string set; // tab on which the special is shown
- std::string name; // displayed name of special
- std::string icon; // filename of graphical icon
-
- bool isActive; // true when the special can be used
- TargetMode targetMode; // target mode
-
- bool hasLevel; // true when the special has levels
- int level; // level of special when applicable
-
- bool hasRechargeBar; // true when the special has a recharge bar
- int rechargeNeeded; // maximum recharge when applicable
- int rechargeCurrent; // current recharge when applicable
-};
-
-/**
- * Special information database.
- */
-namespace SpecialDB
-{
- void load();
-
- void unload();
-
- /** gets the special info for ID. Will return 0 when it is
- * a server-specific special.
- */
- SpecialInfo *get(const int id) A_WARN_UNUSED;
-
- SpecialInfo::TargetMode targetModeFromString(const std::string& str)
- A_WARN_UNUSED;
-}
-
-typedef std::map<int, SpecialInfo *> SpecialInfos;
-
-#endif