summaryrefslogtreecommitdiff
path: root/src/net/eathena
diff options
context:
space:
mode:
Diffstat (limited to 'src/net/eathena')
-rw-r--r--src/net/eathena/charserverhandler.cpp21
-rw-r--r--src/net/eathena/charserverhandler.h22
2 files changed, 25 insertions, 18 deletions
diff --git a/src/net/eathena/charserverhandler.cpp b/src/net/eathena/charserverhandler.cpp
index 5db0a0d79..3329f919b 100644
--- a/src/net/eathena/charserverhandler.cpp
+++ b/src/net/eathena/charserverhandler.cpp
@@ -61,15 +61,22 @@ namespace EAthena
extern ServerInfo charServer;
extern ServerInfo mapServer;
+std::string CharServerHandler::mNewName;
+uint32_t CharServerHandler::mPinSeed = 0;
+uint32_t CharServerHandler::mPinAccountId = 0;
+uint32_t CharServerHandler::mRenameId = 0;
+bool CharServerHandler::mNeedCreatePin = false;
+
CharServerHandler::CharServerHandler() :
MessageHandler(),
- Ea::CharServerHandler(),
- mNewName(),
- mPinSeed(0),
- mPinAccountId(0),
- mRenameId(0),
- mNeedCreatePin(false)
+ Ea::CharServerHandler()
{
+ mNewName.clear();
+ mPinSeed = 0;
+ mPinAccountId = 0;
+ mRenameId = 0;
+ mNeedCreatePin = false;
+
static const uint16_t _messages[] =
{
SMSG_CHAR_LOGIN,
@@ -479,7 +486,7 @@ void CharServerHandler::processCharCreate(Net::MessageIn &msg)
{
BLOCK_START("CharServerHandler::processCharCreate")
Net::Character *const character = new Net::Character;
- readPlayerData(msg, character, false);
+ charServerHandler->readPlayerData(msg, character, false);
mCharacters.push_back(character);
updateCharSelectDialog();
diff --git a/src/net/eathena/charserverhandler.h b/src/net/eathena/charserverhandler.h
index 8b348271a..0e029e076 100644
--- a/src/net/eathena/charserverhandler.h
+++ b/src/net/eathena/charserverhandler.h
@@ -81,29 +81,29 @@ class CharServerHandler final : public MessageHandler,
void changeSlot(const int oldSlot, const int newSlot) override final;
- protected:
void readPlayerData(Net::MessageIn &msg,
Net::Character *const character,
const bool) const override final;
- void processPincodeStatus(Net::MessageIn &msg);
+ protected:
+ static void processPincodeStatus(Net::MessageIn &msg);
static void processCharLogin2(Net::MessageIn &msg);
- void processCharCreate(Net::MessageIn &msg);
+ static void processCharCreate(Net::MessageIn &msg);
- void processCharCheckRename(Net::MessageIn &msg);
+ static void processCharCheckRename(Net::MessageIn &msg);
- void processCharRename(Net::MessageIn &msg);
+ static void processCharRename(Net::MessageIn &msg);
- void processCharChangeSlot(Net::MessageIn &msg);
+ static void processCharChangeSlot(Net::MessageIn &msg);
private:
- std::string mNewName;
- uint32_t mPinSeed;
- uint32_t mPinAccountId;
- uint32_t mRenameId;
- bool mNeedCreatePin;
+ static std::string mNewName;
+ static uint32_t mPinSeed;
+ static uint32_t mPinAccountId;
+ static uint32_t mRenameId;
+ static bool mNeedCreatePin;
};
} // namespace EAthena