Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- void __cdecl GNET::GetFactionDetail::Server(GetFactionDetail *const this, Rpc::Data *argument, Rpc::Data *result)
- {
- Octets v3; // ST68_8@1
- const Octets *v4; // ST74_4@1
- FactionId *v5; // ST44_4@1
- Marshal::OctetsStream *v6; // eax@1
- const Octets *v7; // eax@1
- FactionDetailRes *v8; // ecx@2
- int v9; // edx@2
- GMember *v10; // eax@5
- Octets *v11; // ST78_4@5
- const Octets *v12; // eax@5
- unsigned int v13; // ST70_4@8
- GMember *v14; // eax@8
- const Marshal::OctetsStream *v15; // eax@10
- GMember *v16; // eax@13
- int v17; // ST74_4@14
- int v18; // ST70_4@14
- GMember *v19; // eax@14
- GMember *v20; // eax@14
- FMemberInfo *v21; // eax@26
- Octets *v22; // ST78_4@26
- const Octets *v23; // eax@26
- FMemberInfo *v24; // eax@27
- FMemberInfo *v25; // STA0_4@27
- FMemberInfo *v26; // eax@27
- Octets *v27; // ST78_4@31
- unsigned int v28; // ST64_4@31
- Marshal::OctetsStream *v29; // eax@31
- const Octets *v30; // eax@31
- bool v31; // ST9F_1@31
- GMember v32; // [sp-10h] [bp-378h]@0
- GFactionRelation relation; // [sp+30h] [bp-338h]@32
- GetFactionDetail::Server::faction_contrib *pContrib; // [sp+88h] [bp-2E0h]@28
- FMemberInfo member; // [sp+90h] [bp-2D8h]@5
- DbException e; // [sp+D8h] [bp-290h]@3
- __normal_iterator<GNET::FMemberInfo*,std::vector<GNET::FMemberInfo,std::allocator<GNET::FMemberInfo> > > ie; // [sp+DCh] [bp-28Ch]@3
- GFactionExtendData exdata; // [sp+E0h] [bp-288h]@2
- int masterid; // [sp+108h] [bp-260h]@1
- bool needsync; // [sp+10Fh] [bp-259h]@1
- GFactionExtend ext; // [sp+110h] [bp-258h]@1
- GRoleStatus status; // [sp+130h] [bp-238h]@1
- Marshal::OctetsStream key_0; // [sp+270h] [bp-F8h]@1
- Marshal::OctetsStream value; // [sp+280h] [bp-E8h]@1
- Marshal::OctetsStream os; // [sp+290h] [bp-D8h]@1
- GUserFaction user; // [sp+2A0h] [bp-C8h]@1
- StorageEnv::Storage *prelation; // [sp+2D0h] [bp-98h]@1
- StorageEnv::Storage *pstatus; // [sp+2D4h] [bp-94h]@1
- StorageEnv::Storage *puser; // [sp+2D8h] [bp-90h]@1
- StorageEnv::Storage *pinfo; // [sp+2DCh] [bp-8Ch]@1
- StorageEnv::Transaction txn; // [sp+2E0h] [bp-88h]@1
- GMember l_master; // [sp+2F0h] [bp-78h]@1
- GFactionInfo info; // [sp+300h] [bp-68h]@1
- Marshal::OctetsStream key; // [sp+340h] [bp-28h]@1
- FactionDetailRes *res; // [sp+358h] [bp-10h]@1
- FactionId *arg; // [sp+35Ch] [bp-Ch]@1
- arg = argument;
- res = result;
- GNET::Marshal::OctetsStream::OctetsStream(&key);
- GNET::GMember::GMember(&l_master, 0, 0);
- v32.baseclass_0.baseclass_0._vptr.Marshal = &l_master;
- GNET::Octets::Octets(&txn, 0);
- GNET::GFactionInfo::GFactionInfo(&info, 0, &txn, 0, v32);
- GNET::Octets::~Octets(&txn);
- GNET::GMember::~GMember(&l_master);
- GNET::Log::trace("GetFactionDetail, fid=%d.\n", arg->fid);
- pinfo = WDB::StorageEnv::GetStorage("factioninfo");
- puser = WDB::StorageEnv::GetStorage("userfaction");
- pstatus = WDB::StorageEnv::GetStorage("status");
- prelation = WDB::StorageEnv::GetStorage("factionrelation");
- WDB::StorageEnv::Transaction::Transaction(&txn);
- GNET::Octets::Octets(&l_master, 0);
- GNET::Octets::Octets(&os.data, 0);
- v3.base = &os;
- GNET::Octets::Octets(&value.data, 0);
- v3._vptr.Octets = &value;
- GNET::Octets::Octets(&key_0.data, 0);
- GNET::GUserFaction::GUserFaction(&user, 0, &key_0.data, 0, 0, 0, v3, &l_master, v4);
- GNET::Octets::~Octets(&key_0.data);
- GNET::Octets::~Octets(&value.data);
- GNET::Octets::~Octets(&os.data);
- GNET::Octets::~Octets(&l_master);
- GNET::Octets::Octets(&key_0.data, 0);
- GNET::Octets::Octets(&value.data, 0);
- GNET::Octets::Octets(&os.data, 0);
- GNET::Octets::Octets(&l_master, 0);
- GNET::GRoleStatus::GRoleStatus(
- &status,
- 1,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0.0,
- 0.0,
- 0.0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- &l_master,
- &os.data,
- &value.data,
- &key_0.data,
- 0,
- 0);
- GNET::Octets::~Octets(&l_master);
- GNET::Octets::~Octets(&os.data);
- GNET::Octets::~Octets(&value.data);
- GNET::Octets::~Octets(&key_0.data);
- GNET::Octets::Octets(&key_0.data);
- GNET::GFactionExtend::GFactionExtend(&ext, 0, 0, 0, &key_0.data, 0, 0);
- GNET::Octets::~Octets(&key_0.data);
- needsync = 0;
- masterid = 0;
- v5 = arg;
- GNET::Marshal::OctetsStream::OctetsStream(&os);
- v6 = GNET::Marshal::OctetsStream::operator<<(&os, &v5->baseclass_0.baseclass_0);
- v7 = GNET::Marshal::OctetsStream::operator GNET::Octets &(v6);
- WDB::StorageEnv::Storage::find(&value.data, pinfo, v7, &txn);
- GNET::Marshal::OctetsStream::OctetsStream(&key_0, &value.data);
- GNET::Marshal::OctetsStream::operator>>(&key_0, &info.baseclass_0.baseclass_0);
- GNET::Marshal::OctetsStream::~OctetsStream(&key_0);
- GNET::Octets::~Octets(&value.data);
- GNET::Marshal::OctetsStream::~OctetsStream(&os);
- res->value.fid = info.fid;
- GNET::Octets::swap(&res->value.name, &info.name);
- res->value.level = info.level;
- res->value.master = info.master.rid;
- GNET::Octets::swap(&res->value.announce, &info.announce);
- if ( GNET::Octets::size(&info.extenddata) )
- {
- GNET::GFactionExtendData::GFactionExtendData(&exdata, 0LL, 0, 0, 0);
- GNET::Marshal::OctetsStream::OctetsStream(&key_0, &info.extenddata);
- GNET::Marshal::OctetsStream::operator>>(&key_0, &exdata.baseclass_0.baseclass_0);
- GNET::Marshal::OctetsStream::~OctetsStream(&key_0);
- v8 = res;
- v9 = HIDWORD(exdata.unifid);
- LODWORD(res->value.unifid) = exdata.unifid;
- HIDWORD(v8->value.unifid) = v9;
- GNET::GFactionExtendData::~GFactionExtendData(&exdata);
- }
- GNET::RpcDataVector<GNET::GMember>::begin(&ie, &info.member);
- GNET::RpcDataVector<GNET::GMember>::end(&e, &info.member);
- while ( __gnu_cxx::operator!=<GNET::GMember *,std::vector<GNET::GMember,std::allocator<GNET::GMember>>>(&ie, &e) )
- {
- GNET::Octets::Octets(&key_0.data);
- GNET::Octets::Octets(&value.data);
- GNET::FMemberInfo::FMemberInfo(&member, 0, 0, 0, 0, 0, 0, &value.data, &key_0.data, 0, 0, -1, 0, 0, 0);
- GNET::Octets::~Octets(&value.data);
- GNET::Octets::~Octets(&key_0.data);
- member.roleid = __gnu_cxx::__normal_iterator<GNET::GMember *,std::vector<GNET::GMember,std::allocator<GNET::GMember>>>::operator*(&ie)->rid;
- GNET::Marshal::OctetsStream::OctetsStream(&key_0);
- v10 = __gnu_cxx::__normal_iterator<GNET::GMember *,std::vector<GNET::GMember,std::allocator<GNET::GMember>>>::operator*(&ie);
- GNET::Marshal::OctetsStream::operator<<(&key_0, v10->rid);
- GNET::Marshal::OctetsStream::OctetsStream(&value);
- v11 = GNET::Marshal::OctetsStream::operator GNET::Octets &(&value);
- v12 = GNET::Marshal::OctetsStream::operator GNET::Octets &(&key_0);
- if ( WDB::StorageEnv::Storage::find(puser, v12, v11, &txn) )
- {
- GNET::Marshal::OctetsStream::operator>>(&value, &user.baseclass_0.baseclass_0);
- if ( user.fid == info.fid )
- {
- member.occupation = user.cls;
- member.froleid = user.role;
- GNET::Octets::swap(&member.name, &user.name);
- GNET::Octets::swap(&member.nickname, &user.nickname);
- member.delayexpel = 0;
- member.expeltime = 0;
- if ( GNET::Octets::size(&user.delayexpel) )
- {
- GNET::Marshal::OctetsStream::OctetsStream(&os, &user.delayexpel);
- v15 = GNET::Marshal::OctetsStream::operator>>(&os, &member.delayexpel);
- GNET::Marshal::OctetsStream::operator>>(v15, &member.expeltime);
- GNET::Marshal::OctetsStream::~OctetsStream(&os);
- }
- if ( GNET::Octets::size(&user.extend) )
- {
- GNET::Marshal::OctetsStream::OctetsStream(&os, &user.extend);
- GNET::Marshal::OctetsStream::operator>>(&os, &ext.baseclass_0.baseclass_0);
- member.loginday = ext.logintime / 86400;
- GNET::Marshal::OctetsStream::~OctetsStream(&os);
- }
- GNET::RpcDataVector<GNET::FMemberInfo>::add(&res->value.member, &member);
- v16 = __gnu_cxx::__normal_iterator<GNET::GMember *,std::vector<GNET::GMember,std::allocator<GNET::GMember>>>::operator->(&ie);
- if ( v16->role != user.role )
- {
- needsync = 1;
- v17 = user.role;
- v18 = __gnu_cxx::__normal_iterator<GNET::GMember *,std::vector<GNET::GMember,std::allocator<GNET::GMember>>>::operator->(&ie)->role;
- v19 = __gnu_cxx::__normal_iterator<GNET::GMember *,std::vector<GNET::GMember,std::allocator<GNET::GMember>>>::operator->(&ie);
- GNET::Log::log(
- 3,
- "GetFactionDetail, inconsistent headship fid=%d rid=%d oldrole=%d newrole=%d",
- arg->fid,
- v19->rid,
- v18,
- v17);
- v20 = __gnu_cxx::__normal_iterator<GNET::GMember *,std::vector<GNET::GMember,std::allocator<GNET::GMember>>>::operator->(&ie);
- v20->role = user.role;
- }
- if ( info.master.rid == user.rid && user.role == 2 )
- masterid = user.rid;
- GNET::Marshal::OctetsStream::~OctetsStream(&value);
- GNET::Marshal::OctetsStream::~OctetsStream(&key_0);
- GNET::FMemberInfo::~FMemberInfo(&member);
- }
- else
- {
- v13 = user.fid;
- v14 = __gnu_cxx::__normal_iterator<GNET::GMember *,std::vector<GNET::GMember,std::allocator<GNET::GMember>>>::operator->(&ie);
- GNET::Log::log(3, "GetFactionDetail, invalid member fid=%d rid=%d realfid=%d", arg->fid, v14->rid, v13);
- GNET::Marshal::OctetsStream::~OctetsStream(&value);
- GNET::Marshal::OctetsStream::~OctetsStream(&key_0);
- GNET::FMemberInfo::~FMemberInfo(&member);
- }
- }
- else
- {
- GNET::Marshal::OctetsStream::~OctetsStream(&value);
- GNET::Marshal::OctetsStream::~OctetsStream(&key_0);
- GNET::FMemberInfo::~FMemberInfo(&member);
- }
- __gnu_cxx::__normal_iterator<GNET::GMember *,std::vector<GNET::GMember,std::allocator<GNET::GMember>>>::operator++(&ie);
- }
- if ( (needsync || !masterid) && GNET::RpcDataVector<GNET::GMember>::size(&info.member) )
- GNET::GetFactionDetail::SyncFactionData(this, arg->fid, &res->value.member, pinfo, puser, &txn);
- GNET::RpcDataVector<GNET::FMemberInfo>::begin(&e, &res->value.member);
- GNET::RpcDataVector<GNET::FMemberInfo>::end(&ie, &res->value.member);
- while ( __gnu_cxx::operator!=<GNET::FMemberInfo *,std::vector<GNET::FMemberInfo,std::allocator<GNET::FMemberInfo>>>(
- &e,
- &ie) )
- {
- GNET::Marshal::OctetsStream::OctetsStream(&key_0);
- v21 = __gnu_cxx::__normal_iterator<GNET::FMemberInfo *,std::vector<GNET::FMemberInfo,std::allocator<GNET::FMemberInfo>>>::operator->(&e);
- GNET::Marshal::OctetsStream::operator<<(&key_0, v21->roleid);
- GNET::Marshal::OctetsStream::OctetsStream(&value);
- v22 = GNET::Marshal::OctetsStream::operator GNET::Octets &(&value);
- v23 = GNET::Marshal::OctetsStream::operator GNET::Octets &(&key_0);
- if ( WDB::StorageEnv::Storage::find(pstatus, v23, v22, &txn) )
- {
- GNET::Marshal::OctetsStream::operator>>(&value, &status.baseclass_0.baseclass_0);
- v24 = __gnu_cxx::__normal_iterator<GNET::FMemberInfo *,std::vector<GNET::FMemberInfo,std::allocator<GNET::FMemberInfo>>>::operator->(&e);
- v24->level = status.level;
- v25 = __gnu_cxx::__normal_iterator<GNET::FMemberInfo *,std::vector<GNET::FMemberInfo,std::allocator<GNET::FMemberInfo>>>::operator->(&e);
- v25->reincarn_times = GNET::GetRoleReincarnationTimes(&status.reincarnation_data);
- v26 = __gnu_cxx::__normal_iterator<GNET::FMemberInfo *,std::vector<GNET::FMemberInfo,std::allocator<GNET::FMemberInfo>>>::operator->(&e);
- v26->reputation = status.reputation;
- if ( GNET::Octets::size(&status.faction_contrib) == 12 )
- {
- pContrib = GNET::Octets::begin(&status.faction_contrib);
- __gnu_cxx::__normal_iterator<GNET::FMemberInfo *,std::vector<GNET::FMemberInfo,std::allocator<GNET::FMemberInfo>>>::operator->(&e)->contrib = pContrib->cumulate_contrib;
- }
- }
- else
- {
- __gnu_cxx::__normal_iterator<GNET::FMemberInfo *,std::vector<GNET::FMemberInfo,std::allocator<GNET::FMemberInfo>>>::operator->(&e)->level = 1;
- }
- GNET::Marshal::OctetsStream::~OctetsStream(&value);
- GNET::Marshal::OctetsStream::~OctetsStream(&key_0);
- __gnu_cxx::__normal_iterator<GNET::FMemberInfo *,std::vector<GNET::FMemberInfo,std::allocator<GNET::FMemberInfo>>>::operator++(&e);
- }
- GNET::Marshal::OctetsStream::OctetsStream(&key_0);
- v27 = GNET::Marshal::OctetsStream::operator GNET::Octets &(&key_0);
- v28 = arg->fid;
- GNET::Marshal::OctetsStream::OctetsStream(&value);
- v29 = GNET::Marshal::OctetsStream::operator<<(&value, v28);
- v30 = GNET::Marshal::OctetsStream::operator GNET::Octets &(v29);
- v31 = WDB::StorageEnv::Storage::find(prelation, v30, v27, &txn);
- GNET::Marshal::OctetsStream::~OctetsStream(&value);
- if ( v31 )
- {
- GNET::RpcDataVector<GNET::GFactionRelationApply>::RpcDataVector(&os);
- GNET::RpcDataVector<GNET::GFactionHostile>::RpcDataVector(&l_master);
- GNET::RpcDataVector<GNET::GFactionAlliance>::RpcDataVector(&exdata);
- GNET::GFactionRelation::GFactionRelation(&relation, 0, 0, &exdata, &l_master, &os, 0, 0, 0, 0, 0);
- GNET::RpcDataVector<GNET::GFactionAlliance>::~RpcDataVector(&exdata);
- GNET::RpcDataVector<GNET::GFactionHostile>::~RpcDataVector(&l_master);
- GNET::RpcDataVector<GNET::GFactionRelationApply>::~RpcDataVector(&os);
- GNET::Marshal::OctetsStream::operator>>(&key_0, &relation.baseclass_0.baseclass_0);
- res->value.last_op_time = relation.last_op_time;
- GNET::RpcDataVector<GNET::GFactionAlliance>::swap(&res->value.alliance, &relation.alliance);
- GNET::RpcDataVector<GNET::GFactionHostile>::swap(&res->value.hostile, &relation.hostile);
- GNET::RpcDataVector<GNET::GFactionRelationApply>::swap(&res->value.apply, &relation.apply);
- GNET::GFactionRelation::~GFactionRelation(&relation);
- }
- res->retcode = 0;
- GNET::Marshal::OctetsStream::~OctetsStream(&key_0);
- GNET::GFactionExtend::~GFactionExtend(&ext);
- GNET::GRoleStatus::~GRoleStatus(&status);
- GNET::GUserFaction::~GUserFaction(&user);
- WDB::StorageEnv::Transaction::~Transaction(&txn);
- GNET::GFactionInfo::~GFactionInfo(&info);
- GNET::Marshal::OctetsStream::~OctetsStream(&key);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement