From c3c14c092bf1038d766dd969561a83515554d844 Mon Sep 17 00:00:00 2001 From: Andrei Karas Date: Wed, 14 Dec 2011 02:58:34 +0300 Subject: Add last login time to char selection dialog. --- src/gui/charselectdialog.cpp | 2 ++ src/gui/charselectdialog.h | 1 + src/net/ea/loginhandler.cpp | 6 +++++- src/net/logindata.h | 2 ++ 4 files changed, 10 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/gui/charselectdialog.cpp b/src/gui/charselectdialog.cpp index 15d1e6e0e..401c9ae33 100644 --- a/src/gui/charselectdialog.cpp +++ b/src/gui/charselectdialog.cpp @@ -135,6 +135,7 @@ CharSelectDialog::CharSelectDialog(LoginData *data): setCloseButton(false); mAccountNameLabel = new Label(mLoginData->username); + mLastLoginLabel = new Label(mLoginData->lastLogin); mSwitchLoginButton = new Button(_("Switch Login"), "switch", this); mChangePasswordButton = new Button(_("Change Password"), "change_password", this); @@ -145,6 +146,7 @@ CharSelectDialog::CharSelectDialog(LoginData *data): placer = getPlacer(0, 0); placer(0, 0, mAccountNameLabel, 2); + placer(2, 0, mLastLoginLabel); placer(0, 1, mSwitchLoginButton); if (optionalActions & Net::LoginHandler::Unregister) diff --git a/src/gui/charselectdialog.h b/src/gui/charselectdialog.h index 0dfe90733..9ebab0126 100644 --- a/src/gui/charselectdialog.h +++ b/src/gui/charselectdialog.h @@ -100,6 +100,7 @@ class CharSelectDialog : public Window, public gcn::ActionListener, bool mLocked; gcn::Label *mAccountNameLabel; + gcn::Label *mLastLoginLabel; gcn::Button *mSwitchLoginButton; gcn::Button *mChangePasswordButton; diff --git a/src/net/ea/loginhandler.cpp b/src/net/ea/loginhandler.cpp index b11e60d4d..420236cfd 100644 --- a/src/net/ea/loginhandler.cpp +++ b/src/net/ea/loginhandler.cpp @@ -168,7 +168,11 @@ void LoginHandler::processLoginData(Net::MessageIn &msg) mToken.session_ID1 = msg.readInt32(); mToken.account_ID = msg.readInt32(); mToken.session_ID2 = msg.readInt32(); - msg.skip(30); // unknown + msg.skip(4); // old ip + loginData.lastLogin = msg.readString(24); + msg.skip(2); // unused bytes + +// msg.skip(30); // unknown // reserve bits for future usage mToken.sex = (msg.readInt8() & 1) ? GENDER_MALE : GENDER_FEMALE; diff --git a/src/net/logindata.h b/src/net/logindata.h index 647a04abf..6433d2759 100644 --- a/src/net/logindata.h +++ b/src/net/logindata.h @@ -59,6 +59,7 @@ class LoginData std::string password; std::string newPassword; std::string updateHost; + std::string lastLogin; int updateType; std::string email; @@ -82,6 +83,7 @@ class LoginData email.clear(); captchaResponse.clear(); gender = GENDER_UNSPECIFIED; + lastLogin.clear(); resetCharacterSlots(); } /** -- cgit v1.2.3-60-g2f50