1
0

Enhancements to Tabcompletion and Compile Fix

Tab complete now finds the last word and matches accordingly, with a 20%
increase in speed!
Fixed missing comma breaking compilation
This commit is contained in:
Tiger Wang 2013-08-18 11:58:19 +01:00
parent 7014979bff
commit 9e0b8b5bee
3 changed files with 8 additions and 13 deletions

@ -1 +0,0 @@
Subproject commit 52e1de4332a026e58fda843aae98c1f51e57199e

View File

@ -170,7 +170,7 @@ enum ENUM_BLOCK_ID
E_BLOCK_DROPPER = 158,
E_BLOCK_STAINED_CLAY = 159,
E_BLOCK_HAY_BALE = 170
E_BLOCK_HAY_BALE = 170,
E_BLOCK_CARPET = 171,
E_BLOCK_HARDENED_CLAY = 172,
E_BLOCK_BLOCK_OF_COAL = 173,

View File

@ -2635,19 +2635,15 @@ void cWorld::TabCompleteUserName(const AString & a_Text, AStringVector & a_Resul
cCSLock Lock(m_CSPlayers);
for (cPlayerList::iterator itr = m_Players.begin(), end = m_Players.end(); itr != end; ++itr)
{
for (unsigned int selected = 0; selected < a_Text.length(); selected++ )
unsigned LastSpace = a_Text.find_last_of(" ");
std::string LastWord = a_Text.substr(LastSpace + 1, a_Text.length());
std::string PlayerName ((*itr)->GetName());
std::size_t Found = PlayerName.find(LastWord);
if (Found!=0)
{
std::string playername ((*itr)->GetName());
std::string cut (a_Text.substr(selected, a_Text.length()));
std::size_t found = playername.find(cut);
if (found!=0)
{
//Player name doesn't match
continue;
}
a_Results.push_back((*itr)->GetName());
break;
continue;
}
a_Results.push_back((*itr)->GetName());
}
}