summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/gui/skilldialog.cpp27
-rw-r--r--src/net/ea/specialhandler.cpp8
2 files changed, 19 insertions, 16 deletions
diff --git a/src/gui/skilldialog.cpp b/src/gui/skilldialog.cpp
index 5e700387..15f93b9c 100644
--- a/src/gui/skilldialog.cpp
+++ b/src/gui/skilldialog.cpp
@@ -62,7 +62,7 @@ struct SkillInfo
class SkillEntry : public Container, gcn::WidgetListener
{
public:
- SkillEntry(struct SkillInfo *info);
+ SkillEntry(SkillInfo *info);
void widgetResized(const gcn::Event &event);
@@ -70,7 +70,7 @@ class SkillEntry : public Container, gcn::WidgetListener
protected:
friend class SkillDialog;
- struct SkillInfo *mInfo;
+ SkillInfo *mInfo;
private:
Icon *mIcon;
@@ -152,15 +152,16 @@ void SkillDialog::logic()
std::string SkillDialog::update(int id)
{
- SkillInfo *info = mSkills[id];
+ SkillMap::iterator i = mSkills.find(id);
- if (info)
+ if (i != mSkills.end())
{
+ SkillInfo *info = i->second;
info->display->update();
return info->name;
}
- else
- return "";
+
+ return std::string();
}
void SkillDialog::update()
@@ -180,6 +181,7 @@ void SkillDialog::loadSkills(const std::string &file)
{
// TODO: mTabs->clear();
delete_all(mSkills);
+ mSkills.clear();
XML::Document doc(file);
xmlNodePtr root = doc.rootNode();
@@ -239,21 +241,23 @@ void SkillDialog::loadSkills(const std::string &file)
void SkillDialog::setModifiable(int id, bool modifiable)
{
- SkillInfo *info = mSkills[id];
+ SkillMap::iterator i = mSkills.find(id);
- if (info)
+ if (i != mSkills.end())
{
+ SkillInfo *info = i->second;
info->modifiable = modifiable;
info->display->update();
}
}
-SkillEntry::SkillEntry(struct SkillInfo *info) : mInfo(info),
+SkillEntry::SkillEntry(SkillInfo *info) :
+ mInfo(info),
mIcon(NULL),
mNameLabel(new Label(info->name)),
- mProgress(new ProgressBar(0.0f, 200, 20, gcn::Color(150, 150, 150))),
+ mLevelLabel(new Label("999")),
mIncrease(new Button("+", "inc", skillDialog)),
- mLevelLabel(new Label("999"))
+ mProgress(new ProgressBar(0.0f, 200, 20, gcn::Color(150, 150, 150)))
{
setFrameSize(1);
setOpaque(false);
@@ -312,7 +316,6 @@ void SkillEntry::widgetResized(const gcn::Event &event)
void SkillEntry::update()
{
int baseLevel = player_node->getAttributeBase(mInfo->id);
-
int effLevel = player_node->getAttributeEffective(mInfo->id);
if (baseLevel <= 0 && !mInfo->modifiable)
diff --git a/src/net/ea/specialhandler.cpp b/src/net/ea/specialhandler.cpp
index 218ff795..528f531e 100644
--- a/src/net/ea/specialhandler.cpp
+++ b/src/net/ea/specialhandler.cpp
@@ -100,8 +100,8 @@ void SpecialHandler::handleMessage(MessageIn &msg)
msg.readInt16(); // target type
msg.skip(2); // unused
int level = msg.readInt16();
- int sp = msg.readInt16();
- int range = msg.readInt16();
+ msg.readInt16(); // sp
+ msg.readInt16(); // range
msg.skip(24); // unused
int up = msg.readInt8();
@@ -115,8 +115,8 @@ void SpecialHandler::handleMessage(MessageIn &msg)
{
skillId = msg.readInt16();
int level = msg.readInt16();
- int sp = msg.readInt16();
- int range = msg.readInt16();
+ msg.readInt16(); // sp
+ msg.readInt16(); // range
int up = msg.readInt8();
player_node->setAttributeBase(skillId, level);