diff options
Diffstat (limited to 'src/resources/skill')
-rw-r--r-- | src/resources/skill/skilldata.cpp | 80 | ||||
-rw-r--r-- | src/resources/skill/skilldata.h | 67 | ||||
-rw-r--r-- | src/resources/skill/skillinfo.cpp | 204 | ||||
-rw-r--r-- | src/resources/skill/skillinfo.h | 108 | ||||
-rw-r--r-- | src/resources/skill/skilltypeentry.h | 36 | ||||
-rw-r--r-- | src/resources/skill/skilltypelist.h | 48 |
6 files changed, 0 insertions, 543 deletions
diff --git a/src/resources/skill/skilldata.cpp b/src/resources/skill/skilldata.cpp deleted file mode 100644 index ef3b331cf..000000000 --- a/src/resources/skill/skilldata.cpp +++ /dev/null @@ -1,80 +0,0 @@ -/* - * The ManaPlus Client - * Copyright (C) 2004-2009 The Mana World Development Team - * Copyright (C) 2009-2010 The Mana Developers - * Copyright (C) 2011-2017 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/skill/skilldata.h" - -#include "configuration.h" - -#include "gui/theme.h" - -#include "resources/image/image.h" - -#include "resources/loaders/imageloader.h" - -#include "debug.h" - -SkillData::SkillData() : - name(), - shortName(), - dispName(), - description(), - missile(), - castingMissile(), - invokeCmd(), - castingAnimation(), - soundHit(std::string(), 0), - soundMiss(std::string(), 0), - icon(nullptr), - updateEffectId(-1), - removeEffectId(-1), - hitEffectId(-1), - missEffectId(-1), - castingSrcEffectId(-1), - castingDstEffectId(-1), - castingGroundEffectId(-1), - srcEffectId(-1), - dstEffectId(-1), - haveIcon(false), - autoTab(true) -{ -} - -SkillData::~SkillData() -{ - if (icon != nullptr) - { - icon->decRef(); - icon = nullptr; - } -} - -void SkillData::setIcon(const std::string &iconPath) -{ - if (!iconPath.empty()) - icon = Loader::getImage(iconPath); - - if (icon == nullptr) - { - icon = Theme::getImageFromTheme( - paths.getStringValue("unknownItemFile")); - } -} diff --git a/src/resources/skill/skilldata.h b/src/resources/skill/skilldata.h deleted file mode 100644 index 7dc2e05ac..000000000 --- a/src/resources/skill/skilldata.h +++ /dev/null @@ -1,67 +0,0 @@ -/* - * The ManaPlus Client - * Copyright (C) 2004-2009 The Mana World Development Team - * Copyright (C) 2009-2010 The Mana Developers - * Copyright (C) 2011-2017 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 GUI_WIDGETS_SKILLDATA_H -#define GUI_WIDGETS_SKILLDATA_H - -#include "resources/missileinfo.h" -#include "resources/soundinfo.h" - -class Image; - -struct SkillData final -{ - std::string name; - std::string shortName; - std::string dispName; - std::string description; - - MissileInfo missile; - MissileInfo castingMissile; - std::string invokeCmd; - std::string castingAnimation; - - SoundInfo soundHit; - SoundInfo soundMiss; - - Image *icon; - - int updateEffectId; - int removeEffectId; - int hitEffectId; - int missEffectId; - int castingSrcEffectId; - int castingDstEffectId; - int castingGroundEffectId; - int srcEffectId; - int dstEffectId; - bool haveIcon; - bool autoTab; - - SkillData(); - A_DELETE_COPY(SkillData) - ~SkillData(); - - void setIcon(const std::string &iconPath); -}; - -#endif // GUI_WIDGETS_SKILLDATA_H diff --git a/src/resources/skill/skillinfo.cpp b/src/resources/skill/skillinfo.cpp deleted file mode 100644 index 3f6a50eb6..000000000 --- a/src/resources/skill/skillinfo.cpp +++ /dev/null @@ -1,204 +0,0 @@ -/* - * The ManaPlus Client - * Copyright (C) 2004-2009 The Mana World Development Team - * Copyright (C) 2009-2010 The Mana Developers - * Copyright (C) 2011-2017 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/skill/skillinfo.h" - -#include "being/playerinfo.h" - -#include "gui/models/skillmodel.h" - -#include "utils/foreach.h" -#include "utils/stringutils.h" - -#include "resources/skill/skilldata.h" -#include "resources/skill/skilltypelist.h" - -#include "debug.h" - -SkillInfo::SkillInfo() : - skillLevel(), - skillEffect(), - useButton(), - errorText(), - castingAction(), - castingRideAction(), - castingSkyAction(), - castingWaterAction(), - dataMap(), - model(nullptr), - tab(nullptr), - data(nullptr), - level(0), - customSelectedLevel(0), - customOffsetX(0), - customOffsetY(0), - skillLevelWidth(0), - id(0), - range(0), - sp(0), - duration(0), - durationTime(0), - cooldown(0), - x(0), - y(0), - type(SkillType::Unknown), - owner(SkillOwner::Player), - customCastType(CastType::Default), - modifiable(Modifiable_false), - visible(Visible_false), - alwaysVisible(Visible_false), - useTextParameter(false) -{ - dataMap[0] = new SkillData; - data = dataMap[0]; -} - -SkillInfo::~SkillInfo() -{ - FOR_EACH (SkillDataMapIter, it, dataMap) - delete (*it).second; - dataMap.clear(); -} - -void SkillInfo::update() -{ - const int baseLevel = PlayerInfo::getSkillLevel(id); - if (modifiable == Modifiable_false && baseLevel == 0) - { - if (visible == Visible_true) - { - visible = Visible_false; - if (model != nullptr) - model->updateVisibilities(); - } - return; - } - - const bool updateVisibility = (visible == Visible_false); - visible = Visible_true; - - if (baseLevel == 0) - { - skillLevel.clear(); - } - else - { - if (customSelectedLevel == 0) - { - // TRANSLATORS: skill level - skillLevel = strprintf(_("Lvl: %d"), baseLevel); - } - else - { - // TRANSLATORS: skill level - skillLevel = strprintf(_("Lvl: %d / %d"), - customSelectedLevel, - baseLevel); - } - } - - // TRANSLATORS: skill type - const char *const typeStr = _("Type: %s"); - - if (type == SkillType::Unknown) - { - // TRANSLATORS: Skill type - skillEffect = strprintf(typeStr, _("Unknown")); - } - else - { - skillEffect.clear(); - for (size_t f = 0; f < skillTypeListSize; f ++) - { - const SkillTypeEntry &item = skillTypeList[f]; - if ((item.type & type) != 0) - { - if (!skillEffect.empty()) - skillEffect.append(", "); - skillEffect.append(strprintf(typeStr, item.name)); - } - } - } - if (skillEffect.empty()) - { - // TRANSLATORS: Skill type - skillEffect = strprintf(typeStr, _("Unknown:")); - skillEffect.append(" ").append(toString(CAST_S32(type))); - } - - if (sp != 0) - { - // TRANSLATORS: skill mana - skillEffect.append(strprintf(_(" / Mana: -%d"), sp)); - } - - if (range > 0) - { - if (!skillEffect.empty()) - skillEffect.append(" / "); - // TRANSLATORS: skill range - skillEffect.append(strprintf(_("Range: %d"), range)); - } - - level = baseLevel; - if (customSelectedLevel > level) - customSelectedLevel = level; - - skillLevelWidth = -1; - - if (updateVisibility && (model != nullptr)) - model->updateVisibilities(); - - data = getData(level); - if (data == nullptr) - data = dataMap[0]; -} - - -void SkillInfo::addData(const int level1, SkillData *const data1) -{ - dataMap[level1] = data1; -} - -SkillData *SkillInfo::getData(const int level1) const -{ - const SkillDataMapCIter it = dataMap.find(level1); - if (it == dataMap.end()) - return nullptr; - return (*it).second; -} - -SkillData *SkillInfo::getData1(const int lev) const -{ - const SkillDataMapCIter it = dataMap.find(lev); - if (it == dataMap.end()) - return (*dataMap.begin()).second; - return (*it).second; -} - -std::string SkillInfo::toDataStr() const -{ - return strprintf("%d %d %d", - CAST_S32(customCastType), - customOffsetX, - customOffsetY); -} diff --git a/src/resources/skill/skillinfo.h b/src/resources/skill/skillinfo.h deleted file mode 100644 index c07b3209f..000000000 --- a/src/resources/skill/skillinfo.h +++ /dev/null @@ -1,108 +0,0 @@ -/* - * The ManaPlus Client - * Copyright (C) 2004-2009 The Mana World Development Team - * Copyright (C) 2009-2010 The Mana Developers - * Copyright (C) 2011-2017 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 GUI_WIDGETS_SKILLINFO_H -#define GUI_WIDGETS_SKILLINFO_H - -#include "enums/simpletypes/modifiable.h" -#include "enums/simpletypes/visible.h" - -#include "enums/resources/skill/casttype.h" -#include "enums/resources/skill/skillowner.h" -#include "enums/resources/skill/skilltype.h" - -#include "utils/vector.h" - -#include <string> -#include <map> - -#include "localconsts.h" - -struct SkillData; - -class SkillModel; -class SkillTab; - -typedef std::map<int, SkillData*> SkillDataMap; -typedef SkillDataMap::iterator SkillDataMapIter; -typedef SkillDataMap::const_iterator SkillDataMapCIter; - -struct SkillInfo final -{ - std::string skillLevel; - std::string skillEffect; - std::string useButton; - std::string errorText; - std::string castingAction; - std::string castingRideAction; - std::string castingSkyAction; - std::string castingWaterAction; - SkillDataMap dataMap; - SkillModel *model; - SkillTab *tab; - SkillData *data; - int level; - int customSelectedLevel; - int customOffsetX; - int customOffsetY; - int skillLevelWidth; - unsigned int id; - int range; - int sp; - int duration; - int durationTime; - int cooldown; - int x; - int y; - SkillType::SkillType type; - SkillOwner::Type owner; - CastTypeT customCastType; - Modifiable modifiable; - Visible visible; - Visible alwaysVisible; - bool useTextParameter; - - SkillInfo(); - A_DELETE_COPY(SkillInfo) - ~SkillInfo(); - - void update(); - - SkillData *getData(const int level) const A_WARN_UNUSED; - SkillData *getData1(const int level) const A_WARN_UNUSED; - - void addData(const int level, SkillData *const data); - - bool isUsable() const noexcept2 A_WARN_UNUSED - { - return type == SkillType::Attack - || type == SkillType::Self - || type == SkillType::Support; - } - - std::string toDataStr() const A_WARN_UNUSED; -}; - -typedef STD_VECTOR<SkillInfo*> SkillList; -typedef SkillList::iterator SkillListIter; - -#endif // GUI_WIDGETS_SKILLINFO_H diff --git a/src/resources/skill/skilltypeentry.h b/src/resources/skill/skilltypeentry.h deleted file mode 100644 index fdb1604fe..000000000 --- a/src/resources/skill/skilltypeentry.h +++ /dev/null @@ -1,36 +0,0 @@ -/* - * The ManaPlus Client - * Copyright (C) 2016-2017 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 RESOURCES_SKILLTYPEENTRY_H -#define RESOURCES_SKILLTYPEENTRY_H - -#include "enums/resources/skill/skilltype.h" - -#include "localconsts.h" - -struct SkillTypeEntry final -{ - A_DEFAULT_COPY(SkillTypeEntry) - - const SkillType::SkillType type; - const char *const name; -}; - -#endif // RESOURCES_SKILLTYPEENTRY_H diff --git a/src/resources/skill/skilltypelist.h b/src/resources/skill/skilltypelist.h deleted file mode 100644 index 667d90e2c..000000000 --- a/src/resources/skill/skilltypelist.h +++ /dev/null @@ -1,48 +0,0 @@ -/* - * The ManaPlus Client - * Copyright (C) 2016-2017 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 RESOURCES_SKILLTYPELIST_H -#define RESOURCES_SKILLTYPELIST_H - -#include "utils/gettext.h" - -#include "resources/skill/skilltypeentry.h" - -#include "localconsts.h" - -const size_t skillTypeListSize = 6; - -SkillTypeEntry skillTypeList[skillTypeListSize] = -{ - // TRANSLATORS: Skill type - { SkillType::Attack, N_("Attack") }, - // TRANSLATORS: Skill type - { SkillType::Ground, N_("Ground") }, - // TRANSLATORS: Skill type - { SkillType::Self, N_("Self") }, - // TRANSLATORS: Skill type - { SkillType::Unused, N_("Unused") }, - // TRANSLATORS: Skill type - { SkillType::Support, N_("Support") }, - // TRANSLATORS: Skill type - { SkillType::TargetTrap, N_("TargetTrap") } -}; - -#endif // RESOURCES_SKILLTYPELIST_H |