Merge pull request #537 from djayk1/master

1041 Login Support
This commit is contained in:
Sam 2014-06-23 18:22:55 +02:00
commit 62d2a22ab8
4 changed files with 10 additions and 3 deletions

View File

@ -55,7 +55,7 @@ function g_game.getSupportedClients()
970, 972, 973, 980, 981, 982, 983,
984, 985, 986, 1001, 1002, 1010,
1020, 1021, 1022, 1031, 1034, 1035,
1036, 1037
1036, 1037, 1038, 1039, 1040, 1041
}
end

View File

@ -388,6 +388,7 @@ namespace Otc
GameCreatureIcons = 54,
GameHideNpcNames = 55,
GameSpritesAlphaChannel = 56,
GamePremiumExpiration = 57,
LastGameFeature = 101
};

View File

@ -1459,7 +1459,7 @@ void Game::setProtocolVersion(int version)
if(isOnline())
stdext::throw_exception("Unable to change protocol version while online");
if(version != 0 && (version < 760 || version > 1037))
if(version != 0 && (version < 760 || version > 1041))
stdext::throw_exception(stdext::format("Protocol version %d not supported", version));
m_features.reset();
@ -1571,6 +1571,10 @@ void Game::setProtocolVersion(int version)
enableFeature(Otc::GameCreatureIcons);
enableFeature(Otc::GameHideNpcNames);
}
if(version >= 1041) {
enableFeature(Otc::GamePremiumExpiration);
}
m_protocolVersion = version;
@ -1587,7 +1591,7 @@ void Game::setClientVersion(int version)
if(isOnline())
stdext::throw_exception("Unable to change client version while online");
if(version != 0 && (version < 760 || version > 1037))
if(version != 0 && (version < 760 || version > 1041))
stdext::throw_exception(stdext::format("Client version %d not supported", version));
m_clientVersion = version;

View File

@ -1022,6 +1022,8 @@ void ProtocolGame::parsePlayerInfo(const InputMessagePtr& msg)
{
bool premium = msg->getU8(); // premium
int vocation = msg->getU8(); // vocation
if(g_game.getFeature(Otc::GamePremiumExpiration))
int premiumEx = msg->getU32(); // premium expiration
int spellCount = msg->getU16();
std::vector<int> spells;