summaryrefslogtreecommitdiff
path: root/src/net/eathena
diff options
context:
space:
mode:
authorAndrei Karas <akaras@inbox.ru>2014-10-05 20:59:37 +0300
committerAndrei Karas <akaras@inbox.ru>2014-10-05 21:02:42 +0300
commit95532bf76d70bafbb7d0bc0e2dd0fc92fd7f74cf (patch)
tree53c227068936ed4690866f4e13b957678e181dac /src/net/eathena
parentb0361de1fcfc26b4bb497473e9fe1ef0f5013c98 (diff)
downloadplus-95532bf76d70bafbb7d0bc0e2dd0fc92fd7f74cf.tar.gz
plus-95532bf76d70bafbb7d0bc0e2dd0fc92fd7f74cf.tar.bz2
plus-95532bf76d70bafbb7d0bc0e2dd0fc92fd7f74cf.tar.xz
plus-95532bf76d70bafbb7d0bc0e2dd0fc92fd7f74cf.zip
Add char rename button if server support it.
Diffstat (limited to 'src/net/eathena')
-rw-r--r--src/net/eathena/charserverhandler.cpp30
-rw-r--r--src/net/eathena/charserverhandler.h2
2 files changed, 25 insertions, 7 deletions
diff --git a/src/net/eathena/charserverhandler.cpp b/src/net/eathena/charserverhandler.cpp
index 323fa681c..ee40d5e65 100644
--- a/src/net/eathena/charserverhandler.cpp
+++ b/src/net/eathena/charserverhandler.cpp
@@ -28,7 +28,10 @@
#include "being/attributes.h"
+#include "gui/dialogtype.h"
+
#include "gui/windows/charcreatedialog.h"
+#include "gui/windows/okdialog.h"
#include "net/character.h"
#include "net/logindata.h"
@@ -45,6 +48,7 @@
#include "resources/db/itemdb.h"
#include "utils/dtor.h"
+#include "utils/gettext.h"
#include "debug.h"
@@ -476,20 +480,34 @@ void CharServerHandler::processCharCreate(Net::MessageIn &msg)
BLOCK_END("CharServerHandler::processCharCreate")
}
-void CharServerHandler::renameCharacter(Net::Character *const character,
+void CharServerHandler::renameCharacter(const int id,
const std::string &newName)
{
- if (!character)
- return;
-
createOutPacket(CMSG_CHAR_RENAME);
- outMsg.writeInt32(mSelectedCharacter->dummy->getId(), "char id");
+ outMsg.writeInt32(id, "char id");
outMsg.writeString(newName, 24, "name");
}
void CharServerHandler::processCharRename(Net::MessageIn &msg)
{
- msg.readInt16("flag");
+ if (msg.readInt16("flag"))
+ {
+ // TRANSLATORS: info message
+ new OkDialog(_("Info"), _("Character renamed."),
+ // TRANSLATORS: ok dialog button
+ _("OK"),
+ DialogType::OK,
+ true, true, nullptr, 260);
+ }
+ else
+ {
+ // TRANSLATORS: info message
+ new OkDialog(_("Info"), _("Character rename error."),
+ // TRANSLATORS: ok dialog button
+ _("Error"),
+ DialogType::ERROR,
+ true, true, nullptr, 260);
+ }
}
} // namespace EAthena
diff --git a/src/net/eathena/charserverhandler.h b/src/net/eathena/charserverhandler.h
index b88c96778..c59ab8c64 100644
--- a/src/net/eathena/charserverhandler.h
+++ b/src/net/eathena/charserverhandler.h
@@ -51,7 +51,7 @@ class CharServerHandler final : public MessageHandler,
const unsigned char look,
const std::vector<int> &stats) const override final;
- void renameCharacter(Net::Character *const character,
+ void renameCharacter(const int id,
const std::string &newName) override final;
void deleteCharacter(Net::Character *const character) override final;