Reconstruct readable C++ and organize cohesive source subsystems
Administrative source import: native x86 compilation passed for 423 authored units. Source placement and submission states are migrated separately; this commit does not imply peer acceptance.
Previous head: 35d2a8cb36
Payload SHA256: 592f016d2730c5593bb653aa054c1e5f76a6df72c8f5a09e66f74876e2e33dee
This commit is contained in:
parent
35d2a8cb36
commit
a47d20f8be
890 changed files with 11796 additions and 16664 deletions
|
|
@ -1,223 +0,0 @@
|
|||
#include "Contents/ClientMessenger.h"
|
||||
#include "Contents/PartyMemberEffects.h"
|
||||
|
||||
// OFFSET: 0x00DDFFE0
|
||||
// FUNCTION: fn_23451
|
||||
std::int32_t ClientMessenger::MemberColor(int index) {
|
||||
switch (index) {
|
||||
case 0:
|
||||
return -16108936;
|
||||
case 1:
|
||||
return -16746376;
|
||||
case 2:
|
||||
return -16777216;
|
||||
case 3:
|
||||
case 15:
|
||||
return -8912896;
|
||||
case 4:
|
||||
return -16746496;
|
||||
case 5:
|
||||
return -8882176;
|
||||
case 6:
|
||||
return -8912776;
|
||||
case 7:
|
||||
return -8900096;
|
||||
case 8:
|
||||
return -8882056;
|
||||
case 9:
|
||||
return -16777096;
|
||||
case 10:
|
||||
return -16764366;
|
||||
case 11:
|
||||
return -13500416;
|
||||
case 12:
|
||||
return -16764416;
|
||||
case 13:
|
||||
return -13487616;
|
||||
case 14:
|
||||
return -13500366;
|
||||
default:
|
||||
return -13487566;
|
||||
}
|
||||
}
|
||||
|
||||
// OFFSET: 0x00DD6F10
|
||||
// FUNCTION: fn_23281
|
||||
void ClientMessenger::AddFriend(MessengerMember& member) {
|
||||
int index = 0;
|
||||
|
||||
for (MessengerMember& existing : this->friends) {
|
||||
if (existing.name == member.name) {
|
||||
member.color = MemberColor(index);
|
||||
existing = member;
|
||||
}
|
||||
|
||||
++index;
|
||||
}
|
||||
|
||||
// Original updates every name match, then still appends a new entry.
|
||||
member.color = MemberColor(index);
|
||||
this->friends.push_back(member);
|
||||
}
|
||||
|
||||
// OFFSET: 0x00DD70B0
|
||||
// FUNCTION: fn_23283
|
||||
void ClientMessenger::AddPartyMember(MessengerMember& member, PartyMemberEffects& effects) {
|
||||
if (member.map.size() > 4) {
|
||||
member.map.resize(member.map.size() - 3);
|
||||
member.map.append("rsw", 3);
|
||||
}
|
||||
|
||||
int index = 0;
|
||||
|
||||
for (MessengerMember& existing : this->party) {
|
||||
if (existing.name == member.name) {
|
||||
member.color = MemberColor(index);
|
||||
existing = member;
|
||||
return;
|
||||
}
|
||||
|
||||
++index;
|
||||
}
|
||||
|
||||
member.color = MemberColor(index);
|
||||
this->party.push_back(member);
|
||||
|
||||
if (effects.Enabled()) {
|
||||
effects.EnsurePartyEffect(member.accountId);
|
||||
}
|
||||
}
|
||||
|
||||
// OFFSET: 0x00DD87E0
|
||||
// FUNCTION: fn_23312
|
||||
void ClientMessenger::ClearFriends() {
|
||||
this->friends.clear();
|
||||
}
|
||||
|
||||
// OFFSET: 0x00DDF8A0
|
||||
// FUNCTION: fn_23427
|
||||
int ClientMessenger::FriendCount() const {
|
||||
return static_cast<int>(this->friends.size());
|
||||
}
|
||||
|
||||
// OFFSET: 0x00DDF9D0
|
||||
// FUNCTION: fn_23436
|
||||
int ClientMessenger::PartyCount() const {
|
||||
return static_cast<int>(this->party.size());
|
||||
}
|
||||
|
||||
// OFFSET: 0x00DDFA20
|
||||
// FUNCTION: fn_23441
|
||||
int ClientMessenger::OnlinePartyCount() const {
|
||||
int count = 0;
|
||||
|
||||
for (const MessengerMember& member : this->party) {
|
||||
if (member.offline == 0) {
|
||||
++count;
|
||||
}
|
||||
}
|
||||
|
||||
return count;
|
||||
}
|
||||
|
||||
// OFFSET: 0x00DDCC30
|
||||
// FUNCTION: fn_23372
|
||||
MessengerMember ClientMessenger::FriendAt(int index) const {
|
||||
int position = 0;
|
||||
|
||||
for (const MessengerMember& member : this->friends) {
|
||||
if (position == index) {
|
||||
return member;
|
||||
}
|
||||
|
||||
++position;
|
||||
}
|
||||
|
||||
return MessengerMember(0);
|
||||
}
|
||||
|
||||
// OFFSET: 0x00DE0500
|
||||
// FUNCTION: fn_23455
|
||||
MessengerMember ClientMessenger::PartyAt(int index) const {
|
||||
int position = 0;
|
||||
|
||||
for (const MessengerMember& member : this->party) {
|
||||
if (position == index) {
|
||||
return member;
|
||||
}
|
||||
|
||||
++position;
|
||||
}
|
||||
|
||||
return MessengerMember(0);
|
||||
}
|
||||
|
||||
// OFFSET: 0x00DE00D0
|
||||
// FUNCTION: fn_23452
|
||||
MessengerMember ClientMessenger::PartyByAccount(std::uint32_t accountId) const {
|
||||
for (const MessengerMember& member : this->party) {
|
||||
if (member.accountId == accountId) {
|
||||
return member;
|
||||
}
|
||||
}
|
||||
|
||||
return MessengerMember(0);
|
||||
}
|
||||
|
||||
// OFFSET: 0x00DE01C0
|
||||
// FUNCTION: fn_23453
|
||||
MessengerMember ClientMessenger::PartyByCharacter(std::uint32_t characterId) const {
|
||||
for (const MessengerMember& member : this->party) {
|
||||
if (member.characterId == characterId) {
|
||||
return member;
|
||||
}
|
||||
}
|
||||
|
||||
return MessengerMember(0);
|
||||
}
|
||||
|
||||
// OFFSET: 0x00DE03E0
|
||||
// FUNCTION: fn_23454
|
||||
MessengerMember ClientMessenger::PartyByName(const char* name) const {
|
||||
for (const MessengerMember& member : this->party) {
|
||||
if (member.name == name) {
|
||||
return member;
|
||||
}
|
||||
}
|
||||
|
||||
return MessengerMember(0);
|
||||
}
|
||||
|
||||
// OFFSET: 0x00DD8000
|
||||
// FUNCTION: fn_23301
|
||||
void ClientMessenger::SetPartyDead(std::uint32_t accountId, int dead) {
|
||||
for (MessengerMember& member : this->party) {
|
||||
if (member.accountId == accountId) {
|
||||
member.dead = dead;
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// OFFSET: 0x00DD8030
|
||||
// FUNCTION: fn_23302
|
||||
void ClientMessenger::SetPartyJobLevel(std::uint32_t accountId, std::uint16_t job, std::uint16_t level) {
|
||||
for (MessengerMember& member : this->party) {
|
||||
if (member.accountId == accountId) {
|
||||
member.job = job;
|
||||
member.level = level;
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// OFFSET: 0x00DD8070
|
||||
// FUNCTION: fn_23303
|
||||
void ClientMessenger::SetPartyLeader(std::uint32_t accountId, int leader) {
|
||||
for (MessengerMember& member : this->party) {
|
||||
if (member.accountId == accountId) {
|
||||
member.leader = leader;
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue