CvPreGame::setNickname(PlayerTypes, const CvString &)
- Defined in
- CvPreGame.cpp, line 2819
- Hook name
CivHooks::CvPreGame_setNickname
Hooks
static bool BeforeCvPreGame_setNickname(PlayerTypes p, const CvString& n);static void AfterCvPreGame_setNickname(PlayerTypes p, const CvString& n);static void ReplaceCvPreGame_setNickname(void (*original)(PlayerTypes, const CvString&), PlayerTypes p, const CvString& n);CivRegisterBefore<CivHooks::CvPreGame_setNickname>(host, &BeforeCvPreGame_setNickname);CivRegisterAfter<CivHooks::CvPreGame_setNickname>(host, &AfterCvPreGame_setNickname);CivRegisterReplace<CivHooks::CvPreGame_setNickname>(host, &ReplaceCvPreGame_setNickname);
Code
2819void setNickname(PlayerTypes p, const CvString& n)2820{2821 if(p >= 0 && p < MAX_PLAYERS)2822 {2823 string _szName(n);2824 if(!n.IsEmpty())2825 {2826 size_t _pos = n.rfind('@');2827 size_t _cNum = n.length() - _pos;2828 // The max player name length is defined as 64 in ffirewiretypes, the max size of the string past that can only be 64 if we represent it as binary, currently representing it as HEX2829 if((_pos > 0 && _pos < 64) && _cNum < 32)2830 {2831 _szName.erase(_pos, _cNum);2832 }2833 }2834 s_displayNicknames[p] = (CvString)_szName;2835 s_nicknames.setAt(p, n);2836 }2837}
Calls
CvString::CvStringCvString::IsEmptyCvString::operator=FAutoVariable::setAtstd::basic_string::basic_stringstd::basic_string::erasestd::basic_string::lengthstd::basic_string::rfindstd::map::operator[]