CLE changes [skip ci]

This commit is contained in:
Akkadius 2019-07-09 23:58:47 -05:00
parent 839baba553
commit 6e550ecc75
2 changed files with 85 additions and 36 deletions

View File

@ -31,13 +31,23 @@ extern LoginServerList loginserverlist;
extern ClientList client_list;
extern volatile bool RunLoops;
/**
* @param in_id
* @param in_loginserver_id
* @param in_loginserver_name
* @param in_login_name
* @param in_login_key
* @param in_is_world_admin
* @param ip
* @param local
*/
ClientListEntry::ClientListEntry(
uint32 in_id,
uint32 iLSID,
const char *iLoginServerName,
const char *iLoginName,
const char *iLoginKey,
int16 iWorldAdmin,
uint32 in_loginserver_id,
const char *in_loginserver_name,
const char *in_login_name,
const char *in_login_key,
int16 in_is_world_admin,
uint32 ip,
uint8 local
)
@ -45,17 +55,29 @@ ClientListEntry::ClientListEntry(
{
ClearVars(true);
pIP = ip;
pLSID = iLSID;
if (iLSID > 0) {
LogDebug(
"ClientListEntry in_id [{0}] in_loginserver_id [{1}] in_loginserver_name [{2}] in_login_name [{3}] in_login_key [{4}] "
" in_is_world_admin [{5}] ip [{6}] local [{7}]",
in_id,
in_loginserver_id,
in_loginserver_name,
in_login_name,
in_login_key,
in_is_world_admin,
ip,
local
);
paccountid = database.GetAccountIDFromLSID(iLoginServerName, iLSID, paccountname, &padmin);
pIP = ip;
pLSID = in_loginserver_id;
if (in_loginserver_id > 0) {
paccountid = database.GetAccountIDFromLSID(in_loginserver_name, in_loginserver_id, paccountname, &padmin);
}
strn0cpy(loginserver_account_name, iLoginName, sizeof(loginserver_account_name));
strn0cpy(plskey, iLoginKey, sizeof(plskey));
strn0cpy(source_loginserver, iLoginServerName, sizeof(source_loginserver));
pworldadmin = iWorldAdmin;
strn0cpy(loginserver_account_name, in_login_name, sizeof(loginserver_account_name));
strn0cpy(plskey, in_login_key, sizeof(plskey));
strn0cpy(source_loginserver, in_loginserver_name, sizeof(source_loginserver));
pworldadmin = in_is_world_admin;
plocal = (local == 1);
pinstance = 0;

View File

@ -21,8 +21,35 @@ struct ServerClientList_Struct;
class ClientListEntry {
public:
ClientListEntry(uint32 id, uint32 iLSID, const char *iLoginServerName, const char* iLoginName, const char* iLoginKey, int16 iWorldAdmin = 0, uint32 ip = 0, uint8 local=0);
ClientListEntry(uint32 id, ZoneServer* iZS, ServerClientList_Struct* scl, int8 iOnline);
/**
* @param id
* @param in_loginserver_id
* @param in_loginserver_name
* @param in_login_name
* @param in_login_key
* @param in_is_world_admin
* @param ip
* @param local
*/
ClientListEntry(
uint32 id,
uint32 in_loginserver_id,
const char *in_loginserver_name,
const char *in_login_name,
const char *in_login_key,
int16 in_is_world_admin = 0,
uint32 ip = 0,
uint8 local = 0
);
/**
* @param id
* @param iZS
* @param scl
* @param iOnline
*/
ClientListEntry(uint32 id, ZoneServer *iZS, ServerClientList_Struct *scl, int8 iOnline);
~ClientListEntry();
bool CheckStale();
void Update(ZoneServer* zoneserver, ServerClientList_Struct* scl, int8 iOnline = CLE_Status_InZone);
@ -91,42 +118,42 @@ private:
const uint32 id;
uint32 pIP;
int8 pOnline;
uint8 stale;
int8 pOnline{};
uint8 stale{};
// Login Server stuff
char source_loginserver[64]; //Loginserver we came from.
char source_loginserver[64]{}; //Loginserver we came from.
uint32 pLSID;
char loginserver_account_name[32];
char plskey[16];
char loginserver_account_name[32]{};
char plskey[16]{};
int16 pworldadmin; // Login server's suggested admin status setting
bool plocal;
// Account stuff
uint32 paccountid;
char paccountname[32];
char paccountname[32]{};
MD5 pMD5Pass;
int16 padmin;
int16 padmin{};
// Character info
ZoneServer* pzoneserver;
uint32 pzone;
ZoneServer* pzoneserver{};
uint32 pzone{};
uint16 pinstance;
uint32 pcharid;
char pname[64];
uint8 plevel;
uint8 pclass_;
uint16 prace;
uint8 panon;
uint8 ptellsoff;
uint32 pguild_id;
bool pLFG;
uint8 gm;
uint8 pClientVersion;
uint32 pcharid{};
char pname[64]{};
uint8 plevel{};
uint8 pclass_{};
uint16 prace{};
uint8 panon{};
uint8 ptellsoff{};
uint32 pguild_id{};
bool pLFG{};
uint8 gm{};
uint8 pClientVersion{};
uint8 pLFGFromLevel;
uint8 pLFGToLevel;
bool pLFGMatchFilter;
char pLFGComments[64];
char pLFGComments[64]{};
// Tell Queue -- really a vector :D
std::vector<ServerChannelMessage_Struct *> tell_queue;